:root{--bg:#fafbfc;--bg-tint:#f3f6f9;--surface:#fff;--surface-2:#f7f9fc;--surface-3:#eef2f7;--surface-hi:#e4eaf2;--border:#0f172a0f;--border-2:#0f172a1a;--border-3:#0f172a2e;--text:#0f172a;--text-2:#334155;--text-mute:#64748b;--text-faint:#94a3b8;--accent:#5fb4d6;--accent-2:#7cc6e0;--accent-deep:#3a9ec3;--accent-soft:#5fb4d624;--accent-glow:#5fb4d652;--accent2:#c5e09f;--accent2-2:#d6ebb5;--accent2-deep:#a3c97a;--accent2-soft:#c5e09f38;--danger:#ef4444;--danger-soft:#ef44441a;--success:#84d99e;--success-soft:#84d99e24;--font-sans:"Geist", "Noto Sans JP", system-ui, -apple-system, "Hiragino Sans", sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, monospace;--gutter:clamp(1.25rem, 4vw, 2.5rem);--container:min(100% - var(--gutter) * 2, 84rem);--container-narrow:min(100% - var(--gutter) * 2, 60rem);--r-1:6px;--r-2:10px;--r-3:14px;--r-4:20px;--r-pill:999px;--ease:cubic-bezier(.32, .72, 0, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--sh-1:0 1px 2px #0f172a0a;--sh-2:0 4px 14px #0f172a0f;--sh-3:0 16px 40px #0f172a1a;--sh-glow:0 0 0 3px var(--accent-soft), 0 12px 32px #5fb4d62e}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01";font-variant-numeric:tabular-nums;background-image:radial-gradient(70% 45% at 85% -10%,#5fb4d629,#0000 60%),radial-gradient(55% 35% at -5% 110%,#c5e09f2e,#0000 60%);background-attachment:fixed;margin:0;font-size:15px;line-height:1.55;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit;background:0 0;border:none;margin:0}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;height:auto;display:block}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-pill);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--surface-hi)}.app{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid;position:relative}.nav{z-index:50;-webkit-backdrop-filter:blur(18px)saturate(1.6);border-bottom:1px solid var(--border);background:#ffffffc7;position:sticky;top:0}.nav__inner{width:var(--container);grid-template-columns:1fr auto;align-items:center;gap:1.25rem;margin:0 auto;padding:.85rem 0;display:grid}.brand{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;padding:0;text-decoration:none;display:inline-flex}.brand__mark{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);border-radius:7px;place-items:center;width:28px;height:28px;display:grid;position:relative;box-shadow:0 6px 16px -4px #5fb4d673,inset 0 1px #fff6}.brand__mark:after{content:"";background:var(--accent2);border-radius:2px;width:10px;height:10px;transform:rotate(45deg);box-shadow:0 0 0 1px #fff6}.brand__text{letter-spacing:-.005em;align-items:baseline;gap:.55rem;font-size:.95rem;font-weight:500;display:flex}.brand__text__sub{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-mute);font-size:.68rem;font-weight:400}.nav__links{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);align-items:center;gap:.25rem;padding:.25rem;display:flex}.nav__link{color:var(--text-mute);border-radius:var(--r-pill);transition:color .25s var(--ease), background .25s var(--ease);letter-spacing:0;padding:.5rem .95rem;font-size:.82rem;font-weight:500;position:relative}.nav__link:hover{color:var(--text)}.nav__link[aria-current=true]{color:var(--text);background:var(--surface-hi);box-shadow:var(--sh-1), inset 0 1px 0 #ffffff0d}@media (width<=540px){.brand__text__sub{display:none}.nav__link{padding:.45rem .7rem;font-size:.78rem}}.main{width:var(--container);margin:0 auto;padding:clamp(2rem,5vw,3.5rem) 0 6rem;position:relative}.footer{border-top:1px solid var(--border);padding:1.75rem 0}.footer__inner{width:var(--container);font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.02em;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin:0 auto;font-size:.72rem;display:flex}.page-head{border-bottom:1px solid var(--border);gap:.6rem;margin-bottom:clamp(1.75rem,4vw,2.5rem);padding-bottom:2rem;display:grid}.page-head:has(.toolbar__result){padding-bottom:.6rem}.page-head:has(.toolbar__result) .toolbar__result{margin-top:-.2rem}.page-head__lead{gap:.5rem;min-width:0;display:grid}.page-head__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;align-items:center;gap:.5rem;font-size:.7rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%}.page-head__title{letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,3.2vw,2rem);font-weight:600;line-height:1.15}.page-head__desc{color:var(--text-mute);max-width:56ch;margin:0;font-size:.95rem}.page-head__stats{flex-wrap:wrap;gap:.5rem;display:flex}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.78rem;display:inline-flex}.stat__label{color:var(--text-mute);font-family:var(--font-mono);font-size:.72rem;font-weight:500}.stat__value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin:.45rem 0 0;padding:0;display:flex}.toolbar__group{flex:calc(50% - .65rem);align-items:center;gap:.4rem;min-width:0;display:inline-flex}.toolbar__group .dd{flex:auto;min-width:0}.toolbar__group .dd--compact .dd__trigger{width:100%;min-width:0}.toolbar__label{font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.04em;white-space:nowrap;font-size:.7rem;font-weight:500}.toolbar__count{font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.72rem}.toolbar__count strong{color:var(--text);font-weight:600}.toolbar__result{text-align:right;font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.04em;margin:0;font-size:.74rem;line-height:1}.toolbar__result strong{color:var(--text);margin:0 .15em;font-size:.95rem;font-weight:700}.session-timer{z-index:50;-webkit-backdrop-filter:blur(14px)saturate(1.4);border:1px solid var(--border-2);border-radius:var(--r-pill);box-shadow:var(--sh-1), 0 12px 28px -16px #0f172a40;font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.04em;cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);background:#ffffffd9;align-items:center;gap:.5rem;padding:.5rem .85rem .5rem .7rem;font-size:.78rem;display:inline-flex;position:fixed;bottom:clamp(.75rem,2vw,1.25rem);right:clamp(.75rem,2vw,1.25rem)}.session-timer:hover{border-color:var(--accent);box-shadow:var(--sh-1), 0 16px 32px -16px #5fb4d659;transform:translateY(-1px)}.session-timer:focus-visible{box-shadow:0 0 0 3px var(--accent-soft), 0 12px 28px -16px #0f172a40;outline:none}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);animation:overlayIn .2s var(--ease) both;background:#0f172a52;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-3);width:100%;max-width:22rem;animation:modalIn .25s var(--ease) both;flex-direction:column;gap:1.2rem;padding:1.6rem 1.5rem 1.4rem;display:flex;box-shadow:0 1px 2px #0f172a0a,0 24px 60px -24px #0f172a59}.modal__text{color:var(--text);margin:0;font-size:.95rem;line-height:1.5}.modal__actions{justify-content:flex-end;gap:.6rem;display:flex}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.session-timer__dot{background:var(--accent2-deep);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite timerPulse;box-shadow:0 0 8px #a3c97a99}.session-timer__value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}@keyframes timerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@media (width<=540px){.toolbar{gap:.4rem}.toolbar__group{gap:.3rem}.toolbar__label{font-size:.62rem}.toolbar__group .dd--compact .dd__trigger{padding:.42rem .5rem .42rem .6rem;font-size:.74rem}}.dd{flex-shrink:0;display:inline-flex;position:relative}.dd--field{width:100%;display:block}.dd__trigger{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-1);color:var(--text);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:border-color .25s var(--ease), background-color .25s var(--ease), box-shadow .25s var(--ease), color .25s var(--ease);justify-content:space-between;align-items:center;gap:.6rem;display:inline-flex}.dd--compact .dd__trigger{min-width:9.5rem;padding:.46rem .65rem .46rem .85rem;font-size:.82rem;font-weight:500}.dd--field .dd__trigger{border-radius:var(--r-2);border-color:var(--border);width:100%;padding:.78rem .95rem;font-size:.95rem}.dd__trigger:hover{border-color:var(--border-3);background:var(--surface-2)}.dd--field .dd__trigger:hover{border-color:var(--border-2)}.dd__trigger:focus-visible,.dd__trigger--open{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dd--field .dd__trigger--open{background:var(--surface-2)}.dd__current{text-align:left;text-overflow:ellipsis;flex:1;overflow:hidden}.dd__chevron{color:var(--text-mute);transition:transform .25s var(--ease), color .25s var(--ease);flex-shrink:0}.dd__trigger--open .dd__chevron{color:var(--accent-deep);transform:rotate(180deg)}.dd__panel{background:var(--surface);border-radius:var(--r-2);z-index:30;min-width:100%;animation:ddIn .18s var(--ease);white-space:nowrap;border:1px solid #5fb4d66b;max-height:60vh;margin:0;padding:.32rem;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 6px 18px -4px #0f172a1a,0 22px 50px -14px #5fb4d64d}@keyframes ddIn{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.dd__option{border-radius:var(--r-1);width:100%;color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background-color .18s var(--ease), color .18s var(--ease);background:0 0;border:0;justify-content:space-between;align-items:center;gap:.85rem;padding:.55rem .75rem;font-size:.86rem;display:flex}.dd__option:hover,.dd__option:focus-visible{background:var(--accent-soft);outline:none}.dd__option--selected{color:var(--accent-deep);background:#5fb4d61f;font-weight:600}.dd__option__label{text-overflow:ellipsis;overflow:hidden}.dd__check{color:var(--accent-deep);flex-shrink:0}@media (width<=540px){.toolbar{padding:.65rem .75rem}.toolbar__count{text-align:right;width:100%}}.grid{grid-template-columns:1fr;align-items:start;gap:clamp(1rem,2vw,1.5rem);display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:4px;gap:0 clamp(1rem,2vw,1.5rem)}.grid>.card{align-self:start}}@media (width>=1024px){.grid{grid-template-columns:repeat(3,1fr)}}.grid__sentinel{width:100%;height:1px;margin:0}.card{background:var(--surface);border-radius:var(--r-3);text-align:left;cursor:pointer;isolation:isolate;width:100%;transition:transform .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);animation:cardIn .5s var(--ease) both;-webkit-tap-highlight-color:transparent;border:1px solid #5fb4d652;flex-direction:column;padding:0;display:flex;position:relative;box-shadow:0 1px 2px #0f172a0a,0 4px 12px -6px #5fb4d62e}.card:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;position:absolute;inset:0}.card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--accent), transparent 40%);-webkit-mask-composite:xor;opacity:0;transition:opacity .4s var(--ease);z-index:1;pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card:hover{background:var(--surface);border-color:#5fb4d6a6;transform:translateY(-3px);box-shadow:0 2px 4px #0f172a0a,0 12px 28px -8px #5fb4d64d}.card:hover:before{opacity:.55}.card:focus-visible{border-color:var(--accent);box-shadow:var(--sh-glow);outline:none}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes cardRipple{0%{box-shadow:0 0 #5fb4d68c,0 0 #5fb4d600}40%{box-shadow:0 0 0 8px #5fb4d62e,0 0 0 2px #5fb4d66b}80%{box-shadow:0 0 0 16px #5fb4d600,0 0 0 12px #5fb4d61a}to{box-shadow:0 0 0 16px #5fb4d600,0 0 0 22px #5fb4d600}}@media (width<=640px){.card.card--visible:after{animation:2.6s ease-out infinite cardRipple}}.card.card--highlight{animation:2.2s ease-out cardHighlight}@keyframes cardHighlight{0%{border-color:var(--accent);box-shadow:0 0 #5fb4d6a6,0 0 #5fb4d673,0 1px 2px #0f172a0a,0 4px 12px -6px #5fb4d62e}50%{border-color:var(--accent);box-shadow:0 0 0 6px #5fb4d64d,0 0 0 14px #5fb4d61f,0 1px 2px #0f172a0a,0 4px 12px -6px #5fb4d62e}to{border-color:#5fb4d652;box-shadow:0 0 #5fb4d600,0 0 #5fb4d600,0 1px 2px #0f172a0a,0 4px 12px -6px #5fb4d62e}}.card__media{background:var(--bg-tint);border-top-left-radius:calc(var(--r-3) - 1px);border-top-right-radius:calc(var(--r-3) - 1px);border-bottom:1px solid #5fb4d638;position:relative;overflow:hidden}.card__img{width:100%;height:auto;transition:transform .6s var(--ease), filter .4s var(--ease);display:block}.card:hover .card__img{transform:scale(1.02)}.card__pill{z-index:3;-webkit-backdrop-filter:blur(12px)saturate(1.4);border:1px solid var(--border-2);border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.04em;color:var(--text);box-shadow:var(--sh-1);background:#ffffffd9;align-items:center;gap:.4rem;padding:.32rem .65rem .3rem;font-size:.65rem;font-weight:500;display:inline-flex;position:absolute;top:.7rem;right:.7rem}.card__pill:before{content:"";background:var(--accent2-deep);border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #a3c97a99}.card__body{flex-direction:column;flex-grow:1;gap:.5rem;padding:1rem 1.1rem 1.1rem;display:flex}.card__title{letter-spacing:-.012em;color:var(--text);-webkit-line-clamp:2;transition:color .25s var(--ease);-webkit-box-orient:vertical;margin:0;font-size:1.02rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.card__excerpt{color:var(--text-mute);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.card__tags{flex-wrap:wrap;gap:.35rem;margin-top:.1rem;display:flex}.card__tag{border-radius:var(--r-pill);border:1px solid var(--border-2);background:var(--surface-2);letter-spacing:.02em;align-items:center;max-width:100%;padding:.34rem .72rem;font-size:.78rem;line-height:1;display:inline-flex}.card__tag__value{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.card__tag--work{background:var(--accent-soft);color:#1f6f91;border-color:#5fb4d652}.card__tag--type{background:var(--accent2-soft);color:#4f7a2a;border-color:#a3c97a5c}.card__foot{border-top:1px solid #5fb4d638;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.6rem;padding-top:.7rem;display:flex}.card__date{font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.02em;font-size:.75rem;font-weight:500}.card__arrow{background:var(--surface-3);border:1px solid var(--border);width:28px;height:28px;color:var(--text-mute);transition:background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);border-radius:50%;place-items:center;font-size:.85rem;display:inline-grid}.card:hover .card__arrow{background:var(--accent);color:#fff;border-color:var(--accent);transform:translate(2px,-2px)}.state{text-align:center;place-items:center;gap:.9rem;padding:clamp(2rem,5vw,4rem) 0;display:grid}.state--full{min-height:100vh;padding:0}.signin{background:radial-gradient(ellipse at top, #5fb4d614, transparent 60%), radial-gradient(ellipse at bottom right, #c5e09f1a, transparent 60%), var(--surface-2);place-items:center;min-height:100vh;padding:clamp(1.5rem,4vw,3rem);display:grid}.signin__card{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-3);flex-direction:column;gap:1.4rem;width:100%;max-width:22rem;padding:2rem 1.75rem 1.85rem;display:flex;box-shadow:0 1px 2px #0f172a0a,0 24px 60px -24px #0f172a2e}.signin__brand{align-items:center;gap:.65rem;margin-bottom:.2rem;display:flex}.signin__mark{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);border-radius:8px;place-items:center;width:32px;height:32px;display:grid;position:relative;box-shadow:0 6px 16px -4px #5fb4d673,inset 0 1px #fff6}.signin__mark:after{content:"";background:var(--accent2);border-radius:2px;width:11px;height:11px;transform:rotate(45deg);box-shadow:0 0 0 1px #fff6}.signin__name{letter-spacing:-.005em;font-size:1rem;font-weight:600}.signin__fields{flex-direction:column;gap:.65rem;display:flex}.signin__submit{justify-content:center;width:100%;margin-top:.2rem}.spinner{border:2px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state__text{font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.04em;font-size:.78rem}.empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);text-align:center;justify-items:center;gap:1rem;max-width:32rem;margin:3rem auto;padding:clamp(2rem,5vw,3.5rem);display:grid}.empty__icon{border-radius:var(--r-3);background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border:1px solid var(--accent-glow);place-items:center;font-size:1.5rem;display:grid}.empty__title{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:600}.empty__desc{color:var(--text-mute);max-width:36ch;margin:0;font-size:.9rem}.composer{grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2rem);display:grid}@media (width>=960px){.composer{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}.composer__media{align-self:start}@media (width>=960px){.composer__media{position:sticky;top:6rem}}.media-display{background:var(--bg-tint);border-radius:var(--r-3);border:1px solid #5fb4d652;width:100%;margin:0;display:block;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 4px 12px -6px #5fb4d62e}.media-display__img{width:100%;height:auto;display:block}.dropzone{aspect-ratio:4/3;background:var(--surface);border:1.5px dashed var(--border-3);border-radius:var(--r-3);transition:border-color .3s var(--ease), background .3s var(--ease);cursor:pointer;isolation:isolate;place-items:center;display:grid;position:relative;overflow:hidden}.dropzone:hover{border-color:var(--accent);background:var(--surface-2)}.dropzone--has-image{border-style:solid;border-color:var(--border-2);background:var(--bg-tint)}.dropzone--has-image:hover{border-color:var(--accent)}.dropzone__placeholder{text-align:center;color:var(--text-mute);gap:.85rem;padding:1.5rem;display:grid}.dropzone__icon{border-radius:var(--r-3);background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border:1px solid var(--accent-glow);place-items:center;margin:0 auto;font-size:1.4rem;display:grid}.dropzone__title{color:var(--text);font-size:1rem;font-weight:600}.dropzone__hint{font-family:var(--font-mono);color:var(--text-mute);letter-spacing:.02em;font-size:.72rem}.dropzone__preview{object-fit:contain;z-index:1;width:100%;height:100%;position:absolute;inset:0}.dropzone__overlay{opacity:0;transition:opacity .3s var(--ease);z-index:2;pointer-events:none;background:linear-gradient(#0000 60%,#0f172ac7);justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:absolute;inset:0}.dropzone:hover .dropzone__overlay{opacity:1}.dropzone__overlay__text{color:#fff;font-family:var(--font-mono);letter-spacing:.02em;font-size:.78rem;font-weight:500}.dropzone__input{opacity:0;cursor:pointer;z-index:3;position:absolute;inset:0}.dropzone__meta{font-family:var(--font-mono);color:var(--text-mute);justify-content:space-between;gap:1rem;margin-top:.7rem;font-size:.72rem;display:flex}.dropzone__meta__name{text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.form{flex-direction:column;gap:1.2rem;display:flex}.field{gap:.45rem;display:grid}.field__label{color:var(--text-2);letter-spacing:-.005em;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.82rem;font-weight:500;display:flex}.field__label__hint{font-family:var(--font-mono);color:var(--text-faint);font-size:.68rem;font-weight:400}.field__input,.field__textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);width:100%;color:var(--text);transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);padding:.78rem 1rem;font-size:.95rem}.field__input::placeholder,.field__textarea::placeholder{color:var(--text-faint)}.field__input:hover,.field__textarea:hover{border-color:var(--border-2);background:var(--surface-2)}.field__input:focus,.field__textarea:focus{border-color:var(--accent);background:var(--surface-2);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field__textarea{resize:vertical;min-height:6.5rem;line-height:1.55}.field__input[type=date]{font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .25s var(--ease), background .25s var(--ease);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.toggle:hover{border-color:var(--border-2);background:var(--surface-2)}.toggle__text{gap:.2rem;min-width:0;display:grid}.toggle__label{color:var(--text);font-size:.88rem;font-weight:500}.toggle__desc{color:var(--text-mute);font-size:.78rem;line-height:1.45}.toggle__switch{background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--r-pill);width:40px;height:22px;transition:background .3s var(--ease), border-color .3s var(--ease);flex-shrink:0;position:relative}.toggle__switch:after{content:"";background:var(--text-2);width:16px;height:16px;transition:transform .3s var(--ease-spring), background .3s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input{display:none}.toggle--on .toggle__switch{background:var(--accent);border-color:var(--accent)}.toggle--on .toggle__switch:after{background:#fff;transform:translate(18px)}.actions{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}@media (width>=480px){.actions{flex-wrap:nowrap}}.btn{letter-spacing:-.005em;border-radius:var(--r-2);cursor:pointer;transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .15s var(--ease), box-shadow .25s var(--ease);white-space:nowrap;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 1.3rem;font-size:.88rem;font-weight:600;display:inline-flex;position:relative}.btn:disabled{opacity:.5}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 14px -4px #5fb4d673,inset 0 1px #ffffff4d}.btn--primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);box-shadow:0 8px 24px -6px #3a9ec38c,inset 0 1px #ffffff52}.btn--ghost{background:var(--surface);color:var(--text);border-color:var(--border-2)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-3)}.btn--danger{color:var(--danger);background:0 0;border-color:#ef44444d}.btn--danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:#ff6b6b}.btn__arrow{transition:transform .25s var(--ease);display:inline-block}.btn--primary:hover:not(:disabled) .btn__arrow{transform:translate(3px)}.notice{border:1px solid var(--border-2);background:var(--surface);border-radius:var(--r-2);animation:noticeIn .4s var(--ease);align-items:center;gap:.7rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.notice:before{content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px}.notice--ok{background:var(--success-soft);color:#2f7d4d;border-color:#84d99e73}.notice--ok:before{background:var(--success);box-shadow:0 0 8px #84d99e99}.notice--err{background:var(--danger-soft);color:#b91c1c;border-color:#ef444459}.notice--err:before{background:var(--danger);box-shadow:0 0 8px #ef444480}@keyframes noticeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.back{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-2);transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.5rem .85rem;font-size:.78rem;display:inline-flex}.back:hover{background:var(--surface-2);border-color:var(--border-2);color:var(--text)}.back__arrow{transition:transform .25s var(--ease)}.back:hover .back__arrow{transform:translate(-2px)}.edit__id{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.id-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);font-family:var(--font-mono);color:var(--text-mute);align-items:center;gap:.4rem;padding:.32rem .65rem;font-size:.7rem;display:inline-flex}.id-chip__label{color:var(--text-faint)}.id-chip__value{color:var(--text);font-weight:500}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.25rem;display:grid}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden}.skeleton-card__media{aspect-ratio:4/3;background:linear-gradient(90deg, var(--surface), var(--surface-2), var(--surface));background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton-card__body{gap:.6rem;padding:1rem;display:grid}.skeleton-line{background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;border-radius:4px;height:12px;animation:1.4s ease-in-out infinite shimmer}.skeleton-line--short{width:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.grid>.card:first-child{animation-delay:20ms}.grid>.card:nth-child(2){animation-delay:60ms}.grid>.card:nth-child(3){animation-delay:.1s}.grid>.card:nth-child(4){animation-delay:.14s}.grid>.card:nth-child(5){animation-delay:.18s}.grid>.card:nth-child(6){animation-delay:.22s}.grid>.card:nth-child(7){animation-delay:.26s}.grid>.card:nth-child(8){animation-delay:.3s}.grid>.card:nth-child(9){animation-delay:.34s}.grid>.card:nth-child(10){animation-delay:.38s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
