:root{
  --bg:#060807;--soft:#0d1813;--panel:rgba(10,18,15,.95);--panel2:rgba(5,10,8,.62);
  --border:rgba(132,255,178,.24);--text:#eaffef;--muted:#93b7a3;--accent:#7dffad;
  --gold:#ffd369;--red:#ff6b6b;--shadow:rgba(0,0,0,.42);
  --deep:#070908;--emerald:#67f2a0;--old-gold:#d7b35b;--paper:#f1ead1;--glass:rgba(5,12,9,.72);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;min-height:100vh;color:var(--text);font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;background:radial-gradient(circle at 20% 0%,rgba(125,255,173,.12),transparent 28%),radial-gradient(circle at 85% 20%,rgba(255,211,105,.08),transparent 24%),linear-gradient(180deg,var(--soft),var(--bg));overflow-x:hidden;font-size:16px}
button,input,textarea{font:inherit}.shell{width:min(1320px,96vw);margin:18px auto;display:flex;flex-direction:column;gap:14px}.panel,.topbar,.title-card{border:1px solid var(--border);background:linear-gradient(180deg,rgba(16,30,24,.96),rgba(6,10,9,.94));box-shadow:0 18px 50px var(--shadow),inset 0 0 35px rgba(125,255,173,.035);border-radius:18px}.panel{padding:16px}.topbar{padding:14px 18px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;align-items:center}.brand h1{margin:0;color:var(--accent);font-size:clamp(2rem,5vw,4.5rem);line-height:.88;letter-spacing:.16em;text-shadow:0 0 18px rgba(125,255,173,.35)}.brand .sub{margin-top:7px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.8fr);gap:14px}.panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(132,255,178,.13)}.panel-head h2,.panel-head h3{margin:0;color:var(--accent)}.panel-head p{margin:4px 0 0;color:var(--muted)}.meta-grid,.stat-grid,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.box,.stat,.card,.quest,.shop,.npc-card,.event-card,.setting-card{background:var(--panel2);border:1px solid rgba(132,255,178,.14);border-radius:14px;padding:12px}.label{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;margin-bottom:5px}.value,.gold{color:var(--gold);font-weight:800}.muted{color:var(--muted)}.red{color:var(--red)}.num{font-weight:900}.bar{height:9px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin-top:8px;border:1px solid rgba(255,255,255,.07)}.bar>span{display:block;height:100%;background:linear-gradient(90deg,#46c77a,#7dffad);border-radius:inherit}.bar.red>span{background:linear-gradient(90deg,#b52424,#ff6b6b)}.stack{display:flex;flex-direction:column;gap:14px}.log{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}.log-entry{background:rgba(255,255,255,.035);border-left:3px solid rgba(125,255,173,.44);border-radius:10px;padding:10px 12px;color:#d9f1e2;line-height:1.35}.log-entry.story{border-left-color:var(--gold);color:#fff0c2}.log-entry.danger{border-left-color:var(--red);color:#ffd3d3}.text{color:#e7f5ec;line-height:1.65;font-size:1.02rem;white-space:pre-wrap}.ascii{font-family:Consolas,"Courier New",monospace;color:var(--accent);background:rgba(0,0,0,.25);border:1px solid rgba(125,255,173,.18);border-radius:14px;padding:14px;margin-bottom:14px;overflow:auto;line-height:1.15;text-shadow:0 0 10px rgba(125,255,173,.22)}.list{display:grid;gap:10px}.card,.shop,.npc-card,.event-card,.setting-card{width:100%;text-align:left;color:var(--text);cursor:pointer;transition:.16s ease}.card h3,.shop h3,.npc-card h3,.event-card h3,.quest h3,.setting-card h3{margin:0 0 6px;color:var(--gold)}.card p,.shop p,.npc-card p,.event-card p,.quest p,.setting-card p{margin:0;color:var(--muted);line-height:1.4}.locked{opacity:.52;cursor:not-allowed}.btn{border:1px solid rgba(132,255,178,.28);background:linear-gradient(180deg,rgba(31,54,44,.96),rgba(10,18,15,.96));color:var(--text);min-height:48px;border-radius:12px;padding:12px 15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:.16s ease}.btn:hover,.card:hover,.shop:hover,.npc-card:hover,.event-card:hover,.setting-card:hover{transform:translateY(-2px);border-color:rgba(255,211,105,.55);box-shadow:0 0 22px rgba(255,211,105,.11),0 14px 24px rgba(0,0,0,.2)}.btn.primary{border-color:rgba(255,211,105,.46);color:#231a04;background:linear-gradient(180deg,#ffe29a,#d69f32);font-weight:900}.btn.danger{border-color:rgba(255,107,107,.5);color:var(--red);background:rgba(45,9,9,.6)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.title-wrap{min-height:100svh;display:grid;place-items:center;padding:18px}.title-card{width:min(1000px,100%);padding:clamp(24px,5vw,56px)}.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.25em;margin:18px 0 8px}.game-title{margin:0;color:var(--accent);font-size:clamp(3.2rem,13vw,9.5rem);letter-spacing:.18em;line-height:.85;text-shadow:0 0 24px rgba(125,255,173,.42),0 6px 0 rgba(0,0,0,.35)}.title-lore{max-width:780px;color:#d7efe0;font-size:1.05rem;line-height:1.7;margin:18px 0 26px}input,textarea{background:rgba(0,0,0,.5);color:var(--text);border:1px solid rgba(132,255,178,.28);border-radius:12px;padding:14px;min-width:min(330px,100%);outline:none}.tag{display:inline-block;border:1px solid rgba(132,255,178,.22);border-radius:999px;padding:3px 8px;color:var(--accent);font-size:.78rem;margin-right:6px;margin-top:6px}.small{font-size:.9rem;color:var(--muted)}

/* v0.6.2 Presentation Foundation */
.scene{position:relative;min-height:100svh;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#101713,#050706)}.scene:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 55% 18%,rgba(126,255,159,.22),transparent 20%),radial-gradient(circle at 15% 82%,rgba(214,179,91,.12),transparent 28%),linear-gradient(180deg,#122019,#060807)}.scene:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.1),rgba(0,0,0,.72)),radial-gradient(circle at center,transparent 0 38%,rgba(0,0,0,.72) 100%)}.scene-title:before{background:radial-gradient(circle at 50% 18%,rgba(126,255,159,.28),transparent 20%),linear-gradient(115deg,rgba(4,10,8,.92),rgba(10,28,19,.76)),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 38px)}.scene-ashmere:before{background:radial-gradient(circle at 30% 16%,rgba(255,211,105,.13),transparent 18%),radial-gradient(circle at 70% 22%,rgba(126,255,159,.18),transparent 21%),linear-gradient(180deg,#132019,#050706)}.scene-inner{width:min(1380px,96vw);margin:0 auto;min-height:100svh;padding:clamp(18px,3vw,44px);display:grid;gap:18px;align-content:center}.ornate-panel{position:relative;border:1px solid rgba(214,179,91,.42);background:linear-gradient(180deg,rgba(19,32,25,.88),rgba(5,10,8,.88));box-shadow:0 24px 80px rgba(0,0,0,.55),inset 0 0 46px rgba(126,255,159,.045);border-radius:22px;padding:clamp(18px,3vw,38px);backdrop-filter:blur(9px)}.ornate-panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(126,255,159,.12);border-radius:16px;pointer-events:none}.hero-panel{text-align:center;width:min(980px,100%);margin:0 auto}.hero-kicker{color:var(--old-gold);letter-spacing:.34em;text-transform:uppercase;font-size:.78rem;margin-bottom:12px}.hero-title{margin:0;color:var(--old-gold);font-size:clamp(4rem,14vw,10rem);line-height:.82;letter-spacing:.13em;text-shadow:0 0 20px rgba(255,211,105,.24),0 0 44px rgba(126,255,159,.2),0 8px 0 rgba(0,0,0,.45)}.hero-subtitle{margin:12px 0 0;color:var(--emerald);font-size:clamp(1.2rem,3vw,2rem);letter-spacing:.26em;text-transform:uppercase}.hero-lore{max-width:760px;margin:24px auto;color:var(--paper);font-size:1.08rem;line-height:1.75}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.action-grid.single{grid-template-columns:1fr}.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.visual-btn{min-height:56px;border-radius:14px;font-weight:900;letter-spacing:.03em}.lore-strip{margin-top:18px;color:var(--muted);font-style:italic}.ashmere-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:18px;align-items:start}.location-banner{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(214,179,91,.25)}.location-banner h1{margin:0;color:var(--old-gold);font-size:clamp(2.5rem,6vw,6rem);line-height:.86;letter-spacing:.14em;text-shadow:0 0 20px rgba(255,211,105,.18)}.location-banner p{margin:6px 0 0;color:var(--emerald);text-transform:uppercase;letter-spacing:.18em}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hub-card{position:relative;width:100%;text-align:left;border:1px solid rgba(214,179,91,.32);background:linear-gradient(180deg,rgba(16,30,24,.9),rgba(6,10,9,.9));border-radius:16px;padding:16px 16px 16px 58px;color:var(--text);cursor:pointer;min-height:96px;transition:.16s ease}.hub-card:hover{transform:translateY(-2px);border-color:rgba(255,211,105,.62);box-shadow:0 0 26px rgba(126,255,159,.12),0 18px 34px rgba(0,0,0,.28)}.hub-card .icon{position:absolute;left:16px;top:16px;font-size:1.7rem}.hub-card h3{margin:0 0 6px;color:var(--old-gold);font-size:1.08rem}.hub-card p{margin:0;color:var(--muted);line-height:1.45}.side-panel{display:grid;gap:12px}.hud-card{border:1px solid rgba(132,255,178,.16);background:rgba(0,0,0,.28);border-radius:16px;padding:16px}.hud-card h3{margin:0 0 10px;color:var(--old-gold)}.objective-list{margin:0;padding-left:18px;color:var(--paper);line-height:1.55}.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px}.mini-stat span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.mini-stat strong{color:var(--paper)}

body.a11y-large-text{font-size:19px}body.a11y-bold-text{font-weight:700}body.a11y-high-contrast{--bg:#000;--soft:#000;--panel:#000;--panel2:#08120d;--text:#fff;--muted:#d3ffe0;--accent:#9dffbf;--gold:#ffe08a;--border:rgba(157,255,191,.55)}body.a11y-reduced-motion *{transition:none!important;scroll-behavior:auto!important}body.a11y-reduced-motion .btn:hover,body.a11y-reduced-motion .card:hover,body.a11y-reduced-motion .shop:hover,body.a11y-reduced-motion .npc-card:hover,body.a11y-reduced-motion .event-card:hover,body.a11y-reduced-motion .setting-card:hover,body.a11y-reduced-motion .hub-card:hover{transform:none!important}body.a11y-simple-ascii .ascii{display:none}body.a11y-spacious .card,body.a11y-spacious .shop,body.a11y-spacious .npc-card,body.a11y-spacious .event-card,body.a11y-spacious .setting-card,body.a11y-spacious .panel,body.a11y-spacious .ornate-panel{padding:22px}body.a11y-readable-font{font-family:Verdana,Arial,system-ui,sans-serif}
@media(max-width:980px){.topbar,.layout,.ashmere-wrap{grid-template-columns:1fr}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-grid{grid-template-columns:1fr}.hub-grid{grid-template-columns:1fr}}
@media(max-width:720px){.shell{width:100%;margin:0;padding:8px 8px calc(84px + env(safe-area-inset-bottom));gap:8px}.topbar{position:sticky;top:0;z-index:10;padding:10px;border-radius:0 0 14px 14px;grid-template-columns:1fr;background:rgba(6,10,9,.96)}.brand h1{font-size:2rem;letter-spacing:.10em}.brand .sub{font-size:.68rem}.grid,.stat-grid,.action-grid{grid-template-columns:1fr}.ascii{font-size:clamp(.58rem,2.45vw,.8rem);padding:10px;max-height:150px;white-space:pre}.title-wrap{padding:8px;align-items:start}.title-card{padding:18px}.actions{flex-direction:column;align-items:stretch;position:sticky;bottom:0;z-index:9;background:linear-gradient(180deg,rgba(6,8,7,0),rgba(6,8,7,.96) 22%);padding:12px 0 calc(8px + env(safe-area-inset-bottom))}.btn{width:100%;min-height:52px}.stack .panel:not(:first-child){display:none}.scene-inner{width:100%;padding:10px;align-content:start}.ornate-panel{padding:18px;border-radius:18px}.hero-title{letter-spacing:.08em}.hero-subtitle{letter-spacing:.14em}.location-banner{display:block}.hub-card{min-height:86px}.mini-stats{grid-template-columns:1fr}}