.vue-flow{direction:ltr;height:100%;overflow:hidden;position:relative;width:100%;z-index:0}.vue-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{pointer-events:none;transform-origin:0 0;z-index:2}.vue-flow__viewport{overflow:clip;z-index:4}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{overflow:visible;pointer-events:none}.vue-flow__connection-path,.vue-flow__edge-path{fill:none;stroke:#b1b1b7;stroke-width:1}.vue-flow__edge{cursor:pointer;pointer-events:visibleStroke}.vue-flow__edge.animated path{animation:dashdraw .5s linear infinite;stroke-dasharray:5}.vue-flow__edge.animated path.vue-flow__edge-interaction{animation:none;stroke-dasharray:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{animation:dashdraw .5s linear infinite;stroke-dasharray:5}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.vue-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{min-height:5px;min-width:5px;pointer-events:none;position:absolute}.vue-flow__handle.connectable{cursor:crosshair;pointer-events:all}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.vue-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{margin:15px;position:absolute;z-index:5}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translateX(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg:#fff;--vf-node-text:#222;--vf-connection-path:#b1b1b7;--vf-handle:#555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{background-color:var(--vf-node-bg);border-color:var(--vf-node-color);border-radius:3px;border-style:solid;border-width:1px;color:var(--vf-node-text);font-size:12px;padding:10px;text-align:center;width:150px}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid #555;outline:none}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px rgba(0,0,0,.08)}.vue-flow__node-input{--vf-node-color:var(--vf-node-color,#0041d0);--vf-handle:var(--vf-node-color,#0041d0);--vf-box-shadow:var(--vf-node-color,#0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color,#0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{border:1px solid var(--vf-node-color,#0041d0);outline:none}.vue-flow__node-default{--vf-handle:var(--vf-node-color,#1a192b);--vf-box-shadow:var(--vf-node-color,#1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color,#1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{border:1px solid var(--vf-node-color,#1a192b);outline:none}.vue-flow__node-output{--vf-handle:var(--vf-node-color,#ff0072);--vf-box-shadow:var(--vf-node-color,#ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color,#ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;height:6px;width:6px}@font-face{font-display:swap;font-family:Barlow Condensed;font-style:normal;font-weight:600;src:url(/build/fonts/barlow-condensed-vietnamese-600-normal.b7dfbbfb.woff2) format("woff2"),url(/build/fonts/barlow-condensed-vietnamese-600-normal.697ee6df.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Barlow Condensed;font-style:normal;font-weight:600;src:url(/build/fonts/barlow-condensed-latin-ext-600-normal.7a9ee8db.woff2) format("woff2"),url(/build/fonts/barlow-condensed-latin-ext-600-normal.1b1c8548.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Barlow Condensed;font-style:normal;font-weight:600;src:url(/build/fonts/barlow-condensed-latin-600-normal.97b90fcd.woff2) format("woff2"),url(/build/fonts/barlow-condensed-latin-600-normal.1e7676a9.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Barlow Condensed;font-style:normal;font-weight:700;src:url(/build/fonts/barlow-condensed-vietnamese-700-normal.36533878.woff2) format("woff2"),url(/build/fonts/barlow-condensed-vietnamese-700-normal.83b6a0be.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Barlow Condensed;font-style:normal;font-weight:700;src:url(/build/fonts/barlow-condensed-latin-ext-700-normal.2208665b.woff2) format("woff2"),url(/build/fonts/barlow-condensed-latin-ext-700-normal.03aafc11.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Barlow Condensed;font-style:normal;font-weight:700;src:url(/build/fonts/barlow-condensed-latin-700-normal.c2d0c200.woff2) format("woff2"),url(/build/fonts/barlow-condensed-latin-700-normal.dc6fcbc1.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Instrument Sans;font-style:normal;font-weight:400;src:url(/build/fonts/instrument-sans-latin-ext-400-normal.7d6f64fd.woff2) format("woff2"),url(/build/fonts/instrument-sans-latin-ext-400-normal.fdee5139.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Instrument Sans;font-style:normal;font-weight:400;src:url(/build/fonts/instrument-sans-latin-400-normal.e6aa1b84.woff2) format("woff2"),url(/build/fonts/instrument-sans-latin-400-normal.96bc6cbd.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Instrument Sans;font-style:normal;font-weight:500;src:url(/build/fonts/instrument-sans-latin-ext-500-normal.e934371b.woff2) format("woff2"),url(/build/fonts/instrument-sans-latin-ext-500-normal.f769ab3c.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Instrument Sans;font-style:normal;font-weight:500;src:url(/build/fonts/instrument-sans-latin-500-normal.1e8bd39a.woff2) format("woff2"),url(/build/fonts/instrument-sans-latin-500-normal.9de0d6ac.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Instrument Sans;font-style:normal;font-weight:600;src:url(/build/fonts/instrument-sans-latin-ext-600-normal.d0888c9f.woff2) format("woff2"),url(/build/fonts/instrument-sans-latin-ext-600-normal.ad876856.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Instrument Sans;font-style:normal;font-weight:600;src:url(/build/fonts/instrument-sans-latin-600-normal.83304177.woff2) format("woff2"),url(/build/fonts/instrument-sans-latin-600-normal.9919c2f3.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#0a0c10;--surface:#11141a;--surface-2:#181c24;--surface-3:#1f2430;--line:#252a34;--line-2:#353b47;--text:#eceae4;--text-2:#cfd2d8;--muted:#a1a5ad;--faint:#7d838e;--gold:#e8b84b;--gold-hover:#f0c866;--easter:#b79cf2;--gold-ink:#17140a;--gold-tint:#221d10;--gold-line:#5c4c22;--green:#5fbf7a;--green-text:#7fd497;--green-line:#2f6b41;--green-tint:rgba(95,191,122,.14);--red:#ff5a5f;--font-display:"Barlow Condensed","Arial Narrow",sans-serif;--font-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--topbar-h:56px;--tabbar-h:0px}*{box-sizing:border-box}#map-app,body,html{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body)}button,input{font-family:inherit}.app-icon{display:block;flex:none}.map-shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.map-topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:grid;flex:none;gap:20px;grid-template-columns:auto minmax(200px,1fr) minmax(0,460px) 1fr;height:var(--topbar-h);padding:0 20px;position:relative;z-index:30}.map-topbar h1{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.14em;line-height:1;margin:0;text-transform:uppercase}.map-topbar h1.brand{align-items:center;display:flex;gap:10px;justify-self:start}.map-topbar h1.brand b{font-weight:inherit}.map-topbar h1 span{color:var(--gold)}.view-switch{background:var(--bg);border:1px solid var(--line);border-radius:10px;display:flex;gap:2px;justify-self:start;padding:3px}.view-switch button{align-items:center;background:none;border:0;border-radius:7px;color:var(--muted);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:7px;height:30px;padding:0 12px}.view-switch button:hover{color:var(--text)}.view-switch button.on{background:var(--surface-3);color:var(--text)}.search-box{align-items:center;background:var(--bg);border:1px solid var(--line-2);border-radius:10px;color:var(--muted);display:flex;gap:10px;height:38px;padding:0 12px;position:relative}.search-box:focus-within{border-color:var(--gold)}.map-topbar input[type=search]{background:none;border:0;color:var(--text);flex:1;font-size:14px;min-width:0;outline:0}.map-topbar input[type=search]::placeholder{color:var(--faint)}.map-topbar input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.search-key{border:1px solid var(--line-2);border-radius:5px;color:var(--muted);font-family:inherit;font-size:11px;padding:2px 7px}.search-results{background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.5);left:0;max-height:320px;overflow:auto;position:absolute;right:0;top:44px;z-index:50}.search-results button{background:none;border:0;color:var(--text);cursor:pointer;display:block;font-size:13.5px;padding:9px 12px;text-align:left;width:100%}.search-results button .year{color:var(--muted)}.search-results button.is-actor .year,.search-results button.is-character .year{display:block;font-size:12px;margin-top:1px}.search-group{color:var(--muted);font-size:10.5px;letter-spacing:.1em;padding:10px 12px 4px;text-transform:uppercase}.search-results button.active,.search-results button:hover{background:var(--surface-3)}.search-results button.active{color:var(--gold)}.topbar-side{align-items:center;display:flex;gap:10px;justify-content:flex-end}.filters-btn{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px;color:var(--text);cursor:pointer;display:none;height:44px;justify-content:center;width:44px}.filters-btn.on{border-color:var(--gold);color:var(--gold)}.about-btn{align-items:center;background:none;border:1px solid var(--line-2);border-radius:50%;color:var(--muted);cursor:pointer;display:flex;height:40px;justify-content:center;width:40px}.about-btn:hover{border-color:var(--text);color:var(--text)}.about-link{background:none;border:0;color:var(--muted);cursor:pointer;display:none;font-size:13px;padding:0;text-decoration:underline}.watched-btn{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:20px;color:var(--text);cursor:pointer;display:flex;gap:10px;height:40px;padding:0 14px 0 6px;text-align:left}.watched-btn.on,.watched-btn:hover{border-color:var(--green)}.watched-btn.on{background:var(--surface-3)}.watched-btn .ring circle{fill:none;stroke:var(--line-2);stroke-width:3}.watched-btn .ring .ring-fill{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset .45s cubic-bezier(.2,.7,.3,1)}.watched-btn-text{display:flex;flex-direction:column;line-height:1.15}.watched-btn-text b{font-size:13px;font-weight:600}.watched-btn-text span{color:var(--muted);font-size:11px}.map-main{display:flex;min-height:0}.map-canvas,.map-main{flex:1;position:relative}.map-canvas{min-width:0}.map-strip{align-items:center;display:flex;flex-wrap:wrap;gap:12px;left:16px;pointer-events:none;position:absolute;right:16px;top:12px;z-index:7}.map-strip>*{pointer-events:auto}.map-strip .crumb{color:var(--muted);font-size:13px;text-shadow:0 0 8px var(--bg)}.map-strip .crumb b{color:var(--text);font-weight:600}.filters{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.seg{background:var(--surface);border:1px solid var(--line);border-radius:10px;display:flex;gap:2px;padding:3px}.seg button{background:none;border:0;border-radius:7px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;height:30px;padding:0 14px}.seg button:hover{color:var(--text)}.seg button.on{background:var(--gold);color:var(--gold-ink)}.fgroup{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;display:flex;gap:4px;height:38px;padding:0 8px 0 4px;position:relative}.fgroup-label{color:var(--muted);font-size:11px;letter-spacing:.1em;text-shadow:0 0 8px var(--bg);text-transform:uppercase}.fsep{background:var(--line-2);height:22px;width:1px}.switch{align-items:center;border-radius:7px;color:var(--muted);cursor:pointer;display:flex;gap:8px;height:30px;padding:0 8px}.switch:hover{color:var(--text)}.switch input{height:0;opacity:0;position:absolute;width:0}.switch i{background:var(--line-2);border-radius:8px;flex:none;height:16px;position:relative;transition:background .15s ease;width:28px}.switch i:after{background:var(--muted);border-radius:50%;content:"";height:12px;left:2px;position:absolute;top:2px;transition:transform .15s ease,background .15s ease;width:12px}.switch input:checked+i{background:var(--gold)}.switch input:checked+i:after{background:var(--gold-ink);transform:translateX(12px)}.switch input:checked~*{color:var(--text)}.switch:has(input:checked){color:var(--text)}.switch input:focus-visible+i{outline:2px solid var(--gold);outline-offset:2px}.info-btn{background:none;border:1px solid var(--line-2);border-radius:50%;color:var(--muted);cursor:pointer;font-family:Georgia,serif;font-size:11px;font-style:italic;height:18px;line-height:1;padding:0;width:18px}.info-btn:hover{border-color:var(--gold);color:var(--gold)}.info-tip{background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.5);color:var(--text-2);font-size:12.5px;left:0;line-height:1.55;padding:10px 12px;position:absolute;top:44px;width:270px;z-index:60}.info-tip b{color:var(--text);font-weight:600}.dot{border-radius:50%;display:inline-block;flex:none;height:9px;width:9px}.dot.ring{background:none!important;border:2px solid}.legend{display:flex;flex-wrap:wrap;gap:6px}.legend-rest{display:flex;position:relative}.legend-pop{background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.5);display:flex;flex-wrap:wrap;gap:6px;padding:12px;position:absolute;right:0;top:38px;width:340px;z-index:60}.legend-chip,.legend-more{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:15px;color:var(--text);cursor:pointer;display:flex;font-size:12.5px;gap:7px;height:30px;padding:0 11px}.legend-chip:hover{background:var(--surface-2);border-color:var(--line-2)}.legend-chip.on{background:var(--surface-3);border-color:var(--text)}.legend-more{background:none;border-color:var(--line-2);border-style:dashed;color:var(--muted)}.legend-more.on,.legend-more:hover{border-color:var(--text);color:var(--text)}.year-chip{align-items:center;background:var(--surface);border:1px solid var(--text);border-radius:15px;color:var(--text);cursor:pointer;display:flex;font-size:12.5px;gap:6px;height:30px;padding:0 10px}.year-chip:hover{background:var(--surface-3)}.btn-back{align-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;color:var(--gold);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:7px;height:38px;padding:0 14px}.btn-back:hover{border-color:var(--gold)}.prod-node{background:var(--surface);border:1px solid var(--line-2);border-radius:12px;cursor:pointer;display:flex;gap:12px;min-height:106px;padding:10px;position:relative;text-align:left;transition:opacity .15s,border-color .15s,box-shadow .15s;width:240px}.prod-node:hover{border-color:var(--faint)}.tile-art{background:var(--surface-2);border-radius:6px;flex:none;height:84px;overflow:hidden;position:relative;width:56px}.tile-art img{display:block;height:100%;object-fit:cover;width:100%}.tile-art img.logo{object-fit:contain;padding:5px}.tile-body{flex:1;flex-direction:column;gap:3px}.tile-body,.tile-kicker{display:flex;min-width:0}.tile-kicker{align-items:center;color:var(--muted);font-size:10px;gap:6px;letter-spacing:.09em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.tile-kicker .dot{height:7px;width:7px}.tile-kicker .dot.ring{border-width:1.5px}.tile-title{display:-webkit-box;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:.02em;-webkit-line-clamp:3;line-height:1.05;text-transform:uppercase;-webkit-box-orient:vertical;overflow:hidden}.prod-node .meta{color:var(--muted);font-size:11.5px;margin-top:auto}.prod-node .meta b{font-weight:500}.prod-node .title-fallback{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.03em;line-height:1.1;text-align:center;text-transform:uppercase}.prod-node.dim{opacity:.16}.prod-node.lit{box-shadow:0 0 0 1px #e8b84b55,0 8px 26px #000b}.prod-node.lit,.prod-node.origin{border-color:var(--gold);opacity:1}.prod-node.origin{box-shadow:0 0 0 2px var(--gold),0 10px 30px #000d}.prod-node.selected-origin{border-color:var(--text);box-shadow:0 0 0 2px var(--text),0 0 24px hsla(45,17%,91%,.22),0 10px 30px #000d;opacity:1}.prod-node .watched-badge{align-items:center;background:var(--green);border-radius:50%;box-shadow:0 2px 6px #000a;color:#08130b;display:flex;height:20px;justify-content:center;left:4px;position:absolute;top:4px;width:20px;z-index:2}.prod-node.watched{border-color:var(--green-line)}.prod-node.watched .tile-art img{opacity:.5}.prod-node.watched .tile-title{color:var(--muted)}.prod-node.next{background:var(--gold-tint);border-color:var(--gold)}.prod-node.soon{border-style:dashed}.prod-node.soon .tile-art img{filter:saturate(.55)}.prod-node .soon-meta,.soon-tag{color:var(--text-2)}.soon-tag{background:var(--surface-3);border:1px solid var(--line-2);border-radius:6px;font-size:10px;font-weight:600;left:-1px;letter-spacing:.08em;padding:2px 8px;position:absolute;text-transform:uppercase;top:-11px;white-space:nowrap}.soon-tag.inline{align-self:flex-start;letter-spacing:.05em;position:static}.poster-node.soon{outline:1px dashed var(--line-2);outline-offset:3px}.soon-ribbon{background:rgba(5,7,10,.82);border-radius:0 0 8px 8px;bottom:0;color:var(--text-2);font-size:10.5px;font-weight:600;left:0;padding:4px 4px 5px;position:absolute;right:0;text-align:center}.watched-toggle:disabled{cursor:not-allowed;opacity:.55}.next-tag{background:var(--gold);border-radius:6px;color:var(--gold-ink);font-size:10px;font-weight:600;letter-spacing:.08em;padding:2px 8px;position:absolute;right:-1px;text-transform:uppercase;top:-11px;white-space:nowrap}.prod-node.goal{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset,0 0 24px rgba(232,184,75,.25)}.goal-badge{align-items:center;background:var(--gold);border-radius:50%;box-shadow:0 2px 6px #000a;color:var(--gold-ink);display:flex;height:24px;justify-content:center;position:absolute;right:-9px;top:-9px;width:24px;z-index:3}.prod-node.next .goal-badge{top:14px}.prod-node.poster-node{aspect-ratio:2/3;background:var(--surface-2);border:0;box-shadow:0 0 0 1px var(--line-2);min-height:0;padding:0}.poster-node img,.prod-node.poster-node{border-radius:8px;display:block;width:100%}.poster-node img{height:100%;object-fit:cover}.poster-node .title-fallback{align-items:center;display:flex;height:100%;justify-content:center;padding:8px}.poster-node:hover{box-shadow:0 0 0 2px var(--faint)}.poster-node.watched{box-shadow:0 0 0 2px var(--green-line)}.poster-node.watched img{opacity:.4}.poster-node.next{background:var(--surface-2);box-shadow:0 0 0 3px var(--gold),0 0 30px rgba(232,184,75,.35)}.poster-node.lit{box-shadow:0 0 0 2px var(--gold),0 8px 26px #000b}.poster-node.origin{box-shadow:0 0 0 3px var(--gold),0 10px 30px #000d}.poster-node.selected-origin{box-shadow:0 0 0 3px var(--text),0 0 36px hsla(45,17%,91%,.25)}.poster-node.goal{box-shadow:0 0 0 3px var(--gold),0 0 36px rgba(232,184,75,.4)}.step-badge{align-items:center;background:var(--surface-3);border:1px solid var(--line-2);border-radius:20px;color:var(--text-2);display:flex;font-size:22px;font-variant-numeric:tabular-nums;font-weight:600;height:40px;justify-content:center;left:-14px;min-width:40px;padding:0 10px;position:absolute;top:-14px;z-index:2}.step-badge .app-icon{height:20px;width:20px}.poster-node.next .step-badge{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}.step-badge.done{background:var(--green);border-color:var(--green);color:#08130b;padding:0}.poster-node .goal-badge{height:40px;right:-14px;top:-14px;width:40px}.poster-node .goal-badge .app-icon{height:22px;width:22px}.vue-flow__edge-path{stroke:#414958;stroke-width:2}.vue-flow__arrowhead polyline{fill:#414958;stroke:#414958}.vue-flow__edge.kind-recommended .vue-flow__edge-path{stroke-dasharray:7 6}.vue-flow__edge.kind-easter_egg .vue-flow__edge-path{stroke:var(--easter);stroke-dasharray:1 6;stroke-linecap:round;stroke-width:2.5}.edge-sample{flex:none;overflow:visible}.edge-sample path{fill:none;stroke:#8a93a3;stroke-width:2}.edge-sample polygon{fill:#8a93a3}.edge-sample.recommended path{stroke-dasharray:5 4}.edge-sample.easter path{stroke:var(--easter);stroke-dasharray:1 5;stroke-linecap:round;stroke-width:2.5}.edge-sample.easter polygon{fill:var(--easter)}.edge-key{align-items:center;color:var(--muted);cursor:default;display:flex;gap:8px;height:30px;padding:0 8px}.edge-legend{display:flex;flex-direction:column;gap:7px;list-style:none;margin:8px 0;padding:0}.edge-legend li{align-items:center;display:flex;gap:10px}.edge-legend li span{flex:1}.vue-flow__edge.dim .vue-flow__edge-path{opacity:.12}.vue-flow__edge.lit .vue-flow__edge-path{opacity:1;stroke:var(--gold)!important;stroke-width:3}.lane-label{align-items:flex-start;color:var(--muted);display:flex;font-family:var(--font-display);font-size:21px;font-weight:600;gap:7px;justify-content:center;letter-spacing:.03em;line-height:1.05;text-align:center;text-transform:uppercase}.lane-label .dot{margin-top:6px}.year-axis{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:5}.year-marker{align-items:center;color:var(--faint);display:flex;font-family:var(--font-display);font-size:22px;font-variant-numeric:tabular-nums;font-weight:600;gap:10px;left:16px;letter-spacing:.04em;position:absolute;text-shadow:0 0 6px var(--bg);transform:translateY(-50%)}.year-marker:after{border-top:1px dashed var(--line-2);content:"";height:0;width:30px}.year-axis .year-marker{background:none;border:0;cursor:pointer;padding:0;pointer-events:auto}.year-axis .year-marker.active span,.year-axis .year-marker:hover span{color:var(--text)}.year-axis .year-marker.active:after{border-top-color:var(--text)}.nav-controls{bottom:16px;position:absolute;right:16px;z-index:6}.nav-zoom{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:2px;padding:2px}.nav-zoom,.nav-zoom button{align-items:center;display:flex}.nav-zoom button{background:none;border:0;border-radius:9px;color:var(--text);cursor:pointer;height:36px;justify-content:center;width:36px}.nav-zoom button:hover{background:var(--surface-3);color:var(--gold)}.nav-zoom button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.nav-zoom .zoom-pct{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums;min-width:42px;text-align:center}.nav-zoom .sep{background:var(--line-2);height:18px;margin:0 2px;width:1px}.map-canvas .vue-flow__panel.bottom.right{bottom:66px;margin:0;right:16px}.vue-flow__minimap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.scroll-hint{background:var(--surface);border:1px solid var(--line);border-radius:14px;bottom:22px;color:var(--muted);font-size:12px;left:50%;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:6}.details-panel{background:var(--surface);border-left:1px solid var(--line);flex:none;overflow:auto;padding:20px 24px 30px;width:clamp(380px,32vw,480px)}.details-panel.film-panel{display:flex;flex-direction:column;overflow:hidden;padding:0}.panel-head{display:flex;gap:16px;padding:20px 16px 16px 24px}.details-panel .pposter{border:1px solid var(--line-2);border-radius:6px;cursor:zoom-in;display:block;flex:none;height:108px;object-fit:cover;width:72px}.details-panel .pposter:hover{border-color:var(--text)}.panel-titles{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.panel-titles .tile-kicker{font-size:10.5px;letter-spacing:.1em;white-space:normal}.details-panel h2{font-size:20px;margin:0 0 2px}.film-panel h2{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:.01em;line-height:1;margin:0;text-transform:uppercase}.details-panel .sub{color:var(--muted);font-size:13px;margin-bottom:6px}.film-panel .sub{margin:0}.details-panel h3{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.12em;margin:18px 0 8px;text-transform:uppercase}.tab-body>h3:first-child{margin-top:0}.details-panel .close{align-items:center;background:none;border:0;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;flex:none;height:40px;justify-content:center;width:40px}.details-panel .close:hover{background:var(--surface-2);color:var(--text)}.panel-actions{display:flex;flex-direction:column;gap:12px;padding:0 24px 16px}.action-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.goal-toggle,.watched-toggle{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;height:42px;justify-content:center;padding:0 10px;white-space:nowrap}.watched-toggle{background:none;border:1px solid var(--line-2);color:var(--text)}.watched-toggle:hover{border-color:var(--green)}.watched-toggle.on{background:var(--green-tint);border-color:var(--green-line);color:var(--green-text)}.goal-toggle{background:none;border:1px solid var(--gold);color:var(--gold)}.goal-toggle:hover{background:var(--gold-tint)}.goal-toggle.on{background:var(--gold);color:var(--gold-ink)}.action-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.rate-label{color:var(--muted);font-size:12px}.stars{display:flex}.stars button,.wv-stars button{align-items:center;background:none;border:0;color:var(--line-2);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:28px}.stars button.lit,.wv-stars button.lit{color:var(--gold)}.stars:hover button,.wv-stars:hover button{color:var(--gold-hover)}.stars button:hover~button,.wv-stars button:hover~button{color:var(--line-2)}.share-btns{display:flex;gap:8px;margin-left:auto}.share-btns a,.share-btns button{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:50%;color:var(--text);cursor:pointer;display:flex;height:38px;justify-content:center;padding:0;width:38px}.share-btns a:hover,.share-btns button:hover{background:var(--surface-3);border-color:var(--text)}.btn-focus{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:13.5px;font-weight:600;gap:8px;height:40px;justify-content:center}.btn-focus:hover{border-color:var(--text)}.next-watch{color:var(--muted);font-size:13px}.next-watch button{align-items:center;background:none;border:0;color:var(--gold);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;padding:0;vertical-align:bottom}.next-watch button:hover{text-decoration:underline}.tabs{border-bottom:1px solid var(--line);display:flex;flex:none;gap:4px;padding:0 20px}.tabs button{align-items:center;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:7px;height:42px;margin-bottom:-1px;padding:0 10px;white-space:nowrap}.tabs button.on,.tabs button:hover{color:var(--text)}.tabs button.on{border-bottom-color:var(--gold)}.tabs .count{background:var(--surface-2);border-radius:9px;color:var(--muted);font-size:11.5px;font-weight:500;padding:1px 7px}.tab-body{flex:1;min-height:0;overflow:auto;padding:16px 24px 24px}.path-summary{background:var(--bg);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:10px;padding:14px 16px}.ps-row{align-items:flex-end;display:flex;gap:12px}.ps-main{display:flex;flex-direction:column;gap:2px}.ps-kicker{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ps-big{color:var(--gold);font-family:var(--font-display);font-size:34px;font-weight:700;line-height:1;white-space:nowrap}.ps-side{align-items:flex-end;color:var(--muted);display:flex;flex-direction:column;font-size:12.5px;gap:2px;margin-left:auto;text-align:right}.ps-side b{color:var(--text);font-weight:600}.path-summary .why{color:var(--muted);font-size:12px;margin:0}.path-summary .why:empty{display:none}.goal-steps,.path-steps{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.path-steps{margin:0 -8px}.goal-steps li,.path-steps li{align-items:center;border-radius:10px;display:flex;gap:12px;padding:7px 8px}.goal-steps li.next,.path-steps li.next{background:var(--gold-tint)}.goal-steps li.done .step-info span,.goal-steps li.done .step-title,.path-steps li.done .step-info span,.path-steps li.done .step-title{color:var(--faint)}.goal-steps li.done .step-art,.path-steps li.done .step-art{opacity:.45}.goal-steps .step-goal{border-radius:0;border-top:1px solid var(--line-2);margin-top:6px;padding-top:12px}.step-no{align-items:center;background:var(--surface-3);border-radius:50%;color:var(--text-2);display:flex;flex:none;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;height:24px;justify-content:center;width:24px}li.done .step-no{background:var(--green);color:#08130b}.step-goal .step-no,li.next .step-no{background:var(--gold);color:var(--gold-ink)}.step-art{background:var(--surface-2);border:1px solid var(--line-2);border-radius:4px;cursor:pointer;flex:none;height:54px;overflow:hidden;padding:0;width:36px}.step-art:hover{border-color:var(--text)}.step-art img{display:block;height:100%;object-fit:cover;width:100%}.step-art .fallback{align-items:center;color:var(--text-2);display:flex;font-size:8.5px;font-weight:700;height:100%;justify-content:center;overflow:hidden;padding:3px;text-align:center}.step-info{flex:1;min-width:0}.step-title{background:none;border:0;color:var(--text);cursor:pointer;display:block;font-size:14px;font-weight:600;line-height:1.25;max-width:100%;padding:0;text-align:left}.step-title:hover{text-decoration:underline}.step-info span{color:var(--muted);display:block;font-size:12px;margin-top:2px}.step-info .step-tag,.step-info span b{color:var(--gold);font-weight:600}.step-info .step-note{font-style:italic}.step-info .step-tag.optional{color:var(--muted);font-weight:500}.path-modes{align-self:flex-start;background:var(--surface)}.path-modes button{font-size:12.5px;height:28px;padding:0 12px}.goal-steps .watched-toggle,.step-check{align-items:center;background:none;border:1px solid var(--line-2);border-radius:17px;color:var(--text);cursor:pointer;display:flex;flex:none;font-size:12.5px;font-weight:600;gap:6px;height:34px;padding:0 12px;white-space:nowrap}.goal-steps .watched-toggle:hover,.step-check:hover{border-color:var(--green)}.goal-steps .watched-toggle.on,.step-check.on{background:var(--green-tint);border-color:var(--green-line);color:var(--green-text)}.goal-steps li.next .watched-toggle:not(.on),li.next .step-check:not(.on){background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}.trailers{display:grid;gap:8px;grid-template-columns:1fr 1fr}.trailer-thumb{aspect-ratio:16/9;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;cursor:pointer;overflow:hidden;padding:0;position:relative}.trailer-thumb img{display:block;height:100%;object-fit:cover;width:100%}.trailer-thumb:hover{border-color:var(--text)}.trailer-thumb .play{align-items:center;background:rgba(5,7,10,.25);color:#fff;display:flex;filter:drop-shadow(0 2px 8px #000);inset:0;justify-content:center;position:absolute}.trailer-thumb:hover .play{background:rgba(5,7,10,.1)}.facts{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:16px 0 0}.facts>div{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.facts dt{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.facts dd{font-size:15px;font-weight:600;margin:3px 0 0}.details-panel .castrow{align-items:center;display:flex;gap:12px;margin:2px 0}.char-actor-head .av,.details-panel .castrow .av{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:50%;color:var(--muted);display:flex;flex:none;font-size:12px;font-weight:600;height:40px;justify-content:center;overflow:hidden;width:40px}.char-actor-head .av img,.details-panel .castrow .av img{height:100%;object-fit:cover;object-position:center 20%;width:100%}.details-panel .castrow .who{font-size:14px;font-weight:600;line-height:1.25}.details-panel .castrow .role{color:var(--muted);display:block;font-size:12.5px;font-weight:400}.castrow-click{border-radius:10px;cursor:pointer;margin-left:-8px;margin-right:-8px;padding:6px 8px}.castrow-click:hover{background:var(--surface-2)}.details-panel .none{color:var(--muted);font-size:13px}.goal-panel{background:var(--surface);border:1px solid var(--gold-line);border-radius:14px;bottom:16px;box-shadow:0 12px 32px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:12px;left:16px;padding:14px;position:absolute;width:264px;z-index:6}.goal-panel.reached{border-color:var(--gold)}.goal-panel .goal-head{align-items:center;display:flex;gap:8px}.goal-panel .goal-kicker{align-items:center;color:var(--gold);display:flex;flex:1;font-size:11px;font-weight:600;gap:7px;letter-spacing:.12em;text-transform:uppercase}.goal-panel .goal-drop{align-items:center;background:none;border:0;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.goal-panel .goal-drop:hover{background:var(--surface-2);color:var(--red)}.goal-panel .goal-title{align-items:center;background:none;border:0;color:var(--text);cursor:pointer;display:flex;gap:12px;padding:0;text-align:left;width:100%}.goal-panel .goal-title img{border-radius:5px;flex:none;height:69px;object-fit:cover;width:46px}.goal-panel .goal-title b{display:block;font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.05;text-transform:uppercase}.goal-panel .goal-title:hover b{color:var(--gold)}.goal-panel .goal-title span span{color:var(--muted);display:block;font-size:12px;margin-top:4px}.goal-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.goal-bar i{background:var(--gold);display:block;height:100%;transition:width .45s cubic-bezier(.2,.7,.3,1)}.goal-left{color:var(--text-2);font-size:13px}.goal-left b{color:var(--gold)}.goal-left .why{color:var(--muted);display:block;font-size:11.5px;margin-top:2px}.goal-next{background:var(--bg);border:1px solid var(--line);border-radius:10px;gap:8px;padding:8px}.goal-next,.goal-next-open{align-items:center;display:flex}.goal-next-open{background:none;border:0;color:var(--text);cursor:pointer;flex:1;gap:10px;min-width:0;padding:0;text-align:left}.goal-next-open img{border-radius:4px;flex:none;height:45px;object-fit:cover;width:30px}.goal-next-open small{color:var(--muted);display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.goal-next-open b{display:block;font-size:13px;font-weight:600;margin:1px 0}.goal-next-open span span{color:var(--muted);display:block;font-size:11.5px}.goal-next-open:hover b{color:var(--gold)}.goal-next-check{align-items:center;background:none;border:1px solid var(--line-2);border-radius:50%;color:var(--text);cursor:pointer;display:flex;flex:none;height:36px;justify-content:center;width:36px}.goal-next-check:hover{background:var(--green-tint);border-color:var(--green);color:var(--green-text)}.goal-new,.goal-open{align-items:center;background:none;border:0;color:var(--gold);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:0;text-align:left}.goal-new:hover,.goal-open:hover{text-decoration:underline}.goal-export{align-items:center;background:none;border:0;color:var(--text-2);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:7px;padding:0;text-align:left}.goal-export:hover{color:var(--text);text-decoration:underline}.goal-export:disabled{color:var(--faint);cursor:progress;text-decoration:none}.goal-export.boxed{border:1px solid var(--line-2);border-radius:10px;color:var(--text);font-weight:600;height:40px;justify-content:center;margin:12px 0 4px;padding:0 14px}.goal-export.boxed:hover{border-color:var(--text);text-decoration:none}.lightbox{align-items:center;background:rgba(5,7,10,.9);cursor:zoom-out;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;position:fixed;z-index:100}.lightbox img{border:1px solid var(--line-2);border-radius:10px;box-shadow:0 12px 60px rgba(0,0,0,.6);max-height:82vh;max-width:86vw}.lightbox-caption{color:var(--text);font-size:14px}.lightbox-close{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:50%;color:var(--text);cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;right:22px;top:18px;width:44px;z-index:2}.lightbox-close:hover{border-color:var(--text)}.trailer-box{flex-direction:column;gap:12px}.trailer-frame{aspect-ratio:16/9;border:1px solid var(--line-2);border-radius:10px;box-shadow:0 12px 60px rgba(0,0,0,.6);overflow:hidden;width:min(90vw,960px)}.trailer-frame iframe{border:0;display:block;height:100%;width:100%}.trailer-yt{background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;color:var(--text);font-size:13.5px;padding:8px 14px;text-decoration:none}.trailer-yt:hover{border-color:var(--text)}.intro-overlay{align-items:center;background:rgba(5,7,10,.82);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:200}.intro-box{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 16px 60px rgba(0,0,0,.6);max-height:86vh;max-width:440px;overflow:auto;padding:24px 24px 20px;width:100%}.intro-box h2{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:.01em;line-height:1.05;margin:0 0 12px;text-transform:uppercase}.intro-box h2 span{color:var(--gold)}.intro-box p{line-height:1.6;margin:0 0 10px}.intro-box p,.intro-box ul{color:var(--text-2);font-size:14px}.intro-box ul{line-height:1.65;margin:0 0 14px;padding-left:18px}.intro-box li b{color:var(--text)}.intro-box .why{color:var(--muted);font-size:12.5px}.intro-ok{background:var(--gold);border:0;border-radius:10px;color:var(--gold-ink);cursor:pointer;font-size:14px;font-weight:600;height:44px;width:100%}.intro-ok:hover{background:var(--gold-hover)}.welcome-box{background:var(--surface);border:1px solid var(--line-2);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:22px;max-height:92vh;max-width:900px;overflow:auto;padding:30px 32px 24px;width:100%}.fadezoom-enter-active .about-box,.fadezoom-enter-active .welcome-box{transition:transform .28s cubic-bezier(.22,1,.36,1)}.fadezoom-enter-from .about-box,.fadezoom-enter-from .welcome-box{transform:scale(.94)}.welcome-head{align-items:center;display:flex;gap:16px}.welcome-head>svg{flex:none}.welcome-head h2{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:.02em;line-height:1;margin:0 0 4px;text-transform:uppercase}.welcome-head h2 span{color:var(--gold)}.welcome-head p{color:var(--text-2);font-size:15px;line-height:1.45;margin:0}.welcome-steps{display:flex;gap:20px;list-style:none;margin:0;padding:0}.welcome-steps li{display:flex;flex:1 1 0;flex-direction:column;gap:12px;min-width:0}.welcome-text{display:flex;gap:10px}.welcome-text .no{align-items:center;background:var(--surface-3);border:1px solid var(--line-2);border-radius:50%;display:flex;flex:none;font-size:12.5px;font-weight:600;height:24px;justify-content:center;width:24px}.welcome-text b{font-size:15px;font-weight:600}.welcome-text p{color:var(--muted);font-size:13px;line-height:1.5;margin:4px 0 0}.welcome-text .short{display:none}.welcome-art{background:var(--bg);border:1px solid var(--line);border-radius:10px;box-sizing:border-box;color:var(--gold);height:132px;overflow:hidden;position:relative}.art-order .yr{color:var(--faint);font-family:var(--font-display);font-size:15px;font-weight:600;left:14px;position:absolute}.art-order .mini{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:7px;box-sizing:border-box;display:flex;gap:6px;height:34px;left:62px;padding:6px;position:absolute;width:96px}.art-order .mini i{border-radius:3px;flex:none;height:22px;width:15px}.art-order .mini b{background:var(--text-2);border-radius:2px;box-shadow:0 8px 0 -.5px var(--line-2);flex:1;height:4px;transform:translateY(-4px)}.art-order svg{left:90px;position:absolute;top:46px}.art-order .hint{font-size:11px;left:172px;line-height:1.3;position:absolute;top:52px;width:64px}.art-path{display:flex;flex-direction:column;gap:7px;padding:12px 14px}.art-path .total{color:var(--muted);font-size:11px}.art-path .total b{color:var(--gold);font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1;margin-right:6px}.art-path .row{align-items:center;display:flex;gap:8px}.art-path .row i{align-items:center;background:var(--surface-3);border-radius:50%;color:var(--text-2);display:flex;flex:none;font-size:10.5px;font-style:normal;font-weight:600;height:18px;justify-content:center;width:18px}.art-path .row.done i{background:var(--green);color:#08130b}.art-path .row u{background:var(--line-2);border-radius:2px;flex:none;height:18px;width:12px}.art-path .row s{background:var(--text-2);border-radius:3px;height:5px}.art-path .row.done s{background:var(--faint)}.art-goal{align-items:center;display:flex;gap:14px;padding:14px}.art-goal svg{flex:none}.art-goal span{display:flex;flex-direction:column;gap:4px;min-width:0}.art-goal em{font-size:10.5px;font-style:normal;letter-spacing:.1em;text-transform:uppercase}.art-goal b{color:var(--text);font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.05;text-transform:uppercase}.art-goal small{color:var(--muted);font-size:11.5px}.welcome-foot{align-items:center;border-top:1px solid var(--line);display:flex;gap:14px;padding-top:18px}.welcome-foot>span{color:var(--faint);flex:1;font-size:12.5px;line-height:1.45}.welcome-example{background:none;border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;flex:none;font-size:14px;font-weight:600;height:44px;padding:0 16px;white-space:nowrap}.welcome-example:hover{border-color:var(--text)}.welcome-go{align-items:center;display:flex;flex:none;gap:8px;padding:0 22px;white-space:nowrap;width:auto}.about-box{background:var(--surface);border:1px solid var(--line-2);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:18px;max-height:92vh;max-width:780px;overflow:auto;padding:24px 28px 22px;width:100%}.about-head{align-items:center;display:flex;gap:14px}.about-head>svg{flex:none}.about-source .short{display:none}.about-titles{flex:1;min-width:0}.about-titles h2{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:.02em;line-height:1;margin:0 0 3px;text-transform:uppercase}.about-titles h2 span{color:var(--gold)}.about-titles p{color:var(--muted);font-size:13.5px;margin:0}.about-head .close{align-items:center;align-self:flex-start;background:none;border:0;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;flex:none;height:40px;justify-content:center;width:40px}.about-head .close:hover{background:var(--surface-2);color:var(--text)}.about-box h3{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase}.about-facts{display:flex;gap:10px}.about-facts>div{background:var(--surface-2);border-radius:10px;display:flex;flex:1 1 0;flex-direction:column;gap:2px;min-width:0;padding:10px 14px}.about-facts b{font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1}.about-facts span{color:var(--muted);font-size:11.5px}.about-sources{display:grid;gap:10px;grid-template-columns:1fr 1fr}.about-source{background:var(--bg);border:1px solid var(--line);border-radius:12px;display:flex;gap:12px;padding:14px}.about-source>div{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}.about-source b{font-size:14px;font-weight:600}.about-source p{color:var(--muted);font-size:12.5px;line-height:1.5;margin:0}.about-ic{background:var(--surface-2);border-radius:10px;color:var(--text-2);flex:none;height:36px;justify-content:center;width:36px}.about-ic,.about-tags{align-items:center;display:flex}.about-tags{flex-wrap:wrap;gap:6px;margin-top:2px}.about-tags i{align-items:center;border:1px solid var(--line-2);border-radius:10px;color:var(--muted);display:inline-flex;font-size:10.5px;font-style:normal;font-weight:600;height:20px;letter-spacing:.04em;padding:0 7px;white-space:nowrap}.about-links{display:flex;gap:10px;margin-left:auto}.about-links a{color:var(--text-2);font-size:12px;text-decoration:none;white-space:nowrap}.about-links a:hover{color:var(--text);text-decoration:underline}.about-pair{display:grid;gap:10px;grid-template-columns:1fr 1fr}.about-card{align-items:flex-start;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:14px 16px}.about-card.strong{background:var(--surface-2);border-color:var(--line-2)}.about-card h3{margin:0}.about-card p{color:var(--text-2);font-size:12.5px;line-height:1.5;margin:0}.about-privacy{display:flex;gap:10px}.about-privacy .app-icon{color:var(--green);flex:none;margin-top:1px}.about-ghost{background:none;border:1px solid var(--line-2);border-radius:8px;color:var(--text);cursor:pointer;font-size:12.5px;font-weight:600;height:32px;margin-top:auto;padding:0 12px}.about-ghost:hover,.about-ghost[aria-expanded=true]{border-color:var(--text)}.about-mail{align-items:center;background:var(--text);border-radius:8px;color:var(--bg);display:inline-flex;font-size:12.5px;font-weight:600;gap:7px;height:32px;margin-top:auto;padding:0 12px;text-decoration:none}.about-mail:hover{background:#fff}.about-cookies{border:1px solid var(--line-2);border-radius:12px;display:flex;flex-direction:column;gap:2px;padding:4px 16px 12px}.about-cookie{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:16px;padding:12px 0}.about-cookie>div{flex:1;min-width:0}.about-cookie b{font-size:13.5px;font-weight:600}.about-cookie p{color:var(--muted);font-size:12.5px;line-height:1.5;margin:3px 0 0}.about-cookie .switch{flex:none;height:44px;padding:0 6px}.about-always{color:var(--faint);flex:none;font-size:11.5px;white-space:nowrap}.about-saved{color:var(--muted);font-size:12px;margin:10px 0 0}.about-foot{align-items:center;border-top:1px solid var(--line);color:var(--faint);display:flex;font-size:12px;gap:12px;padding-top:14px}.about-foot span{flex:1}.about-foot .linklike{color:var(--text-2);font-size:12px;font-weight:500;white-space:nowrap}.about-foot .linklike:hover{color:var(--text);text-decoration:underline}.goal-path{max-width:640px;width:94vw}.goal-path-sum{margin-bottom:10px!important}.goal-path-sum b{color:var(--gold)}.goal-path-sum .why{display:block;margin-top:2px}.goal-steps{margin-top:14px}.goal-steps .step-art{height:60px;width:40px}.goal-confirm{max-width:410px}.confirm-btns{display:flex;gap:10px;margin-top:14px}.confirm-btns .intro-ok{flex:1}.confirm-cancel{background:none;border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;flex:1;font-size:14px;font-weight:600;height:44px}.confirm-cancel:hover{border-color:var(--text)}.celebrate-layer{height:0;pointer-events:none;position:fixed;width:0;z-index:3000}.celebrate-ring{animation:celebrate-ring .75s cubic-bezier(.2,.7,.3,1) forwards;border:3px solid var(--gold);border-radius:50%;height:52px;left:-26px;position:absolute;top:-26px;width:52px}@keyframes celebrate-ring{0%{opacity:.9;transform:scale(.25)}to{opacity:0;transform:scale(2.4)}}.celebrate-piece{animation:celebrate-fly 1s cubic-bezier(.15,.6,.35,1) var(--delay) forwards;height:12px;left:-4px;opacity:0;position:absolute;top:-6px;width:8px}@keyframes celebrate-fly{0%{opacity:1;transform:translate(0) rotate(0)}70%{opacity:1}to{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 70px)) rotate(var(--rot))}}.celebrate-label{animation:celebrate-label 2.4s cubic-bezier(.2,.7,.3,1) forwards;color:var(--gold);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.04em;position:absolute;text-shadow:0 2px 10px rgba(0,0,0,.8);text-transform:uppercase;transform:translate(-50%,-150%);white-space:nowrap}@keyframes celebrate-label{0%{opacity:0;transform:translate(-50%,-100%) scale(.7)}18%{opacity:1;transform:translate(-50%,-160%) scale(1.06)}75%{opacity:1;transform:translate(-50%,-160%) scale(1)}to{opacity:0;transform:translate(-50%,-200%) scale(1)}}.chars-view{flex:1;min-height:0;overflow:auto}.chars-inner{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1392px;padding:28px 24px 48px}.chars-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.chars-head h2{font-family:var(--font-display);font-size:40px;font-weight:700;letter-spacing:.02em;line-height:1;margin:0;text-transform:uppercase}.chars-head p{color:var(--muted);flex:1;font-size:14px;margin:0 0 4px;min-width:200px}.chars-sort{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text);cursor:pointer;font-size:13px;height:34px;padding:0 12px}.chars-sort:hover{border-color:var(--line-2)}.chars-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.chars-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.char-card{background:var(--surface);border:1px solid var(--line-2);border-radius:12px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:0;text-align:left;transition:border-color .15s,transform .15s}.char-card:hover{border-color:var(--text);transform:translateY(-2px)}.char-art{aspect-ratio:1/1;background:var(--surface-2);position:relative}.char-art,.char-art img{display:block;width:100%}.char-art img{height:100%;object-fit:cover;object-position:center 20%}.char-art .fallback,.char-art img{inset:0;position:absolute}.char-art .fallback,.char-portrait .fallback{align-items:center;color:var(--line-2);display:flex;font-family:var(--font-display);font-size:56px;font-weight:600;height:100%;justify-content:center;width:100%}.char-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}.char-body b{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.02em;line-height:1.05;text-transform:uppercase}.char-sub{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.char-progress,.char-sub{font-size:12px;white-space:nowrap}.char-progress{align-items:center;color:var(--text-2);display:flex;gap:8px;margin-top:5px}.char-progress>i{background:var(--line);border-radius:2px;flex:1;height:4px;overflow:hidden}.char-progress>i>i{background:var(--green);display:block;height:100%}.char-progress .muted{color:var(--muted)}.chars-more{align-self:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;font-size:13.5px;font-weight:600;height:40px;padding:0 18px}.chars-more:hover{border-color:var(--text)}.chars-credits{color:var(--faint);font-size:12px;line-height:1.5;margin:8px 0 0;max-width:720px}.chars-view .none{color:var(--muted);font-size:14px}.char-panel .step-info .step-tag{color:var(--text-2)}.char-panel .step-info .step-tag.optional{color:var(--faint)}.char-portrait{background:var(--surface-2);border:1px solid var(--line-2);border-radius:14px;flex:none;height:88px;overflow:hidden;width:88px}.char-portrait img{display:block;height:100%;object-fit:cover;object-position:center 20%;width:100%}.char-portrait .fallback{font-size:34px}.char-panel .panel-head{align-items:center}.char-panel .close{align-self:flex-start}.photo-credit{color:var(--faint);font-size:11px;text-decoration:none}.photo-credit:hover{color:var(--muted);text-decoration:underline}.linklike{background:none;border:0;color:var(--text);cursor:pointer;font:inherit;font-weight:600;padding:0}.linklike:hover{text-decoration:underline}.lit-toggle{align-items:center;background:none;border:1px solid var(--line-2);border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;height:42px;justify-content:center;padding:0 10px;white-space:nowrap}.lit-toggle.on,.lit-toggle:hover{border-color:var(--text)}.char-chip,.lit-toggle.on{background:var(--surface-3)}.char-chip{align-items:center;border:1px solid var(--text);border-radius:19px;display:flex;font-size:13px;gap:8px;height:38px;padding:0 6px 0 7px}.char-chip img{border-radius:50%;height:24px;object-fit:cover;object-position:center 20%;width:24px}.char-chip b{font-weight:600}.char-chip button{align-items:center;background:none;border:0;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;height:26px;justify-content:center;width:26px}.char-chip button:hover{background:var(--surface-2);color:var(--text)}.char-link{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:15px;color:var(--text-2);cursor:pointer;display:flex;flex:none;font-size:12.5px;gap:5px;height:30px;margin-left:auto;padding:0 11px}.char-link:hover{border-color:var(--text);color:var(--text)}.tabbar{display:none}.panel-enter-active{transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease}.panel-leave-active{bottom:0;position:absolute;right:0;top:0;transition:transform .2s ease,opacity .2s ease;z-index:19}.panel-enter-from,.panel-leave-to{opacity:0;transform:translateX(52px)}.fadezoom-enter-active{transition:opacity .24s ease}.fadezoom-enter-active .intro-box,.fadezoom-enter-active img{transition:transform .28s cubic-bezier(.22,1,.36,1)}.fadezoom-enter-from{opacity:0}.fadezoom-enter-from .intro-box,.fadezoom-enter-from img{transform:scale(.88)}.fadezoom-leave-active{transition:opacity .18s ease}.fadezoom-leave-to{opacity:0}.about-box,.chars-view,.details-panel,.info-tip,.intro-box,.search-results,.tab-body{scrollbar-color:var(--line-2) transparent;scrollbar-width:thin}.about-box::-webkit-scrollbar,.chars-view::-webkit-scrollbar,.details-panel::-webkit-scrollbar,.intro-box::-webkit-scrollbar,.search-results::-webkit-scrollbar,.tab-body::-webkit-scrollbar,.welcome-box::-webkit-scrollbar{width:10px}.chars-view::-webkit-scrollbar-track,.details-panel::-webkit-scrollbar-track,.intro-box::-webkit-scrollbar-track,.search-results::-webkit-scrollbar-track,.tab-body::-webkit-scrollbar-track{background:transparent}.chars-view::-webkit-scrollbar-thumb,.details-panel::-webkit-scrollbar-thumb,.intro-box::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb,.tab-body::-webkit-scrollbar-thumb{background:var(--line-2);border:2px solid var(--surface);border-radius:6px}.wv-stats{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.wv-stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:96px;padding:16px 18px}.wv-stat b{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:.01em;line-height:1;white-space:nowrap}.wv-stat span{color:var(--text-2);font-size:13px}.wv-stat small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wv-stat-ring{align-items:center;flex-direction:row;gap:14px;justify-content:flex-start}.wv-stat-ring>div{display:flex;flex-direction:column;gap:2px;min-width:0}.wv-stat-ring svg{flex:none}.wv-stat-ring circle{fill:none;stroke:var(--line-2);stroke-width:5}.wv-stat-ring .ring-fill{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset .45s cubic-bezier(.2,.7,.3,1)}.wv-stat-ring b{color:var(--green-text)}.wv-series{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.wv-series .fgroup-label{text-shadow:none}.wv-chip .muted{color:var(--muted);font-variant-numeric:tabular-nums}.wv-chip.done .muted{color:var(--green-text)}.wv-mini{background:var(--line-2);border-radius:2px;display:block;height:4px;overflow:hidden;width:34px}.wv-mini>i{background:var(--green);display:block;height:100%}.wv-layout{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 320px}.wv-main{display:flex;flex-direction:column;gap:14px;min-width:0}.wv-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.wv-controls .fgroup-label{text-shadow:none}.wv-controls .switch{font-size:13px;margin-left:auto}.wv-sort .short,.wv-stat b .short{display:none}.wv-stat b span{color:inherit;font:inherit}.wv-next-strip{display:none}.wv-group{align-items:center;display:flex;font-family:var(--font-display);font-size:20px;font-weight:600;gap:8px;letter-spacing:.03em;margin:10px 0 0;text-transform:uppercase}.wv-group span{color:var(--muted);font-family:var(--font-body,inherit);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.wv-grid{display:grid;gap:18px 14px;grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.wv-card{display:flex;flex-direction:column;gap:3px;min-width:0}.wv-art,.wv-card{position:relative}.wv-art{aspect-ratio:2/3;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;cursor:pointer;display:block;margin-bottom:4px;overflow:hidden;padding:0;transition:border-color .15s,transform .15s;width:100%}.wv-art:hover{border-color:var(--text);transform:translateY(-2px)}.wv-art img{display:block;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.wv-art img.logo{object-fit:contain;padding:14px}.wv-art .fallback{color:var(--text-2);font-family:var(--font-display);font-size:15px;font-weight:600;inset:0;padding:10px;text-align:center;text-transform:uppercase}.wv-art .fallback,.wv-done{align-items:center;display:flex;justify-content:center;position:absolute}.wv-done{background:var(--green);border-radius:50%;bottom:6px;color:#08130b;height:20px;left:6px;width:20px}.wv-card.todo .wv-art img{filter:saturate(.5);opacity:.4}.wv-card.todo .wv-title{color:var(--text-2)}.wv-remove{align-items:center;background:rgba(5,7,10,.75);border:0;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:26px;justify-content:center;opacity:0;position:absolute;right:6px;top:6px;transition:opacity .15s;width:26px;z-index:2}.wv-card:hover .wv-remove,.wv-remove:focus-visible{opacity:1}.wv-remove:hover{background:var(--red)}.wv-title{background:none;border:0;color:var(--text);cursor:pointer;display:-webkit-box;font-size:13px;font-weight:600;-webkit-line-clamp:2;line-height:1.25;padding:0;text-align:left;-webkit-box-orient:vertical;overflow:hidden}.wv-title:hover{text-decoration:underline}.wv-meta,.wv-norate,.wv-soon{color:var(--muted);font-size:11.5px}.wv-norate,.wv-soon{color:var(--faint);height:24px;line-height:24px}.wv-stars{display:flex;height:24px;margin-left:-3px}.wv-stars button{height:24px;width:20px}.wv-card:not(.rated) .wv-stars{display:none}.wv-card:not(.rated):focus-within .wv-stars,.wv-card:not(.rated):hover .wv-stars{display:flex}.wv-card.rated .wv-norate,.wv-card:not(.rated):focus-within .wv-norate,.wv-card:not(.rated):hover .wv-norate{display:none}.wv-check{align-self:flex-start;font-size:12px;height:28px;padding:0 10px}.wv-empty{background:var(--surface);border:1px dashed var(--line-2);border-radius:14px;padding:28px 24px;text-align:center}.wv-empty b{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.wv-empty p{color:var(--muted);font-size:14px;margin:6px auto 14px;max-width:420px}.wv-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:0}.wv-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.wv-box h3{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.03em;margin:0 0 4px;text-transform:uppercase}.wv-box p{color:var(--muted);font-size:12.5px;line-height:1.5;margin:0 0 10px}.wv-box p:last-child{margin-bottom:0}.wv-next{align-items:center;border-top:1px solid var(--line);display:flex;gap:10px;padding:7px 0}.wv-next .step-check{flex:none}.wv-maplink{border-radius:10px;height:36px;justify-content:center;margin:10px 0 0;width:100%}.wv-avg{align-items:baseline;display:flex;gap:10px;margin-bottom:8px}.wv-avg b{color:var(--gold);font-family:var(--font-display);font-size:40px;font-weight:700;line-height:1}.wv-avg span{align-items:center;color:var(--text-2);display:flex;font-size:13px;gap:5px}.wv-avg .app-icon{color:var(--gold)}.wv-toast{align-items:center;background:var(--surface-3);border:1px solid var(--line-2);border-radius:12px;bottom:24px;box-shadow:0 12px 32px rgba(0,0,0,.55);display:flex;font-size:13.5px;gap:14px;left:50%;max-width:calc(100vw - 32px);padding:10px 10px 10px 16px;position:fixed;transform:translateX(-50%);z-index:60}.wv-toast button{background:none;border:1px solid var(--line-2);border-radius:8px;color:var(--gold);cursor:pointer;flex:none;font-size:13px;font-weight:600;height:32px;padding:0 12px}.wv-toast button:hover{border-color:var(--gold)}.char-actors{display:flex;flex-direction:column;gap:4px;margin:0 -8px}.char-actor{border-radius:10px;padding:8px}.char-actor.flash{animation:actor-flash 1.2s ease-out}@keyframes actor-flash{0%{background:var(--gold-tint)}to{background:transparent}}.char-actor-head{align-items:center;background:none;border:0;color:var(--text);cursor:pointer;display:flex;gap:10px;padding:0;text-align:left;width:100%}.char-actor-head:hover .who{text-decoration:underline}.char-actor-head .who{flex:1;font-size:14px;font-weight:600;line-height:1.25;min-width:0}.char-actor-head .role{color:var(--muted);display:block;font-size:12.5px;font-weight:400}.char-actor-head .app-icon{color:var(--faint);flex:none}.char-actor-films{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0 50px}.char-actor-films button{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;color:var(--text-2);cursor:pointer;font-size:12px;height:26px;max-width:100%;overflow:hidden;padding:0 9px;text-overflow:ellipsis;white-space:nowrap}.char-actor-films button:hover{border-color:var(--text);color:var(--text)}.char-actor-films button.done{border-color:var(--green-line);color:var(--green-text)}.char-actor-films .more{border-style:dashed;color:var(--muted)}button.char-portrait{cursor:zoom-in;padding:0}button.char-portrait:hover{border-color:var(--text)}.actor-actions{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr)}.actor-actions .lit-toggle{font-size:13px;min-width:0;padding:0 6px;text-decoration:none}.role-group{margin-top:16px}.role-group:first-of-type{margin-top:4px}.role-group>header{align-items:center;display:flex;gap:10px;margin-bottom:4px}.role-group>header>span{color:var(--muted);font-size:12px;margin-left:auto;white-space:nowrap}.role-group .char-link{color:var(--text);font-weight:600;margin-left:0;min-width:0}.role-group .char-link,.role-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-name{font-size:13.5px;font-weight:600}.role-steps li.soon .step-art{opacity:.6}.role-soon{font-size:11.5px;white-space:nowrap}.role-check,.role-soon{color:var(--faint);flex:none}.role-check{border-radius:50%;height:34px;justify-content:center;padding:0;width:34px}.role-check.on{color:var(--green-text)}@media (max-width:1180px){.map-topbar{grid-template-columns:auto auto minmax(0,1fr) auto}}@media (max-width:900px){.goal-panel{bottom:10px;gap:9px;left:10px;padding:10px 12px;width:200px}.goal-next,.goal-panel .goal-title img{display:none}.details-panel{width:360px}}@media (max-width:1100px){.wv-layout{grid-template-columns:minmax(0,1fr)}.wv-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));position:static}.wv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){:root{--topbar-h:60px;--tabbar-h:calc(64px + env(safe-area-inset-bottom, 0px))}.map-topbar{gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:0 12px}.map-topbar h1.brand b,.view-switch{display:none}.chars-inner{gap:12px;padding:16px 16px 32px}.chars-head h2{font-size:30px}.chars-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.char-body b{font-size:20px}.chars-filters .seg{width:100%}.chars-filters .seg button{flex:1;font-size:12.5px;height:40px;padding:0 6px}.chars-filters .legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;width:100%}.chars-filters .legend-chip{flex:none}.char-portrait{height:64px;width:64px}.lit-toggle{border-radius:12px;font-size:13.5px;height:46px}.char-link{height:40px}.char-chip{display:none}.wv-stats{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.wv-stat{border-radius:12px;min-height:0;padding:10px 10px 11px}.wv-stat b{font-size:21px}.wv-stat span{font-size:11.5px;line-height:1.25}.wv-stat small,.wv-stat-left,.wv-stat-ring svg{display:none}.wv-series{gap:6px}.wv-series .legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;width:100%}.wv-series .legend-chip,.wv-series .legend-more{flex:none}.wv-controls{gap:8px}.wv-controls .fgroup-label{display:none}.wv-controls .seg{width:100%}.wv-controls .seg button{flex:1;font-size:12.5px;height:40px;padding:0 6px}.wv-sort .full,.wv-stat b .full{display:none}.wv-sort .short,.wv-stat b .short{display:inline}.wv-type{display:none}.wv-controls .switch{height:40px;margin-left:0}.wv-grid{gap:14px 10px;grid-template-columns:repeat(3,minmax(0,1fr))}.wv-title{font-size:12.5px}.wv-remove{height:30px;opacity:1;right:4px;top:4px;width:30px}.wv-check{border-radius:9px;font-size:12px;gap:5px;height:34px;justify-content:center;width:100%}.wv-check .app-icon{height:13px;width:13px}.wv-next-strip{align-items:center;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:12px;display:flex;font-size:13px;gap:10px;padding:8px 8px 8px 12px}.wv-next-strip>span{color:var(--gold);flex:none;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.wv-next-strip .linklike{flex:1;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.wv-side{grid-template-columns:minmax(0,1fr)}.wv-toast{bottom:calc(var(--tabbar-h) + 12px)}.actor-actions{grid-template-columns:1fr 1fr}.actor-actions .lit-toggle:first-child{grid-column:1/-1}.role-check{height:44px;width:44px}.welcome-overlay{align-items:flex-end;padding:24px 0 0}.welcome-box{border-radius:20px 20px 0 0;border-width:1px 0 0;gap:16px;max-height:100%;max-width:none;padding:20px 16px 18px}.welcome-head{gap:12px}.welcome-head>svg{height:40px;width:40px}.welcome-head h2{font-size:27px}.welcome-head p{font-size:13px}.welcome-steps{flex-direction:column;gap:12px}.welcome-steps li{align-items:center;flex-direction:row;gap:12px}.welcome-art{flex:none;margin:-24px -59px;transform:scale(.528);width:250px}.welcome-text .no{display:none}.welcome-text b{font-size:14.5px}.welcome-text p{font-size:12.5px;line-height:1.45}.welcome-text .full{display:none}.welcome-text .short{display:inline}.welcome-foot{align-items:stretch;border-top:0;flex-direction:column-reverse;gap:10px;padding-top:4px}.welcome-foot>span{display:none}.welcome-go{border-radius:12px;font-size:15px;height:48px;justify-content:center}.welcome-example{border:0;color:var(--text-2);font-size:13.5px;height:40px}.about-overlay{align-items:flex-end;padding:44px 0 0}.about-box{border-radius:20px 20px 0 0;border-width:1px 0 0;gap:14px;max-height:100%;max-width:none;padding:18px 16px 20px}.about-head>svg{height:38px;width:38px}.about-source .full{display:none}.about-source .short{display:inline}.about-titles h2{font-size:25px}.about-titles h2 span{display:none}.about-titles p{font-size:12.5px}.about-head .close{height:44px;width:44px}.about-facts{gap:8px}.about-facts>div{padding:9px 10px}.about-facts>div:nth-child(3){display:none}.about-facts b{font-size:20px}.about-facts span{font-size:11px;line-height:1.25}.about-pair,.about-sources{gap:8px;grid-template-columns:minmax(0,1fr)}.about-source{padding:12px}.about-card.strong{order:-1}.about-ghost,.about-mail{border-radius:10px;font-size:13.5px;height:44px}.about-mail{justify-content:center;width:100%}.about-foot{align-items:flex-start;flex-direction:column;gap:8px}.tabbar button{font-size:11px}.map-topbar h1.brand svg{height:36px;width:36px}.search-box{border-radius:12px;height:44px}.map-topbar input[type=search]{font-size:16px}.search-key{display:none}.filters-btn{display:flex}.about-btn,.map-topbar.off-map .filters-btn,.watched-btn{display:none}.map-topbar.off-map .about-btn{background:var(--surface-2);border-radius:12px;color:var(--text);display:flex;height:44px;width:44px}.about-link{display:block;height:40px;text-align:left;width:100%}.map-strip{gap:8px;left:10px;right:10px;top:10px}.map-strip .crumb{display:none}.btn-back{height:44px}.filters{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.6);display:none;gap:12px;left:10px;max-height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - 24px);overflow:auto;padding:14px;position:fixed;right:10px;top:calc(var(--topbar-h) + 8px);z-index:40}.filters.open{display:flex}.filters .seg{width:100%}.filters .seg button{flex:1;height:40px}.filters .fgroup{align-items:center;display:grid;gap:0 8px;grid-template-columns:minmax(0,1fr) auto;height:auto;padding:4px 10px 4px 6px;width:100%}.filters .edge-key{grid-column:1;grid-row:1;height:44px}.filters .edge-key:after{color:var(--faint);content:"· zawsze widoczne";font-size:12px}.filters .info-btn{font-size:16px;grid-column:2;grid-row:1;height:36px;width:36px}.filters .switch{border-radius:0;border-top:1px solid var(--line);grid-column:1/-1;height:44px;white-space:nowrap}.map-strip.filters-open{z-index:45}.filters .fsep{display:none}.filters .fgroup-label{width:100%}.legend-chip,.legend-more,.year-chip{border-radius:20px;font-size:13.5px;height:40px;padding:0 14px}.info-tip{left:12px;position:fixed;right:12px;top:120px;width:auto}.filters .info-tip{background:var(--bg);box-shadow:none;grid-column:1/-1;margin:2px 0 6px;position:static;width:auto}.tabbar{background:var(--surface);border-top:1px solid var(--line);display:flex;flex:none;height:var(--tabbar-h);padding-bottom:env(safe-area-inset-bottom,0);position:relative;z-index:25}.tabbar button{align-items:center;background:none;border:0;color:var(--muted);cursor:pointer;display:flex;flex:1;flex-direction:column;font-size:11.5px;font-weight:600;gap:3px;justify-content:center}.tabbar button.on{color:var(--gold)}.tabbar small{font-size:inherit;font-weight:500}.goal-panel{display:none}.details-panel,.details-panel.film-panel{border-left:none;border-radius:20px 20px 0 0;border-top:1px solid var(--line-2);bottom:0;box-shadow:0 -12px 40px rgba(0,0,0,.55);display:block;left:0;max-height:68%;overflow:auto;position:absolute;right:0;width:auto;z-index:20}.details-panel{padding:16px 16px 26px}.details-panel.film-panel{padding:0}.film-panel:before{background:var(--line-2);border-radius:2px;content:"";display:block;height:4px;margin:8px auto 0;width:40px}.panel-head{gap:12px;padding:10px 8px 12px 16px}.details-panel .pposter{height:78px;width:52px}.film-panel h2{font-size:25px}.details-panel .close{height:44px;width:44px}.panel-actions{padding:0 16px 12px}.goal-toggle,.watched-toggle{border-radius:12px;font-size:13.5px;height:46px}.rate-label{display:none}.stars button{height:44px}.share-btns a,.share-btns button{height:44px;width:44px}.btn-focus{height:46px}.tabs{background:var(--surface);padding:0 12px;position:sticky;top:0;z-index:2}.tabs button{font-size:13.5px;height:46px;padding:0 8px}.tab-body{overflow:visible;padding:12px 16px 24px}.ps-big{font-size:28px}.ps-side{font-size:12px}.stars button{width:30px}.step-check{border-radius:50%;font-size:0;gap:0;height:44px;justify-content:center;padding:0;width:44px}.step-check .app-icon{height:17px;width:17px}.goal-steps .watched-toggle{height:44px}.scroll-hint,.vue-flow__minimap{display:none}.nav-controls{bottom:10px;right:10px}.nav-zoom button{height:44px;width:44px}.nav-zoom .zoom-pct{display:none}.year-marker{font-size:16px;left:8px}.year-marker:after{width:14px}.lightbox img{max-height:72vh;max-width:94vw}.lightbox-close{right:12px;top:12px}.trailer-frame{width:94vw}.intro-box{padding:20px 18px 16px}.goal-steps li{gap:9px;padding:7px 4px}.goal-export.boxed{border-radius:12px;font-size:13.5px;height:46px;width:100%}.panel-leave-active{left:0;top:auto}.panel-enter-from,.panel-leave-to{opacity:1;transform:translateY(100%)}}@media (pointer:coarse){.scroll-hint,.vue-flow__minimap{display:none}.wv-card:not(.rated) .wv-stars{display:flex}.wv-card:not(.rated) .wv-norate{display:none}.wv-remove{opacity:1}.wv-stars button{width:22px}}@media (prefers-reduced-motion:reduce){.fadezoom-enter-active,.fadezoom-enter-active .intro-box,.fadezoom-enter-active img,.fadezoom-leave-active,.goal-bar i,.panel-enter-active,.panel-leave-active,.prod-node,.switch i,.switch i:after,.vue-flow__edge-path,.watched-btn .ring .ring-fill{transition:none}}