@charset "UTF-8";
:root{color-scheme:dark;--bg:#0d1c1b;--panel:#152b28;--panel2:#1b3430;--line:#b9d0b51b;--text:#f1eee1;--muted:#9bac9e;--gold:#edca82;--gold2:#c99447;--mint:#9bd1b4;--danger:#f5aaa0;--radius:20px;--serif:Georgia,'Times New Roman',serif;--body:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold)}button{color:inherit}a{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:42px;line-height:1.1;letter-spacing:-1.1px}h2{font-size:28px;line-height:1.2;letter-spacing:-.4px}h3{font-size:21px;line-height:1.25}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;font-weight:700;color:var(--gold)}.tiny{font-size:12px}.gold{color:var(--gold)}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:16px}.divider{border-top:1px solid var(--line);margin:18px 0}.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:11px;color:var(--muted)}.tag.live{color:var(--mint);background:#9bd1b40b}.tag.gold{color:var(--gold);border-color:#edca8230}.tag.paused{color:var(--gold)}.tag svg.icon{width:13px;height:13px}.dot{width:6px;height:6px;background:currentColor;border-radius:50%}.btn{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:13px;transition:transform .16s,background .16s}.btn:hover:not(:disabled){background:#28463d;transform:translateY(-1px)}.btn.primary{color:#293025;background:linear-gradient(135deg,#f0d79f,#d9af66);border-color:#f2d69e;box-shadow:0 3px 18px #edca8212}.btn.primary:hover:not(:disabled){background:#f6ddaa}.btn.ghost{background:transparent}.btn.danger{color:var(--danger);border-color:#f5aaa03b}.btn.small{padding:7px 12px;font-size:12px}.btn.full{width:100%}.btn .icon{width:17px;height:17px}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#ffffff04}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#19302b,#142723);border-radius:var(--radius);padding:23px}.panel h3{margin-bottom:12px}.panel-title{font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.1px}.progress{height:5px;border-radius:5px;background:#ffffff10;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:5px}.progress.health>span{background:linear-gradient(90deg,#689c7e,#b3db9e)}.progress.enemy>span{background:linear-gradient(90deg,#b17868,#e1b38a)}.coin-icon{color:var(--gold)}.text-button{border:0;background:none;padding:0;color:var(--gold);display:inline-flex;align-items:center;gap:5px;font-size:12px}.avatar{width:38px;height:38px;object-fit:cover;border-radius:50%;border:1px solid #d7bb7f75}.avatar.large{width:73px;height:73px;border-radius:18px}.avatar.small{width:27px;height:27px}.avatar.empty{display:grid;place-items:center;background:#254338}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#214139,#0d1c1b 70%)}.loading-rune{color:var(--gold);font-size:46px;animation:pulse 1.5s infinite}.loading-screen h1{margin:12px 0;font-size:35px}.loading-screen p{color:var(--muted)}
.demo-bar{min-height:42px;background:#233b30;border-bottom:1px solid #d6c28c29;display:flex;align-items:center;justify-content:center;gap:20px;padding:5px 22px;font-size:11px;color:#c2cdb8}.demo-bar .row{gap:5px}.demo-switch{border:1px solid transparent;background:transparent;color:#abbcab;padding:4px 11px;border-radius:6px;font-size:11px}.demo-switch.active{background:#e9cf9430;color:#f4dfb1;border-color:#e9cf9440}.demo-label{display:flex;align-items:center;gap:7px}.demo-label svg{width:14px;height:14px}.app-shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:214px minmax(0,1fr);min-height:calc(100vh - 42px)}.sidebar{padding:32px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:calc(100vh - 42px)}.brand{display:flex;align-items:center;gap:10px;margin-bottom:43px;padding:0 7px}.brand-mark{width:34px;height:39px;color:var(--gold);border:1px solid #d0ae666e;display:grid;place-items:center;border-radius:12px 3px 12px 3px;transform:rotate(-4deg);background:#edca8207}.brand-mark .icon{width:23px;height:23px}.brand-name{font-family:var(--serif);font-size:20px;letter-spacing:.1px}.brand-sub{font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:2px}.nav-label{font-size:9px;letter-spacing:2px;color:#6d8578;padding:0 13px;margin-bottom:12px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{border:1px solid transparent;background:none;padding:13px 14px;text-align:left;border-radius:11px;color:var(--muted);display:flex;align-items:center;gap:13px;font-size:13px}.nav button:hover{background:#ffffff04;color:var(--text)}.nav button.active{color:var(--gold);background:linear-gradient(90deg,#c5a66216,#c5a66206);border-color:#c5a66221}.nav button.active:before{content:'';width:3px;height:17px;background:var(--gold);border-radius:3px;margin-left:-15px;margin-right:-1px}.nav .icon{width:18px;height:18px}.nav-number{margin-left:auto;color:var(--gold);font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:40px}.lumi-mini{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:15px;background:#ffffff02}.lumi-mini img{width:36px;height:36px;object-fit:cover;border-radius:50%}.lumi-mini strong{font-size:11px;font-weight:600}.lumi-mini span{display:block;color:var(--muted);font-size:10px}.sidebar-foot{padding:5px 12px;color:#6d8578;font-size:10px;display:flex;align-items:center;gap:7px}.sidebar-foot .icon{width:13px;height:13px}.main-wrap{min-width:0;padding:0 35px 25px}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.breadcrumbs{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.breadcrumbs .icon{width:14px;height:14px}.top-resources{display:flex;gap:20px;align-items:center}.resource{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.resource .icon{width:16px;height:16px}.resource span{font-weight:400;color:var(--muted);font-size:10px}.account-divider{height:22px;width:1px;background:var(--line)}.account-name{font-size:11px}.account-name span{display:block;color:var(--muted);font-size:9px}.mobile-brand{display:none}.page-header{display:flex;align-items:center;justify-content:space-between;padding:30px 0 23px;gap:15px}.page-header h1{font-size:33px;margin:8px 0 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:23px}.content-main{min-width:0}.right-rail{display:flex;flex-direction:column;gap:20px;grid-auto-flow:dense}.main-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:29px;padding-top:16px;color:#6f877b;font-size:10px}.main-footer .icon{width:13px;height:13px}.main-footer span{display:flex;align-items:center;gap:6px}
.town-map{position:relative;min-height:420px;border-radius:19px;overflow:hidden;border:1px solid #e0cb8e30;isolation:isolate;background:#132f2b}.town-map>img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-2}.town-map:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0516141a 40%,#061b18ea);z-index:-1}.map-caption{position:absolute;left:28px;bottom:25px;max-width:380px}.map-caption h2{font-size:36px;margin:10px 0 8px;line-height:1.05;text-shadow:0 2px 10px #0006}.map-caption p{color:#c0ceba;font-size:12px;margin:0;max-width:290px}.map-chapter{position:absolute;top:22px;left:23px;display:flex;gap:7px;align-items:center;color:#f1ddac;background:#0b231dcc;backdrop-filter:blur(5px);font-size:9px;text-transform:uppercase;letter-spacing:1.2px;border:1px solid #dac08850;border-radius:7px;padding:8px 12px}.map-chapter .icon{width:14px;height:14px}.map-light{position:absolute;top:23px;right:22px;display:flex;gap:6px}.map-light i{width:8px;height:8px;border:1px solid #e3c279;border-radius:50%;background:#1e342c}.map-light i.lit{background:#ffe4a4;box-shadow:0 0 12px #e6ca86}.hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;background:none;border:0;gap:6px;padding:4px;z-index:1}.hotspot-point{display:grid;place-items:center;background:#153c31ed;box-shadow:0 0 0 5px #e1bd6b20,0 0 30px #e8cf6933;width:37px;height:37px;border:1px solid #edca8290;border-radius:50%;color:#f3d697}.hotspot-point .icon{width:18px;height:18px}.hotspot-label{font-size:10px;white-space:nowrap;padding:5px 9px;border:1px solid #f0dca84a;background:#092219e8;border-radius:5px;color:#e5d9b9;box-shadow:0 3px 8px #0003}.hotspot:hover .hotspot-point{background:#587347;box-shadow:0 0 0 8px #e1bd6b30,0 0 40px #e8cf6955}.hotspot.shop{left:81%;top:62%}.hotspot.gate{left:84%;top:25%}.hotspot.library{left:61%;top:33%}.hotspot.square{left:38%;top:53%}.quest-card{padding:22px 24px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;gap:17px;margin-top:20px;background:linear-gradient(100deg,#22372b,#172b26)}.quest-emblem{width:52px;height:59px;border:1px solid #c5a56652;background:#bd9e5410;display:grid;place-items:center;border-radius:9px;color:var(--gold);flex:none}.quest-emblem .icon{width:28px;height:28px}.quest-copy{flex:1}.quest-copy h3{font-size:22px;margin:5px 0}.quest-copy p{font-size:11px;color:var(--muted);margin:0}.quest-card .btn{white-space:nowrap}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.mini-card{border:1px solid var(--line);padding:20px;border-radius:15px;background:#ffffff02}.mini-card .eyebrow{font-size:9px}.mini-card h3{font-size:20px;margin:9px 0}.mini-card p{font-size:11px;color:var(--muted);margin-bottom:13px}.mini-card .icon-badge{width:32px;height:32px;display:grid;place-items:center;background:#bbd8b30d;border-radius:10px;color:var(--mint);margin-bottom:13px}.character-card{text-align:center;position:relative;padding:24px 19px 18px}.character-card .eyebrow{font-size:9px;letter-spacing:1.8px}.character-portrait{width:98px;height:108px;object-fit:cover;border:1px solid #d3b4737a;border-radius:30px 30px 18px 18px;margin:16px auto 13px;display:block}.character-card h3{font-size:22px;margin-bottom:5px}.character-card .class-name{font-size:11px;color:var(--muted)}.char-level{font-size:10px;display:inline-flex;border-radius:15px;border:1px solid #edca823a;color:var(--gold);padding:3px 9px;margin-bottom:15px}.char-stats{text-align:left}.stat-caption{display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px;font-size:10px;color:var(--muted)}.stat-caption strong{font-weight:500;color:#c7d4be}.character-card .btn{margin-top:18px}.pet-card{display:flex;align-items:center;gap:12px;padding:17px}.pet-card img{width:58px;height:68px;object-fit:cover;border-radius:13px;flex:none}.pet-card h3{font-size:19px;margin:4px 0 3px}.pet-card .eyebrow{font-size:8px}.pet-card p{font-size:10px;color:var(--muted);margin:0}.journal-card{padding:19px}.journal-card h3{font-family:var(--body);font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:17px}.journal-line{position:relative;padding-left:19px;margin:0 0 15px;font-size:11px;line-height:1.6;color:var(--muted)}.journal-line:before{content:'';position:absolute;left:1px;top:6px;width:5px;height:5px;border:1px solid #d1ba81;border-radius:50%}.journal-line:last-child{margin-bottom:0}.party-line{display:flex;align-items:center;gap:9px;padding:8px 0}.party-line strong{font-size:11px;font-weight:500}.party-line small{display:block;color:var(--muted);font-size:10px}.party-line .turn-label{margin-left:auto;color:var(--gold);font-size:9px}.access-banner{display:flex;align-items:center;gap:12px;border:1px solid #e1bc6836;background:#d4ac5810;border-radius:12px;padding:14px 17px;margin-bottom:20px;color:#dcc79e;font-size:12px}.access-banner .icon{flex:none}.access-banner .text-button{margin-left:auto;white-space:nowrap}.session-info{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:8px}.session-info .icon{width:15px;height:15px}.mobile-nav{display:none}
.create-wrap{min-height:100vh;background:radial-gradient(ellipse at 75% 20%,#214239,#0d1c1b 70%);padding:35px 5vw 30px}.create-top{display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:auto}.create-top .brand{margin:0}.create-content{display:grid;grid-template-columns:.85fr 1.4fr;gap:55px;max-width:1260px;margin:58px auto 30px;align-items:center}.create-intro{position:relative}.create-intro h1{font-size:57px;line-height:1.05;margin:19px 0}.create-intro>p{color:#a8b8a5;font-size:14px;max-width:350px;line-height:1.8}.intro-art{height:210px;border-radius:22px;overflow:hidden;position:relative;margin-top:30px;max-width:390px;border:1px solid var(--line)}.intro-art img{width:100%;height:100%;object-fit:cover}.intro-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0b1d17af)}.intro-lumi{position:absolute;left:15px;bottom:14px;display:flex;align-items:center;gap:10px;z-index:1;color:#f0e8ce;font-size:11px}.intro-lumi img{width:36px;height:36px;border-radius:50%;object-fit:cover}.hero-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.hero-choice{border:1px solid #b9d0b526;background:#172e27;position:relative;border-radius:16px;overflow:hidden;text-align:left;padding:0;transition:transform .2s,border .2s}.hero-choice:hover{transform:translateY(-3px);border-color:#e8c98585}.hero-choice.selected{border-color:var(--gold);box-shadow:0 0 0 2px #e8c98520}.hero-choice img{width:100%;height:175px;object-fit:cover;object-position:center top;display:block;mask-image:linear-gradient(#000 65%,transparent)}.hero-choice .hero-choice-copy{padding:0 17px 15px;margin-top:-5px;position:relative}.hero-choice h3{font-size:22px;margin:0 0 3px}.hero-choice p{font-size:10px;color:var(--muted);margin:0}.choice-check{position:absolute;top:11px;right:11px;background:#102b25d9;border:1px solid #ffffff50;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--gold)}.choice-check svg{width:13px;height:13px}.hero-choice.selected .choice-check{background:var(--gold);color:#243c2d;border-color:var(--gold)}.create-form{margin-top:21px;padding-top:18px;border-top:1px solid var(--line)}.create-form label{font-size:11px;color:var(--muted);display:block;margin-bottom:8px}.create-form .row{align-items:stretch}.field{border:1px solid #bfd5b52b;background:#0d211b;border-radius:10px;padding:12px 14px;color:var(--text);width:100%;font-size:13px}.field:focus{border-color:#dcc48790;outline:0;box-shadow:0 0 0 3px #dcc48714}.create-form .btn{white-space:nowrap;min-width:165px}.class-description{margin-top:13px;color:#bccab5;font-size:11px;min-height:34px;line-height:1.6}.create-foot{font-size:10px;color:#758e7d;text-align:center;margin-top:25px}
.shop-intro{border:1px solid var(--line);background:linear-gradient(100deg,#254b3bd9,#142823cc),url('assets/town.png') center 60%/cover;border-radius:18px;padding:29px;position:relative;overflow:hidden}.shop-intro h2{font-size:33px;margin:10px 0}.shop-intro p{max-width:410px;color:#b8cbb7;font-size:13px;margin:0;line-height:1.7}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:21px}.item-card{padding:23px 18px;background:linear-gradient(#21392e,#142921);border:1px solid var(--line);border-radius:16px;text-align:center}.item-illustration{width:77px;height:88px;display:grid;place-items:center;border-radius:25px;background:radial-gradient(#a2e4be26,transparent 70%);margin:0 auto 12px;color:#a7d9b8}.item-illustration .icon{width:52px;height:52px;stroke-width:1}.item-card:nth-child(2) .item-illustration{color:#e2c387;background:radial-gradient(#e1c38122,transparent 70%)}.item-card:nth-child(3) .item-illustration{color:#b6afdf;background:radial-gradient(#b6afdf22,transparent 70%)}.item-card h3{font-size:19px;margin-bottom:9px}.item-card p{color:var(--muted);font-size:11px;min-height:50px;line-height:1.7}.item-card .btn{width:100%;margin-top:9px}.bag-count{font-size:10px;color:var(--muted);margin:12px 0 0}.wide-hero{display:flex;gap:26px;align-items:center}.wide-hero>img{width:190px;height:220px;object-fit:cover;border-radius:20px;border:1px solid #edca8244}.wide-hero h2{font-size:36px;margin:8px 0}.wide-hero .character-subtitle{color:var(--muted);font-size:13px}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.hero-metric{border:1px solid var(--line);border-radius:12px;padding:17px;background:#ffffff03}.hero-metric span{display:block;font-size:10px;color:var(--muted)}.hero-metric strong{font-family:var(--serif);font-weight:400;font-size:27px;display:block;margin-top:6px}.skill-panel{margin-top:20px;display:flex;align-items:center;gap:17px}.skill-panel .icon{width:33px;height:33px;color:var(--gold);flex:none}.skill-panel h3{margin:4px 0 8px}.skill-panel p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.floor-list{display:flex;flex-direction:column;gap:14px}.floor-card{display:flex;align-items:center;gap:17px;padding:21px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(100deg,#223a2f,#172d26)}.floor-number{font-family:var(--serif);font-size:35px;color:#e5c983;min-width:43px;text-align:center}.floor-card.locked{opacity:.55}.floor-card h3{margin:5px 0;font-size:23px}.floor-card p{color:var(--muted);font-size:11px;margin:0;line-height:1.6}.floor-card .floor-copy{flex:1}.floor-card .btn{flex:none}.route-header{border:1px solid var(--line);border-radius:17px;min-height:190px;background:linear-gradient(90deg,#102a23ee,#102a2377),url('assets/dungeon.png') center 50%/cover;padding:29px;margin-bottom:20px}.route-header h2{font-size:33px;margin:10px 0}.route-header p{font-size:12px;color:#bfd1ba;max-width:420px}.route-list{display:flex;flex-direction:column;gap:12px}.room-row{display:flex;align-items:center;gap:17px;background:#ffffff03;border:1px solid var(--line);padding:19px 21px;border-radius:14px}.room-row.current{border-color:#e2be6660;background:#b9944510}.room-row.done{opacity:.6}.room-icon{width:44px;height:44px;border-radius:12px;background:#b3caa20c;border:1px solid #b3caa21a;display:grid;place-items:center;color:var(--gold);flex:none}.room-row h3{font-size:19px;margin:0 0 5px}.room-row p{font-size:10px;color:var(--muted);margin:0}.room-row .room-copy{flex:1}.room-status{font-size:11px;color:var(--muted)}.result-note{margin:0 0 20px;border:1px solid #9bd1b43a;background:#9bd1b409;padding:16px 20px;border-radius:13px;font-size:12px;line-height:1.8;color:#c6d7bd}.result-note .eyebrow{color:var(--mint);margin-bottom:6px}.encounter-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.encounter-art{min-height:460px;border:1px solid #d2ba7738;border-radius:19px;position:relative;overflow:hidden;background:#15352c}.encounter-art>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.encounter-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#061a1633 40%,#061a16ef)}.enemy-caption{position:absolute;z-index:1;bottom:23px;left:22px;right:22px}.enemy-caption h2{font-size:29px;margin:10px 0 13px}.enemy-caption .enemy-hp{font-size:11px;display:flex;justify-content:space-between;color:#e3c99d;margin-bottom:8px}.enemy-caption p{font-size:11px;color:#bfccb5;line-height:1.6;margin-bottom:15px}.enemy-badge{position:absolute;top:17px;left:17px;z-index:1}.question-panel{padding:25px;min-height:460px}.question-panel h2{font-size:25px;margin:14px 0 17px}.question-text{font-size:17px;line-height:1.65;margin-bottom:20px;color:#edeedf}.passage{font-size:14px;line-height:1.8;color:#ccdac7;border-left:2px solid #e0bd7255;padding:0 0 0 15px;margin:13px 0 20px}.answer-list{display:flex;flex-direction:column;gap:10px}.answer{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #b7ccb52b;background:#0d211b80;border-radius:11px;padding:13px;color:#dae4cf;min-height:50px;font-size:14px}.answer:hover:not(:disabled){border-color:#e1c37a8c;background:#d3b86c12}.answer-letter{font-size:11px;width:26px;height:26px;border:1px solid #b8d1b12a;background:#ffffff04;border-radius:7px;display:grid;place-items:center;color:#b0c2a4;flex:none}.question-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.hint-box{border:1px solid #e6c57a2d;background:#d9b3580b;border-radius:11px;padding:13px 16px;color:#d6c7a0;font-size:12px;line-height:1.7;margin-top:17px}.turn-card{display:flex;align-items:center;gap:11px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.turn-card strong{color:#dedfcb;font-weight:600}.victory{position:relative;overflow:hidden;text-align:center;padding:54px 35px;border:1px solid #e4c47d55;border-radius:22px;background:linear-gradient(#142f25b8,#10261fee),url('assets/town.png') center/cover}.victory .victory-icon{display:grid;place-items:center;width:85px;height:85px;border:1px solid #e4c47d75;border-radius:50%;margin:0 auto 25px;box-shadow:0 0 55px #dcb56522;color:var(--gold);background:#e9c78713}.victory-icon .icon{width:40px;height:40px}.victory h1{font-size:43px;margin:14px 0}.victory p{max-width:410px;color:#c0d0b8;font-size:13px;margin:0 auto 24px;line-height:1.8}.reward-pills{display:flex;justify-content:center;gap:12px;margin:24px 0}.reward-pills span{border:1px solid #edca8240;background:#ebc57512;padding:12px 18px;border-radius:10px;color:#f0d69b;font-size:12px;display:flex;gap:7px;align-items:center}.notice-box{padding:19px 22px;border:1px solid var(--line);border-radius:13px;background:#ffffff03;color:var(--muted);font-size:12px;line-height:1.8}.adult-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.adult-grid .panel h3{font-size:22px}.approval-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.approval-row:last-child{border:0}.approval-row .grow{flex:1}.approval-row strong{font-size:13px;font-weight:500}.approval-row small{display:block;font-size:10px;color:var(--muted)}.check-row{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:13px}.check-row input{accent-color:var(--gold);width:16px;height:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.form-grid label{font-size:11px;color:var(--muted)}.form-grid .field{margin-top:7px}.session-metrics{display:flex;gap:20px;padding:14px 0;flex-wrap:wrap}.session-metrics strong{font-size:25px;font-family:var(--serif);font-weight:400;display:block;color:var(--gold)}.session-metrics span{font-size:10px;color:var(--muted)}.controls-row{display:flex;gap:9px;flex-wrap:wrap}.report-list{margin-top:20px}.report-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);gap:10px}.report-row strong{font-size:12px;font-weight:500}.report-row p{font-size:11px;color:var(--muted);margin:4px 0 0}.skills-table{width:100%;border-collapse:collapse;font-size:11px}.skills-table th{text-align:left;font-weight:400;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}.skills-table td{padding:12px 8px;border-bottom:1px solid var(--line)}.offline-bar{background:#6b4032;border:1px solid #d1aa70;padding:12px;text-align:center;font-size:12px}.modal-overlay{position:fixed;inset:0;background:#02120ed9;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{width:100%;max-width:520px;max-height:90vh;overflow:auto;background:#172f26;border:1px solid #d4bd7a4a;border-radius:22px;padding:27px;box-shadow:0 30px 100px #0007}.modal h2{font-size:30px;margin:9px 0 15px}.modal .modal-close{float:right}.modal p{color:#b9cbb3;font-size:13px;line-height:1.85}.modal .inventory-row{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:17px 0}.modal .inventory-row .icon{color:var(--gold);width:30px;height:30px}.modal .inventory-row h3{font-size:19px;margin:0 0 4px}.modal .inventory-row p{font-size:11px;margin:0}.modal .inventory-row .grow{flex:1}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#233e30;border:1px solid #e0c17b66;color:#f1e5c5;border-radius:13px;padding:15px 23px;max-width:min(90vw,650px);z-index:100;font-size:13px;box-shadow:0 10px 40px #0007;opacity:0;pointer-events:none;transition:.2s}#toast.show{transform:translate(-50%,0);opacity:1}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1500px){.town-map{min-height:480px}.main-wrap{padding-left:44px;padding-right:44px}.content-grid{gap:27px;grid-template-columns:minmax(0,1fr) 278px}.character-card{padding:28px}.town-map .map-caption h2{font-size:44px}}
@media(max-width:1150px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:28px 12px}.brand-name{font-size:18px}.brand-sub{font-size:7px}.main-wrap{padding-left:23px;padding-right:23px}.content-grid{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.town-map{min-height:390px}.map-caption h2{font-size:31px}.quest-card{padding:18px;gap:12px}.quest-card .quest-emblem{display:none}.quest-copy h3{font-size:20px}.quest-card .btn{padding:10px;font-size:11px}.panel{padding:18px}.encounter-grid{grid-template-columns:1fr}.encounter-art{min-height:260px;max-height:300px}.encounter-art>img{object-position:center 42%}.question-panel{min-height:0}.shop-grid{grid-template-columns:1fr}.item-card{display:grid;grid-template-columns:60px 1fr 100px;text-align:left;gap:10px;align-items:center}.item-illustration{grid-row:span 2;width:55px;height:55px;margin:0}.item-illustration .icon{width:38px;height:38px}.item-card h3{margin:0;font-size:18px}.item-card p{grid-column:2;min-height:0;margin:0;font-size:10px}.item-card .btn{grid-column:3;grid-row:1/3;margin:0}.bag-count{display:none}.create-content{gap:35px}.create-intro h1{font-size:47px}.wide-hero{gap:19px}.wide-hero>img{width:130px;height:170px}.wide-hero h2{font-size:28px}}
@media(max-width:900px){.content-grid{grid-template-columns:minmax(0,1fr)}.right-rail{display:grid;grid-template-columns:1fr 1fr;gap:16px}.character-card{display:none}.pet-card{min-height:100px}.right-rail .journal-card{grid-column:span 1}.right-rail .party-panel{grid-column:span 1}.create-content{grid-template-columns:1fr;max-width:650px;margin-top:35px;gap:25px}.create-intro h1{font-size:44px;max-width:500px;margin:13px 0}.create-intro>p{max-width:500px}.intro-art{display:none}.hero-choice img{height:185px}.adult-grid{grid-template-columns:1fr}.top-resources{gap:14px}.account-name{display:none}.town-map{min-height:420px}}
@media(max-width:640px){body{font-size:14px}.demo-bar{padding:7px 9px;gap:7px;flex-wrap:wrap;font-size:10px;min-height:46px}.demo-label{font-size:9px}.demo-switch{padding:5px 9px;font-size:10px}.demo-bar .row{gap:1px}.app-shell{display:block;min-height:calc(100vh - 46px)}.sidebar{display:none}.main-wrap{padding:0 16px 95px}.topbar{height:69px}.breadcrumbs{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:19px}.mobile-brand .icon{width:22px;height:22px;color:var(--gold)}.top-resources{gap:11px}.top-resources .account-divider,.top-resources .avatar{display:none}.resource{font-size:12px;gap:4px}.resource span{display:none}.page-header{padding:23px 0 18px;align-items:flex-end}.page-header h1{font-size:29px}.eyebrow{font-size:9px;letter-spacing:1.9px}.page-header .tag{font-size:9px;padding:5px 8px}.content-grid{gap:18px}.town-map{min-height:380px;border-radius:15px}.town-map>img{object-position:58% center}.map-caption{left:20px;bottom:20px;max-width:250px}.map-caption h2{font-size:34px;margin-bottom:10px}.map-caption p{font-size:11px;max-width:240px}.map-chapter{left:15px;top:16px;font-size:8px;padding:6px 9px}.map-light{right:15px;top:20px}.hotspot-point{width:31px;height:31px}.hotspot-point .icon{width:15px;height:15px}.hotspot-label{font-size:9px;padding:4px 7px}.hotspot.shop{left:79%;top:60%}.hotspot.gate{left:82%;top:28%}.hotspot.library{left:52%;top:39%}.hotspot.square{left:20%;top:31%}.quest-card{display:block;padding:20px}.quest-copy h3{font-size:23px;margin:7px 0}.quest-card .btn{margin-top:17px;width:100%;padding:12px;font-size:13px}.lower-grid{gap:12px;margin-top:16px}.mini-card{padding:16px}.mini-card h3{font-size:19px}.mini-card p{font-size:10px}.mini-card .eyebrow{font-size:8px}.right-rail{gap:12px}.pet-card{padding:15px;gap:9px}.pet-card img{width:44px;height:55px}.pet-card h3{font-size:17px}.pet-card p{font-size:9px}.journal-card{padding:15px}.journal-card h3{font-size:11px;margin-bottom:12px}.journal-line{font-size:10px;margin-bottom:9px}.party-panel{grid-column:span 2!important;padding:17px}.party-panel .party-body{display:flex;gap:17px;flex-wrap:wrap}.party-line{padding:3px 0}.party-line .turn-label{margin-left:3px;font-size:8px}.main-footer{font-size:9px;margin-top:20px;gap:10px}.main-footer span:last-child{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#10251ff5;backdrop-filter:blur(15px);border-top:1px solid #c3d1a826;display:flex;justify-content:space-around;z-index:20;padding:9px 6px calc(9px + env(safe-area-inset-bottom));gap:2px}.mobile-nav button{border:0;background:transparent;color:#8fa58f;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 8px;border-radius:9px}.mobile-nav button.active{color:var(--gold);background:#d2b6760d}.mobile-nav .icon{width:21px;height:21px}.access-banner{padding:12px;font-size:10px;gap:9px}.access-banner .text-button{font-size:10px}.create-wrap{padding:23px 17px}.create-top .brand{padding:0}.create-top .tag{font-size:9px}.create-content{margin-top:30px;gap:23px}.create-intro h1{font-size:40px}.create-intro>p{font-size:12px;margin:0;line-height:1.8}.hero-choice-grid{gap:10px}.hero-choice img{height:155px}.hero-choice .hero-choice-copy{padding:0 13px 13px}.hero-choice h3{font-size:21px}.hero-choice p{font-size:9px}.create-form .row{flex-direction:column;gap:10px}.create-form .btn{padding:13px}.create-foot{font-size:9px;margin:20px 0}.panel{padding:20px}.shop-intro{padding:23px}.shop-intro h2{font-size:30px}.shop-intro p{font-size:12px}.shop-grid{gap:12px}.item-card{padding:18px 14px;grid-template-columns:45px 1fr 85px}.item-illustration{width:40px;height:50px}.item-illustration .icon{width:33px;height:33px}.item-card h3{font-size:17px}.item-card .btn{font-size:11px;padding:10px 8px}.wide-hero{gap:17px}.wide-hero>img{width:105px;height:145px}.wide-hero h2{font-size:27px}.wide-hero .character-subtitle{font-size:10px}.hero-metrics{gap:8px}.hero-metric{padding:13px 11px}.hero-metric strong{font-size:23px}.hero-metric span{font-size:9px}.skill-panel{padding:19px}.floor-card{gap:12px;padding:18px 15px;flex-wrap:wrap}.floor-number{font-size:31px;min-width:30px}.floor-card .floor-copy{min-width:190px}.floor-card .btn{margin-left:43px}.floor-card h3{font-size:22px}.route-header{padding:24px;min-height:190px}.route-header h2{font-size:30px}.room-row{padding:16px 13px;gap:11px}.room-icon{width:36px;height:36px;border-radius:10px}.room-icon .icon{width:18px;height:18px}.room-row h3{font-size:17px}.room-row p{font-size:9px}.room-row .btn{font-size:10px;padding:9px}.encounter-grid{gap:16px}.encounter-art{min-height:270px;max-height:300px}.enemy-caption{left:20px;bottom:19px;right:20px}.enemy-caption h2{font-size:29px}.question-panel{padding:21px 18px}.question-panel h2{font-size:24px}.question-text{font-size:17px}.passage{font-size:14px}.answer{font-size:14px;padding:12px}.question-actions .btn{font-size:11px;padding:10px}.question-actions .icon{width:15px;height:15px}.turn-card{font-size:10px}.result-note{font-size:12px}.victory{padding:37px 22px}.victory h1{font-size:36px}.reward-pills{gap:8px}.reward-pills span{padding:10px;font-size:11px}.form-grid{gap:12px}.modal{padding:23px}.modal-overlay{padding:13px}.modal h2{font-size:28px}#toast{bottom:90px;font-size:12px;padding:13px 18px}.session-info{font-size:10px}}
