@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-subset.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}:root{--pine:#0a302d;--gold:#ddbc75;--terra:#cd7b61;--paper:#f3ead8;--ink:#173c34}body{font-family:Manrope,system-ui,sans-serif;background:#0b3836;color:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;border:0;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--terra);outline-offset:3px}[hidden]{display:none!important}#voyage{position:relative;width:100%;height:100dvh;overflow:hidden}#sea{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:22px;padding:17px 25px;z-index:4;background:linear-gradient(#092e30d9,#092e3060,transparent)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--paper);font-size:29px}.brand>span{font-size:21px;font-weight:700}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:.18em;margin-top:5px;color:#d8caa5}.stock{display:flex;gap:23px;align-items:center;flex:1;justify-content:center}.stock label{display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:center}.stock span{font-size:10px;color:#ede1bf}.stock b{font-size:16px;font-weight:650}.stock i{height:3px;grid-column:span 2;width:83px;background:#ffffff24;overflow:hidden;border-radius:3px}.stock em{height:100%;display:block;background:var(--gold);width:100%}.header-actions{display:flex;gap:6px}.header-actions button{width:35px;height:35px;background:#113f3da0;border:1px solid #e4d2a137;border-radius:50%;font-size:16px}.course-chip{position:absolute;top:83px;left:25px;max-width:345px;display:flex;gap:17px;align-items:center;background:#103d39df;border:1px solid #dcc79640;border-radius:13px;padding:13px 15px;backdrop-filter:blur(10px);z-index:3}.kicker{font-size:8px;letter-spacing:.14em;font-weight:700;display:block;color:#b59a62}.course-chip .kicker{color:#d7bf89}.course-chip b{display:block;font-size:15px;margin:5px 0}.course-chip p{font-size:10px;line-height:1.45;color:#d9d0b5;max-width:220px;margin:0}.course-chip>button{align-self:stretch;background:#d4b573;color:#173c34;padding:8px 11px;border-radius:9px;font-size:10px;font-weight:750;max-width:89px}.mira{position:absolute;bottom:100px;left:25px;max-width:480px;display:flex;gap:11px;padding:15px;background:#f3e9dbe9;color:var(--ink);border:1px solid #d2b07466;border-radius:13px;backdrop-filter:blur(12px);box-shadow:0 9px 30px #011c2f30;z-index:3}.mira>div:last-child{flex:1}.mira span{font-size:8px;letter-spacing:.12em;color:#8a6f43}.mira p{font-size:13px;line-height:1.55;margin:8px 0 6px;max-width:400px}.mira small{font-size:11px;line-height:1.5;display:block;color:#816844}.mira-actions{display:flex;gap:6px;align-items:center;margin-top:9px}.mira-actions button{background:#ddceb7;padding:8px 10px;border-radius:8px;font-size:10px;color:#27463a}.mira-actions button:last-child{margin-left:auto;background:none;font-size:18px;padding:3px 7px}.mira-portrait{flex:none;position:relative;width:35px;height:49px;margin-top:7px}.mira-portrait:before{content:'';position:absolute;left:8px;top:8px;width:23px;height:25px;border-radius:48%;background:#dcab80}.mira-portrait i{position:absolute;left:3px;top:0;width:30px;height:20px;background:#173e33;clip-path:polygon(10% 20%,76% 0,100% 75%,0 100%)}.mira-portrait b{position:absolute;left:4px;top:30px;width:30px;height:19px;background:var(--terra);clip-path:polygon(24% 0,75% 0,100% 100%,0 100%)}.controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:8px;background:#123d39df;border:1px solid #cfb3765e;border-radius:15px;backdrop-filter:blur(12px);z-index:4}.controls button{min-height:42px;padding:10px 16px;border:1px solid #d3ba823e;background:#26524bcc;border-radius:9px;font-size:12px;white-space:nowrap}.controls button.active{background:var(--gold);color:#16362d}.disclaimer{position:absolute;right:24px;bottom:88px;max-width:170px;background:#0c332fcc;border:1px solid #c5b87e38;border-radius:10px;padding:10px;font-size:9px;line-height:1.5;text-align:left;color:#dfd7ba;z-index:2}#action-hint{position:absolute;left:50%;top:155px;transform:translateX(-50%);padding:9px 16px;border-radius:20px;background:#ebd4aadd;color:#263f36;font-size:11px;text-align:center;z-index:2;pointer-events:none;transition:opacity .35s}#toast{position:absolute;top:85px;left:50%;transform:translateX(-50%);max-width:min(450px,90vw);text-align:center;background:#0b3535eb;color:#f4e3ba;font-size:12px;line-height:1.5;padding:12px 17px;border:1px solid #b9976266;border-radius:11px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}.arrival{position:absolute;top:83px;right:25px;max-width:350px;background:#d8bd7ee6;color:#14382f;border-radius:12px;padding:17px;z-index:3}.arrival>span{font-size:9px;letter-spacing:.15em;font-weight:800}.arrival p{font-size:13px;line-height:1.5}.arrival button{font-size:11px;background:#244a3e;color:#f5e9cc;padding:9px 13px;border-radius:9px}.panel{position:absolute;top:84px;right:24px;bottom:90px;width:350px;max-height:calc(100% - 174px);overflow:auto;background:#f5eddbeF;color:var(--ink);border:1px solid #d8bd89aa;border-radius:16px;box-shadow:0 15px 55px #05263135;backdrop-filter:blur(14px);padding:23px 22px;z-index:8;scrollbar-width:thin}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head button{background:none;color:#947340;font-size:25px;padding:1px 3px}.panel h2,dialog h2{font-size:25px;letter-spacing:-.035em;line-height:1.18;margin:17px 0 15px}.panel h3{font-size:15px;margin:25px 0 12px}.panel p{font-size:12px;line-height:1.65}.panel label{font-size:11px;display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:16px 0;color:#795f3b}.panel input[type=range]{width:100%;accent-color:#b48742}.panel output{font-weight:800;color:var(--ink)}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:17px 0}.destinations button{background:#e6d8bf;border:1px solid #c1a77b61;border-radius:10px;padding:10px 9px;font-size:11px;line-height:1.4;text-align:left;color:var(--ink)}.destinations button.selected,.mode-switch button.selected{background:#244f42;color:#f4e5c6;border-color:#244f42}.destinations button small{display:block;font-size:9px;color:#9c7c4b;margin-top:4px}.destinations button.selected small{color:#d5c48c}.condition-tags{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.condition-tags button{font-size:10px;border:1px solid #c4ac8255;border-radius:17px;padding:9px 10px;background:#e9ddc9;color:var(--ink)}.condition-tags button[aria-pressed=true]{background:#d4b777;color:#253f34;border-color:#a77a35}.fine{font-size:10px!important;line-height:1.65!important;color:#8a7c60}.primary{background:#244b3e;color:#f2e1bb;font-weight:750;border-radius:10px;padding:13px 16px;font-size:12px}.route-choices,.work-actions{display:grid;grid-template-columns:1fr;gap:7px;margin:18px 0}.route-choices button,.work-actions button{border:1px solid #bda57566;background:#e6d7bd;border-radius:9px;padding:11px;color:var(--ink);font-size:11px;text-align:left}.quiet{color:#917147;background:none;font-size:10px;padding:10px 0;text-decoration:underline}.forecast{background:#e8ddc7;border-radius:11px;padding:13px;font-size:11px;line-height:1.6}.forecast:empty{display:none}.forecast b{display:block;margin-bottom:8px}.forecast ul{margin:7px 0;padding-left:17px}.mode-switch{display:flex;gap:6px;margin:16px 0}.mode-switch button{background:#dfd1b9;color:var(--ink);border:1px solid #bca07555;border-radius:9px;padding:10px;font-size:11px}.notes-panel textarea{width:100%;min-height:64px;padding:10px;border:1px solid #b79b6c65;border-radius:9px;background:#f8f0e0;color:var(--ink);font-size:12px;line-height:1.6;resize:vertical}.note-field{display:block;font-size:11px;margin:14px 0;color:#806941}.note-field span{display:block;margin-bottom:7px}.log-item,.report-item{border-left:2px solid #b49351;background:#e9dec9;margin:10px 0;padding:10px 12px;font-size:11px;line-height:1.6;border-radius:0 8px 8px 0}.log-item small{font-size:9px;color:#89774e}.helm,.touch-brake{display:none}dialog{position:fixed;inset:24px;width:min(850px,calc(100vw - 40px));max-height:calc(100dvh - 48px);overflow:auto;padding:30px;color:var(--ink);background:#f3ead8;border:1px solid #c4a573;border-radius:19px;box-shadow:0 20px 100px #0b243650}dialog::backdrop{background:#052625aa;backdrop-filter:blur(9px)}dialog p{font-size:14px;line-height:1.75}dialog details{border:1px solid #baa07055;border-radius:11px;padding:16px;margin:16px 0}dialog summary{cursor:pointer;font-size:14px;font-weight:750}dialog a{font-size:12px;color:#255c4e}dialog details p{font-size:12px}.paused #sea{filter:saturate(.75)}
@media(max-width:1050px){header{gap:15px;padding:14px 18px}.brand>span{font-size:18px}.stock{gap:15px}.stock span{font-size:9px}.stock b{font-size:14px}.stock i{width:70px}.controls{gap:5px;bottom:17px;padding:7px}.controls button{font-size:11px;padding:10px 12px}.course-chip{left:18px;top:78px}.panel{right:18px}.mira{left:18px;max-width:390px;bottom:91px}.mira p{font-size:12px}.arrival{right:18px}}
@media(max-width:720px){header{padding:11px 11px;align-items:start;gap:7px;flex-wrap:wrap}.brand{font-size:25px}.brand>span{font-size:17px}.brand small{font-size:6px;letter-spacing:.1em}.header-actions{margin-left:auto;gap:3px}.header-actions button{height:30px;width:30px;font-size:13px}.stock{order:3;flex-basis:100%;justify-content:flex-start;gap:18px;margin:5px 0 0 8px}.stock span{font-size:8px}.stock b{font-size:12px}.stock i{display:none}.course-chip{left:12px;top:96px;max-width:calc(100% - 24px);padding:11px;gap:13px}.course-chip b{font-size:13px}.course-chip p{font-size:9px;max-width:220px}.course-chip>button{font-size:9px;max-width:75px;padding:7px 8px}.kicker{font-size:7px}#action-hint{top:190px;max-width:90%;font-size:10px;padding:8px 13px}.mira{left:12px;right:12px;max-width:none;bottom:187px;padding:12px;gap:8px}.mira p{font-size:11px;line-height:1.5;max-width:none}.mira-portrait{width:28px;height:45px}.mira-portrait:before{left:5px;width:20px}.mira-portrait i{left:0;width:28px}.mira-portrait b{left:0;width:28px}.mira-actions button{font-size:9px;padding:7px 9px}.mira small{font-size:10px}.controls{bottom:13px;left:12px;right:12px;transform:none;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:6px;border-radius:12px}.controls button{font-size:10px;min-height:35px;padding:8px 5px}.helm{display:block;position:absolute;left:19px;bottom:106px;width:76px;height:76px;border:1px solid #e2c9918c;border-radius:50%;background:#123e3e99;backdrop-filter:blur(8px);touch-action:none;z-index:5}.helm span{position:absolute;top:81px;left:0;right:0;text-align:center;font-size:8px;color:#e9dcb6;pointer-events:none}.helm>div{position:absolute;top:23px;left:23px;width:28px;height:28px;border:1px solid #eed7a2;background:#c1a05cc9;border-radius:50%;pointer-events:none;box-shadow:0 3px 10px #05323966}.touch-brake{display:block;position:absolute;right:22px;bottom:115px;min-height:47px;min-width:80px;background:#bb765fdf;color:#fff2cf;border:1px solid #e4b58b8c;border-radius:15px;font-size:11px;z-index:5;touch-action:none}.disclaimer{display:none}.panel{top:96px;left:12px;right:12px;bottom:106px;max-height:calc(100% - 202px);width:auto;border-radius:14px;padding:20px 19px}.panel h2{font-size:24px}.panel p{font-size:12px}.panel label{font-size:11px}.arrival{top:170px;left:15px;right:15px;max-width:none;padding:13px}.arrival p{font-size:11px}.arrival>span{font-size:8px}dialog{inset:14px;padding:23px;width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}dialog h2{font-size:26px}dialog p{font-size:13px}.mira span{font-size:7px}#toast{top:170px;font-size:11px;z-index:14}.report-item{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Legibility pass: the world is the stage; prose remains readable at ordinary laptop sizes. */
.stock span{font-size:12px}.stock b{font-size:19px}.brand small{font-size:10px}
.kicker,.mira span{font-size:10px}.course-chip{max-width:390px}.course-chip b{font-size:18px}.course-chip p{font-size:13px}.course-chip>button{font-size:12px;max-width:110px}
.mira{max-width:500px}.mira p{font-size:15px;line-height:1.6}.mira-actions button{font-size:12px}.controls button{font-size:14px}
#action-hint{font-size:13px}.panel{width:390px}.panel p,.panel label,.panel output,.route-choices button,.work-actions button,.mode-switch button,.destinations button,.notes-panel textarea,.forecast,.log-item,.report-item{font-size:14px}.panel .fine{font-size:12px!important}.destinations button small{font-size:11px}.condition-tags button,.quiet,.primary{font-size:13px}.arrival p{font-size:14px}.arrival>span{font-size:11px}
@media(max-width:1050px) and (min-width:721px){.mira{max-width:360px}.mira p{font-size:14px}.controls button{font-size:12px;padding:10px}.panel{width:360px}}
@media(max-width:720px){.stock span{font-size:10px}.stock b{font-size:14px}.brand small{font-size:8px}.kicker,.mira span{font-size:9px}.course-chip b{font-size:16px}.course-chip p{font-size:11px}.course-chip>button{font-size:11px}.mira{max-width:none;bottom:190px}.mira p{font-size:13px;line-height:1.5}.mira-actions button{font-size:11px}.controls button{font-size:12px}.panel{width:auto}.panel p,.panel label,.panel output,.destinations button,.forecast{font-size:14px}#action-hint{font-size:11px}.arrival p{font-size:13px}}

#tour-progress{display:block;color:#cab382;font-size:10px;margin-top:7px;line-height:1.4}#custom-course{margin:22px 0;padding:15px 0;border-top:1px solid #b79a6d55;border-bottom:1px solid #b79a6d55}#custom-course summary{font-size:14px;font-weight:700;cursor:pointer}.mira-portrait{width:68px;height:120px;background:url('./assets/mira-v1.webp') center top/contain no-repeat}.mira-portrait:before,.mira-portrait i,.mira-portrait b{display:none}.mira{max-width:545px}.mira p{white-space:pre-line}
@media(max-width:720px){.mira-portrait{width:42px;height:77px}.mira{max-width:none}#tour-progress{font-size:9px}}

#story-retell{font-size:11px;color:#e0c084;background:none;padding:6px 0 0;text-align:left;line-height:1.4}

.speech-expand{display:none}.mira-actions{flex-wrap:wrap}.mira-actions button:last-child{margin-left:auto}
@media(max-width:720px){.mira:not(.expanded) #mira-copy{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.mira .speech-expand{display:block;font-size:10px;padding:6px}.mira-actions{gap:4px}.mira-actions button{padding:6px 7px;font-size:10px}.mira .mira-actions button:last-child{font-size:17px}.mira.expanded{max-height:calc(100dvh - 285px);overflow:auto}#action-hint{top:255px;max-width:90%;width:285px}.course-chip>div{min-width:0}}

@media(max-width:720px){.helm span{display:none}}

.comparison{padding:14px;border:1px solid #b99b6255;border-radius:11px;background:#e5d8bf;margin:18px 0;font-size:13px;line-height:1.6}.comparison p{margin:7px 0 12px}.comparison b{display:block}.comparison small{font-size:11px;color:#78674d}.notes-panel details{padding:13px 0;border-top:1px solid #b99b6255}.notes-panel summary{font-size:14px;cursor:pointer;font-weight:600}

@media(max-width:720px){.underway .mira:not(.expanded) #mira-copy{-webkit-line-clamp:1}.underway .mira:not(.expanded) .mira-portrait{width:29px;height:40px}.underway .mira:not(.expanded){padding:9px}.underway .mira:not(.expanded) .mira-actions{margin-top:5px}.underway .course-chip #tour-progress{display:none}}

/* Current physical facts and recorded arrivals stay beside the course. */
.course-stack{position:absolute;top:83px;left:25px;right:25px;display:grid;gap:8px;justify-items:start;z-index:3;pointer-events:none}
.course-stack>*{pointer-events:auto}.course-stack .course-chip{position:static;max-width:390px;width:390px}
.navigation-status{width:390px;max-width:100%;padding:10px 13px;background:#0c3835e8;border:1px solid #dcc79640;border-radius:11px;color:#eee1bf;backdrop-filter:blur(10px)}
.navigation-status>div{display:flex;align-items:center;gap:9px;justify-content:space-between}.navigation-status b{font-size:12px;font-weight:600;line-height:1.4}.navigation-status small{display:block;font-size:11px;line-height:1.45;margin-top:4px;color:#d5d6bb}
.navigation-status button{flex:none;min-height:34px;background:#d4b573;color:#173c34;padding:7px 9px;border-radius:7px;font-size:11px;font-weight:700}.navigation-status #water-risk{color:#f5c3a2}
.course-stack .arrival{top:0;right:0;width:350px;max-width:350px}.receipt-head{display:flex;align-items:center;gap:8px;justify-content:space-between}.receipt-head span{font-size:10px;letter-spacing:.08em;font-weight:800;line-height:1.45}.receipt-head #close-arrival{padding:2px 7px;min-width:28px;min-height:28px;background:transparent;font-size:20px;color:#244a3e}.arrival p{margin:10px 0;font-size:12px;line-height:1.55}.arrival #continue-course{min-height:34px;font-size:11px}
.rig-feedback{padding:11px;border:1px solid #b99b6255;border-radius:9px;background:#e4dcc7}
.trace-summary{list-style:none;padding:0;margin:13px 0}.trace-summary li{border-left:2px solid #b49351;padding:4px 0 4px 11px;margin:12px 0}.trace-summary li>span{display:block;font-size:12px;font-weight:800;color:#7d6339}.comparison .trace-summary p{font-size:13px;line-height:1.55;margin:5px 0}.comparison #trace-conditions{font-size:12px;line-height:1.5;font-weight:600}.comparison details{margin-top:13px}.comparison summary{font-size:12px}.comparison #trace-full{font:inherit;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.trace-intents>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.trace-intents button{background:#244b3e;color:#f3e6c9;border-radius:7px;min-height:38px;padding:8px 10px;font-size:11px}.report-witness{padding:12px;background:#dbe1cd;border:1px solid #99ad9066;border-radius:10px;margin:12px 0}.report-witness b{font-size:12px}.report-witness p{font-size:13px;line-height:1.55;margin:6px 0}
@media(max-width:1050px) and (min-width:721px){.course-stack{top:78px;left:18px;right:18px}.course-stack .course-chip,.navigation-status{width:360px}}
@media(max-width:720px){.course-stack{top:94px;left:12px;right:12px;gap:6px}.course-stack .course-chip{width:100%;max-width:none;padding:10px 11px;gap:12px}.course-chip #tour-progress{display:none}.course-chip b{font-size:15px;margin:3px 0}.course-chip p{font-size:11px;line-height:1.4}.course-chip #story-retell{font-size:10px;padding-top:4px}.course-chip>button{max-width:91px;min-height:42px;font-size:11px}.navigation-status{width:100%;padding:8px 10px}.navigation-status b{font-size:11px}.navigation-status small{font-size:10px;line-height:1.4;margin-top:3px}.navigation-status button{font-size:10px;min-height:36px;padding:6px 8px}.course-stack .arrival{position:static;width:100%;max-width:none;padding:10px 12px}.arrival p{font-size:11px;line-height:1.45;margin:7px 0}.receipt-head span{font-size:9px}.has-arrival .course-stack .course-chip{display:none}#action-hint{top:273px;font-size:10px;width:285px}.panel{top:94px}}
@media(max-width:720px){.mira:not(.expanded),.underway .mira:not(.expanded){padding:10px;gap:8px}.mira:not(.expanded) #mira-copy,.underway .mira:not(.expanded) #mira-copy{-webkit-line-clamp:3;font-size:12px;line-height:1.45;margin:6px 0}.mira:not(.expanded) .mira-portrait,.underway .mira:not(.expanded) .mira-portrait{width:32px;height:60px;margin-top:4px}.mira:not(.expanded) .mira-actions,.underway .mira:not(.expanded) .mira-actions{margin-top:6px;gap:4px}.mira:not(.expanded) .mira-actions button{font-size:9px;padding:5px 6px}.mira:not(.expanded) .mira-actions button:last-child{font-size:17px;padding:1px 4px}}

/* Start screen, live conditions, voyage card, engine telegraph, touch by pointer type. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
#sea:focus-visible{outline:3px solid var(--terra);outline-offset:-3px}
.kicker{color:#7d6339}.fine{color:#6b5d43}.mira>div>span{color:#6e5632}
.stock i{position:relative;overflow:visible}.stock em{border-radius:3px;transition:background .3s}.stock em.low{background:var(--terra)}
.stock s{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#f5ead5;box-shadow:0 0 0 1px #0a302dcc;text-decoration:none}
.stock label small{grid-column:span 2;min-height:13px;font-size:11px;line-height:1.2;color:#d8caa5}
#conditions{max-width:none;font-variant-numeric:tabular-nums}#conditions span.warn{color:var(--terra);font-weight:700}#conditions span.bad{color:#ff8a6e;font-weight:800}#conditions span.ok{color:#a9dcb0}

.brief{position:absolute;inset:0;z-index:9;display:flex;justify-content:center;align-items:flex-start;overflow-x:hidden;overflow-y:auto;padding:88px 24px 28px;background:radial-gradient(ellipse at 50% 35%,#0a3a38cc,#062628f2 75%)}
.brief-open header{z-index:10}.brief-card{width:100%;max-width:920px;margin:auto 0}
.brief-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.brief .kicker{color:#d7bf89;font-size:11px}
.brief h1{margin:6px 0 10px;font-size:46px;line-height:1.05;letter-spacing:-.03em;color:#f6ecd6}
.brief-lead{max-width:690px;margin:0 0 22px;font-size:17px;line-height:1.55;color:#ece2c6}
.brief-tours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tour-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px;border-radius:14px;background:#f5eddbf5;color:var(--ink);border:1px solid #d8bd89aa;box-shadow:0 10px 30px #02181c40}
.tour-level{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7d6339}.tour-card h3{margin:0;font-size:19px;line-height:1.25}
.tour-badge{font-size:13px;font-weight:600;color:#5f5038}.tour-card p{margin:0;font-size:14px;line-height:1.5}
.tour-terms{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}.tour-terms li{padding:4px 9px;border-radius:12px;background:#e4d5b6;font-size:12px;font-weight:700}
.tour-card .tour-best{font-size:13px;font-weight:700;color:#2f6a4a}.tour-card .primary{margin-top:auto;min-height:44px;font-size:15px}
.brief-more{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}.brief-more button{min-height:44px;padding:10px 16px;border-radius:10px;background:#16443fcc;border:1px solid #dcc79666;color:#f3ead8;font-size:14px}
.brief-keys{margin:12px 0 4px;font-size:13px;line-height:1.6;color:#d9d0b5}.brief-fine{margin:4px 0 0;font-size:13px;line-height:1.6;color:#cfc4a6}
.brief-i{width:28px;height:28px;margin-left:4px;border-radius:50%;background:#113f3d;border:1px solid #e4d2a166;font-size:14px;color:#f3ead8}.brief-close{min-width:44px;min-height:44px;background:none;color:#f3ead8;font-size:28px}
.brief-open .course-stack,.brief-open .mira,.brief-open .mira-restore,.brief-open .controls,.brief-open .helm,.brief-open .touch-brake,.brief-open #action-hint,.brief-open .disclaimer,.brief-open .stock,.brief-open #help-open,.brief-open #pause{display:none!important}
@media(max-width:900px){.brief-tours{grid-template-columns:1fr}.brief h1{font-size:36px}.brief-lead{font-size:15px}}
@media(max-width:720px){.brief{padding:62px 16px 20px}.brief h1{font-size:30px}.tour-card{padding:14px}}

.course-stack .arrival{width:390px;max-width:390px;padding:16px 17px;background:linear-gradient(155deg,#f6e3ae,#d9bd7c);border:1px solid #fff0c4;box-shadow:0 14px 44px #03202a66}
.arrival.success{background:linear-gradient(155deg,#fbe9a9,#e7c46b);box-shadow:0 0 0 3px #f6d47a66,0 14px 44px #03202a66}.receipt-head span{font-size:12px;letter-spacing:.06em}
.arrival-checks{display:grid;gap:5px;margin:10px 0 8px;padding:0;list-style:none}.arrival-checks li{display:flex;gap:8px;align-items:baseline;font-size:14px;font-weight:650;line-height:1.35}
.arrival-checks li>span:first-child{flex:none;width:16px;font-weight:900;text-align:center}.arrival-checks li.ok>span:first-child{color:#23663f}.arrival-checks li.bad{color:#8a2a17}
.arrival #arrival-copy{margin:8px 0 12px;font-size:14px;line-height:1.5}.arrival-actions{display:flex;flex-wrap:wrap;gap:6px}
.arrival-actions button{min-height:38px;padding:8px 12px;border-radius:9px;background:#244a3e;color:#f5e9cc;font-size:13px}.arrival-actions button.primary{background:#8c3d22;color:#fff3d8;font-weight:750}

.route-choices button b{display:block;font-size:14px;font-weight:700}.route-choices button small{display:block;margin-top:3px;font-size:13px;color:#5f5038}
.route-tools{display:flex;align-items:center;gap:14px;margin:-6px 0 12px}.route-tools #draw-route{border:1px solid #bda57566;background:#e6d7bd;border-radius:9px;padding:9px 12px;color:var(--ink);font-size:13px}.route-tools #draw-route.active{background:var(--gold)}
.route-back{display:block;width:100%;margin:14px 0 4px;border:1px solid #bda57566;background:#e6d7bd;border-radius:9px;padding:11px;color:var(--ink);font-size:13px;text-align:left}
.course-current{margin:4px 0 2px;padding:12px 14px;border-radius:11px;background:#e8ddc7}.course-current small{font-size:12px;color:#6b5d43}.course-current b{display:block;margin:2px 0 4px;font-size:16px}.panel .course-current p{margin:0;font-size:14px;line-height:1.5}#course-brief{padding:6px 0}
.help-keys{margin:8px 0 4px;padding-left:18px;font-size:14px;line-height:1.7}.help-keys li{margin:3px 0}.help-keys kbd{padding:0 5px;border:1px solid #c9b088;border-radius:5px;background:#e4d5b6;font:inherit;font-size:13px;font-weight:800}
.reflect-question{margin:14px 0 0;padding:12px 14px;border-radius:11px;background:#244b3e;color:#f5ead5;font-size:15px!important;line-height:1.5!important}
.work-actions button:disabled{opacity:.72;cursor:default;background:#ece3d2}.work-actions button[data-reason]::after{content:attr(data-reason);display:block;margin-top:3px;font-size:12px;color:#6b5d43}
.mira-restore{position:absolute;left:25px;bottom:100px;z-index:3;padding:9px 15px;border-radius:18px;background:#f3e9dbe9;color:var(--ink);border:1px solid #d2b07466;font-size:13px;font-weight:700;box-shadow:0 6px 20px #011c2f30}
.disclaimer{max-width:250px;font-size:11px;line-height:1.45;color:#e6dfc4}

@media(max-width:720px){.course-stack .arrival{position:static;width:100%;max-width:none;padding:11px 12px}.arrival-checks li{font-size:13px}.arrival #arrival-copy{font-size:13px}.arrival-actions button{min-height:36px;padding:7px 10px;font-size:12px}
 .controls{display:flex;bottom:42px;gap:4px;padding:5px}.controls button{flex:1 1 auto;min-width:0;min-height:42px;padding:6px 4px;font-size:12px;line-height:1.15;white-space:normal}
 .disclaimer{display:block;left:12px;right:12px;bottom:4px;max-width:none;padding:3px 8px;border-radius:7px;font-size:11px;line-height:1.3;text-align:center}
 .stock i{display:block;width:56px}#throttle-stock{display:none}.mira-restore{left:12px;bottom:190px}}
/* Touch controls follow the pointer type, so the helm also appears on a phone held sideways. */
@media(pointer:fine){.helm,.touch-brake{display:none!important}}
@media(pointer:coarse){.helm{display:block;position:absolute;left:19px;bottom:106px;width:76px;height:76px;border:1px solid #e2c9918c;border-radius:50%;background:#123e3e99;backdrop-filter:blur(8px);touch-action:none;z-index:5}.helm>div{position:absolute;top:23px;left:23px;width:28px;height:28px;border:1px solid #eed7a2;background:#c1a05cc9;border-radius:50%;pointer-events:none;box-shadow:0 3px 10px #05323966}.helm span{display:none}
 .touch-brake{display:block;position:absolute;right:22px;bottom:115px;min-height:47px;min-width:80px;background:#bb765fdf;color:#fff2cf;border:1px solid #e4b58b8c;border-radius:15px;font-size:12px;z-index:5;touch-action:none}}
@media(pointer:coarse) and (min-width:721px){.helm{left:auto;right:28px;bottom:96px;width:84px;height:84px}.helm>div{top:27px;left:27px}.touch-brake{right:128px;bottom:110px}.disclaimer{left:12px;right:auto;bottom:10px;max-width:150px;font-size:10px}}
@media(min-width:721px) and (max-height:520px){.mira{max-width:46vw;bottom:72px;padding:9px}.mira p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.4}.mira.expanded p{display:block;max-height:40vh;overflow:auto}.mira .speech-expand{display:block;padding:6px;font-size:11px}.mira-portrait{width:30px;height:54px}.navigation-status small{display:none}.course-chip p{font-size:11px}.course-chip #tour-progress{display:none}.mira-actions{margin-top:4px;gap:4px}.mira-actions button{padding:5px 8px;font-size:11px}.controls{bottom:10px}}
