:root{font-family:Arial,Helvetica,sans-serif;color:#163036;background:#bed4db;font-synthesis:none;--ink:#163036;--cream:#fff9ea;--gold:#ffcc70;--teal:#167b79}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #12a29b;outline-offset:4px}#game{position:fixed;inset:0}#game canvas{display:block;touch-action:none}header{position:fixed;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px 30px;background:linear-gradient(#17313885,transparent);gap:20px;color:var(--cream)}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:2px;font-size:20px}.wordmark small{display:block;font-size:9px;letter-spacing:2.6px;margin-top:6px;font-weight:500}.lantern-icon{display:grid;place-items:center;width:43px;height:47px;background:var(--gold);color:#283b34;border-radius:15px 15px 9px 9px;font-size:36px;box-shadow:0 5px 15px #352d3629}.chapter{text-align:center;font-size:11px}.chapter span{font-size:9px;letter-spacing:3px;opacity:.8;display:block;margin-bottom:6px}.chapter b{font-weight:500}.top-actions{display:flex;gap:8px}.top-actions button,.camera-tools button{width:40px;height:40px;border-radius:12px;background:#fff9eaef;box-shadow:0 3px 15px #12343912;font-size:20px;color:var(--ink)}.quest{position:fixed;top:112px;left:30px;width:295px;padding:20px 21px;background:var(--cream);border-radius:18px;box-shadow:0 9px 35px #152f3926}.quest-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.quest-top span{font-size:9px;font-weight:800;letter-spacing:1.5px;color:#5d746f}.quest-top b{font-size:12px;color:var(--teal)}.quest h2{font:700 21px Georgia,serif;margin:13px 0 8px}.quest p{font-size:13px;line-height:1.6;color:#56706c;margin:0;min-height:42px}.steps{display:flex;gap:5px;margin:16px 0 13px}.steps i{height:4px;flex:1;background:#dedfce;border-radius:5px}.steps i.active{background:var(--teal)}.quest-bottom{display:flex;justify-content:space-between;font-size:11px;align-items:center}.quest-bottom>span{font-weight:700}.quest-bottom button{font-size:11px;color:#65776e;text-decoration:underline;background:none;padding:0}.camera-tools{position:fixed;top:113px;right:30px;display:flex;gap:7px}.welcome{position:fixed;left:30px;bottom:85px;width:350px;border-radius:20px;overflow:hidden;box-shadow:0 15px 80px #12333f50;background:var(--cream)}.cover{height:130px;position:relative}.cover img{width:100%;height:100%;object-fit:cover;display:block}.cover:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#102f3680)}.cover span{position:absolute;z-index:1;bottom:15px;left:24px;color:white;font-size:9px;letter-spacing:2px;font-weight:700}.welcome-copy{padding:24px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--teal)}h1{font:700 39px/1.06 Georgia,serif;letter-spacing:-1px;margin:13px 0}.welcome p{font-size:14px;line-height:1.55;color:#61726a;margin-bottom:19px}.primary{background:var(--teal);color:white;padding:15px 23px;font-size:14px;font-weight:700;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:25px;width:100%;box-shadow:0 4px 0 #0c5555}.primary:hover{background:#116865}.welcome a{display:block;font-size:11px;text-align:center;margin-top:18px;color:#6a7870}.map-card{position:fixed;right:30px;bottom:95px;padding:16px;background:#fff9eaf0;border:1px solid #ffffffe0;border-radius:17px;width:216px;box-shadow:0 8px 30px #16303626}.map-card>div{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;margin-bottom:9px}.map-card b{color:var(--teal);font-weight:700}.map-card canvas{width:184px;height:142px;border-radius:9px;background:#e5e9da}.map-key{font-size:7px;letter-spacing:.7px;display:flex;gap:7px;align-items:center;margin-top:10px;color:#536b62}.map-key i{width:5px;height:5px;background:#167b79;border-radius:50%}.map-key i:nth-of-type(2){background:#e9a629;margin-left:9px}footer{position:fixed;bottom:22px;left:30px;right:30px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:10px;color:white;pointer-events:none}footer>div{padding:12px 14px;border-radius:10px;background:#173438c9;backdrop-filter:blur(8px)}footer button{pointer-events:auto;background:#fff2;color:white;font-size:12px;border-radius:4px;margin-left:8px}kbd{font:10px Arial;padding:4px 5px;border:1px solid #ffffff50;border-radius:4px;margin-right:4px;background:#ffffff15}footer kbd:not(:first-child){margin-left:8px}.brand-logo{position:fixed;right:32px;top:165px;width:102px;height:30px;overflow:hidden;opacity:.95}.brand-logo img{width:131px;position:absolute;top:-12px;left:-14px}#waypoint{position:fixed;pointer-events:none;text-align:center;transform:translate(-50%,-100%);color:#163036;display:none}#waypoint span{display:block;color:#ffd66e;font-size:37px;text-shadow:0 2px 5px #39341455}#waypoint b{display:inline-block;background:#fff9eae8;border-radius:6px;padding:5px 7px;font-size:9px;letter-spacing:.8px;white-space:nowrap}.neighbor{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);background:var(--cream);border-radius:18px;box-shadow:0 8px 35px #102b3e40;display:none;align-items:center;padding:14px 18px;gap:14px;max-width:390px;pointer-events:none}.neighbor>span{background:#f7d8a7;display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:12px;color:#8c663a;font-size:23px}.neighbor b{font-size:12px}.neighbor p{font-size:12px;margin:4px 0 0;line-height:1.5;color:#55716b}#toast{position:fixed;top:100px;left:50%;transform:translateX(-50%);background:#173438ef;color:#fff9ea;border:1px solid #ffdb8c80;padding:13px 20px;border-radius:12px;max-width:420px;opacity:0;pointer-events:none;transition:opacity .2s;font-size:13px;text-align:center}dialog{background:var(--cream);border:0;border-radius:22px;color:var(--ink);padding:36px;width:min(520px,92vw);box-shadow:0 30px 120px #102b3e66}dialog::backdrop{background:#0c253790;backdrop-filter:blur(6px)}dialog #close{position:absolute;right:12px;top:10px;background:none;font-size:28px}dialog h2{font:700 30px Georgia;margin:0 0 12px}dialog p{font-size:14px;line-height:1.65;color:#5f716d}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.control-grid div{padding:10px;background:#e7eadb;border-radius:8px;font-size:12px;line-height:1.6}.control-grid b{display:block;color:#167b79}.dialog-link{display:block;text-align:center;margin-top:18px;font-size:13px}.touch-controls{display:none}body:not(.playing) .quest{display:none}body:not(.playing) .map-card{opacity:.92}body:not(.playing) #waypoint{display:none!important}.hidden{display:none!important}#loadError{position:fixed;inset:20%;padding:35px;background:#fff9ea;border-radius:20px}#loadError button{background:#167b79;color:white;padding:12px 25px;border-radius:8px}@media(max-height:740px) and (min-width:761px){.cover{height:90px}.welcome-copy{padding:20px}.welcome h1{font-size:32px}.welcome{bottom:80px;width:330px}.welcome p{margin:10px 0 15px}.welcome .eyebrow{font-size:8px}}@media(max-width:760px){header{padding:16px}.wordmark{font-size:15px;letter-spacing:1px;gap:9px}.wordmark small{font-size:7px;letter-spacing:1.5px}.lantern-icon{width:31px;height:36px;font-size:27px}.chapter{display:none}.top-actions{gap:5px}.top-actions button{width:32px;height:34px;font-size:17px}.quest{left:14px;top:82px;width:min(265px,70vw);padding:14px}.quest h2{font-size:18px;margin:9px 0 6px}.quest p{font-size:12px;min-height:0}.quest-top span{font-size:7px}.steps{margin:10px 0}.quest-bottom{font-size:10px}.camera-tools{right:14px;top:86px;flex-direction:column;gap:5px}.camera-tools button{width:32px;height:32px;font-size:18px}.brand-logo{display:none}.map-card{right:14px;bottom:145px;width:128px;padding:8px;border-radius:12px}.map-card>div{font-size:7px;margin-bottom:5px}.map-card b,.map-key{display:none}.map-card canvas{width:110px;height:85px}.welcome{width:min(330px,calc(100vw - 28px));left:14px;bottom:155px}.cover{height:95px}.welcome-copy{padding:19px}.welcome h1{font-size:33px}.welcome p{font-size:13px;line-height:1.45}.welcome a{font-size:11px}body:not(.playing) .map-card{display:none}.touch-controls{position:fixed;display:flex;justify-content:space-between;align-items:end;bottom:20px;left:14px;right:14px;pointer-events:none}.touch-controls>div{text-align:center}.touch-controls button{pointer-events:auto;width:45px;height:42px;background:#fff9eae6;border:1px solid #fff9ea;border-radius:11px;margin:2px;touch-action:none;box-shadow:0 3px 0 #16303635}.touch-controls .jump{width:65px;height:58px;background:#167b79;color:white;font-size:11px;font-weight:800}footer{display:none}.neighbor{bottom:145px;left:14px;transform:none;max-width:calc(100vw - 165px);padding:11px;gap:0}.neighbor>span{display:none}.neighbor p{font-size:11px}.neighbor b{font-size:11px}#toast{top:auto;bottom:270px;width:max-content;max-width:90vw;font-size:12px}#waypoint b{font-size:8px}}@media(max-height:690px) and (max-width:760px){.welcome{bottom:130px}.cover{height:65px}.welcome h1{font-size:28px}.welcome-copy{padding:15px}.welcome p{margin:10px 0}.welcome a{margin-top:12px}.welcome .eyebrow{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.chapter-list{display:grid;gap:10px}.chapter-list button{background:#e3e9d9;border:1px solid #c6d6c9;padding:17px;border-radius:11px;text-align:left}.chapter-list button:hover{background:#d4e4d5}.chapter-list b{font-size:14px;display:block}.chapter-list span{font-size:12px;line-height:1.6;color:#587268;display:block;margin-top:5px}#timer{background:#e6ead7;color:#27665d;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:bold;margin-bottom:10px}#timer.urgent{background:#f3d5c4;color:#9b3825}
