@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2)format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#f5ebd4;--ink:#152a30;--muted:#566661;--paper:#f8f1de;--parchment:#efe4c9;--gold:#ba934e;--jade:#397e73;--line:#c9b994;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#152a30;font-family:Inter,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% 0,#314b4b,#0000 65%),#152a30;min-width:280px;margin:0}button,input,select{font:inherit;-webkit-tap-highlight-color:transparent}button{color:#314b48;cursor:pointer;background:#f5edda;border:1px solid;border-radius:2px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.4;transition:background .15s,box-shadow .15s;display:inline-flex}button:hover:not(:disabled){background:#e8dabb;box-shadow:0 2px #9c7d4650}button:disabled{opacity:.5;cursor:not-allowed}button.primary{color:#142a2b;background:linear-gradient(135deg,#e0c58d,#bd9757);border-color:#d9bd7a;box-shadow:inset 0 0 0 2px #e5cb9340}button.primary:hover:not(:disabled){background:#e6cc92}button[aria-pressed=true]{background:#d2e3d8;border-color:#397e73}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:23px;height:23px}:focus-visible{outline-offset:4px;outline:3px solid #3ca99a}input,select{color:#192d31;background:#fffbef;border:1px solid #9f977f;border-radius:2px;width:100%;min-height:44px;padding:10px 12px}input[type=checkbox]{accent-color:#397e73;width:20px;min-height:20px}label{gap:8px;margin:16px 0;font-size:13px;display:grid}label.check{align-items:center;gap:12px;display:flex}h1,h2,h3{overflow-wrap:anywhere;font-family:Cinzel,Georgia,serif;font-weight:600;line-height:1.25}h1{margin:8px 0 16px;font-size:clamp(26px,3vw,38px)}h2{margin:8px 0 14px;font-size:21px}h3{margin:8px 0;font-size:17px}p{margin:12px 0 20px;line-height:1.65}small{line-height:1.5;display:block}strong{font-weight:600}code{overflow-wrap:anywhere}.wide{width:100%}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:#766136;font-size:10px;font-weight:700;line-height:1.5}.hint,.muted{color:var(--muted);font-size:12px;line-height:1.65}.warning{color:#86503a;background:#ddc8a345;border-left:2px solid #ae7247;padding:12px;font-size:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.topbar{color:#eee1c7;background:#112329ed;border-bottom:1px solid #ba934e55;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:10px clamp(12px,3vw,42px);display:flex}.topbar .brand{color:#f1e4c8;letter-spacing:.13em;background:0 0;border:0;padding:0;font-family:Cinzel,Georgia,serif;font-size:16px}.brand-mark{width:38px;height:38px}.brand b{color:#d7b06b;font-weight:inherit}.topbar nav{align-items:center;gap:12px;display:flex}.topbar nav button{color:#e4d8c2;background:0 0;border-color:#73857950}.topbar nav button:hover{background:#2d4145}.world-indicator{color:#b5c2b9;white-space:nowrap;font-size:11px}.gold{color:#e0bd78;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:700;display:flex}main{max-width:1440px;min-height:calc(100svh - 112px);margin:auto;padding:28px 24px 40px}body:has(.title-screen) main{max-width:none;padding:0}footer{color:#a1afa5;text-align:center;letter-spacing:.07em;padding:16px;font-size:10px}.panel{color:var(--ink);background:linear-gradient(115deg,#f5ecd8,#e9dcc0);border:1px solid #c0ab80;border-radius:2px;padding:24px;box-shadow:0 8px 26px #08191c35,inset 0 0 0 4px #f7eddb55}.section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title h2{margin:0}.section-title>span{color:#766136;font-size:12px;font-weight:700}.error,.tab-warning{color:#813e2e;background:#fae9ce;border:1px solid #c27b50;max-width:1000px;margin:16px auto;padding:16px}.error button{float:right}.notice{z-index:50;color:#23534a;pointer-events:none;background:#f7edd8;border:1px solid #bfa979;max-width:calc(100% - 24px);padding:12px 24px;font-size:13px;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 3px 20px #10282e55}.blocked{opacity:.55;pointer-events:none}.title-screen{isolation:isolate;align-items:center;min-height:calc(100svh - 112px);padding:72px max(7vw,24px) 110px;display:flex;position:relative;overflow:hidden}.hero-art{z-index:-2;position:absolute;inset:0}.hero-art img{object-fit:cover;object-position:70% 58%;width:100%;height:100%}.title-screen:after{content:"";z-index:-1;background:linear-gradient(90deg,#0c202de8,#102a366b 48%,#102a3610 80%),linear-gradient(#0000 76%,#10262dd9);position:absolute;inset:0}.hero-copy{max-width:540px}.hero-copy>.eyebrow{color:#dac493}.hero-copy h1{letter-spacing:.06em;color:#f4ead2;text-shadow:0 2px 12px #0d252f;margin:28px 0;font-size:clamp(58px,7vw,104px);line-height:.98}.hero-copy h1 em{color:#d8b16e;font-style:normal}.hero-copy>p{color:#d9e0d6;max-width:440px;font-size:15px}.hero-actions{flex-direction:column;align-items:stretch;gap:10px;max-width:290px;margin:30px 0 14px;display:flex}.hero-actions button{justify-content:space-between;min-height:50px;font-size:14px}.hero-actions button:not(.primary){color:#e2d9c5;background:#102931ba;border-color:#b396605f}.resume-summary{color:#c6d2c3;margin:0 0 4px;font-size:10px}.seed-options{color:#c6cdbf;max-width:340px;font-size:12px}.seed-options summary{color:#c6cdbf}.seed-label small{color:#b3c1b8;font-size:10px}.hero-copy .hero-note{color:#b5c1b9;margin-top:22px;font-size:11px}.hero-chapters{color:#d9cba9;align-items:center;gap:18px;font-family:Cinzel,serif;font-size:12px;display:flex;position:absolute;bottom:35px;left:max(7vw,24px)}.hero-chapters b{color:#d0a764;padding-right:8px;font-size:18px}.hero-chapters i{background:#cbb47966;width:50px;height:1px}.starter-screen{text-align:center;max-width:1060px;margin:24px auto}.starter-screen>.eyebrow{color:#d5b674}.starter-screen>p{color:#c2cfc3;font-size:14px}.starter-grid{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:12px 0;display:grid}.card{--attr:#397e73;color:#1a3233;background:#f8f1de;border:1px solid #b9a16e;border-radius:2px;min-width:0;padding:7px;position:relative;box-shadow:0 5px 13px #122a301f,inset 0 0 0 3px #e1d0a840}.card:before,.card:after{content:"";pointer-events:none;width:13px;height:13px;position:absolute}.card:before{border-top:2px solid #a48241;border-left:2px solid #a48241;top:3px;left:3px}.card:after{border-bottom:2px solid #a48241;border-right:2px solid #a48241;bottom:3px;right:3px}.attr-FIRE{--attr:#98472d}.attr-WATER{--attr:#316982}.attr-LIGHT{--attr:#826419}.attr-DARK{--attr:#674778}.attr-EARTH{--attr:#536235}.attr-WIND{--attr:#286f5e}.card-art{aspect-ratio:1.35;border:1px solid #9c8b66;position:relative;overflow:hidden}.card-art img{object-fit:cover;width:100%;height:100%;display:block}.card-art .level{color:#fff0d6;background:#152a30e8;border:1px solid #d3b67588;padding:4px 9px;font-size:11px;font-weight:600;position:absolute;bottom:9px;right:9px}.card-body{padding:14px 12px 8px}.card-body>.eyebrow{color:var(--attr);letter-spacing:.12em;align-items:center;gap:6px;display:flex}.attribute-dot{background:var(--attr);width:6px;height:6px;display:inline-block;transform:rotate(45deg)}.card h3{min-height:42px;margin:8px 0 14px;font-size:17px}.hp{background:#1c383d24;border-radius:1px;width:100%;height:5px;display:block;overflow:hidden}.hp i{background:var(--jade);height:100%;transition:width .25s;display:block}.ko .hp i{background:#ad624e}.ko img{filter:grayscale();opacity:.65}.stats{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;margin:8px 0 14px;display:flex}.stats b{font-size:20px}.stats small{color:#66716a;font-size:10px;font-weight:600;display:inline}.move{border-top:1px solid #c7b894;gap:4px;padding:11px 0 0;display:grid}.move strong{font-size:12px}.move span{color:#647168;font-size:10px;line-height:1.6}.card-details{margin:6px 0 2px}.card-details summary{color:#6a624d;font-size:11px}.detail-stats{margin:0;font-size:11px}.detail-stats>div{border-bottom:1px solid #c9b99465;justify-content:space-between;gap:10px;padding:5px 0;display:flex}.detail-stats dt{color:#687269}.detail-stats dd{text-align:right;margin:0}.compat{color:#647168;margin:8px 0;font-size:10px}.equipped{color:#397469;border-top:1px solid #c7b894;font-size:11px}.equipped p{margin:0 0 12px}.card-actions{gap:8px;padding-top:8px;display:grid}.card-actions>p{margin:0;font-size:12px}.item-card{color:#1a3233;background:#f8f1de;border:1px solid #b9a16e;min-width:0;padding:7px}.item-card>img{aspect-ratio:1.35;object-fit:cover;border:1px solid #9c8b66;width:100%;display:block}.item-card>div{padding:14px 12px 8px}.item-card p{min-height:40px;font-size:12px}.offer-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-items:start;gap:20px;margin:24px 0;display:grid}.offer-grid .card,.offer-grid .item-card{width:100%;max-width:400px}.decision-panel .offer-grid:has(>:only-child){max-width:360px;margin-left:auto;margin-right:auto}.game-layout{max-width:1160px;margin:8px auto}.map-layout{grid-template-columns:220px minmax(0,1fr) 300px;align-items:start;gap:24px;max-width:1180px;display:grid}.team-summary{padding:20px 16px;position:sticky;top:20px}.team-summary h2{font-size:18px}.companions{gap:12px;margin-top:18px;display:grid}.companion{text-align:left;background:0 0;border:none;grid-template-columns:10px 48px minmax(0,1fr);gap:8px;width:100%;padding:0;font-weight:400;display:grid}.companion:hover:not(:disabled){box-shadow:none;background:#eadabb}.companion>img{object-fit:cover;border:1px solid #b29a68;width:48px;height:58px}.companion-position{color:#a18346;font-size:10px}.companion-mini{display:none}.companion strong{font-size:11px;display:block}.companion small{color:#626b61;font-size:9px}.companion .hp{height:4px;margin:4px 0}.team-summary .hint{margin:16px 0 12px;font-size:10px}.team-summary>button{padding:9px 7px;font-size:11px}.inventory-count{color:#67654f;justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:10px;display:flex}.inventory-count .icon{width:17px}.route-panel{min-width:0}.route-heading{justify-content:space-between;align-items:center;gap:12px;padding:0 2px;display:flex}.route-heading .eyebrow{color:#d3b577;font-size:9px}.route-heading h1{margin:8px 0;font-size:clamp(20px,2.2vw,29px)}.route-heading button{color:#e4d5b3;white-space:nowrap;background:#233e41;border-color:#c3a46c77;padding:10px;font-size:11px}.route-instruction{color:#bdcbc0;margin:8px 0 16px;font-size:10px}.route-dot{background:#79c7ab;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.map{isolation:isolate;background-image:url(/assets/worlds/kingdom.png);background-position:50%;background-size:cover;border:1px solid #b7a270;border-radius:2px;height:820px;position:relative;box-shadow:0 12px 35px #08191d88,inset 0 0 0 5px #102c3550}.map.world-2{background-image:url(/assets/worlds/city.png)}.map:before{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 35px #142b3440}.route-lines{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.route-lines line{stroke:#2e493b;stroke-width:2px;stroke-dasharray:5 4;stroke-linecap:round;vector-effect:non-scaling-stroke}.route-lines line.walked{stroke:#193c35;stroke-width:4px;stroke-dasharray:none}.route-lines line.next-line{stroke:#448b71;stroke-width:3px;stroke-dasharray:6 4}.node{z-index:2;color:#37473c;background:0 0;border:none;border-radius:50%;width:48px;height:48px;min-height:44px;padding:0;position:absolute;transform:translate(-50%,-50%)}.node:hover:not(:disabled){box-shadow:none;background:0 0}.node-seal{background:#f5e8cddf;border:1px solid #7c724d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 3px 6px #253e3740,inset 0 0 0 3px #b9985940}.node-seal .icon{width:27px;height:27px}.node.reachable .node-seal{color:#235f48;background:#fff1d4;border:2px solid #306d55;box-shadow:0 0 0 4px #3c8d6040,0 3px 8px #2d453755}.node.selected .node-seal{outline-offset:5px;outline:2px solid #a57a30}.node.visited .node-seal{color:#f7edce;background:#325f52;border-color:#e0c88e}.node.closed{opacity:.4}.node.elite .node-seal{color:#935b34}.node.boss .node-seal{color:#e8cd95;background:#263b3e;border-color:#d4ac62}.node.boss .node-seal,.node.boss{width:52px;height:52px}.boss-label,.current-label{color:#f5e8cb;white-space:nowrap;background:#213b35ed;padding:2px 7px;font-size:9px;line-height:1.3;position:absolute;top:100%;left:50%;transform:translate(-50%)}.current-label{background:#316e56}.node-tooltip{z-index:20;pointer-events:none;text-align:left;color:#f4ead3;opacity:0;visibility:hidden;background:#193337f5;border:1px solid #c5a564;width:174px;padding:11px;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 5px 10px #102c3450}.node-tooltip strong{font-size:11px;display:block}.node-tooltip small{margin-top:4px;font-size:10px;font-weight:400}.node:hover,.node:focus-visible{z-index:10}.node:hover .node-tooltip,.node:focus-visible .node-tooltip{opacity:1;visibility:visible}.node.boss .node-tooltip{top:calc(100% + 22px);bottom:auto}.node.edge-left .node-tooltip{left:0;transform:none}.node.edge-right .node-tooltip{left:auto;right:0;transform:none}.map-compass{z-index:2;color:#e8d3a3;text-shadow:0 2px 3px #123039;justify-items:center;font-size:9px;display:grid;position:absolute;top:15px;right:14px}.map-caption{letter-spacing:.08em;color:#f5e6c3;text-shadow:0 1px 3px #15363b;font-family:Cinzel,serif;font-size:8px;position:absolute;bottom:9px;right:12px}.map-foot{color:#cfccb1;justify-content:space-between;gap:12px;margin-top:8px;font-size:11px;display:flex}.map-foot summary{color:#cfccb1}.map-foot .text-button{color:#dbc493;background:0 0;border:none;padding:4px 0;font-size:11px}.map-legend{gap:10px;padding:10px 0;display:grid}.map-legend span{align-items:center;gap:8px;display:flex}.map-legend .icon{width:20px;height:20px}.preview-panel{padding:20px 17px;scroll-margin-top:16px;position:sticky;top:20px}.station-heading{color:#88713e;align-items:center;gap:8px;display:flex}.station-heading .icon{width:26px;height:26px}.preview-panel h2{font-size:23px}.preview-panel>.hint{margin-bottom:16px;font-size:10px}.preview-panel>.primary{margin-top:16px}.preview-panel .choice-warning{margin:12px 0 0;font-size:10px}.preview-route-back{display:none}.node-description{font-size:13px;line-height:1.8}.station-reward{border-top:1px solid #c3ad7e;margin:18px 0 0;padding-top:13px;font-size:12px}.station-reward p{margin:7px 0;font-size:11px}.station-reward strong{font-family:Cinzel,serif;font-size:13px}.station-reward small{color:#636d62;font-size:10px}.opportunity{color:#736e55;align-items:center;gap:8px;margin:24px 0 4px;font-size:10px;display:flex}.opponent-roster{gap:12px;display:grid}.roster-entry{position:relative}.roster-number{z-index:1;color:#efddba;background:#284842;padding:1px 4px;font-size:9px;position:absolute;top:5px;left:4px}.card.compact{box-shadow:none;border-color:#c9b994;grid-template-columns:55px minmax(0,1fr);padding:5px;display:grid}.compact .card-art{aspect-ratio:auto;border:none;height:74px}.compact .card-art .level{text-align:center;border:none;padding:2px 0;font-size:8px;bottom:0;left:0;right:0}.compact .card-body{padding:3px 7px}.compact .eyebrow{font-size:8px}.compact h3{min-height:0;margin:4px 0 5px;font:600 11px Inter,sans-serif}.compact .hp{height:3px}.compact .stats{gap:4px;margin:4px 0}.compact .stats b{font-size:12px}.compact .stats small{font-size:8px}.compact .move{border-top:none;gap:2px;padding:0}.compact .move strong{font-size:9px}.compact .move span{font-size:8px}.compact .card-details summary,.compact .equipped summary{min-height:32px;padding:5px 0;font-size:9px}.compact .detail-stats{font-size:9px}dialog{color:#183335;background:#f4ead3;border:1px solid #bca16a;border-radius:2px;width:min(880px,100% - 32px);max-height:calc(100svh - 32px);padding:24px;box-shadow:0 20px 70px #06171be0}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#09242bcc}dialog>header{z-index:3;background:#f4ead3;border-bottom:1px solid #c3ad7e;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:14px;display:flex;position:sticky;top:-24px}dialog>header h2{margin:0;font-size:24px}dialog>header button{flex:none;min-width:44px}dialog>.card,dialog>.item-card{max-width:340px;margin:16px auto}dialog p{font-size:13px}dialog .team-panel{padding:0}.team-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.team-slot{border-bottom:1px solid #b8a67e77;grid-template-columns:18px minmax(0,1fr);align-content:start;column-gap:6px;padding:8px 0;display:grid}.slot-number{color:#9a783b;padding-top:10px;font-size:11px}.team-card{text-align:left;background:0 0;border:none;grid-template-columns:55px minmax(0,1fr);gap:10px;width:100%;padding:0;display:grid}.team-card img{object-fit:cover;border:1px solid #ac905a;width:55px;height:72px}.team-card strong{font-size:12px;display:block}.team-card small{color:#657166;font-size:10px}.team-card .hp{margin:6px 0}.slot-controls{grid-column:2;align-items:center;gap:6px;margin-top:8px;display:flex}.slot-controls>button{min-width:44px;padding:8px}.slot-controls label{flex:1;min-width:0;margin:0}.slot-controls select{font-size:11px}.empty{color:#797b67;padding:12px 0;font-size:11px}.reserve-note{color:#8b7045;grid-column:1/-1;margin:12px 0 0;font-size:10px}.team-slot.reserve{background:#d7ceb525}.team-slot:nth-child(5){grid-column:1/-1}.bag-item{text-align:left;justify-content:flex-start;gap:12px;width:100%;margin:8px 0;padding:8px;display:flex}.bag-item img{object-fit:cover;width:42px;height:42px}.bag-item small{color:#686e62;font-size:10px}summary{cursor:pointer;color:#796234;min-height:44px;padding:12px 0;font-size:12px;line-height:1.5}details[open]>summary{margin-bottom:5px}.comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.stat-comparison{border-bottom:1px solid #c3ad7e;flex-wrap:wrap;gap:12px;padding:14px 0;font-size:12px;display:flex}.stat-comparison strong{flex-basis:100%}.decision-panel,.encounter,.result,.ending{padding:32px}.decision-panel>p,.encounter>p{color:#566661;max-width:720px;font-size:13px}.decision-panel>label{max-width:500px}.decision-panel>.card{max-width:340px}.decision-footer{border-top:1px solid #c3ad7e;margin-top:24px;padding-top:18px}.decision-footer button{background:0 0;border-color:#b8a377}.target-list{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;margin:24px 0;display:grid}.target-list button{text-align:left;padding:14px;display:block}.target-list button small{margin-top:7px;font-size:11px;font-weight:400}.target-list label{border:1px solid #bca77b;align-items:center;margin:0;padding:14px;display:flex}.confirm-box{background:#e7dcc0;border:1px solid #b39b62;margin:20px 0;padding:20px}.confirm-box>.card{max-width:320px;margin:auto}.confirm-box>button{margin:8px 8px 0 0}.encounter .offer-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.encounter .compact{grid-template-columns:92px minmax(0,1fr)}.encounter .compact .card-art{height:130px}.encounter .compact h3{font-size:14px}.encounter .compact .eyebrow{font-size:10px}.encounter .compact .stats b{font-size:18px}.encounter .compact .stats small,.encounter .compact .move span{font-size:10px}.encounter .compact .move strong{font-size:11px}.encounter-actions{border-top:1px solid #c3ad7e;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.encounter-actions .wide{width:auto}.encounter-rules{margin-top:14px}.shop-panel{padding-bottom:24px}html:has(.shop-panel){scroll-padding-top:100px}.shop-navigation{z-index:15;background:#efe4c9;border:1px solid #bda36e;justify-content:space-between;align-items:center;gap:12px;margin:20px 0;padding:10px 14px;display:flex;position:sticky;top:12px;box-shadow:0 3px 10px #142c3020}.shop-navigation .gold{color:#745929;font-size:14px}.shop-services{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.shop-services button{font-size:11px}.health-summary{color:#52695b;align-items:center;gap:8px;margin:16px 0;font-size:11px;display:flex}.health-summary .icon{width:19px;height:19px}.shop-panel .offer-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.shop-panel .card-body,.shop-panel .item-card>div{padding:12px 7px 5px}.shop-panel .stats b{font-size:16px}.shop-panel .card h3,.shop-panel .item-card h3{font-size:14px}.shop-panel .card button,.shop-panel .item-card button{padding:8px;font-size:11px}.shop-exit-bar{color:#eee1c4;background:#153539;border:1px solid #c4a368;justify-content:space-between;align-items:center;gap:12px;width:min(560px,100%);margin:24px auto 0;padding:10px 14px;display:flex}.shop-exit-bar strong{font-family:Cinzel,serif;font-size:14px}.shop-exit-bar small{color:#b6c3b9;font-size:10px}.result-growth{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px;margin:26px 0;display:grid}.result-growth>div{background:#fffbef85;border:1px solid #c8b488;gap:8px;padding:16px;font-size:11px;display:grid}.result-growth img{object-fit:cover;border:1px solid #bca16a;width:54px;height:60px}.result-growth strong{font-size:12px}.result-growth span{color:#596c61}.result>button{margin-top:20px}.ending{border-top:4px solid #b99859}.ending>button{margin:16px 12px 0 0}.ending>p{max-width:750px;font-size:13px}.battle-panel{background:radial-gradient(at 50% 65%,#4c646156,#0000 65%),#1b363b;border:1px solid #b09a65;padding:28px;box-shadow:0 12px 30px #061b2266}.battle-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.battle-heading .eyebrow{color:#c9af72}.battle-heading h1{margin-bottom:10px;font-size:29px}.battle-status{color:#b9ccbb;font-size:11px}.arena{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:start;gap:24px;max-width:950px;margin:20px auto 24px;display:grid;position:relative}.arena:before{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #c4a36440;border-radius:50%;width:65%;position:absolute;top:30px;left:50%;transform:translate(-50%);box-shadow:0 0 0 25px #b89a5809,0 0 0 26px #c4a36426}.arena-side{position:relative}.arena-side>h2{text-align:center;color:#e6d4b0;margin-bottom:12px;font-size:14px}.waiting-team{justify-content:center;gap:8px;margin-bottom:18px;display:flex}.waiting-monster{border:1px solid #7c896d;width:44px;height:44px;padding:2px;position:relative}.waiting-monster img{object-fit:cover;width:100%;height:100%;display:block}.waiting-monster span{color:#203d3a;background:#f1dfb5;padding:1px 4px;font-size:8px;position:absolute;bottom:-3px;right:-3px}.waiting-monster.active-front{border-color:#e2c17b;box-shadow:0 0 0 2px #cda85950}.duel-sigil{text-align:center;color:#c9ae70;letter-spacing:.17em;align-self:center;font-family:Cinzel,serif;font-size:13px}.duel-sigil img{opacity:.65;width:100%;height:auto}.duel-sigil span{margin-top:12px;display:block}.matchup{text-align:center;color:#c5cbbb;background:#163038;border:1px solid #8b9a8355;margin-bottom:10px;padding:9px;font-size:10px}.matchup.advantage{color:#b6e5c5;border-color:#65a984}.matchup.disadvantage{color:#e2bda1;border-color:#986d52}.duel-card-frame{position:relative}.duel-card-frame .card{max-width:250px;margin:auto}.duel-card-frame .card-body>.eyebrow{display:none}.duel-card-frame .card h3{min-height:42px}.duel-card-frame .card-art{aspect-ratio:1.25}.hit-feedback{pointer-events:none;justify-items:center;gap:6px;animation:.15s ease-out exchange;display:grid;position:absolute;inset:26% 0 auto}.hit-feedback>strong{color:#fff0d7;text-shadow:0 1px 3px #150e0a;font-variant-numeric:tabular-nums;background:#522b2adb;border:1px solid #d69e6b;padding:3px 14px;font-size:38px;box-shadow:0 5px 15px #09192099}.hit-feedback strong.critical{color:#ffe28b;border-color:#ffcf57}.hit-feedback strong small{letter-spacing:.15em;text-align:center;font-size:10px}.hit-feedback>span{color:#d1e3cb;background:#193a3df5;padding:3px 8px;font-size:11px}.hit-feedback .reflection{color:#deb7e5}.hit-feedback .healing{color:#b2eac3}.hit-feedback .ko-label{color:#ffe0b7;letter-spacing:.15em;background:#67473bef}.battle-controls{justify-content:center;align-items:center;gap:12px;margin:16px 0;display:flex}.battle-controls button:not(.primary){color:#e3d6b8;background:#163138;border-color:#c4a36466}.battle-controls button[aria-pressed=true]{background:#43625a;border-color:#bda673}.speed-controls{gap:4px;display:flex}.speed-controls button{padding:8px 13px}.exchange-caption{color:#c4d0bf;text-align:center;max-width:650px;min-height:38px;margin:auto;font-size:11px;line-height:1.7}.battle-history{border-top:1px solid #c4a36455;margin-top:20px}.battle-history summary{color:#d3bd8a}.combat-log{gap:10px;max-height:280px;font-size:12px;display:grid;overflow:auto}.combat-log>div{background:#254443;border:1px solid #bca57255;grid-template-columns:80px 1fr;gap:7px;padding:10px;display:grid}.combat-log small{color:#b9c9b6;grid-column:2;font-size:10px}@keyframes exchange{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@media (width<=1200px){.map-layout{grid-template-columns:190px minmax(0,1fr) 260px;gap:16px}.team-summary{padding:18px 12px}.companion{grid-template-columns:36px minmax(0,1fr)}.companion-position{display:none}.companion>img{width:36px;height:50px}.route-heading{flex-wrap:wrap}.route-heading button{min-height:44px}.shop-panel .offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){main{padding:24px 18px 36px}.map-layout{grid-template-columns:minmax(0,1fr) 280px}.team-summary{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px;padding:12px 16px;display:flex;position:static}.team-summary .section-title{display:none}.companions{flex:1;gap:12px;margin:0;display:flex}.companion{width:44px;display:block;position:relative}.companion>img{width:44px;height:44px}.companion>span:not(.companion-mini){display:none}.companion>.companion-mini{display:block}.companion-mini small{text-align:center;margin-top:3px;font-size:9px}.companion-mini .hp{height:3px;margin-top:3px}.team-summary .hint,.inventory-count{display:none}.team-summary>.wide{width:auto}.topbar nav{gap:8px}.world-indicator{display:none}.starter-grid{gap:18px}.arena{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:18px}}@media (width<=760px){.topbar{flex-wrap:wrap;gap:8px;padding:10px 12px}.topbar .brand{letter-spacing:.08em;font-size:12px}.brand-mark{width:30px;height:30px}.topbar nav{flex-wrap:wrap;gap:6px}.topbar nav button{padding:8px;font-size:11px}.topbar nav button .icon{width:20px}.topbar nav button[data-testid=open-team] span{display:none}.gold{font-size:14px}main{padding:20px 12px 28px}.title-screen{min-height:calc(100svh - 110px);padding:64px 28px 96px}.hero-art img{object-position:44% 50%}.title-screen:after{background:linear-gradient(90deg,#0c202be6,#102a3688),linear-gradient(#0000 50%,#10262dd9)}.hero-copy h1{font-size:clamp(55px,12vw,85px)}.hero-copy>p{max-width:340px;font-size:13px}.hero-chapters{gap:10px;font-size:10px;bottom:28px;left:28px}.hero-chapters i{width:20px}.starter-screen{margin:12px auto}.starter-screen>h1{font-size:26px}.starter-grid{grid-template-columns:1fr;gap:22px;max-width:420px;margin:auto}.starter-grid .card-art{aspect-ratio:1.65}.starter-grid .card h3{min-height:0}.map-layout{grid-template-columns:1fr;gap:16px}.team-summary{order:0}.route-panel{order:1}.preview-panel{order:2;padding:20px;position:static}.map{height:720px}.route-heading{flex-wrap:nowrap}.route-heading h1{font-size:24px}.route-heading .eyebrow{font-size:8px}.route-instruction{font-size:9px}.preview-panel .compact{grid-template-columns:64px minmax(0,1fr)}.preview-panel .compact h3{font-size:12px}.preview-panel .compact .stats b{font-size:15px}.preview-panel .opponent-roster{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}.preview-route-back{background:0 0;border-color:#bdad8a;width:100%;margin-top:14px;display:flex}.panel,.decision-panel,.encounter,.result,.ending{padding:22px 18px}.shop-panel{padding-bottom:22px}.shop-panel .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-exit-bar{padding:10px;bottom:10px}.shop-exit-bar strong{font-size:12px}.shop-exit-bar small{font-size:9px}.shop-exit-bar button{flex:none;padding:8px 12px;font-size:11px}.comparison,.team-slots{grid-template-columns:1fr}dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:18px}dialog>header{top:-18px}dialog>header h2{font-size:20px}.encounter-actions{flex-direction:column;align-items:stretch}.encounter-actions .wide{width:100%}.battle-panel{padding:20px 12px}.battle-heading{display:block}.battle-heading h1{font-size:25px}.arena{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 16px}.arena:before{width:92%;top:90px}.duel-sigil{display:none}.arena-side>h2{font-size:11px}.waiting-team{flex-wrap:wrap;align-content:flex-start;gap:4px;min-height:70px;margin-bottom:8px}.waiting-monster{width:30px;height:30px}.matchup{padding:8px 3px;font-size:8px}.duel-card-frame .card{padding:4px}.duel-card-frame .card-body{padding:10px 5px 5px}.duel-card-frame .eyebrow{font-size:8px}.duel-card-frame .card h3{min-height:46px;margin-bottom:8px;font:600 11px/1.4 Inter,sans-serif}.duel-card-frame .stats b{font-size:14px}.duel-card-frame .stats small{font-size:8px}.duel-card-frame .move strong{font-size:10px}.duel-card-frame .move span{font-size:10px;line-height:1.5}.duel-card-frame .card-art .level{padding:3px;font-size:8px;bottom:4px;right:4px}.preview-panel .compact .move span{font-size:10px;line-height:1.4}.hit-feedback{top:12%}.hit-feedback>strong{font-size:25px}.hit-feedback>span{font-size:8px}.battle-controls{flex-wrap:wrap;gap:8px}.battle-controls>button{padding:8px 12px;font-size:11px}.speed-controls button{padding:8px 11px}.combat-log>div{grid-template-columns:1fr}.combat-log small{grid-column:1}}@media (width<=380px){.topbar .brand span{display:none}.topbar{flex-wrap:nowrap}.topbar nav button{padding:8px 6px;font-size:10px}.team-summary{gap:8px;padding:10px}.companions{flex-wrap:wrap;gap:6px}.team-summary>button{font-size:10px}.route-heading h1{font-size:20px}.route-heading button{padding:8px 6px;font-size:10px}.node-tooltip{width:138px}.shop-panel .offer-grid{grid-template-columns:1fr}.offer-grid{gap:18px}.decision-panel,.encounter,.result,.ending{padding:20px 14px}.hero-copy>.eyebrow{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html[data-motion=reduce] *,html[data-motion=reduce] :before,html[data-motion=reduce] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.damage-preview{min-width:0;margin-block:12px}.damage-selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.damage-selectors label{gap:6px;min-width:0;font-size:12px;display:grid}.damage-selectors select{width:100%;min-width:0}.damage-values{flex-wrap:wrap;gap:10px 20px;margin:12px 0;display:flex}.damage-values span{font-size:12px}.damage-values strong{color:var(--ink);margin-left:6px;font-size:18px}.matchup-details{margin:12px 0}.legacy-rules{text-align:center;background:var(--paper);color:var(--ink);margin:0;padding:8px 20px;font-size:12px}@media (width<=420px){.damage-selectors{grid-template-columns:minmax(0,1fr)}}
