:root{--void: #010208;--panel-bg: rgba(8, 12, 22, .72);--panel-bg-solid: #070b14;--panel-border: rgba(158, 196, 255, .13);--panel-border-strong: rgba(158, 196, 255, .28);--panel-highlight: rgba(220, 236, 255, .055);--field-bg: rgba(2, 4, 10, .62);--text-primary: #eef2ff;--text-secondary: #b6c0dd;--text-muted: #8b95ba;--text-faint: #67719a;--accent: #7cd6ff;--accent-strong: #38bdf8;--accent-dim: #1c4258;--accent-soft: rgba(124, 214, 255, .13);--starlight: #ffe9b3;--danger: #fb7185;--danger-soft: rgba(136, 19, 55, .55);--mono-font: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--display-font: "Nanum Myeongjo", "Pretendard Variable", "Apple SD Gothic Neo", serif;--shadow-panel: 0 0 0 1px rgba(0, 0, 0, .35), 0 1.2rem 3.4rem rgba(0, 0, 0, .55), inset 0 1px 0 var(--panel-highlight);--ease-out-soft: cubic-bezier(.22, 1, .36, 1);color:var(--text-primary);background:var(--void);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}*{box-sizing:border-box}::selection{background:var(--accent-soft);color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background-color:#9ec4ff2e;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#9ec4ff5c}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}.app-shell{min-height:100vh;min-height:100dvh;background:var(--void)}.sky-brand{position:fixed;z-index:10;top:1.4rem;left:1.6rem;pointer-events:none;-webkit-user-select:none;user-select:none}.sky-brand h1,.sky-brand p,.add-work-panel h2,.toast p{margin:0}.sky-brand h1{font-family:var(--display-font);color:#f4f7fff2;font-size:1.5rem;font-weight:700;letter-spacing:.05em;text-shadow:0 0 1.8rem rgba(124,214,255,.28)}.eyebrow{margin-bottom:.5rem!important;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.32em}.sky-brand .eyebrow{margin-bottom:.35rem!important;font-size:.55rem;font-weight:600;letter-spacing:.44em;opacity:.75}.add-work-panel{width:min(46rem,100%);padding:1.4rem;border:1px solid var(--panel-border);border-radius:.75rem;background:var(--panel-bg);box-shadow:0 1rem 4rem #00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.add-work-panel h2{margin-bottom:1rem;font-size:1.1rem}.add-work-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field{display:grid;align-content:start;gap:.4rem;min-width:0;margin:0;padding:0;border:0}.form-field-wide,.director-field{grid-column:1 / -1}.form-field label,.form-field legend{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.01em}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(158,196,255,.18);border-radius:.55rem;padding:.68rem .78rem;color:var(--text-primary);background:var(--field-bg);font:inherit;font-size:.92rem;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.form-field input[type=date]{color-scheme:dark}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#9ec4ff52}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.primary-action:focus-visible,.toast button:focus-visible{outline:0;border-color:#7cd6ffa6;background:#03060ed9;box-shadow:0 0 0 3px var(--accent-soft)}.form-field [aria-invalid=true]{border-color:#fb7185}.field-error{margin:0;color:#fda4af;font-size:.78rem}.character-count{justify-self:end;color:#8f9abc;font-size:.75rem}.director-field{grid-template-columns:repeat(2,minmax(0,1fr))}.director-field legend,.director-field .field-error{grid-column:1 / -1}.director-field label{align-self:end}.primary-action{position:relative;border:1px solid rgba(150,214,255,.42);border-radius:.6rem;padding:.76rem 1.15rem;color:#eaf6ff;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 45%),linear-gradient(180deg,#7cd6ff3d,#28609633);font:inherit;font-size:.92rem;font-weight:600;letter-spacing:.03em;cursor:pointer;text-shadow:0 0 .8rem rgba(124,214,255,.35);box-shadow:0 .5rem 1.7rem #14467859,inset 0 1px #ffffff24;transition:border-color .18s ease,background-color .18s ease,box-shadow .2s ease,transform .15s var(--ease-out-soft)}.primary-action:hover{border-color:#a0e0ffb3;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(180deg,#8ce0ff52,#306ea842);box-shadow:0 .6rem 2.2rem #7cd6ff4d,inset 0 1px #ffffff2e}.primary-action:active{transform:translateY(1px);box-shadow:0 .3rem 1rem #14467866,inset 0 1px #ffffff1f}.primary-action:disabled{cursor:not-allowed;opacity:.5;box-shadow:inset 0 1px #ffffff14}.toast-region{position:fixed;z-index:55;top:1rem;right:1rem;display:grid;gap:.65rem;width:min(24rem,calc(100vw - 2rem))}.toast{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid rgba(251,113,133,.55);border-radius:.8rem;color:#fff1f2;background:linear-gradient(168deg,rgba(251,113,133,.12),transparent 45%),#260812eb;box-shadow:0 .8rem 2.4rem #00000080,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toast p{margin-top:.25rem;color:#fecdd3;font-size:.85rem}.toast button{align-self:start;border:0;color:#fff1f2;background:transparent;cursor:pointer}.toast.toast-unlock{border-color:#a78bfa8c;color:#f5f3ff;background:linear-gradient(168deg,rgba(167,139,250,.14),transparent 45%),#1c0e3aeb}.toast.toast-unlock p{color:#ddd6fe}.toast.toast-unlock button{color:#f5f3ff}@media (max-width: 600px){.app-shell{align-content:start;padding:1rem}.add-work-form,.director-field{grid-template-columns:1fr}.form-field,.director-field legend,.director-field .field-error{grid-column:1}}.archive-dom-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:min(72rem,100%)}.navigation-panel,.archive-panel{min-width:0;padding:1.2rem;border:1px solid var(--panel-border);border-radius:.75rem;background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.archive-panel{grid-column:1 / -1}.navigation-panel h2,.archive-panel h2,.archive-list-item h3,.confirm-dialog h2,.confirm-dialog h3,.work-card h2{margin:0}.navigation-panel h2,.archive-panel h2,.hud h2,.genre-filter h2,.list-view h2,.achievement-panel h2,.constellation-controls h2{color:var(--text-muted);font-size:.68rem;font-weight:650;letter-spacing:.2em;text-transform:uppercase}.navigation-list,.archive-list,.affected-constellation-list{margin:1rem 0 0;padding:0;list-style:none}.navigation-list{display:grid;gap:.65rem}.navigation-list li{display:grid;gap:.35rem}.navigation-list li:has(>span:first-child){grid-template-columns:minmax(0,1fr) auto;align-items:center}.navigation-list button,.secondary-action,.danger-action,.card-close-button{border:1px solid var(--panel-border-strong);border-radius:.55rem;padding:.6rem .78rem;color:var(--text-primary);background:#9ec4ff0e;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.navigation-list button:not(:disabled):hover,.secondary-action:hover,.card-close-button:hover{border-color:var(--accent);background:var(--accent-soft)}.navigation-list button:disabled{cursor:not-allowed;opacity:.55}.navigation-list button:focus-visible,.secondary-action:focus-visible,.danger-action:focus-visible,.card-close-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.disabled-reason,.muted-copy,.empty-state{color:var(--text-muted);font-size:.85rem}.panel-heading-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.archive-count{display:inline-grid;min-width:2rem;min-height:2rem;place-items:center;border:1px solid var(--panel-border-strong);border-radius:999px;color:var(--accent);background:var(--accent-soft);font-family:var(--mono-font);font-weight:700}.archive-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:.8rem}.archive-list-item{padding:1rem;border:1px solid var(--panel-border);border-radius:.7rem;background:var(--field-bg)}.archive-list-item dl,.work-card-details{display:grid;gap:.65rem;margin:1rem 0}.archive-list-item dl>div,.work-card-details>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.75rem}.archive-list-item dt,.work-card-details dt{color:var(--text-faint);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.archive-list-item dd,.work-card-details dd{min-width:0;margin:0;overflow-wrap:anywhere}.archive-actions,.work-card-actions,.dialog-actions{display:flex;flex-wrap:wrap;gap:.65rem}.danger-action{border-color:var(--danger);color:#fff1f2;background:var(--danger-soft)}.danger-action:hover{background:#881337d9}.work-card{--work-glow-color: #cfe0ff;position:fixed;z-index:45;right:max(8px,2vw);bottom:max(8px,2vh);width:min(25rem,calc(100vw - 16px));max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:1.35rem;border:1px solid color-mix(in srgb,var(--work-glow-color) 55%,transparent);border-radius:1rem;background:linear-gradient(168deg,color-mix(in srgb,var(--work-glow-color) 9%,transparent),transparent 42%),#050810db;box-shadow:0 0 2rem color-mix(in srgb,var(--work-glow-color) 26%,transparent),0 1.2rem 3rem #0000008c,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3)}.work-card h2{font-size:1.15rem;font-weight:650;letter-spacing:.01em}.card-close-button{position:absolute;top:.7rem;right:.7rem;border:0;padding:.35rem .5rem;background:transparent}.work-card-summary{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.genre-badge{border:1px solid color-mix(in srgb,currentColor 55%,transparent);border-radius:999px;padding:.18rem .6rem;color:var(--accent);background:color-mix(in srgb,currentColor 9%,transparent);font-size:.78rem;font-weight:650;letter-spacing:.02em}.rating-icons{color:var(--starlight);letter-spacing:.08em}.work-card-review{grid-template-columns:1fr!important}.dialog-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#000105ad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirm-dialog{width:min(31rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.4rem;border:1px solid rgba(251,113,133,.5);border-radius:1rem;background:linear-gradient(168deg,rgba(251,113,133,.07),transparent 40%),var(--panel-bg-solid);box-shadow:0 1.5rem 5rem #000000b3,inset 0 1px #ffffff0d}.confirm-dialog>p{color:var(--text-muted)}.confirm-dialog h3{margin-top:1rem;font-size:.92rem}.affected-constellation-list{display:grid;gap:.35rem;color:#fecdd3}.dialog-actions{justify-content:flex-end;margin-top:1.2rem}@media (max-width: 767.98px){.archive-dom-navigation{grid-template-columns:1fr}.archive-panel{grid-column:1}.navigation-list li:has(>span:first-child){grid-template-columns:1fr}.work-card-actions>button,.archive-actions>button{flex:1 1 100%}}.glass-panel{position:relative;border:1px solid var(--panel-border);border-radius:1rem;background:linear-gradient(180deg,rgba(158,196,255,.05),transparent 38%),var(--panel-bg);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(26px) saturate(1.35);backdrop-filter:blur(26px) saturate(1.35)}.shell-panel-body h2,.work-card h2,.confirm-dialog h2,.blackhole-archive-dialog h2{font-family:var(--display-font);font-weight:700;letter-spacing:.012em}.hud,.genre-filter,.list-view,.achievement-panel{padding:1.1rem}.hud h2,.genre-filter h2,.list-view h2,.list-view h3,.achievement-panel h2,.achievement-list p{margin:0}.hud-statistics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}.hud-statistics>div{display:grid;gap:.35rem;min-width:0;padding:.75rem .8rem;border:1px solid var(--panel-border);border-radius:.7rem;background:linear-gradient(180deg,rgba(158,196,255,.045),transparent 60%),var(--field-bg)}.hud-statistics dt{color:var(--text-faint);font-size:.64rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.hud-statistics dd{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.01em}.badge-list,.filter-options{display:flex;flex-wrap:wrap;gap:.4rem}.milestone-summary{display:grid;gap:.65rem}.milestone-summary>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(5rem,8rem) auto;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.78rem;font-variant-numeric:tabular-nums}progress{max-width:100%;height:.34rem;border:0;border-radius:999px;accent-color:var(--accent);background:#9ec4ff1f;overflow:hidden}progress::-webkit-progress-bar{border-radius:999px;background:#9ec4ff1f}progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,#4db9ef,#9be2ff)}progress::-moz-progress-bar{border-radius:999px;background:#7cd6ff}.panel-action,.filter-chip,.drawer-toggle,.list-view button,.panel-heading-row button{border:1px solid var(--panel-border-strong);border-radius:.55rem;padding:.56rem .72rem;color:var(--text-primary);background:#9ec4ff0e;font:inherit;font-size:.9rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.panel-action:hover,.drawer-toggle:hover,.list-view button:hover,.panel-heading-row button:hover{border-color:var(--accent);background:var(--accent-soft)}.panel-action{width:100%;margin-top:1rem}.filter-options{margin-top:.8rem}.filter-chip{border-color:#9ec4ff29;border-radius:999px;padding:.42rem .8rem;color:var(--text-muted);background:var(--field-bg);font-size:.85rem;font-weight:600}.filter-chip:hover{color:var(--text-primary)}.filter-chip.is-selected{border-color:#7cd6ff8c;color:#bfeaff;background:var(--accent-soft);box-shadow:0 0 .9rem #7cd6ff2e,inset 0 0 .7rem #7cd6ff17}.filter-status{margin:.75rem 0 0;color:var(--text-muted);font-size:.8rem}.drawer-toggle{display:none}.list-view{min-width:0}.list-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem .75rem;margin:1rem 0}.list-controls label{color:var(--text-muted);font-size:.8rem;font-weight:700}.list-controls input,.list-controls select{min-width:0;border:1px solid rgba(158,196,255,.18);border-radius:.55rem;padding:.55rem .68rem;color:var(--text-primary);background:var(--field-bg);font:inherit;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.list-controls input:focus,.list-controls select:focus{outline:0;border-color:#7cd6ffa6;box-shadow:0 0 0 3px var(--accent-soft)}.list-view>section+section{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--panel-border)}.list-view h3{color:var(--text-faint);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.work-list,.constellation-list,.compact-archive-list,.achievement-list{display:grid;gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none}.work-list button{display:grid;grid-template-columns:minmax(8rem,1fr) auto auto;align-items:center;gap:.5rem;width:100%;border-radius:.7rem;text-align:left;transition:border-color .15s ease,background-color .15s ease,transform .15s var(--ease-out-soft)}.work-list button:hover{transform:translate(2px)}.work-list button>:last-child{grid-column:1 / -1;color:#aeb8d8;font-size:.8rem}.work-title{overflow:hidden;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.constellation-list button{width:100%;text-align:left}.constellation-swatch{display:inline-block;width:.65rem;height:.65rem;margin-right:.5rem;border-radius:999px}.compact-archive-list li{display:grid;gap:.3rem;padding:.7rem;border:1px solid var(--panel-border);border-radius:.7rem;color:var(--text-muted);background:var(--field-bg)}.compact-archive-list p{margin:0}.compact-archive-list time,.compact-archive-list span{color:var(--text-faint);font-size:.78rem}.achievement-panel{width:min(34rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--panel-bg-solid)}.achievement-list li{padding:.9rem;border:1px solid var(--panel-border);border-radius:.7rem;background:var(--field-bg)}.achievement-list li>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.achievement-list p{margin-top:.45rem;color:var(--text-muted);font-size:.85rem}.status-badge{border-radius:999px;padding:.2rem .5rem;color:var(--text-muted);background:#94c5ff1a;font-size:.68rem;font-weight:800;letter-spacing:.04em}.is-unlocked .status-badge{color:#b7f7d8;background:#10b9813d}.space-canvas-shell{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;border:0;border-radius:0;background:var(--void)}.space-canvas-shell canvas{display:block;touch-action:none!important}.star-title-label{display:block;max-width:16rem;overflow:hidden;padding:.34rem .68rem;border:1px solid var(--panel-border-strong);border-radius:999px;color:var(--text-primary);background:#050810d1;box-shadow:0 0 1rem var(--accent-soft),inset 0 1px #ffffff0f;font-size:.76rem;font-weight:600;letter-spacing:.02em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.constellation-controls{width:min(72rem,100%);padding:1.1rem}.constellation-controls h2,.constellation-draft-status p,.constellation-operation-status{margin:0}.constellation-controls .panel-heading-row .primary-action{width:auto}.constellation-draft-status{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem 1rem;margin-top:1rem;padding:.9rem;border:1px solid var(--panel-border-strong);border-radius:.7rem;background:var(--field-bg)}.constellation-draft-status>p,.constellation-draft-status>.constellation-control-actions{grid-column:1 / -1}.constellation-control-actions{display:flex;flex-wrap:wrap;gap:.65rem}.automatic-constellation-action{margin-top:1rem}.constellation-operation-status{margin-top:.65rem;color:var(--accent);font-size:.85rem}.constellation-name-dialog label,.constellation-name-dialog input{display:block;width:100%}.constellation-name-dialog label{margin-bottom:.4rem;color:var(--text-primary);font-size:.85rem;font-weight:700}.constellation-name-dialog input{border:1px solid rgba(158,196,255,.18);border-radius:.55rem;padding:.68rem .78rem;color:var(--text-primary);background:var(--field-bg);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.constellation-name-dialog input:focus{outline:0;border-color:#7cd6ffa6;box-shadow:0 0 0 3px var(--accent-soft)}.constellation-name-label{display:block;max-width:16rem;overflow:hidden;padding:.35rem .65rem;border:1px solid var(--panel-border-strong);border-radius:999px;color:var(--text-primary);background:#04060ee6;box-shadow:0 0 1rem var(--accent-soft);font-size:.78rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width: 767.98px){.constellation-controls .panel-heading-row,.constellation-draft-status{grid-template-columns:1fr;align-items:stretch}.constellation-controls .panel-heading-row .primary-action,.constellation-control-actions>button,.automatic-constellation-action{width:100%}}.blackhole-archive-dialog{position:relative;width:min(56rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto;border:1px solid var(--panel-border-strong);border-radius:1rem;background:var(--panel-bg-solid);box-shadow:0 0 4rem #7cd6ff24,inset 0 1px #ffffff0d}.blackhole-archive-dialog>.card-close-button{z-index:1}.blackhole-archive-dialog .archive-panel{border:0;background:transparent}.archive-shell{position:fixed;top:0;right:0;bottom:0;left:0}.archive-shell-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.shell-dock{position:fixed;z-index:40;top:50%;right:1.1rem;display:grid;gap:.3rem;padding:.42rem;border:1px solid var(--panel-border);border-radius:999px;background:linear-gradient(180deg,#0e14229e,#0508109e);box-shadow:0 .7rem 2.6rem #00000080,inset 0 1px 0 var(--panel-highlight);transform:translateY(-50%);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}.dock-button{position:relative;display:grid;width:2.6rem;height:2.6rem;place-items:center;border:1px solid transparent;border-radius:999px;padding:0;color:var(--text-muted);background:transparent;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s var(--ease-out-soft)}.dock-button:hover{color:var(--text-primary);background:#9ec4ff17;transform:scale(1.06)}.dock-button:active{transform:scale(.97)}.dock-button.is-active{border-color:#7cd6ff6b;color:var(--accent);background:var(--accent-soft);box-shadow:0 0 1.1rem #7cd6ff40,inset 0 0 .6rem #7cd6ff14}.dock-button:after{content:attr(data-label);position:absolute;top:50%;right:calc(100% + .9rem);padding:.32rem .62rem;border:1px solid var(--panel-border);border-radius:.45rem;color:var(--text-secondary);background:#050810eb;box-shadow:0 .4rem 1.4rem #00000080;font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(-50%) translate(.25rem);transition:opacity .16s ease,transform .16s var(--ease-out-soft)}.dock-button:hover:after,.dock-button:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.dock-icon{display:grid;place-items:center}.shell-panel{position:fixed;z-index:30;top:50%;right:4.9rem;width:min(23.5rem,calc(100vw - 6.4rem));max-height:min(80vh,46rem);max-height:min(80dvh,46rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--panel-border);border-radius:1rem;background:linear-gradient(168deg,#141c306b,#0609121a 38%),var(--panel-bg);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(26px) saturate(1.35);backdrop-filter:blur(26px) saturate(1.35);transform:translateY(-50%) scale(1);transform-origin:100% 50%;transition:opacity .2s ease,transform .24s var(--ease-out-soft),visibility 0s}.shell-panel[data-open=false]{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.9) translate(.6rem);transition:opacity .16s ease,transform .16s ease,visibility 0s .16s}.shell-panel-wide{width:min(34rem,calc(100vw - 6.4rem))}.shell-panel-body{display:grid;gap:1.05rem;padding:1.25rem}.shell-panel-body .glass-panel,.shell-panel-body .add-work-panel,.shell-panel-body .navigation-panel,.shell-panel-body .archive-panel{width:auto;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.shell-panel-body>*+*{border-top:1px solid var(--panel-border);padding-top:1rem}.shell-panel-body .archive-dom-navigation{display:grid;grid-template-columns:1fr;gap:1.25rem;width:auto}.shell-panel-body .constellation-controls{width:auto}.shell-panel-body .drawer-toggle{display:none}.shell-panel-body .list-view[data-drawer-state=closed]{display:block}@media (max-width: 767.98px){.shell-dock{top:auto;right:50%;bottom:max(.9rem,env(safe-area-inset-bottom));grid-auto-flow:column;transform:translate(50%)}.dock-button:after{top:auto;right:auto;bottom:calc(100% + .8rem);left:50%;transform:translate(-50%) translateY(.25rem)}.dock-button:hover:after,.dock-button:focus-visible:after{transform:translate(-50%) translateY(0)}.shell-panel{top:auto;right:50%;bottom:calc(max(.9rem,env(safe-area-inset-bottom)) + 4.2rem);width:min(26rem,calc(100vw - 1.6rem));max-height:min(72vh,40rem);max-height:min(72dvh,40rem);transform:translate(50%) scale(1);transform-origin:50% 100%}.shell-panel[data-open=false]{transform:translate(50%) scale(.92) translateY(.6rem)}.shell-panel-wide{width:min(26rem,calc(100vw - 1.6rem))}.sky-brand{top:1rem;left:1.1rem}}.add-work-panel,.navigation-panel,.archive-panel,.glass-panel,.work-card,.star-title-label,.constellation-name-label{background-color:var(--panel-bg-solid)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.add-work-panel,.work-card{background-color:#04060ee0}.navigation-panel,.archive-panel,.glass-panel{background-color:#070b14d1}.star-title-label,.constellation-name-label{background-color:#04060ee6}}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.genre-badge,.rating-icons,.filter-chip{display:inline-flex;align-items:center;gap:.35rem}.genre-icon{font-weight:900}.rating-text{color:var(--text-primary);font-family:var(--mono-font);font-size:.78rem;font-weight:700;letter-spacing:normal}.navigation-description{margin:.6rem 0 0;color:var(--text-muted);font-size:.85rem;line-height:1.5}.navigation-work-metadata{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0}.scene-error-fallback{display:grid;align-content:center;justify-items:center;min-height:100%;padding:2rem;color:var(--text-primary);background:var(--panel-bg-solid);text-align:center}.scene-error-fallback h2,.scene-error-fallback p{margin:0}.scene-error-fallback p{max-width:38rem;margin-top:.75rem;color:var(--text-muted)}.scene-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem}.scene-error-actions a{text-decoration:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0ms!important;transition-duration:.001ms!important}.toast,.work-card,.confirm-dialog,.achievement-panel{transform:none!important}}.canvas-dom-link{position:absolute;z-index:5;top:.75rem;left:.75rem;padding:.65rem .8rem;border:1px solid var(--accent);border-radius:.45rem;color:var(--void);background:var(--accent);font-weight:750;text-decoration:none;transform:translateY(calc(-100% - 1.5rem))}.canvas-dom-link:focus-visible{transform:translateY(0)}.planet-codex{display:flex;flex-direction:column;gap:16px;min-width:0}.planet-codex-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.planet-codex-header h2{margin:0;font-size:1.15rem}.planet-codex-rate{font-family:var(--mono-font);font-size:.82rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--panel-border);border-radius:999px;padding:3px 12px}.planet-gacha{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--panel-border);border-radius:16px;background:linear-gradient(160deg,#1e285059,#080c1659)}.planet-gacha-status{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.planet-ticket-count{margin:0;font-size:.98rem;color:var(--text-primary)}.planet-ticket-count strong{color:var(--starlight);font-size:1.15rem;margin:0 2px}.ticket-icon{margin-right:6px}.planet-ticket-progress{margin:0;font-size:.8rem;color:var(--text-muted)}.planet-reveal-slot{display:flex;align-items:center;justify-content:center;min-height:128px}.planet-reveal-placeholder{margin:0;color:var(--text-faint);font-size:.85rem}.planet-reveal-card{perspective:800px;width:132px;height:132px}.planet-reveal-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:planetFlip .8s cubic-bezier(.4,.1,.2,1) forwards}@keyframes planetFlip{0%{transform:rotateY(0) scale(.9)}60%{transform:rotateY(180deg) scale(1.05)}to{transform:rotateY(180deg) scale(1)}}.planet-reveal-back,.planet-reveal-front{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:16px;backface-visibility:hidden}.planet-reveal-back{background:radial-gradient(circle at 50% 40%,#23305c,#0a0e1c);border:1px solid var(--panel-border-strong);font-size:2.6rem;color:var(--accent);font-weight:700}.planet-reveal-front{transform:rotateY(180deg);background:radial-gradient(circle at 50% 30%,#1e285099,#060912e6);border:2px solid var(--panel-border-strong)}.planet-reveal-front strong{font-size:.95rem;color:var(--text-primary)}.planet-reveal-front .rarity-chip{font-size:.75rem;font-weight:700;letter-spacing:.04em}.new-badge{position:absolute;top:8px;right:8px;font-size:.6rem;font-weight:800;letter-spacing:.08em;color:#05231a;background:#4ade80;border-radius:999px;padding:2px 7px}.planet-pull-button{align-self:stretch}.planet-gacha-error{margin:0;color:var(--danger);font-size:.8rem}.planet-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;flex:none}.planet-chip[data-geometry=crystal]{border-radius:14%;clip-path:polygon(50% 0%,90% 30%,78% 100%,22% 100%,10% 30%)}.planet-chip-ring{position:absolute;left:-28%;top:33%;width:156%;height:34%;border:2px solid;border-radius:50%;transform:rotate(-20deg);opacity:.75;pointer-events:none}.planet-chip-locked{background:radial-gradient(circle at 40% 35%,#1a2136,#070b14);border:1px dashed var(--panel-border);color:var(--text-faint);font-weight:700;font-size:1.2rem}.planet-dex-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px}.planet-dex-cell{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;border:1px solid var(--panel-border);border-radius:12px;background:var(--field-bg);position:relative;min-height:108px;justify-content:center}.planet-dex-cell.is-locked{opacity:.72}.planet-dex-name{font-size:.78rem;color:var(--text-secondary);text-align:center}.planet-dex-name-locked{color:var(--text-faint)}.planet-dex-rarity{font-size:.68rem;font-weight:700;letter-spacing:.03em}.planet-dex-count{position:absolute;top:6px;right:8px;font-family:var(--mono-font);font-size:.72rem;color:var(--starlight)}.planet-hover-label{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid;border-radius:999px;background:#060912d1;color:var(--text-primary);font-size:.78rem;white-space:nowrap}.planet-hover-label em{font-style:normal;color:var(--text-muted);font-size:.7rem}@media (prefers-reduced-motion: reduce){.planet-reveal-inner{animation-duration:.01ms}}.pull-reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(circle at 50% 45%,#060a16db,#020308f7);animation:pullRevealFade .35s ease both}.pull-reveal-overlay.rarity-epic{background:radial-gradient(circle at 50% 45%,#28103c99,#020308f7)}.pull-reveal-overlay.rarity-legendary{background:radial-gradient(circle at 50% 45%,#3c2c0899,#020308fa)}@keyframes pullRevealFade{0%{opacity:0}to{opacity:1}}.pull-reveal-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.pull-reveal-caption{position:absolute;bottom:11%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(90vw,460px);text-align:center;pointer-events:auto;animation:pullCaptionIn .6s ease .7s both}@keyframes pullCaptionIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.pull-reveal-caption .rarity-chip{font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.pull-reveal-caption strong{font-family:var(--display-font);font-size:2rem;font-weight:800;letter-spacing:.01em;color:var(--text-primary);text-shadow:0 0 22px rgba(180,210,255,.4)}.pull-reveal-caption p{margin:0;color:var(--text-secondary);font-size:.9rem}.pull-reveal-new{position:static;animation:none}.pull-reveal-caption .primary-action{margin-top:6px;min-width:140px}@media (prefers-reduced-motion: reduce){.pull-reveal-overlay,.pull-reveal-caption{animation-duration:.01ms}}.galaxy-export{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px solid var(--panel-border)}.galaxy-export-button{align-self:stretch}.galaxy-export-hint{margin:0;font-size:.78rem;color:var(--text-faint);text-align:center}.work-title-field{grid-column:1 / -1}.autocomplete-shell{position:relative;display:flex;align-items:center}.autocomplete-poster-thumb{position:absolute;left:.4rem;width:1.9rem;height:2.7rem;object-fit:cover;border-radius:.25rem;box-shadow:0 2px 8px #00000080;pointer-events:none}.autocomplete-shell input.has-poster{padding-left:2.7rem}.autocomplete-hint{margin:.1rem 0 0;font-size:.74rem;color:var(--text-faint)}.autocomplete-list{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:60;margin:0;padding:.3rem;list-style:none;max-height:17rem;overflow-y:auto;background:var(--panel-bg-solid);border:1px solid var(--panel-border-strong);border-radius:.6rem;box-shadow:0 18px 44px #0000008c}.autocomplete-status{padding:.6rem .7rem;color:var(--text-faint);font-size:.86rem}.autocomplete-option{display:flex;align-items:center;gap:.7rem;padding:.4rem .5rem;border-radius:.45rem;cursor:pointer}.autocomplete-option.is-active{background:var(--accent-soft)}.autocomplete-option-thumb{flex:0 0 auto;width:2.1rem;height:3.1rem;object-fit:cover;border-radius:.28rem;background:#9ec4ff14;display:grid;place-items:center;font-size:1rem}.autocomplete-option-thumb.is-empty{border:1px solid var(--panel-border)}.autocomplete-option-title{flex:1 1 auto;min-width:0;color:var(--text-primary);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-option-year{flex:0 0 auto;color:var(--text-faint);font-size:.82rem;font-variant-numeric:tabular-nums}.work-card-heading{display:grid;gap:.5rem}.work-card-heading.has-poster{grid-template-columns:auto 1fr;align-items:center;gap:.9rem}.work-card-poster{width:5.4rem;height:8rem;object-fit:cover;border-radius:.5rem;box-shadow:0 6px 18px #00000080}.work-card-heading-text{min-width:0;display:grid;gap:.5rem}.tmdb-attribution{display:flex;align-items:center;gap:.5rem}.tmdb-attribution-block{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--panel-border);flex-wrap:wrap}.tmdb-attribution-inline{margin-top:.35rem}.tmdb-attribution-mark{flex:0 0 auto;display:inline-flex;line-height:0;border-radius:.2rem}.tmdb-attribution-mark:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tmdb-logo{height:.95rem;width:auto}.tmdb-attribution-block .tmdb-logo{height:1.1rem}.tmdb-notice{margin:0;flex:1 1 12rem;min-width:0;color:var(--text-faint);font-size:.68rem;line-height:1.35}
