:root{--bg: #0e1216;--bg-raised: #161c22;--bg-inset: #0b0e11;--bg-hover: #1d2630;--border: #28313b;--border-strong: #3a4754;--text: #e4e7ea;--text-2: #a4adb6;--text-3: #7d8791;--accent: #c9b482;--accent-bright: #ddc99a;--accent-ink: #16120a;--warn: #d4a04a;--up: #84b48c;--down: #c98078;--ok: #7fd98c;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 40px;--font-sans: "Pretendard Variable", Pretendard, "Malgun Gothic", sans-serif;--font-mono: "JetBrains Mono", Consolas, "Courier New", monospace;--fs-body: .92rem;--fs-sub: .8rem;--fs-label: .7rem;--fs-display: clamp(2.6rem, 8vw, 5.4rem);--fs-display-2: clamp(1.7rem, 4.2vw, 2.7rem);--radius: 10px;--radius-sm: 6px;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.55}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.84rem;text-align:right}.section-label{display:block;font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.masthead{padding:var(--sp-5) 0 var(--sp-5);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.masthead-eyebrow{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--text-3)}.masthead-index{color:var(--accent);font-weight:600}.masthead-rule{width:42px;height:1px;background:var(--accent);opacity:.7}.masthead-title{margin:0;font-size:var(--fs-display);font-weight:900;line-height:1.02;letter-spacing:-.025em;color:var(--text);text-wrap:balance}.masthead-dot{color:var(--accent)}.masthead-date{margin:var(--sp-3) 0 0;font-family:var(--font-mono);font-size:clamp(1.05rem,2.6vw,1.55rem);font-weight:600;letter-spacing:.08em;color:var(--accent);font-variant-numeric:tabular-nums}.masthead-kinetic{display:inline-block}@media(prefers-reduced-motion:no-preference){.masthead-kinetic span{display:inline-block;animation:mast-rise .48s cubic-bezier(.22,1,.36,1) both}.masthead-dot{display:inline-block;animation:mast-dot .36s cubic-bezier(.34,1.56,.64,1) .42s both}.masthead-eyebrow-text{animation:mast-fade .42s ease-out .12s both}.masthead-rule{transform-origin:left;animation:mast-rule .48s cubic-bezier(.22,1,.36,1) both}.masthead-date{animation:mast-fade .42s ease-out .3s both}}@keyframes mast-rise{0%{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}@keyframes mast-dot{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes mast-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes mast-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.app-header{animation:load-drop .42s ease-out both}.ticker{animation:load-drop .42s ease-out 80ms both}.tabs-wrap{animation:load-drop .42s ease-out .16s both}}@keyframes load-drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:640px){.masthead{padding:var(--sp-4) 0}}@media(prefers-reduced-motion:no-preference){.app-main{view-transition-name:tab-panel}}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(tab-panel){animation:vt-leave .18s ease-in both}::view-transition-new(tab-panel){animation:vt-enter .34s cubic-bezier(.22,1,.36,1) both}@keyframes vt-leave{to{opacity:0;transform:scale(.988)}}@keyframes vt-enter{0%{opacity:.35;clip-path:inset(0 100% 0 0);transform:translate(14px)}to{opacity:1;clip-path:inset(0 -4% 0 0);transform:none}}@media(prefers-reduced-motion:reduce){::view-transition-old(tab-panel),::view-transition-new(tab-panel),::view-transition-group(tab-panel){animation:none}}.hero{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;transition:opacity .45s ease}.hero.leaving{opacity:0;pointer-events:none}.hero-canvas{position:absolute;inset:0;width:100%;height:100%}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(8,10,12,.6) 100%)}.hero-content{position:relative;z-index:1;max-width:760px;padding:var(--sp-5);text-align:center}.hero-kicker{margin:0;font-size:var(--fs-label);font-weight:600;letter-spacing:.38em;text-transform:uppercase;color:var(--text-3);animation:fade-up .5s ease-out both}.hero-logo{margin:var(--sp-3) 0 0;font-size:clamp(1.6rem,7vw,3.8rem);font-weight:800;letter-spacing:.04em;line-height:1.1;color:var(--text);animation:logo-wipe .65s ease-out .2s both,logo-glitch .22s steps(2) .88s}.hero-logo .logo-accent{color:var(--accent)}.hero-rule{width:min(340px,64%);height:2px;margin:var(--sp-4) auto;background:var(--accent);transform:scaleX(0);transform-origin:left;animation:rule-draw .55s ease-out 1s forwards}.hero-sub{margin:0;color:var(--text-2);font-size:1rem;animation:fade-up .5s ease-out 1.15s both}.hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3) var(--sp-6);margin:var(--sp-6) 0 var(--sp-5)}.hero-stat{display:flex;flex-direction:column;gap:2px;animation:fade-up .5s ease-out both}.hero-stat-num{font-size:1.9rem;font-weight:600;color:var(--accent);text-align:center}.hero-stat-label{font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.hero-enter{padding:12px 44px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font-family:var(--font-sans);font-size:1rem;font-weight:700;letter-spacing:.06em;cursor:pointer;animation:fade-up .5s ease-out 1.5s both;transition:background-color .12s ease,transform .12s ease}.hero-enter:hover{background:var(--accent-bright);transform:translateY(-1px)}.hero-enter:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.hero-hint{margin:var(--sp-3) 0 0;color:var(--text-3);font-size:var(--fs-sub);animation:fade-up .5s ease-out 1.7s both}.weapon-stage{display:block}.weapon-canvas,.weapon-poster{display:block;width:100%;height:100%}.weapon-poster{object-fit:contain}.hero-weapon{margin:var(--sp-2) auto 0;animation:fade-up .5s ease-out .7s both}.weapon-stage.stage-hero{width:min(460px,82vw);height:170px;margin:0 auto}.weapon-switch{margin-top:2px;padding:4px 14px;background:none;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-2);font-family:var(--font-sans);font-size:var(--fs-sub);cursor:pointer;transition:color .12s ease,border-color .12s ease}.weapon-switch:hover{border-color:var(--accent);color:var(--accent)}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}@keyframes logo-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes logo-glitch{0%{transform:translate(2px);opacity:.75}50%{transform:translate(-2px) skew(-1.5deg);opacity:.9}to{transform:none;opacity:1}}@keyframes rule-draw{to{transform:scaleX(1)}}@keyframes pulse-gold{0%{background-color:color-mix(in srgb,var(--accent) 16%,transparent)}to{background-color:transparent}}.pulse-new{animation:pulse-gold 1.5s ease-out 1}@media(max-width:640px){.hero-kicker{font-size:.6rem;letter-spacing:.2em}.hero-sub{font-size:var(--fs-body)}.hero-stats{gap:var(--sp-3) var(--sp-5)}.hero-stat-num{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){.hero{transition:none}.hero-kicker,.hero-logo,.hero-sub,.hero-stat,.hero-enter,.hero-hint{animation:none}.hero-rule{animation:none;transform:scaleX(1)}}.ambient-bg{position:fixed;inset:0;width:100%;height:100%;z-index:-1;opacity:.13;pointer-events:none}.app{max-width:1080px;margin:0 auto;padding:var(--sp-5) var(--sp-4) var(--sp-6)}.ticker{min-height:42px;margin-bottom:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.ticker-track{display:inline-flex;width:max-content;animation:ticker-scroll 48s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{display:inline-flex;align-items:center;gap:7px;margin-right:var(--sp-5);padding:9px 2px;background:none;border:none;color:var(--text-2);font-family:var(--font-sans);font-size:var(--fs-sub);white-space:nowrap;cursor:pointer;transition:color .12s ease}.ticker-item:hover{color:var(--accent)}.ticker-item img{width:22px;height:22px;object-fit:contain;background:var(--bg-inset);border-radius:4px}.ticker-item .num{font-size:.74rem}@keyframes ticker-scroll{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker{overflow-x:auto}}.app-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-4);margin-bottom:var(--sp-5)}.logo{margin:0;font-size:1.45rem;font-weight:800;letter-spacing:.04em;line-height:1.2;color:var(--text)}.logo .logo-accent{color:var(--accent)}.tagline{margin:0;color:var(--text-3);font-size:var(--fs-sub)}.app-footer{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--border);color:var(--text-3);font-size:var(--fs-sub);display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);justify-content:space-between}.app-footer a{color:var(--text-2);text-decoration:none}.app-footer a:hover{color:var(--accent)}.tabs-wrap{position:sticky;top:0;z-index:50;margin-bottom:var(--sp-5);padding-top:var(--sp-2);background:var(--bg)}@media(min-width:641px){@supports (backdrop-filter: blur(1px)){.tabs-wrap{background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}}.tabs{position:relative;display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tab-indicator{position:absolute;bottom:0;left:0;width:1px;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(to right,var(--accent),var(--accent-bright));box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease;pointer-events:none}.tabs-more{position:absolute;inset:0 0 1px auto;display:flex;align-items:center;justify-content:flex-end;width:56px;padding-right:2px;pointer-events:none;background:linear-gradient(to right,transparent,var(--bg) 75%);color:var(--accent);font-size:1.1rem}.tabs::-webkit-scrollbar{display:none}.tabs button{background:none;border:none;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-2);padding:var(--sp-2) var(--sp-3) 10px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .12s ease,background-color .14s ease}.tabs button:hover{color:var(--accent-bright);background:color-mix(in srgb,var(--accent) 7%,transparent)}.tabs button.active{color:var(--accent);font-weight:700;background:color-mix(in srgb,var(--accent) 9%,transparent)}.nav-row{position:relative}.sub-tabs{display:flex;gap:var(--sp-1);padding:var(--sp-2) 0 2px;overflow-x:auto;scrollbar-width:none}.sub-tabs::-webkit-scrollbar{display:none}.sub-tabs button{background:color-mix(in srgb,var(--bg-raised) 60%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-family:var(--font-sans);font-size:.82rem;font-weight:500;padding:5px 12px;white-space:nowrap;transition:color .12s ease,border-color .12s ease,background-color .14s ease}.sub-tabs button:hover{color:var(--accent-bright);border-color:var(--border-strong);background:color-mix(in srgb,var(--accent) 8%,var(--bg-raised))}.sub-tabs button.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:700;box-shadow:0 1px 8px color-mix(in srgb,var(--accent) 30%,transparent)}@media(min-width:641px){.tabs{gap:var(--sp-2)}.tabs button{font-size:1.02rem;font-weight:600;padding:11px var(--sp-4) 13px;letter-spacing:-.005em}.sub-tabs{gap:var(--sp-2);padding-top:var(--sp-3)}.sub-tabs button{font-size:.92rem;padding:8px 16px}}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:var(--fs-body)}.data-table th,.data-table td{padding:10px var(--sp-3);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:none}.data-table th{background:var(--bg-inset);color:var(--text-3);font-size:var(--fs-label);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.data-table th.num{font-family:var(--font-sans)}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--accent)}.data-table tbody tr{transition:background-color .1s ease}.data-table tbody tr:hover{background:var(--bg-hover)}.item-cell{display:flex;align-items:center;gap:10px;white-space:normal;min-width:220px}.item-cell img{width:34px;height:34px;object-fit:contain;flex-shrink:0;background:var(--bg-inset);border-radius:var(--radius-sm);padding:2px}.btn-ext,.quest-back,.load-more,.item-chip,.star-btn,.app-footer a,.source-link,.quest-link{transition:color .12s ease,border-color .12s ease,background-color .12s ease}.star-col{width:36px;text-align:center!important}th.star-col{color:var(--text-3)}.star-btn{background:none;border:none;padding:2px 6px;line-height:1;font-size:1.05rem;color:var(--text-3);cursor:pointer;vertical-align:-1px}.star-btn:hover{color:var(--accent-bright)}.star-btn.on{color:var(--accent)}.done-btn{background:none;border:none;padding:2px 6px;line-height:1;font-size:1rem;color:var(--text-3);cursor:pointer;vertical-align:-1px}.done-btn:hover,.done-btn.on{color:var(--ok)}.quest-row.done,.planner-quest.done,.unlock-chain-list li.done{opacity:.62}.quest-row.done .quest-name-text,.planner-quest.done .planner-quest-name,.unlock-chain-list li.done .quest-link{text-decoration:line-through;color:var(--text-3)}.btn-ext.btn-done.active{border-color:var(--ok);color:var(--ok)}.quest-item-track{display:inline-flex;align-items:center;gap:6px;margin-left:8px;vertical-align:middle}.quest-item-need{color:var(--text-3)}.quest-item-need.met{color:var(--ok)}.quest-status{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;font-size:.72rem;font-weight:700;vertical-align:middle;white-space:nowrap}.quest-status.avail{background:color-mix(in srgb,var(--ok) 22%,var(--bg-inset));color:var(--ok)}.quest-status.locked{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-3)}.fav-heading{margin:0 0 var(--sp-1);font-size:1.05rem;font-weight:700;color:var(--accent)}.sparkline{display:inline-block;vertical-align:middle}.spark-tip{position:fixed;z-index:60;transform:translate(-50%,-120%);padding:3px 8px;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:.72rem;white-space:nowrap;pointer-events:none;text-align:center}.sparkline.up{color:var(--up)}.sparkline.down{color:var(--down)}.sparkline.dim{color:var(--text-3)}button.btn-ext{cursor:pointer;font-family:var(--font-sans)}.btn-ext.active{border-color:var(--accent);color:var(--accent)}.metric{color:var(--accent);font-weight:600}.up{color:var(--up)}.down{color:var(--down)}.dim{color:var(--text-3)}.search-input,.level-input,select{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);padding:9px var(--sp-3);font-family:var(--font-sans);font-size:var(--fs-body)}.search-input{width:100%;max-width:420px}.level-input{width:92px;font-family:var(--font-mono)}.search-input:focus-visible,.level-input:focus-visible,select:focus-visible{outline:1px solid var(--accent);outline-offset:0;border-color:var(--accent)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4)}.hint{color:var(--text-3);font-size:var(--fs-sub);margin:var(--sp-1) 0 var(--sp-4)}.toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-body);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{accent-color:var(--accent)}.status{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4);background:var(--bg-raised);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-body)}.status:before{content:"";width:14px;height:14px;flex-shrink:0;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status.error{color:var(--down);border-color:var(--down)}.status.error:before{content:"!";border:1px solid var(--down);color:var(--down);font-weight:700;font-size:.7rem;display:flex;align-items:center;justify-content:center;animation:none}.error-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.skeleton-label{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-1) 0 var(--sp-3);color:var(--text-3);font-size:var(--fs-sub)}.skeleton-label:before{content:"";width:12px;height:12px;flex-shrink:0;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}.skeleton-table{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.skeleton-row{display:flex;align-items:center;gap:var(--sp-3);padding:12px var(--sp-3)}.skeleton-row+.skeleton-row{border-top:1px solid var(--border)}.skeleton-block{flex:1;height:13px;border-radius:4px;background:var(--bg-hover);animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-block.icon{flex:0 0 34px;height:34px;border-radius:var(--radius-sm)}.skeleton-block.wide{flex:2.5}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:1}}@media(prefers-reduced-motion:no-preference){.app-main>*{animation:panel-in .16s ease-out}.lightbox{animation:fade-in .12s ease-out}}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.status:before,.skeleton-label:before,.skeleton-block,.pulse-new{animation:none}.tab-indicator{transition:none}}.briefing-headline{font-size:clamp(1.25rem,2.6vw,1.7rem);font-weight:800;color:var(--accent);margin:var(--sp-1) 0 var(--sp-5);line-height:1.4;letter-spacing:-.01em;text-wrap:balance}.briefing-stale{margin:0 0 var(--sp-4);padding:var(--sp-2) var(--sp-3);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 8%,var(--bg-raised));color:var(--text-2);font-size:var(--fs-sub);line-height:1.5}.briefing-section{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-4)}.briefing-section h2{display:flex;align-items:center;gap:var(--sp-2);font-size:.98rem;font-weight:700;margin:0 0 var(--sp-3)}.briefing-section h2:before{content:"";width:3px;height:.95em;flex-shrink:0;background:var(--accent)}.briefing-section.bento-lg h2{font-size:1.15rem}.briefing-section.warning{border-color:color-mix(in srgb,var(--warn) 45%,var(--border));background:color-mix(in srgb,var(--warn) 7%,var(--bg-raised))}.briefing-section.warning h2{color:var(--warn)}.briefing-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-4);align-items:stretch}.briefing-grid>.briefing-section{margin-bottom:0;min-width:0;animation:fade-up .2s ease-out both}.briefing-section.bento-lg{grid-column:span 4}.briefing-section.bento-sm{grid-column:span 2}.briefing-section.bento-wide,.briefing-section.warning,.briefing-section.videos{grid-column:1 / -1}@media(max-width:800px){.briefing-grid{grid-template-columns:1fr}.briefing-section.bento-lg,.briefing-section.bento-sm{grid-column:auto}}.type-caret{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-2px;background:var(--accent);animation:caret-blink .8s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);list-style:none;margin:0;padding:0}.video-card{position:relative;display:block;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-inset);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:border-color .15s ease}.video-card:hover{border-color:var(--accent)}.video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.video-card:hover .video-bg{transform:scale(1.04)}.video-play{position:absolute;inset:0 0 30%;display:flex;align-items:center;justify-content:center;color:var(--accent-bright);font-size:2rem;text-shadow:0 0 16px rgba(8,10,12,.95);opacity:.8;transition:opacity .15s ease}.video-card:hover .video-play{opacity:1}.video-overlay{position:absolute;inset:auto 0 0;padding:var(--sp-5) var(--sp-4) var(--sp-3);background:linear-gradient(to top,rgba(8,10,12,.92),transparent)}.video-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-body);font-weight:700;line-height:1.4}.video-card:hover .video-title{color:var(--accent-bright)}.video-src{display:block;margin-top:2px;color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.06em}@media(max-width:640px){.video-grid{grid-template-columns:1fr}}@media(min-width:641px){.briefing-section,.map-card,.ticker{background:color-mix(in srgb,var(--bg-raised) 72%,transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.briefing-section.warning{background:color-mix(in srgb,var(--warn) 8%,color-mix(in srgb,var(--bg-raised) 70%,transparent))}}@media(prefers-reduced-motion:reduce){.briefing-grid>.briefing-section{animation:none}.type-caret{animation:none}}.briefing-section ul{list-style:none;margin:0;padding:0}.briefing-item{padding:var(--sp-3) 0}.briefing-item+.briefing-item{border-top:1px solid var(--border)}.briefing-item.has-thumb{display:flex;gap:var(--sp-3);align-items:flex-start}.briefing-item-body{flex:1;min-width:0}.briefing-item-thumb{flex-shrink:0;display:block;width:104px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.briefing-item-thumb img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.briefing-item strong{font-weight:650}.briefing-item p{margin:var(--sp-1) 0 var(--sp-2);color:var(--text-2);font-size:var(--fs-body)}.source-link{color:var(--text-3);font-size:var(--fs-sub);text-decoration:none}.source-link:hover{color:var(--accent);text-decoration:underline}.badge-new{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.66rem;font-weight:800;letter-spacing:.04em;vertical-align:2px}.movers-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}.movers-grid>section{min-width:0}.movers-grid h2{display:flex;align-items:center;gap:var(--sp-2);font-size:.95rem;margin:0 0 var(--sp-3)}.movers-grid h2:before{content:"";width:3px;height:.95em;flex-shrink:0;background:var(--accent)}.quest-table{table-layout:fixed}.quest-table th:nth-child(1){width:56%}.quest-table th:nth-child(2){width:17%}.quest-table th:nth-child(3){width:17%}.quest-table th:nth-child(4){width:10%}.quest-table td{overflow:hidden;text-overflow:ellipsis}.quest-row{cursor:pointer}.quest-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent-bright);border-radius:var(--radius-sm)}.quest-name-cell{display:flex;align-items:center;gap:6px;min-width:0}.quest-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wiki-mini{flex-shrink:0;margin-left:auto;padding:1px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-3);font-size:var(--fs-label);line-height:1.6;text-decoration:none;white-space:nowrap;transition:color .12s ease,border-color .12s ease}.wiki-mini:hover{color:var(--accent);border-color:var(--accent)}.quest-hero{display:flex;align-items:center;gap:var(--sp-4);margin:var(--sp-2) 0 var(--sp-4)}.quest-hero-portrait{flex-shrink:0;width:84px;height:84px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-inset);box-shadow:0 0 0 1px #c9b48240}.quest-hero-text{min-width:0}.quest-hero-meta{margin:0 0 2px;font-family:var(--font-mono);font-size:var(--fs-sub);letter-spacing:.05em;color:var(--text-2)}.quest-title{margin:0;font-size:var(--fs-display-2);font-weight:900;line-height:1.1;letter-spacing:-.015em;color:var(--accent);text-wrap:balance}@media(max-width:640px){.quest-hero-portrait{width:60px;height:60px}}.trader-cell{display:inline-flex;align-items:center;gap:7px}.trader-avatar{width:22px;height:22px;object-fit:cover;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-inset)}.quest-objectives{list-style:none;margin:0;padding:0}.quest-objectives li{padding:5px 0;color:var(--text-2)}.badge-kappa,.badge-fir{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.04em;vertical-align:2px}.badge-kappa{background:transparent;border:1px solid var(--accent);color:var(--accent)}.badge-fir{background:var(--warn);color:var(--accent-ink)}.quest-link{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-body);padding:2px 6px;text-decoration:underline;text-underline-offset:3px}.quest-back{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sub);padding:7px var(--sp-3)}.quest-back:hover{border-color:var(--accent);color:var(--accent)}.quest-back:disabled{opacity:.4;cursor:default;border-color:var(--border-strong);color:var(--text)}.load-more{display:block;width:100%;margin-top:var(--sp-3);padding:var(--sp-3);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-body)}.load-more:hover{background:var(--bg-hover)}.quest-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.btn-ext{display:inline-flex;align-items:center;gap:6px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sub);padding:7px var(--sp-3);text-decoration:none}.btn-ext:hover{border-color:var(--accent);color:var(--accent)}.chip-row{display:inline-flex;flex-wrap:wrap;gap:var(--sp-1);vertical-align:middle}.item-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-sub);padding:3px 8px 3px 4px;cursor:pointer}.item-chip:hover{border-color:var(--accent)}.item-chip img{width:26px;height:26px;object-fit:contain;border-radius:4px}.lightbox{position:fixed;inset:0;z-index:50;background:#080a0cd9;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:var(--sp-5)}.lightbox figure{margin:0;text-align:center}.lightbox img{max-width:min(512px,90vw);max-height:70vh;object-fit:contain;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--sp-4)}.lightbox figcaption{margin-top:var(--sp-3);color:var(--text);font-size:var(--fs-body)}.guide-steps{margin:0;padding-left:22px}.guide-steps li{padding:4px 0;color:var(--text-2)}.guide-steps li::marker{color:var(--accent);font-family:var(--font-mono);font-weight:600}.guide-tips{margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-3);background:var(--bg-inset);border-radius:var(--radius-sm);color:var(--text-2);font-size:var(--fs-sub)}.maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-4)}.map-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:0 var(--sp-5) var(--sp-4);min-width:0;overflow:hidden;transition:transform .15s ease-out,border-color .15s ease}.map-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.map-banner{position:relative;height:132px;margin:0 calc(-1 * var(--sp-5)) var(--sp-3);background:linear-gradient(to top,var(--bg-raised) 4%,transparent 60%),linear-gradient(105deg,rgba(201,180,130,.1),transparent 45%),var(--bg-inset);border-bottom:1px solid var(--border)}.map-banner-bosses{position:absolute;inset:0 0 0 auto;display:flex;justify-content:flex-end}.map-banner-bosses img{height:100%;width:auto;max-width:96px;object-fit:cover;object-position:top;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 96%);mask-image:linear-gradient(to bottom,#000 55%,transparent 96%);filter:saturate(.82)}.map-code{position:absolute;left:var(--sp-5);bottom:52px;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.map-name{position:absolute;left:var(--sp-5);right:var(--sp-3);bottom:var(--sp-2);margin:0;font-size:var(--fs-display-2);font-weight:900;line-height:1;letter-spacing:-.02em;color:var(--text);text-shadow:0 2px 14px rgba(8,10,12,.7)}.map-facts{margin:0 0 var(--sp-4)}.map-facts div{display:flex;gap:var(--sp-3);padding:3px 0}.map-facts dt{flex-shrink:0;width:44px;color:var(--text-3);font-size:var(--fs-sub);padding-top:1px}.map-facts dd{margin:0;color:var(--text-2);font-size:var(--fs-body)}.map-facts dd.num{text-align:left}.net-cell{display:inline-flex;flex-direction:column;align-items:flex-end}.net-loss{color:var(--down)}.fee-sub{font-size:var(--fs-label);white-space:nowrap}.fee-calc{margin:var(--sp-3) 0 var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised)}.fee-calc summary{cursor:pointer;padding:var(--sp-3) var(--sp-4);color:var(--text-2);font-size:var(--fs-body)}.fee-calc summary:hover{color:var(--accent)}.fee-calc-body{padding:0 var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.fee-calc-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}.fee-calc-picks{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:var(--sp-1)}.fee-calc-picks button{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);color:var(--text);font:inherit;text-align:left;cursor:pointer}.fee-calc-picks button:hover{border-color:var(--accent)}.fee-calc-picks img,.fee-calc-item img{width:28px;height:28px;object-fit:contain;flex:none}.fee-calc-picks .num{margin-left:auto}.fee-calc-item{display:flex;align-items:center;gap:var(--sp-2);margin:0}.fee-calc-price{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-body)}.fee-calc-out{display:flex;gap:var(--sp-6);margin:0}.fee-calc-out dt{color:var(--text-3);font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.fee-calc-out dd{margin:0;font-size:1.15rem}.fee-calc-out dd.metric{color:var(--accent-bright)}.prep-summary{display:flex;align-items:center;gap:var(--sp-4);margin:var(--sp-3) 0 var(--sp-4)}.prep-list{list-style:none;margin:0;padding:0}.prep-row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-2) var(--sp-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + 3px);margin-bottom:var(--sp-3);overflow:hidden}.prep-row.done{opacity:.72}.prep-main{display:flex;align-items:center;gap:var(--sp-3);min-width:0;background:none;border:none;padding:0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.prep-main img{width:40px;height:40px;object-fit:contain;background:var(--bg-inset);border-radius:var(--radius-sm);flex:none}.prep-name{display:flex;flex-direction:column;gap:3px;min-width:0}.prep-title{overflow-wrap:anywhere}.prep-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.prep-chip{font-size:var(--fs-label);font-weight:600;padding:1px 6px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-2);white-space:nowrap}.prep-arrow{color:var(--text-3);flex:none}.prep-counter{display:flex;align-items:center;gap:var(--sp-2)}.prep-step{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--bg-inset);border:1px solid var(--border-strong);color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer;transition:border-color .12s ease,color .12s ease}.prep-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.prep-step:disabled{opacity:.4;cursor:default}.prep-progress-num{min-width:52px;text-align:center}.prep-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bg-inset)}.prep-bar>span{display:block;height:100%;background:var(--accent)}.prep-bar.prep-bar-lg{position:static;flex:1;height:8px;border-radius:999px;overflow:hidden;border:1px solid var(--border)}.prep-needs{grid-column:1 / -1;list-style:none;margin:0;padding:var(--sp-2) 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-sub);color:var(--text-2)}.prep-kind{display:inline-block;font-size:var(--fs-label);font-weight:600;padding:0 6px;margin-right:var(--sp-2);border-radius:999px;border:1px solid var(--border-strong);color:var(--text-3)}.prep-kind.quest{border-color:color-mix(in srgb,var(--accent) 50%,var(--border-strong));color:var(--accent)}.prep-need-link{display:flex;align-items:center;width:100%;padding:2px 4px;margin:-2px 0;background:none;border:none;border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer}.prep-need-link:hover,.prep-need-link:focus-visible{background:var(--bg-inset);color:var(--text)}.prep-need-body{flex:1;min-width:0}.prep-need-go{margin-left:var(--sp-2);color:var(--accent);opacity:0}.prep-need-link:hover .prep-need-go,.prep-need-link:focus-visible .prep-need-go{opacity:1}.prep-acts{margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px dashed var(--border)}.prep-act{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-size:var(--fs-sub)}.prep-act:hover{border-color:var(--accent);color:var(--accent)}.prep-done{margin-top:var(--sp-5)}.prep-done summary{cursor:pointer;color:var(--text-3);font-size:var(--fs-body);margin-bottom:var(--sp-3)}.prep-done summary:hover{color:var(--accent)}.station-grid{list-style:none;margin:0 0 var(--sp-4);padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--sp-3)}.station-card{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-4) var(--sp-2) var(--sp-3);background:radial-gradient(ellipse at 50% 0%,#1a222b 0%,var(--bg-raised) 70%);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;transition:border-color .15s ease,transform .12s ease}.station-card:hover{border-color:var(--accent);transform:translateY(-2px)}.station-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.station-card.done{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.station-card.done .station-progress{color:var(--accent-bright)}.station-card img{width:52px;height:52px;object-fit:contain;filter:sepia(1) saturate(.7) hue-rotate(-10deg) brightness(.95)}.station-name{font-size:var(--fs-sub);text-align:center;line-height:1.3}.station-progress{font-size:var(--fs-label);color:var(--text-3)}.station-detail{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}.station-detail-title{display:flex;align-items:center;gap:var(--sp-3);margin:0;font-size:var(--fs-display-2);font-weight:900}.station-detail-title img{width:40px;height:40px;object-fit:contain;filter:sepia(1) saturate(.7) hue-rotate(-10deg) brightness(.95)}.hideout-level{border-top:1px solid var(--border);padding-top:var(--sp-3)}.hideout-level.built{opacity:.66}.hideout-level-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2)}.hideout-level-head h4{margin:0;font-size:var(--fs-body);display:inline-flex;align-items:center;gap:var(--sp-2)}.hideout-level-head .btn-ext{margin-left:auto}.hideout-built-badge{color:var(--accent-bright);font-size:var(--fs-label);font-weight:700}.hideout-prereqs{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin:0 0 var(--sp-2)}.hideout-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.hideout-items li{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sub)}.hideout-items img{width:28px;height:28px;object-fit:contain;background:var(--bg-inset);border-radius:4px;flex:none}.hideout-item-name{flex:1;min-width:0;overflow-wrap:anywhere}.hideout-have{color:var(--accent-bright);font-size:var(--fs-label)}.trader-group{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--sp-3);overflow:hidden}.trader-group-head{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);background:none;border:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.trader-group-head:hover .trader-group-name{color:var(--accent)}.trader-group-head img{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;flex:none}.trader-group-name{font-size:1.05rem;font-weight:800}.trader-group-head .prep-arrow{margin-left:auto}.trader-quests{list-style:none;margin:0;padding:0 var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.trader-quests>li{border-top:1px solid var(--border);padding-top:var(--sp-3)}.quest-need-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2)}.quest-need-name{font-weight:600}.quest-need-items{margin:0}@media(max-width:640px){.prep-row{grid-template-columns:1fr}.prep-counter{justify-content:flex-end}}.mod-builder-link{margin-bottom:var(--sp-4)}.weapon-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-3)}.weapon-card{display:flex;flex-direction:column;gap:var(--sp-2);width:100%;height:100%;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease}.weapon-card:hover{border-color:var(--accent)}.weapon-card img{height:44px;align-self:flex-start;object-fit:contain}.weapon-name{overflow-wrap:anywhere}.weapon-stats{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-sub)}.mod-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.mod-crumb{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:999px;padding:4px 12px;color:var(--text-2);font:inherit;font-size:var(--fs-sub);cursor:pointer}.mod-crumb:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.mod-crumb.current{border-color:var(--accent);color:var(--accent);cursor:default}.mod-slots{display:flex;flex-direction:column;gap:var(--sp-3)}.mod-slot{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.mod-slot summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);cursor:pointer}.mod-slot summary:hover .mod-slot-name{color:var(--accent)}.mod-slot-name{display:inline-flex;align-items:center;gap:var(--sp-2)}.mod-slot .hint{padding:0 var(--sp-4) var(--sp-3);margin:0}.mod-parts{list-style:none;margin:0;padding:0 var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.mod-part{display:flex;align-items:center;gap:var(--sp-3);border-top:1px solid var(--border);padding-top:var(--sp-2)}.mod-part img{width:40px;height:40px;object-fit:contain;background:var(--bg-inset);border-radius:var(--radius-sm);flex:none}.mod-part-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.mod-part-name{overflow-wrap:anywhere}.mod-part-stats,.mod-part-buy{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-sub)}.mod-trader{color:var(--text-2)}.mod-drill{flex:none;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);color:var(--text-2);font:inherit;font-size:var(--fs-sub);cursor:pointer;transition:border-color .12s ease,color .12s ease}.mod-drill:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:640px){.mod-part{flex-wrap:wrap}.mod-drill{width:100%;margin-left:52px;width:calc(100% - 52px)}}.mode-seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.mode-seg button{background:var(--bg-raised);border:none;padding:var(--sp-2) var(--sp-4);color:var(--text-2);font:inherit;cursor:pointer;transition:background .12s ease,color .12s ease}.mode-seg button+button{border-left:1px solid var(--border-strong)}.mode-seg button.active{background:var(--accent);color:var(--accent-ink);font-weight:700}.mode-seg-wrap{flex-wrap:wrap;gap:var(--sp-1);border:none;border-radius:0;overflow:visible}.mode-seg-wrap button{border:1px solid var(--border-strong);border-radius:var(--radius)}.build-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4);align-items:start}.build-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s ease}.build-card:hover,.build-card.open{border-color:var(--accent)}.build-card.open{grid-column:1 / -1}.build-head{display:block;width:100%;background:none;border:none;padding:0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.build-banner{position:relative;display:block;aspect-ratio:5 / 2;background:radial-gradient(ellipse at center,#151b21 0%,var(--bg-inset) 75%);border-bottom:1px solid var(--border)}.build-banner img{position:absolute;inset:10%;width:80%;height:80%;object-fit:contain}.build-badges{position:absolute;top:var(--sp-3);left:var(--sp-3);display:flex;gap:var(--sp-2)}.build-tier{background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-weight:700;font-size:var(--fs-label);padding:2px 8px;border-radius:999px}.build-cat{background:color-mix(in srgb,var(--bg) 72%,transparent);border:1px solid var(--border-strong);color:var(--text-2);font-size:var(--fs-label);font-weight:600;padding:2px 8px;border-radius:999px}.build-body{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4)}.build-name{font-size:1.15rem;font-weight:800}.build-weapon{font-size:var(--fs-sub)}.build-strip{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.build-strip img{width:26px;height:26px;object-fit:contain;background:var(--bg-inset);border:1px solid var(--border);border-radius:4px}.build-caliber{position:absolute;right:var(--sp-3);bottom:var(--sp-2);color:var(--text-3);font-size:var(--fs-label);letter-spacing:.06em}.build-stats{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-body)}.build-stats>span{display:flex;flex-direction:column;gap:2px;flex:1 0 auto;min-width:72px}.build-stats em{display:block;font-style:normal;color:var(--text-3);font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat-up{color:var(--accent-bright);font-weight:700}.stat-bar{display:block;height:3px;border-radius:999px;background:var(--bg-inset);overflow:hidden}.stat-bar>span{display:block;height:100%;background:var(--accent)}.build-desc{color:var(--text-2);font-size:var(--fs-sub);line-height:1.5}.build-detail{padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--sp-3)}.build-spec{display:flex;gap:var(--sp-5);margin:0}.build-spec dt{color:var(--text-3);font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.build-spec dd{margin:0}.build-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.build-detail-list li{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sub)}.build-detail-list img{width:32px;height:32px;object-fit:contain;background:var(--bg-inset);border-radius:4px;flex:none}.build-detail-name{flex:1;min-width:0;overflow-wrap:anywhere;display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.build-detail-stats{display:inline-flex;gap:var(--sp-2);font-size:var(--fs-label)}.build-detail-buy{display:inline-flex;flex-direction:column;align-items:flex-end;flex:none;text-align:right}.build-detail-row{align-items:flex-start}.build-part-link{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-3);background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.build-part-link:hover .build-detail-name{color:var(--accent)}.build-part-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.build-slot-label{font-size:var(--fs-label);font-weight:600;color:var(--text-3);letter-spacing:.02em}.build-buy2{display:inline-flex;flex-direction:column;align-items:flex-end;flex:none;text-align:right;gap:1px;font-size:var(--fs-label)}.build-buy-opt{color:var(--text-2);white-space:nowrap}.build-buy-opt.cheap{color:var(--accent-bright);font-weight:700}.build-tags{display:inline-flex;flex-wrap:wrap;gap:4px}.build-tag{padding:1px 7px;background:var(--bg-inset);border:1px solid var(--border);border-radius:999px;font-size:var(--fs-label);color:var(--text-2)}.build-diagram{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);grid-template-areas:"top    top    top" "left   image  right" "bottom bottom bottom";gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-3)}.build-diagram-lines{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.build-diagram-lines path{fill:none;stroke:var(--border-strong);stroke-width:1.5;opacity:.45;transition:stroke .12s ease,opacity .12s ease}.build-diagram-lines path.on{stroke:var(--accent);opacity:1}.bd-image{grid-area:image;position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.bd-image img{max-width:100%;max-height:200px;object-fit:contain}.bd-region{position:relative;z-index:1;display:flex;gap:var(--sp-2)}.bd-top{grid-area:top;flex-wrap:wrap;justify-content:center}.bd-bottom{grid-area:bottom;flex-wrap:wrap;justify-content:center}.bd-left{grid-area:left;flex-direction:column}.bd-right{grid-area:right;flex-direction:column;align-items:flex-end}.bd-zone{display:flex;flex-direction:column;gap:4px;max-width:210px}.bd-zone-label{display:none;font-size:var(--fs-label);font-weight:700;color:var(--text-3)}.bd-callout{position:relative;z-index:1;display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer}.bd-callout{transition:border-color .12s ease}.bd-callout:hover,.bd-callout:focus-visible,.bd-zone:hover .bd-callout{border-color:var(--accent)}.bd-callout img{width:30px;height:30px;flex:none;object-fit:contain;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px}.bd-co-text{display:flex;flex-direction:column;min-width:0;gap:1px}.bd-co-slot{font-size:var(--fs-label);font-weight:600;color:var(--text-3)}.bd-co-name{font-size:var(--fs-label);max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-co-stats{display:inline-flex;flex-wrap:wrap;gap:5px;font-size:.66rem}.bd-co-price{flex:none;margin-left:auto;padding-left:4px;font-size:var(--fs-label);font-weight:700;color:var(--accent-bright)}.build-diagram.narrow{display:flex;flex-direction:column;gap:var(--sp-2)}.build-diagram.narrow .build-diagram-lines{display:none}.build-diagram.narrow .bd-image{order:-1}.build-diagram.narrow .bd-image img{max-height:150px}.build-diagram.narrow .bd-region{flex-direction:column;align-items:stretch}.build-diagram.narrow .bd-zone{max-width:none}.build-diagram.narrow .bd-zone-label{display:block}.build-diagram.narrow .bd-callout{width:100%}.build-diagram.narrow .bd-co-text{flex:1}.build-diagram.narrow .bd-co-name{max-width:none;white-space:normal}.build-ammo h4{margin:0 0 var(--sp-2);color:var(--text-3);font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.build-ammo ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.build-ammo li{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sub)}.build-ammo img{width:24px;height:24px;object-fit:contain}.build-ammo-name{flex:1;min-width:0}.build-ammo strong{color:var(--accent-bright)}.build-fineprint{margin:0}@media(max-width:640px){.build-grid{grid-template-columns:1fr}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.briefing-section,.build-card,.station-card,.weapon-card,.prep-row,.trader-group,.mod-slot,.video-card,.map-card{position:relative}.briefing-section:after,.build-card:after,.station-card:after,.weapon-card:after,.prep-row:after,.trader-group:after,.mod-slot:after,.video-card:after,.map-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%);opacity:0;transition:opacity .24s ease;pointer-events:none}.briefing-section:hover:after,.build-card:hover:after,.station-card:hover:after,.weapon-card:hover:after,.prep-row:hover:after,.trader-group:hover:after,.mod-slot:hover:after,.video-card:hover:after,.map-card:hover:after{opacity:1}}@media(prefers-reduced-motion:no-preference){.star-btn{transition:transform .14s cubic-bezier(.34,1.56,.64,1)}.star-btn:active{transform:scale(1.35)}.star-btn.on{animation:star-pop .3s cubic-bezier(.34,1.56,.64,1)}.prep-step:active:not(:disabled){transform:scale(.88)}.mode-seg button:active,.load-more:active,.btn-ext:active{transform:translateY(1px)}}@keyframes star-pop{0%{transform:scale(.6)}60%{transform:scale(1.3)}to{transform:scale(1)}}::selection{background:var(--accent);color:var(--accent-ink)}html{scrollbar-color:var(--border-strong) var(--bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}.ammo-armor{display:inline-flex;gap:3px}.ammo-r{display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;border-radius:4px;font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--accent-ink)}.ammo-r0{background:#8a4a42;color:#fdf0ec}.ammo-r1{background:#96604a;color:#fdf0ec}.ammo-r2{background:#a1794f;color:#16120a}.ammo-r3{background:#ab9254;color:#16120a}.ammo-r4{background:#9aa45c;color:#16120a}.ammo-r5{background:#87a868;color:#16120a}.ammo-r6{background:#84b48c;color:#14271a}.ammo-legend .ammo-r{width:18px;height:16px;margin-right:2px;vertical-align:-2px}.ammo-stat{position:relative;display:inline-block;min-width:56px}.ammo-bar{position:absolute;left:auto;right:0;bottom:-3px;height:2px;background:color-mix(in srgb,var(--text-3) 55%,transparent);border-radius:999px}.ammo-bar.pen{background:color-mix(in srgb,var(--accent) 75%,transparent)}.data-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--bg-inset) 38%,transparent)}.profit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.profit-out-h{margin:var(--sp-4) 0 var(--sp-2);font-size:.95rem}.profit-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--sp-2) var(--sp-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4)}.profit-io{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);min-width:0}.profit-ing{display:inline-flex;align-items:center;gap:2px}.profit-ing img,.profit-out img{width:30px;height:30px;object-fit:contain;background:var(--bg-inset);border-radius:4px}.profit-ing .num{font-size:var(--fs-label);color:var(--text-3)}.profit-arrow{color:var(--accent);font-weight:700}.profit-out{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0}.profit-out-name{font-weight:600;overflow-wrap:anywhere}.profit-meta{display:flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.profit-nums{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}.profit-per-hour{color:var(--accent-bright);font-weight:700}@media(max-width:640px){.profit-row{grid-template-columns:1fr auto}.profit-nums{grid-column:1 / -1;flex-direction:row;justify-content:flex-end;gap:var(--sp-3);border-top:1px solid var(--border);padding-top:var(--sp-2)}}.map-extracts{margin:var(--sp-2) 0 var(--sp-3)}.map-extracts summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-sub)}.map-extracts summary:hover{color:var(--accent)}.map-extract-group{margin:var(--sp-2) 0 0;font-size:var(--fs-sub);color:var(--text-2);line-height:1.7}.extract-tag{display:inline-block;margin-right:var(--sp-2);padding:0 8px;border-radius:999px;font-size:var(--fs-label);font-weight:700}.extract-pmc{background:var(--accent);color:var(--accent-ink)}.extract-shared{background:color-mix(in srgb,var(--up) 70%,var(--bg-inset));color:#14271a}.extract-scav{background:var(--bg-inset);border:1px solid var(--border-strong);color:var(--text-3)}.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:var(--sp-2)}.qtile{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#181f27 0%,var(--bg-inset) 80%);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-2) 20px;cursor:pointer;transition:border-color .12s ease,transform .12s ease}.qtile:hover{border-color:var(--accent);transform:translateY(-1px)}.qtile img{max-width:100%;max-height:calc(100% - 4px);object-fit:contain}.qtile-count{position:absolute;left:0;right:0;bottom:0;padding:1px 4px;background:color-mix(in srgb,var(--bg) 78%,transparent);border-top:1px solid var(--border);font-size:.74rem;font-weight:700;text-align:center}.qtile-fir{position:absolute;top:3px;right:3px;padding:0 5px;border-radius:4px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:.62rem;font-weight:700}.qtile.stash img{opacity:.5}.qtile.stash{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.qtile.stash:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(45deg,transparent 0 7px,color-mix(in srgb,var(--accent) 28%,transparent) 7px 10px);pointer-events:none}.qtile.done{opacity:.55}.qtile.done:before{content:"✓";position:absolute;top:2px;left:6px;color:var(--up);font-weight:900;z-index:1}.qtile-legend.stash{display:inline-block;padding:0 6px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:4px;background:repeating-linear-gradient(45deg,transparent 0 5px,color-mix(in srgb,var(--accent) 28%,transparent) 5px 7px)}.alert-btn{background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 8px;color:var(--text-3);font:inherit;font-size:var(--fs-sub);cursor:pointer;white-space:nowrap;transition:border-color .12s ease,color .12s ease}.alert-btn:hover{border-color:var(--accent);color:var(--accent)}.alert-btn.on{color:var(--accent-bright);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.alert-btn.on.fired{color:var(--up)}.alert-edit{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1)}.alert-edit .level-input{width:110px}.alert-edit .btn-ext{padding:4px 10px;font-size:var(--fs-label)}.alert-denied{flex-basis:100%;margin:var(--sp-1) 0 0;color:var(--warn);max-width:280px}.footer-actions{display:inline-flex;align-items:center;gap:var(--sp-4)}.data-btn{background:none;border:none;padding:0;color:var(--text-3);font:inherit;font-size:var(--fs-sub);cursor:pointer}.data-btn:hover{color:var(--accent)}.data-dialog{padding:var(--sp-5)}.data-dialog h3{margin:0 0 var(--sp-2);font-size:1.2rem}.data-list{list-style:none;margin:var(--sp-3) 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sub)}.data-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.data-danger:hover{border-color:var(--down);color:var(--down)}.app-header{position:relative}.palette-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);color:var(--text-2);font:inherit;font-size:var(--fs-sub);cursor:pointer;transition:border-color .12s ease,color .12s ease,background-color .14s ease,box-shadow .14s ease}.palette-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-raised));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.palette-btn kbd{font-family:var(--font-mono);font-size:var(--fs-label);background:var(--bg-inset);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text-3)}@media(max-width:640px){.palette-btn kbd,.palette-btn span+kbd{display:none}}.palette-overlay{position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--bg) 62%,transparent);display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--sp-4) 0}@supports (backdrop-filter: blur(1px)){.palette-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.palette{width:min(640px,100%);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 24px 60px #00000080;overflow:hidden}@media(prefers-reduced-motion:no-preference){.palette{animation:palette-in .18s cubic-bezier(.22,1,.36,1)}}@keyframes palette-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}}.palette-input{width:100%;background:var(--bg-inset);border:none;border-bottom:1px solid var(--border);padding:var(--sp-4);color:var(--text);font:inherit}.palette-input:focus-visible{outline:none;border-bottom-color:var(--accent)}.palette-list{list-style:none;margin:0;padding:var(--sp-2);max-height:min(52vh,460px);overflow-y:auto}.palette-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;background:none;border:none;border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);color:var(--text);font:inherit;text-align:left;cursor:pointer}.palette-row.active{background:var(--bg-hover);outline:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.palette-row img{width:28px;height:28px;object-fit:contain;background:var(--bg-inset);border-radius:4px;flex:none}.palette-glyph{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;color:var(--accent);background:var(--bg-inset);border-radius:4px}.palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-sub{flex:none;font-size:var(--fs-label)}.palette-note{padding:var(--sp-3);font-size:var(--fs-sub)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}@supports (animation-timeline: scroll()){@media(prefers-reduced-motion:no-preference){.scroll-progress{animation:progress-grow linear both;animation-timeline:scroll()}}}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.prep-row,.build-card,.weapon-grid>li,.station-grid>li,.trader-group,.mod-slot{animation:reveal-up linear both;animation-timeline:view();animation-range:entry 0% entry 30%}}}@keyframes reveal-up{0%{opacity:.15;transform:translateY(18px)}}@media(max-width:800px){.movers-grid{grid-template-columns:1fr}}@media(max-width:640px){.app{padding:var(--sp-4) var(--sp-3) var(--sp-5)}.logo{font-size:1.2rem}.search-input{max-width:none}.data-table:not(.card-table){display:block;overflow-x:auto}.item-cell{min-width:180px}.card-table,.card-table tbody,.card-table tr,.card-table td{display:block;width:auto}.card-table{background:none;border:none;overflow:visible}.card-table thead{display:none}.card-table tr{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3)}.card-table td{border:none;padding:2px 0;white-space:normal;overflow:visible}.card-table td.num{text-align:left;display:flex;justify-content:space-between;gap:var(--sp-3)}.card-table td[data-label]:before{content:attr(data-label);color:var(--text-3);font-size:var(--fs-label);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-right:var(--sp-3)}.card-table .item-cell{min-width:0;margin-bottom:var(--sp-1)}}.story-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-4)}.story-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5);transition:border-color .15s ease}.story-card:hover{border-color:var(--accent)}.story-card.done{opacity:.62}.story-head{display:flex;align-items:flex-start;gap:var(--sp-4)}.story-num{font-size:1.6rem;font-weight:800;color:var(--accent);line-height:1.1;min-width:2ch}.story-title-wrap{flex:1;min-width:0}.story-title{margin:0;font-size:1.15rem;font-weight:800;line-height:1.3}.story-name-en{margin-left:8px;color:var(--text-3);font-size:.82rem;font-weight:500}.badge-ending{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.04em;vertical-align:2px;border:1px solid var(--warn);color:var(--warn)}.story-start{margin:4px 0 0;color:var(--text-2);font-size:var(--fs-sub);line-height:1.55}.story-start-label{display:inline-block;margin-right:4px;padding:0 6px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-3);font-size:.66rem;font-weight:700;letter-spacing:.06em}.story-desc{margin:var(--sp-3) 0 0;color:var(--text-2);font-size:var(--fs-sub);line-height:1.65;border-left:2px solid var(--border-strong);padding-left:var(--sp-3)}.story-foot{margin-top:var(--sp-3);display:flex;align-items:center;gap:var(--sp-3)}.story-objectives{list-style:none;margin:var(--sp-3) 0 0;padding:var(--sp-3) var(--sp-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sub);line-height:1.7}.story-objectives .story-obj.depth-1{padding-left:1.4em}.story-objectives .story-obj.depth-2{padding-left:2.8em}.story-objectives .story-branch{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px dashed var(--border-strong);color:var(--accent);font-weight:700}.story-objectives .story-note{font-size:.78rem}@media(max-width:640px){.story-head{flex-wrap:wrap}.story-head .btn-ext{width:100%;text-align:center}}.bo-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.bo-step{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.bo-step.built{opacity:.55}.bo-step.ready{border-left:3px solid var(--accent)}.bo-num{min-width:2.2ch;padding-top:3px;color:var(--text-3);font-size:.82rem;font-weight:700;text-align:right}.bo-step.ready .bo-num{color:var(--accent)}.bo-main{flex:1;min-width:0}.bo-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.bo-station-icon{width:22px;height:22px;object-fit:contain;filter:sepia(1) saturate(2.2) hue-rotate(-12deg) brightness(.95)}.bo-station-name{font-weight:700}.bo-lv{color:var(--text-2);font-size:var(--fs-sub)}.badge-ready{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.04em;border:1px solid var(--accent);color:var(--accent)}.bo-toggle{margin-left:auto;padding:3px 10px;font-size:.78rem}.bo-items{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px var(--sp-3);font-size:var(--fs-sub)}.bo-items li{display:inline-flex;align-items:center;gap:5px;min-width:0}.bo-items img{width:20px;height:20px;object-fit:contain}.bo-item-name{color:var(--text-2);max-width:16em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.bo-item-name{max-width:11em}.bo-toggle{margin-left:0}}.story-num-hero{font-size:2.6rem;align-self:center}.story-guide-section{margin:var(--sp-4) 0;padding:var(--sp-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.story-guide-title{margin:0 0 var(--sp-2);font-size:1rem;font-weight:800}.story-guide-body{font-size:var(--fs-sub);line-height:1.75;color:var(--text-2)}.story-guide-body p{margin:0 0 var(--sp-2)}.story-guide-body .guide-list{margin:0 0 var(--sp-2);padding-left:1.2em}.story-guide-body .guide-subhead{margin:var(--sp-3) 0 var(--sp-1);color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.04em}.story-guide-shots{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-3)}.story-guide-shots li{display:flex;flex-direction:column;gap:3px;max-width:220px;font-size:.74rem;line-height:1.4}.story-guide-shots button{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0;cursor:zoom-in;overflow:hidden;transition:border-color .15s ease}.story-guide-shots button:hover{border-color:var(--accent)}.story-guide-shots img{display:block;width:220px;height:124px;object-fit:cover}@media(max-width:640px){.story-guide-shots li,.story-guide-shots img{width:100%;max-width:100%;height:auto}}.unlock-grid{list-style:none;margin:var(--sp-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--sp-2)}.unlock-card{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:var(--sp-2);align-items:center;width:100%;height:100%;text-align:left;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-family:var(--font-sans);padding:var(--sp-2) var(--sp-3);transition:border-color .12s ease}.unlock-card:hover{border-color:var(--accent)}.unlock-card img{grid-row:1 / span 2;width:40px;height:40px;object-fit:contain}.unlock-card-name{font-size:var(--fs-sub);line-height:1.35}.unlock-card-meta{font-size:.78rem}.unlock-card-static{cursor:default}.unlock-card-static:hover{border-color:var(--border)}.unlock-fallback{margin-top:var(--sp-3)}.unlock-hero{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.unlock-hero img{width:64px;height:64px;object-fit:contain;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px}.unlock-chain-list{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.unlock-chain-list li{display:flex;align-items:baseline;gap:var(--sp-1);flex-wrap:wrap}.unlock-chain-num{min-width:1.8em;text-align:right;color:var(--text-2)}.unlock-chain-final .quest-link{color:var(--accent-bright);font-weight:700}.unlock-chain-final .unlock-chain-num{color:var(--accent)}.tracker-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:var(--sp-4);align-items:start}.tracker-right{position:sticky;top:96px;max-height:calc(100vh - 112px);overflow-y:auto}@media(max-width:860px){.tracker-split{grid-template-columns:minmax(0,1fr)}.tracker-right{position:static;max-height:none;overflow-y:visible}}.tk-traders{display:flex;gap:var(--sp-1);overflow-x:auto;padding-bottom:var(--sp-2);margin-bottom:var(--sp-3);scrollbar-width:thin}.tk-trader{display:inline-flex;align-items:center;gap:8px;flex:none;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sub);padding:6px 12px 6px 6px;transition:border-color .12s ease,color .12s ease}.tk-trader img{width:32px;height:32px;border-radius:4px;object-fit:cover}.tk-trader:hover{border-color:var(--border-strong);color:var(--text)}.tk-trader.active{border-color:var(--accent);color:var(--accent);font-weight:700}.tk-story-glyph{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-inset);border-radius:4px;color:var(--accent);font-size:1.05rem}.tk-quests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.tk-quest{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}.tk-quest-head{display:flex;align-items:baseline;gap:var(--sp-2);margin:0 0 var(--sp-2)}.tk-quest-name{font-weight:600}.tk-item{cursor:pointer}.tk-item:active{transform:translateY(1px)}.tk-chip-wrap{display:inline-flex;align-items:stretch}.tk-chip-wrap.has-minus .item-chip{border-top-right-radius:0;border-bottom-right-radius:0}.tk-chip-minus{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:0 6px;background:var(--bg-raised);border:1px solid var(--border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2);cursor:pointer;font-size:1rem;line-height:1}.tk-chip-minus:hover{border-color:var(--accent);color:var(--accent)}.tk-currency{cursor:default;opacity:.85}.junkbox-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.junkbox-head h3{margin:0;font-size:1rem;letter-spacing:.02em}.junk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:var(--sp-1)}.junk-tile{position:relative;display:block}.junk-hit{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#181f27 0%,var(--bg-inset) 80%);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px;cursor:pointer;transition:border-color .12s ease,transform .12s ease}.junk-hit:hover{border-color:var(--accent);transform:translateY(-1px)}.junk-hit img{max-width:100%;max-height:100%;object-fit:contain}.junk-count{position:absolute;right:2px;bottom:2px;padding:0 4px;border-radius:4px;background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--border);font-size:.72rem;font-weight:700}.junk-minus{position:absolute;left:2px;top:2px;z-index:1;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:4px;color:var(--text-2);cursor:pointer;font-size:.8rem;line-height:1;padding:0}.junk-minus:hover{border-color:var(--accent);color:var(--accent)}.junk-tile.full .junk-hit{opacity:.55;cursor:default}.junk-tile.full .junk-hit:hover{border-color:var(--border);transform:none}.junk-tile.full .junk-count{color:var(--ok)}.fir-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3);align-items:start}@media(max-width:760px){.fir-page{grid-template-columns:1fr}}.fir-left,.fir-right{min-width:0}.fir-side-seg,.fir-cat-seg{margin-bottom:var(--sp-2)}.fir-src-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:70vh;overflow-y:auto}.fir-src-trader{display:flex;align-items:center;gap:6px;margin:var(--sp-2) 0 2px;font-size:var(--fs-sub);font-weight:700;color:var(--text-2)}.fir-src-trader img{border-radius:4px}.fir-src-row{display:flex;align-items:center;gap:var(--sp-1);padding:6px 8px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm)}.fir-src-ico{border-radius:4px;flex:none}.fir-src-lv{flex:none;min-width:2.4em}.fir-src-name{flex:1;min-width:0;display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:var(--fs-sub)}.fir-src-cnt{font-size:.78rem}.fir-done-btn{flex:none;font-size:.78rem;padding:3px 8px}.fir-src-row.done{opacity:.55;background-image:repeating-linear-gradient(45deg,transparent,transparent 7px,color-mix(in srgb,var(--border-strong) 55%,transparent) 7px,color-mix(in srgb,var(--border-strong) 55%,transparent) 9px)}.fir-src-row.done .fir-src-name{text-decoration:line-through;text-decoration-color:var(--text-3, var(--text-2))}.fir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:var(--sp-1)}@media(max-width:560px){.fir-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}}.fir-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm)}.fir-tile.done{opacity:.5}.fir-tile-icon{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#181f27 0%,var(--bg-inset) 80%);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.fir-tile-icon img{max-width:100%;max-height:100%;object-fit:contain}.fir-tile-name{font-size:.74rem;line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-2)}.fir-stepper{display:inline-flex;align-items:center;gap:6px}.fir-step{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:5px;color:var(--text);cursor:pointer;font-size:1rem;line-height:1;padding:0}.fir-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fir-step:disabled{opacity:.35;cursor:default}.fir-have{min-width:2.6em;text-align:center;font-size:var(--fs-sub)}.fir-q-list{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:62vh;overflow-y:auto}.fir-q-row{padding:6px 8px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm)}.fir-q-head{display:flex;align-items:center;gap:var(--sp-1)}.fir-q-name{flex:1;min-width:0;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sub)}.fir-q-items{display:flex;flex-direction:column;gap:3px;margin-top:5px}.fir-q-item{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--text-2)}.fir-q-item img{width:24px;height:24px;flex:none;object-fit:contain;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px}.fir-q-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fir-q-need{flex:none;color:var(--text-2)}.fir-q-item.enough{opacity:.5}.fir-q-item.enough .fir-q-item-name{text-decoration:line-through}.fir-q-step{display:inline-flex;align-items:center;gap:4px;flex:none}.fir-step-sm{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:4px;color:var(--text);cursor:pointer;font-size:.85rem;line-height:1;padding:0}.fir-step-sm:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fir-step-sm:disabled{opacity:.35;cursor:default}.fir-q-got{min-width:1.4em;text-align:center}.fir-station-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-1);background:none;border:none;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.fir-chevron{flex:none;color:var(--text-2);font-size:.8rem}.fir-levels{margin:4px 0 2px;padding-left:8px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:4px}.fir-level{padding:4px 6px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm)}.fir-level.built{opacity:.5;background-image:repeating-linear-gradient(45deg,transparent,transparent 7px,color-mix(in srgb,var(--border-strong) 55%,transparent) 7px,color-mix(in srgb,var(--border-strong) 55%,transparent) 9px)}.fir-level-h{display:block;font-size:var(--fs-sub);margin-bottom:3px}.fir-level-items{display:flex;flex-wrap:wrap;gap:6px}.fir-lv-item{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;color:var(--text-2)}.fir-lv-item img{width:22px;height:22px;object-fit:contain;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px}.fir-lv-name{max-width:13ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fir-q-row.done{opacity:.5;background-image:repeating-linear-gradient(45deg,transparent,transparent 7px,color-mix(in srgb,var(--border-strong) 55%,transparent) 7px,color-mix(in srgb,var(--border-strong) 55%,transparent) 9px)}.fir-q-row.done .fir-q-name{text-decoration:line-through;text-decoration-color:var(--text-2)}.htree{position:relative}.htree-edges{position:absolute;inset:0;pointer-events:none}.htree-edges path{fill:none;stroke:var(--border-strong);stroke-width:1;opacity:.4;transition:opacity .12s ease,stroke .12s ease}.htree-edges path.on{stroke:var(--accent);stroke-width:1.5;opacity:.95}.htree-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);margin-bottom:var(--sp-5)}.htree-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;width:96px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:var(--font-sans);padding:var(--sp-2) 4px;transition:border-color .12s ease}.htree-node img{width:34px;height:34px;object-fit:contain}.htree-node:hover{border-color:var(--border-strong)}.htree-node.active{border-color:var(--accent)}.htree-node.done{opacity:.6}.htree-name{font-size:.7rem;line-height:1.25;text-align:center;word-break:keep-all}.htree-progress{font-size:.7rem;color:var(--text-2)}.htree-fir{position:absolute;top:3px;right:3px;padding:0 4px;border-radius:4px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:.58rem;font-weight:700}.tk-station-panel{margin-top:var(--sp-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3)}.tk-level{padding:var(--sp-2) 0;border-top:1px solid var(--border)}.tk-level:first-of-type{border-top:none}.tk-level.built{opacity:.55}.tk-level-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-2)}.tk-level-head .bo-toggle{margin-left:auto}.tk-story-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.tk-story-list li{display:flex;align-items:baseline;gap:var(--sp-2);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.tk-story-list li.done{opacity:.6}.tk-story-order{color:var(--accent);min-width:1.4em;text-align:right}.planner-maps{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-3)}.planner-map{position:relative;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sub);padding:6px 12px;transition:border-color .12s ease,color .12s ease}.planner-map:hover{border-color:var(--border-strong);color:var(--text)}.planner-map.active{border-color:var(--accent);color:var(--accent);font-weight:700}.planner-map-picked{margin-left:6px;color:var(--accent);font-size:.72rem}.planner-quests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.planner-quest{display:flex;align-items:center;gap:var(--sp-2);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.planner-pick{display:flex;align-items:flex-start;gap:var(--sp-2);flex:1;min-width:0;cursor:pointer}.planner-pick input{margin-top:3px;accent-color:var(--accent)}.planner-quest-main{display:flex;flex-direction:column;gap:2px;min-width:0}.planner-quest-name{font-weight:600}.planner-quest-meta{font-size:var(--fs-sub)}.planner-detail{flex:none;white-space:nowrap}.planner-briefing{margin-top:var(--sp-5)}.planner-briefing h3{margin:0 0 var(--sp-2);font-size:1rem}.planner-cat{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2)}.planner-cat h4{margin:0 0 var(--sp-1);font-size:var(--fs-body)}.planner-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-body)}.planner-bag{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius)}.planner-bag>summary{cursor:pointer;font-weight:700;padding:var(--sp-2) var(--sp-3);list-style:none}.planner-bag>summary::-webkit-details-marker{display:none}.planner-bag[open]>summary{border-bottom:1px solid var(--border)}.planner-bag-body{padding:var(--sp-2) var(--sp-3) var(--sp-3)}.planner-bag-body h4{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-sub);color:var(--accent);letter-spacing:.04em}.planner-carry{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.planner-carry li{display:flex;align-items:center;gap:var(--sp-2)}.planner-carry img{width:28px;height:28px;object-fit:contain;background:var(--bg-inset);border-radius:4px}.planner-carry .num{margin-left:auto}.planner-etc{margin:var(--sp-2) 0 0}.planner-bag-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}@media(max-width:860px){.planner-bag-col{order:-1;position:sticky;top:84px;z-index:5}.planner-bag{background:var(--bg);max-height:46vh;overflow-y:auto}}.mapview-shell{margin-bottom:var(--sp-4)}.mapview{position:relative;height:62vh;min-height:320px;overflow:hidden;background:#0a0d10;border:1px solid var(--border-strong);border-radius:var(--radius);touch-action:none;cursor:grab}.mapview:active{cursor:grabbing}.mapview-layer{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;--inv: 1}.mapview-svg,.mapview-svg svg{position:absolute;inset:0;width:100%;height:100%}.mapmark{position:absolute;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer;transform:translate(-50%,-50%) scale(var(--inv));transform-origin:center}.mapmark span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:color-mix(in srgb,var(--bg) 88%,transparent);border:2px solid var(--accent);border-color:inherit;border-radius:50%;font-size:.85rem;box-shadow:0 1px 6px #0000008c}.mapmark{border-color:var(--accent)}.mapmark:hover span{transform:scale(1.15)}.mapmark-dot{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;vertical-align:baseline}.mapmark-dot-num{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;font-family:var(--font-mono);font-size:.62rem;font-weight:700;line-height:1;color:var(--accent-ink)}.mapmark-pop{position:absolute;z-index:6;max-width:232px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-5) var(--sp-2) var(--sp-3);box-shadow:0 6px 22px #00000080}.mapmark-pop-quest{margin:0 0 4px;font-weight:700;font-size:var(--fs-sub)}.mapmark-pop-desc{margin:0;font-size:var(--fs-sub);color:var(--text-2)}.mapmark-pop-keys{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:3px}.mapmark-keys-label{font-size:.72rem;font-weight:700;color:var(--text-2)}.mapmark-keys-groups{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.mapmark-key-group,.mapmark-key-wrap{display:inline-flex;align-items:center;gap:4px}.mapmark-key-or,.mapmark-key-and{font-size:.68rem;color:var(--text-3, var(--text-2))}.mapmark-key{display:inline-flex;align-items:center;gap:3px;max-width:100%;padding:2px 5px 2px 3px;background:var(--bg-inset);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.74rem;line-height:1.2;text-align:left}.mapmark-key:hover{border-color:var(--accent)}.mapmark-key img{width:20px;height:20px;object-fit:contain;flex:none}.mapmark-pop-close{position:absolute;top:4px;right:6px;background:none;border:none;color:var(--text-2);cursor:pointer;font-size:1rem;padding:2px}.mapview-fit{position:absolute;right:var(--sp-2);bottom:var(--sp-2);z-index:5}.mapview-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;pointer-events:none}.mapview-floors{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-2)}.mapview-floors button{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sub);padding:4px 10px}.mapview-floors button.active{border-color:var(--accent);color:var(--accent);font-weight:700}.mapview-credit{margin:var(--sp-1) 0 0}.mapmark{z-index:2;transition:opacity .15s ease}.mapmark.dimmed{opacity:.22}.mapmark.done{z-index:1}.mapmark.done span:not(.mapmark-check){filter:grayscale(1);opacity:.45}.mapmark-check{position:absolute;right:0;bottom:0;font-size:.68rem;font-weight:900;line-height:1;color:var(--ok);text-shadow:0 0 3px rgba(0,0,0,.95)}.mapmark .mapmark-num{position:absolute;top:-3px;left:-3px;width:15px;height:15px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--bg);border-radius:50%;font-family:var(--font-mono);font-size:.6rem;font-weight:700;line-height:1;box-shadow:0 1px 3px #0009}.mapmark-focus{position:absolute;width:36px;height:36px;z-index:1;pointer-events:none;transform:translate(-50%,-50%) scale(var(--inv));transform-origin:center}.mapmark-focus:before,.mapmark-focus:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent)}.mapmark-focus:before{box-shadow:0 0 10px 2px color-mix(in srgb,var(--accent) 55%,transparent)}@media(prefers-reduced-motion:no-preference){.mapmark-focus:after{animation:mapmark-pulse 1.1s ease-out 2}}@keyframes mapmark-pulse{0%{transform:scale(1);opacity:.85}to{transform:scale(2.6);opacity:0}}.mapmark-pop-src{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.mapmark-pop-approx{margin:4px 0 0;font-size:.68rem;color:var(--text-3, var(--text-2))}.mapmark-pop-done{width:100%;margin-top:6px;padding:4px 8px;background:var(--bg-inset);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-family:var(--font-sans);font-size:.76rem}.mapmark-pop-done:hover{border-color:var(--accent)}.mapmark-pop-done.on{border-color:var(--ok);color:var(--ok)}.mapmark-eye{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-right:6px;padding:0;background:none;border:none;cursor:pointer;vertical-align:baseline}.mapmark-eye .mapmark-dot{margin-right:0}.mapmark-eye.off .mapmark-dot{opacity:.3}.mapmark-eye.off:after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:2px;border-radius:1px;background:var(--text-2);transform:rotate(-20deg)}.planner-marker-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-2);font-size:var(--fs-sub)}.planner-show-all{padding:2px 10px}.mapextract.f-pmc,.mapextract-swatch.f-pmc{--ext: #5cc97a}.mapextract.f-scav,.mapextract-swatch.f-scav{--ext: #e0a52e}.mapextract.f-shared,.mapextract-swatch.f-shared{--ext: #5b9bd5}.mapextract{position:absolute;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:none;border:none;cursor:pointer;z-index:1;opacity:.82;transform:translate(-50%,-50%) scale(var(--inv));transform-origin:center;transition:opacity .15s ease}.mapextract span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:color-mix(in srgb,var(--ext) 22%,var(--bg));border:2px solid var(--ext);border-radius:5px;font-size:.78rem;box-shadow:0 1px 5px #00000080}.mapextract:hover{opacity:1;z-index:3}.mapextract:hover span{transform:scale(1.12)}.mapextract-legend{position:absolute;left:var(--sp-2);bottom:var(--sp-2);z-index:4;display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;max-width:calc(100% - 80px);padding:3px 8px;background:color-mix(in srgb,var(--bg-raised) 90%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.7rem;color:var(--text-2);pointer-events:none}.mapextract-swatch{display:inline-block;width:11px;height:11px;border:1.5px solid var(--ext);border-radius:3px;background:color-mix(in srgb,var(--ext) 30%,transparent);vertical-align:middle}.planner-extract-note{margin:0 0 var(--sp-2)}.planner-nocoord{margin:var(--sp-2) 0 var(--sp-3);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.planner-nocoord summary{cursor:pointer;font-size:var(--fs-sub);color:var(--text-2)}.planner-nocoord ul{margin-top:var(--sp-2)}@media(max-width:640px){.mapview{height:52vh;min-height:260px}}
