:root{color:#1c2620;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f5ef;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,Yu Gothic,system-ui,sans-serif}*{box-sizing:border-box}html{min-width:320px}body{background:radial-gradient(circle at 100% 0,#cae0d2a6,#0000 38rem),#f6f5ef;min-width:320px;min-height:100vh;margin:0}.app{flex-direction:column;width:min(100% - 2.5rem,64rem);min-height:100svh;margin:0 auto;display:flex}.site-header{align-items:center;padding:1.5rem 0;display:flex}.brand{letter-spacing:.02em;font-size:1.125rem;font-weight:700}.main{flex:1;width:100%}.hero{max-width:42rem;padding:1.5rem 0 2.5rem}.eyebrow{color:#4b6a58;letter-spacing:.14em;margin:0 0 1rem;font-size:.8125rem;font-weight:700}.hero h1{letter-spacing:-.03em;margin:0;font-size:clamp(2.1rem,7vw,4rem);line-height:1.18}.lead{color:#536057;max-width:34rem;margin:1.5rem 0 0;font-size:clamp(1rem,2.4vw,1.125rem);line-height:1.9}.empty-state{background:#ffffffb8;border:1px solid #d9ded7;border-radius:1rem;margin-top:2.5rem;padding:1.5rem;box-shadow:0 1.25rem 3rem #25342a0f}.empty-title{margin:0;font-size:1rem}.empty-text{color:#6b756d;margin:.4rem 0 0;font-size:.9375rem}.receive-card,.debug-card{background:#ffffffc7;border:1px solid #d9ded7;border-radius:1rem;max-width:42rem;padding:1.25rem;box-shadow:0 1.25rem 3rem #25342a0f}.receive-card{margin-bottom:1.5rem}.debug-card{border-style:dashed;margin-bottom:2rem}.receive-card h2,.debug-card h2{margin:.25rem 0 0;font-size:1.375rem;line-height:1.4}.status{border-radius:.75rem;margin:1rem 0 0;padding:.75rem .9rem;font-size:.9375rem;font-weight:700}.status-loading{color:#4b5563;background:#eef0ec}.status-success{color:#1f5134;background:#e4f2e8}.status-error{color:#7a271a;background:#fbe9e7}.share-result{margin-top:1.25rem}.share-fields{gap:.95rem;margin:0;display:grid}.share-fields>div{gap:.2rem;display:grid}.share-fields dt{color:#4b6a58;letter-spacing:.06em;font-size:.75rem;font-weight:700}.share-fields dd{color:#1c2620;overflow-wrap:anywhere;margin:0;font-size:.9375rem;line-height:1.6}.share-fields a{color:#1d4ed8;text-underline-offset:.16em;text-decoration-thickness:.08em}.share-fields a:hover{text-decoration:none}.pre-wrap{white-space:pre-wrap}.plain-value{background:#f1f2ee;border:1px dashed #c7cec7;border-radius:.45rem;padding:.4rem .55rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875rem}.debug-badge{color:#7c4a03;letter-spacing:.08em;background:#fce8c4;border-radius:999px;margin:0;padding:.2rem .55rem;font-size:.6875rem;font-weight:700;display:inline-block}.debug-note{color:#5d665f;margin:.75rem 0 1rem;font-size:.875rem;line-height:1.7}.debug-form{gap:.9rem;display:grid}.debug-form label{color:#34463a;gap:.35rem;font-size:.875rem;font-weight:700;display:grid}.debug-form input,.debug-form textarea{color:#1c2620;width:100%;font:inherit;background:#fff;border:1px solid #c7cec7;border-radius:.6rem;padding:.7rem .8rem;font-weight:400}.debug-form textarea{resize:vertical;min-height:5.5rem}.debug-form input:focus-visible,.debug-form textarea:focus-visible{outline-offset:1px;border-color:#2563eb;outline:3px solid #2563eb59}.debug-form button{color:#fff;font:inherit;cursor:pointer;background:#1f5134;border:0;border-radius:999px;justify-self:start;padding:.75rem 1.1rem;font-weight:700}.debug-form button:hover{background:#173f28}.debug-form button:focus-visible{outline-offset:2px;outline:3px solid #2563eb73}.debug-result{border-top:1px dashed #c7cec7;margin-top:1.25rem;padding-top:1rem}.debug-result-label{color:#7c4a03;margin:0;font-size:.8125rem;font-weight:700}.site-footer{color:#7a837b;border-top:1px solid #dfe3dd;padding:1.5rem 0 2rem;font-size:.8125rem}.site-footer p{margin:0}.brand-sub{color:#7a837b;letter-spacing:.08em;font-size:.75rem;font-weight:700}.site-header{gap:.6rem}.view-tabs{background:#ffffffad;border:1px solid #d9ded7;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;margin:.5rem 0 1.25rem;padding:.25rem;display:grid}.view-tab{color:#526057;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.6rem .9rem;font-size:.9375rem;font-weight:700}.view-tab.is-active{color:#fff;background:#1f5134}.view-tab:focus-visible{outline-offset:1px;outline:3px solid #2563eb6b}.section-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin:1.5rem 0 .9rem;display:flex}.section-head h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,5vw,2rem)}.count{color:#526057;background:#e8ede7;border-radius:999px;flex:none;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.section-note,.muted{color:#6b756d;margin:0;font-size:.875rem;line-height:1.7}.panel{background:#ffffffc7;border:1px solid #d9ded7;border-radius:1rem;padding:1.25rem;box-shadow:0 1.25rem 3rem #25342a0f}.quick-add,.category-add{margin:1rem 0}.panel h2{margin:0 0 .8rem;font-size:1.125rem;line-height:1.4}.stack-form{gap:.9rem;display:grid}.stack-form>label,.edit-form>label{color:#34463a;gap:.35rem;font-size:.875rem;font-weight:700;display:grid}.stack-form input[type=text],.stack-form input[type=url],.stack-form textarea,.edit-form input[type=text],.edit-form textarea,.inline-fields input[type=text]{color:#1c2620;width:100%;font:inherit;background:#fff;border:1px solid #c7cec7;border-radius:.6rem;padding:.7rem .8rem;font-weight:400}.stack-form textarea,.edit-form textarea{resize:vertical;min-height:5rem}.stack-form input:focus-visible,.stack-form textarea:focus-visible,.edit-form input:focus-visible,.edit-form textarea:focus-visible,.inline-fields input:focus-visible{outline-offset:1px;border-color:#2563eb;outline:3px solid #2563eb52}.stack-form .status,.edit-form .status{margin:0}.field-label{color:#4b6a58;letter-spacing:.06em;margin:0 0 .35rem;font-size:.75rem;font-weight:700}.share-url{color:#1d4ed8;overflow-wrap:anywhere;text-underline-offset:.16em;font-size:.875rem;line-height:1.55;text-decoration-thickness:.08em;display:block}.share-url:hover{text-decoration:none}.share-save-hint{color:#5d665f;margin:.75rem 0 0;font-size:.875rem;line-height:1.7}.share-save-categories,.share-save-actions{margin-top:1rem}.pick-chip-button{font:inherit;text-align:left;font-size:.875rem;font-weight:600}.pick-chip-button:disabled{cursor:default;opacity:.6}.category-picker{min-width:0;border:0;min-inline-size:0;margin:0;padding:0}.category-picker legend{color:#34463a;padding:0;font-size:.875rem;font-weight:700}.chip-row{flex-wrap:wrap;gap:.45rem;margin-top:.5rem;display:flex}.pick-chip{color:#34463a;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #c7cec7;border-radius:999px;align-items:center;gap:.3rem;min-height:44px;padding:.45rem .7rem;font-size:.875rem;font-weight:600;display:inline-flex;position:relative}.pick-chip input{opacity:0;width:1px;height:1px;position:absolute}.pick-chip:focus-within{outline-offset:2px;outline:3px solid #2563eb61}.pick-chip.is-selected{color:#173f28;background:#e4f2e8;border-color:#1f5134;font-weight:700}.pick-emoji{font-size:1rem}.filter-row{scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:.45rem;margin:1rem 0 .75rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.filter-chip{color:#34463a;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c7cec7;border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;display:inline-flex}.filter-chip.is-active{color:#fff;background:#1f5134;border-color:#1f5134}.filter-chip:focus-visible{outline-offset:2px;outline:3px solid #2563eb61}.chip-count{background:#1c262014;border-radius:999px;padding:.05rem .35rem;font-size:.7rem;font-weight:700}.filter-chip.is-active .chip-count{background:#fff3}.link-list,.category-list{gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.link-card{background:#ffffffd1;border:1px solid #d9ded7;border-radius:1rem;padding:1rem;box-shadow:0 .75rem 2rem #25342a0d}.link-title{overflow-wrap:anywhere;margin:0;font-size:1.0625rem;line-height:1.45}.link-title a{color:#1c2620;text-underline-offset:.16em;text-decoration-thickness:.07em}.link-title a:hover{color:#1f5134;text-decoration:none}.link-host{color:#6b756d;overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.75rem}.link-note{color:#34463a;margin:.6rem 0 0;font-size:.9375rem;line-height:1.7}.tag-row{flex-wrap:wrap;gap:.35rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.tag{color:#34463a;background:#f7f8f5;border:1px solid #d9ded7;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.tag-dot,.color-dot{border:1px solid #00000014;border-radius:999px;flex:none;width:.55rem;height:.55rem}.link-date{color:#7a837b;margin:.55rem 0 0;font-size:.75rem}.link-preview{background:#f7f8f5;border:1px solid #d9ded7;border-radius:.85rem;margin-top:.75rem;overflow:hidden}.preview-thumb{aspect-ratio:16/9;background:#e8ede7;display:block;overflow:hidden}.preview-thumb img{object-fit:cover;width:100%;height:100%;display:block}.preview-thumb-fallback{color:#526057;letter-spacing:.08em;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.preview-body{align-content:start;gap:.2rem;min-width:0;padding:.65rem .75rem .75rem;display:grid}.preview-label{color:#4b6a58;letter-spacing:.08em;font-size:.6875rem;font-weight:700}.preview-title{color:#1c2620;overflow-wrap:anywhere;text-underline-offset:.16em;font-size:.9375rem;font-weight:700;line-height:1.45;text-decoration-thickness:.07em}.preview-title:hover{color:#1f5134;text-decoration:none}.preview-meta{color:#6b756d;overflow-wrap:anywhere;margin:0;font-size:.75rem}.preview-url{color:#1d4ed8;overflow-wrap:anywhere;text-underline-offset:.16em;font-size:.75rem;line-height:1.5;text-decoration-thickness:.08em}.preview-url:hover,.preview-original:hover{text-decoration:none}.preview-loading,.preview-fallback,.x-preview{padding:.65rem .75rem .75rem}.preview-fallback{gap:.25rem;display:grid}.preview-privacy{color:#5d665f;margin:.2rem 0 .55rem;font-size:.8125rem;line-height:1.6}.preview-original{color:#1d4ed8;overflow-wrap:anywhere;text-underline-offset:.16em;font-size:.8125rem;font-weight:700;text-decoration-thickness:.08em;display:inline-block}.x-embed{max-width:100%;margin-top:.5rem;overflow:hidden}.x-embed .twitter-tweet{margin-top:0!important;margin-bottom:0!important}.x-preview .status{margin:.5rem 0 0}@media (width>=480px){.youtube-preview{grid-template-columns:8.5rem minmax(0,1fr);display:grid}.youtube-preview .preview-thumb{aspect-ratio:auto;height:100%}.youtube-preview .preview-body{align-content:center}}@media (width<=479px){.share-save-actions{flex-direction:column;align-items:stretch}.share-save-actions .button{width:100%}}.edit-form{gap:.8rem;margin-top:.75rem;display:grid}.button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#1f5134;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.05rem;font-weight:700;line-height:1.2;display:inline-flex}.button:hover{background:#173f28}.button.secondary{color:#1f5134;background:#fff;border-color:#c7cec7}.button.secondary:hover{background:#f1f4ef}.button.danger{color:#9f2d1c;background:#fff;border-color:#e3b4ad}.button.danger:hover{background:#fdf0ee}.button.small{min-height:44px;padding:.55rem .85rem;font-size:.875rem}.button:disabled{cursor:default;opacity:.6}.button:focus-visible{outline-offset:2px;outline:3px solid #2563eb6b}.form-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.status-info{color:#1d3f6e;background:#e8f0fb}.inline-fields{grid-template-columns:4.25rem minmax(0,1fr) 4.5rem;align-items:end;gap:.5rem;display:grid}.inline-fields label{color:#4b6a58;gap:.25rem;min-width:0;font-size:.75rem;font-weight:700;display:grid}.inline-fields input[type=text]{padding:.6rem .55rem}.field-emoji input[type=text]{text-align:center}.inline-fields input[type=color]{cursor:pointer;background:#fff;border:1px solid #c7cec7;border-radius:.6rem;width:100%;height:2.65rem;padding:.2rem}.category-list{margin-top:1rem}.category-row{background:#ffffffc7;border:1px solid #d9ded7;border-radius:.9rem;padding:.85rem 1rem}.category-view{align-items:center;gap:.65rem;display:flex}.category-emoji{text-align:center;flex:none;width:2rem;font-size:1.5rem;line-height:1}.category-text{flex:1;gap:.15rem;min-width:0;display:grid}.category-name{overflow-wrap:anywhere;font-weight:700}.category-sub{color:#6b756d;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.row-actions{flex:none;gap:.35rem;margin-left:auto;display:flex}.category-edit-form{gap:.7rem}.load-error{color:#7a271a;background:#fbe9e7;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0 1rem;padding:.75rem .9rem;font-size:.9375rem;font-weight:700;display:flex}.load-error p{flex:1;margin:0}.data-protection{margin-top:1.5rem}.data-protection h2{margin:0 0 .4rem}.protection-persistence{background:#f7f8f5;border:1px solid #d9ded7;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin-top:1rem;padding:.85rem 1rem;display:flex}.protection-status{flex-wrap:wrap;flex:1;align-items:center;gap:.35rem .6rem;margin:0;display:flex}.protection-status .field-label{margin:0}.protection-value{color:#7a271a;font-size:.875rem;font-weight:700}.protection-value.is-granted{color:#1f5134}.protection-actions{margin-top:1rem}.file-button{position:relative;overflow:hidden}.file-button input[type=file]{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute}.file-button:focus-within{outline-offset:2px;outline:3px solid #2563eb6b}.file-button.is-disabled{cursor:default;opacity:.6}.protection-hint{color:#6b756d;margin:.6rem 0 0;font-size:.8125rem;line-height:1.6}.data-protection .status{margin-top:.85rem}.debug-card{margin-top:2rem}.debug-card summary{color:#34463a;cursor:pointer;align-items:center;gap:.5rem;min-height:44px;font-size:.9375rem;font-weight:700;display:flex}.debug-card summary .debug-badge{margin:0}.debug-card[open] summary{margin-bottom:.4rem}@media (width>=640px){.app{width:min(100% - 4rem,64rem)}.site-header{padding:2rem 0}.hero{padding:2rem 0 3rem}.receive-card,.debug-card,.panel,.empty-state{padding:2rem}}@media (width>=800px){.link-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
