@font-face{font-family:EscapeSerif;src:local('Iowan Old Style'),local('Palatino');font-display:swap}
:root{color-scheme:dark;--bg:#101b16;--surface:#1a2b22;--surface-2:#22382c;--text:#f6f1e5;--muted:#b9c6bc;--line:#365143;--gold:#e6c282;--danger:#ffb4a5;--radius:20px;font:16px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:radial-gradient(ellipse at 10% 0,#263c2e55,transparent 55%),var(--bg);min-height:100dvh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:EscapeSerif,Georgia,serif;font-weight:400;text-wrap:balance}h1{font-size:clamp(34px,5vw,55px);line-height:1.08;letter-spacing:-1.5px;margin-bottom:16px}h2{font-size:30px;line-height:1.2;margin-bottom:12px}h3{font-size:23px;line-height:1.25;margin-bottom:10px}p{margin-bottom:18px}strong{font-weight:600}svg{flex-shrink:0}img{display:block;max-width:100%}button svg{width:21px;height:21px}.app-shell{max-width:1056px;margin:0 auto;padding:0 36px 118px}.app-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #36514366;margin-bottom:38px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:13px;letter-spacing:3px;line-height:1.4}.brand strong{display:block;font-size:10px;letter-spacing:4.6px;font-weight:400}.brand-mark{display:grid;place-items:center;width:39px;height:46px;border:1px solid #e6c2828c;border-radius:24px 24px 3px 3px;color:var(--gold);font:27px/1 Georgia}.header-right{display:flex;align-items:center;gap:20px}.version-label,.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:600;text-transform:uppercase}.version-label{color:#94a99b}.eyebrow{display:block;color:var(--gold);margin-bottom:12px}.icon-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:20px}.muted{color:var(--muted)}.intro{color:var(--muted);font-size:17px;max-width:580px}.small{font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 22px;background:var(--gold);border:1px solid transparent;color:#232b20;font-weight:600;text-decoration:none;border-radius:12px;line-height:1.4;transition:background .15s,transform .15s}.button:hover{background:#efcf96}.button:active{transform:translateY(1px)}.button.secondary{background:var(--surface-2);border-color:var(--line);color:var(--text)}.button.secondary:hover{background:#2e4838}.button.ghost{background:transparent;color:var(--text);border-color:var(--line)}.button.ghost:hover{background:var(--surface)}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.field{display:grid;gap:7px;margin-bottom:18px}.field label,label.field{font-size:14px;color:var(--muted)}.input{min-height:49px;max-width:100%;width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:16px}textarea.input{min-height:95px;resize:vertical}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.chip,.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;padding:7px 10px;background:#0a130e66;border:1px solid #f4ebd222;border-radius:8px}.back-button{background:none;border:0;padding:8px 0;min-height:44px;color:var(--muted);display:inline-flex;align-items:center;gap:8px;text-decoration:none;margin-bottom:16px}.screen-heading{margin-bottom:28px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:24px 0 14px}.section-heading h2,.section-heading h3{margin:0}.notice{padding:15px 18px;border-radius:12px;border:1px solid var(--line);background:#e6c2820a;color:var(--muted);font-size:14px;margin:16px 0}.success{color:#b8e2be}.error{color:var(--danger)}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);z-index:100;background:var(--gold);color:var(--bg);padding:10px}.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus{transform:none}
.home-greeting{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:34px}.home-greeting h1{margin-bottom:14px}.home-greeting .intro{margin:0}.home-seal{flex-shrink:0;width:82px;height:82px;border:1px solid #e6c2824d;border-radius:50%;display:grid;place-content:center;text-align:center;font:15px/1.25 Georgia;color:#e6c282ab;transform:rotate(-10deg)}.home-seal span{font:9px/1.7 sans-serif;letter-spacing:1px}.mode-grid{display:grid;grid-template-columns:1.22fr 1fr;gap:24px;align-items:stretch}.adventure-card{border-radius:23px;overflow:hidden;background:#1c3528;border:1px solid #466b51;position:relative;display:flex;flex-direction:column}.cover-art{height:247px;width:100%;object-fit:cover;border-bottom:1px solid #7b986329;background:#192c27}.adventure-card-body{padding:27px;position:relative;flex:1;display:flex;flex-direction:column}.adventure-card-body h2{font-size:34px;margin:4px 0 12px;letter-spacing:-.6px}.adventure-card-body p{color:#c3d3c7;max-width:390px}.adventure-card .button{width:100%;margin-top:auto}.mode-kicker{display:flex;justify-content:space-between;align-items:center;gap:12px}.mode-kicker .eyebrow{margin:0}.mode-kicker .pill{color:#e2eedd;font-size:10px;letter-spacing:.8px;text-transform:uppercase;background:#314e3966}.companion-card{display:flex;flex-direction:column;border-radius:23px;border:1px solid var(--line);padding:29px;background:linear-gradient(135deg,#21392b,#16271e)}.companion-card h2{font-size:35px;letter-spacing:-.5px}.companion-art{height:169px;display:grid;place-items:center;position:relative;margin:0 0 22px}.companion-dial{width:141px;height:141px;border:1px solid #c4aa7655;border-radius:50%;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 13px #c4aa7608;position:relative}.companion-dial:before{content:'';position:absolute;width:13px;height:5px;border:1px solid #b19b7044;top:-9px;left:63px;border-radius:2px}.companion-dial b{font:38px/1.2 Georgia;color:#dfd7bd;font-weight:400}.companion-dial span{font-size:8px;letter-spacing:2px;color:#a9bca9;margin-top:6px}.sound-strokes{position:absolute;right:9px;bottom:3px;display:flex;gap:4px;align-items:center;opacity:.6}.sound-strokes i{width:3px;background:#cdbf89;border-radius:2px;height:20px}.sound-strokes i:nth-child(2n){height:40px}.sound-strokes i:nth-child(3n){height:28px}.companion-card p{color:var(--muted)}.companion-card .button{margin-top:auto;width:100%}.feature-list{list-style:none;padding:0;margin:4px 0 26px;display:flex;flex-wrap:wrap;gap:9px 17px;color:#cfdbc9;font-size:13px}.feature-list li:before{content:'·';color:var(--gold);margin-right:7px}.home-bottom{display:flex;gap:14px;align-items:center;padding:24px 3px;margin-top:7px;color:var(--muted);font-size:13px}.home-bottom svg{width:21px;height:21px;color:var(--gold)}.app-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:#819889;border-top:1px solid #36514366;padding-top:22px;margin-top:38px}.bottom-nav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;max-width:440px;width:calc(100% - 40px);background:#17271ef5;border:1px solid #49634e;border-radius:20px;padding:7px;z-index:40;box-shadow:0 10px 50px #0007;backdrop-filter:blur(14px)}.bottom-nav a{flex:1;min-height:55px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;text-decoration:none;font-size:10px;color:#a4b8a9;border-radius:13px}.bottom-nav a[aria-current=page]{background:#314b38;color:#f2d399}.bottom-nav svg{width:21px;height:21px}#toast{position:fixed;bottom:112px;left:50%;transform:translateX(-50%);background:#eee4cd;color:#142016;padding:13px 20px;max-width:min(440px,90vw);border-radius:13px;z-index:90;box-shadow:0 7px 35px #0005;font-size:14px}dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:23px;padding:27px;max-width:490px;width:calc(100% - 28px);max-height:calc(100dvh - 40px);overflow:auto}dialog::backdrop{background:#030a07c9;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.dialog-top .eyebrow{margin:0}dialog .button{width:100%}dialog p{font-size:14px;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:680px){.app-shell{padding:0 21px 112px}.app-header{height:82px;margin-bottom:28px}.header-right{gap:8px}.version-label{display:none}.home-greeting{margin-bottom:25px}.home-greeting h1{font-size:39px;letter-spacing:-1.2px}.home-greeting .intro{font-size:15px;max-width:250px}.home-greeting .eyebrow{margin-bottom:10px}.home-greeting h1{font-size:36px}.home-seal{display:none}.mode-grid{grid-template-columns:1fr;gap:18px}.cover-art{height:142px}.adventure-card-body{padding:22px}.adventure-card-body h2{font-size:31px}.adventure-card-body p{font-size:14px;margin-bottom:5px}.adventure-card .chips{margin:15px 0 19px}.companion-card{padding:23px;position:relative;overflow:hidden}.companion-art{position:absolute;right:-8px;top:15px;width:137px;height:137px;margin:0;opacity:.35;pointer-events:none}.companion-dial{width:115px;height:115px}.companion-dial:before{left:51px}.companion-dial b{font-size:28px}.companion-art .sound-strokes{display:none}.companion-card h2{font-size:29px;max-width:220px;position:relative}.companion-card .eyebrow{max-width:200px;position:relative}.companion-card p{max-width:225px;position:relative;font-size:14px}.companion-card .button{position:relative}.feature-list{margin-bottom:20px;font-size:12px}.home-bottom{font-size:12px;padding:21px 1px}.bottom-nav{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 30px)}.panel{padding:20px}.app-footer{margin-top:25px;font-size:10px}h1{font-size:36px}h2{font-size:28px}.intro{font-size:16px}#toast{bottom:100px}.screen-heading{margin-bottom:22px}}
@media(max-width:350px){.app-shell{padding-left:16px;padding-right:16px}.brand{gap:9px;font-size:11px}.home-greeting h1{font-size:35px}.mode-kicker{gap:5px}.mode-kicker .eyebrow{font-size:10px}.adventure-card-body{padding:19px}.adventure-card-body h2{font-size:28px}.companion-card{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.install-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-size:12px;line-height:1.35;font-weight:600}.install-button:hover{background:#2e4838}.home-install-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 23px;margin-bottom:24px;background:linear-gradient(110deg,#253a2c,#182a20);border:1px solid #64735377;border-radius:17px}.home-install-card>div{min-width:0}.home-install-card h2{font-size:23px;line-height:1.2;letter-spacing:-.2px;margin:0 0 7px;text-wrap:wrap}.home-install-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.home-install-card .button{flex-shrink:0;font-size:13px}.app-installed [data-install],.app-installed [data-install-card]{display:none!important}.install-busy [data-install]{pointer-events:none}#install-dialog{max-width:490px}#install-dialog .eyebrow{font-size:9px;letter-spacing:1.4px}#install-dialog h2{font-size:30px;margin:16px 0}#install-instructions ol{padding-left:23px;margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.65}#install-instructions li{padding-left:3px;margin-bottom:12px}#install-instructions li::marker{color:var(--gold);font-weight:600}.install-progress-note{line-height:1.65}#help-dialog [data-install-card] p{margin:8px 0 14px}
@media(max-width:680px){.home-install-card{align-items:stretch;flex-direction:column;gap:14px;padding:18px;margin-bottom:20px}.home-install-card h2{font-size:22px}.home-install-card .button{width:100%;min-height:48px}.install-button{padding-inline:10px}.app-header{gap:10px}#install-dialog{padding:21px}#install-dialog h2{font-size:28px}}

.home-free-link{display:block;margin-top:16px;color:var(--cream,#f4eedf);font-size:.9rem;text-underline-offset:4px;line-height:1.6;min-height:44px;padding:10px 0}

.home-capture-note{font-size:12px;line-height:1.65;color:var(--muted);margin:12px 0 18px}.adventure-card-body>.button.secondary{margin-top:0}
