:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eae5d9;background:#0d1713;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d6ad65;outline-offset:3px}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.app-shell{min-height:100vh;background:radial-gradient(circle at 15% -15%,#274335 0,#12231b 34%,#0c1712 78%);display:flex;flex-direction:column}.topbar{height:77px;padding:0 clamp(22px,4vw,68px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b19a6e2b}.brand{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600;letter-spacing:.22em;white-space:nowrap}.brand strong{color:#d5ae6b;font-weight:600}.brand-mark{width:37px;height:37px;border:1px solid #a8875299;border-radius:50%;display:grid;place-items:center;color:#d9ba7b;font-size:26px;line-height:1}.topbar-right{display:flex;align-items:center;gap:24px}.round-badge,.eyebrow,.map-overline,.clue-kicker,.round-meta,.stakes,.map-footer,.site-footer,.source{font-size:11px;letter-spacing:.15em;font-weight:700}.round-badge{color:#cdb885}.icon-button{width:32px;height:32px;border:1px solid #bda56b66;background:transparent;color:#d9c9a9;border-radius:50%}
.layout{width:min(1550px,100%);margin:auto;display:grid;grid-template-columns:minmax(330px,450px) minmax(0,1fr);gap:26px;padding:clamp(22px,3vw,44px) clamp(18px,3.7vw,60px) 24px;align-items:start;flex:1}.game-panel{padding:20px 8px 0 0}.eyebrow{color:#c9a56a}.game-panel h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,3.3vw,54px);line-height:1.07;letter-spacing:-.04em;margin:13px 0 15px;color:#f3eadd}.intro{color:#aebcae;line-height:1.62;font-size:15px;max-width:35ch;margin:0 0 40px}.round-meta{display:flex;justify-content:space-between;color:#c6b897;margin:0 0 12px}.progress{display:flex;gap:6px;margin-bottom:30px}.progress span{height:5px;border-radius:8px;flex:1;background:#355344}.progress span.done{background:#d0a965}.progress span.current{background:#e9d7ad}
.clue-card{background:linear-gradient(145deg,#f3ebd8,#e8dbc0);border:1px solid #d4bd8c;border-radius:17px;box-shadow:0 18px 52px #03080635, inset 0 1px #fff8;min-height:245px;padding:25px 28px;position:relative;overflow:hidden;color:#283a2f}.clue-card:after{content:"✧";position:absolute;right:-8px;bottom:-77px;font:250px Georgia,serif;line-height:1;color:#a48c5d18;pointer-events:none}.clue-kicker{color:#7d6745;display:flex;gap:8px;align-items:center}.small-star{font-size:18px}.clue-text{font:clamp(23px,2vw,28px)/1.35 Georgia,serif;letter-spacing:-.02em;margin:23px 0 29px;position:relative;z-index:1}.stakes{color:#8b7757}.hint-row{display:flex;align-items:center;gap:10px;color:#d3c5a8;font-size:13px;margin-top:24px}.pulse-dot{width:9px;height:9px;background:#d6ad65;border-radius:50%;box-shadow:0 0 0 5px #d6ad6527;animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 9px #d6ad6500}}
.reveal-card{margin-top:17px;border:1px solid #8f805b66;background:#1d3329;border-radius:17px;padding:21px 24px 23px}.reveal-top{display:flex;align-items:center;justify-content:space-between}.reveal-label{font-size:11px;font-weight:800;letter-spacing:.16em}.reveal-top strong{font-size:25px;color:#edcf8a}.reveal-card h2{font:29px Georgia,serif;font-weight:400;margin:18px 0 8px}.reveal-card p{font-size:14px;line-height:1.55;color:#c8d2c8;margin:0 0 10px}.source{color:#aaac91;letter-spacing:.03em;font-weight:500}.primary-button{background:#d7af6c;border:1px solid #e6c989;color:#172b20;border-radius:9px;font-weight:800;min-height:51px;padding:0 19px;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 6px 0 #0002;transition:transform .15s,background .15s}.primary-button:hover{background:#eac281;transform:translateY(-2px)}.next-button{width:100%;margin-top:22px}
.map-panel{overflow:hidden;background:#d9cba9;border:1px solid #d5ba7f6b;border-radius:17px;box-shadow:0 25px 70px #020a073d}.map-header{height:78px;padding:0 22px;background:#1b3026;display:flex;align-items:center;justify-content:space-between}.map-overline{color:#b99a63;font-size:10px}.map-header h2{margin:4px 0 0;font:24px Georgia,serif;font-weight:400;color:#eadbc1}.map-controls{display:flex;gap:6px}.map-controls button{width:34px;height:34px;border:1px solid #c5af7b5c;background:#ffffff0a;color:#e9d8b5;border-radius:7px;font-size:20px;line-height:1}.map-controls button:hover{background:#ffffff20}.map-viewport{width:100%;aspect-ratio:4/3;position:relative;overflow:hidden;touch-action:none;cursor:crosshair;background:#e7dbbd}.map-content{width:100%;height:100%;position:absolute;left:0;top:0;transform-origin:center center;will-change:transform}.map-art,.pin-layer{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none}.pin-layer{pointer-events:none}.map-tap-overlay{position:absolute;inset:0;touch-action:none}.map-viewport.dragging{cursor:grabbing}.map-footer{min-height:45px;background:#1b3026;color:#b9b79c;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.07em}.map-footer a{text-decoration:underline;text-underline-offset:2px}.map-footer span:last-child{color:#d2b276}.site-footer{text-align:center;color:#91a194;padding:14px 20px 26px;font-size:11px;line-height:1.5}
.result-panel .eyebrow{margin-bottom:15px}.result-panel h1{margin-bottom:26px}.final-score{display:flex;align-items:baseline;gap:10px;border-top:1px solid #d8bd8040;padding-top:20px;font:clamp(70px,7vw,110px)/1 Georgia,serif;color:#e9ca86;letter-spacing:-.07em}.final-score small{font:18px ui-sans-serif,sans-serif;color:#b4bda9;letter-spacing:0}.result-dots{display:flex;gap:12px;margin:22px 0}.result-dot{display:flex;align-items:center;justify-content:center;border-radius:50%;width:39px;height:39px;font-size:18px;border:1px solid #fff4}.result-dot.great{background:#276949}.result-dot.good{background:#687d3f}.result-dot.fair{background:#9a7540}.result-dot.miss{background:#844f43}.result-summary{line-height:1.55;color:#c5d0c6;font-size:14px;max-width:35ch}.share-preview{border:1px dashed #b699607a;border-radius:10px;padding:15px 18px;color:#e6d6af;font:13px/1.55 ui-monospace,SFMono-Regular,monospace;white-space:pre-line;margin:24px 0 15px;background:#1a3025}.share-main{width:100%}.share-secondary{display:flex;gap:9px;margin-top:9px}.share-secondary button{flex:1;min-height:43px;border:1px solid #a88e5e66;background:#ffffff09;color:#e6d6b3;border-radius:8px;font-weight:650}.share-secondary button:hover{background:#ffffff16}.share-note{font-size:11px;color:#8fa491;text-align:center}.text-button{display:block;border:0;background:none;color:#ceb071;text-decoration:underline;margin:22px auto;font-size:12px}
.result-date{color:#b9bdab;font-size:12px;font-weight:700;letter-spacing:.14em;margin:0 0 10px}.result-panel .final-score{border-top:0;padding-top:0}.question-results{display:grid;gap:11px;margin:20px 0}.question-result{padding:12px 15px;border:1px solid #9d8b6255;border-radius:10px;background:#21362a}.question-result-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700}.question-result-head strong{font-size:18px;color:#edcf8a}.question-bar{height:8px;background:#455248;border-radius:8px;overflow:hidden;margin:9px 0 5px}.question-bar span{display:block;height:100%;border-radius:8px}.question-bar .great{background:#58b378}.question-bar .good{background:#b6bd62}.question-bar .fair{background:#dbab5a}.question-bar .miss{background:#c87565}.question-result-points{color:#b8c2b3;font-size:12px;text-align:right}.stats-card{margin-top:28px;padding:20px;border:1px solid #b6996070;border-radius:14px;background:#1b3025}.stats-card h2{font:25px Georgia,serif;margin:0 0 5px}.stats-card p{color:#b8c6b9;font-size:13px;line-height:1.5;margin:0 0 17px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:16px}.stats-grid div{background:#304538;border-radius:8px;padding:10px 6px;text-align:center}.stats-grid strong{display:block;color:#f0d297;font-size:22px}.stats-grid span{font-size:9px;letter-spacing:.08em;color:#c4d0c3}.account-status{font-size:12px;color:#c2cbbd;line-height:1.5;margin-bottom:12px}.account-button,.email-row button{width:100%;min-height:43px;background:#e6dfc9;color:#17291e;border:0;border-radius:8px;font-weight:800}.email-form{margin:12px 0}.email-form label{display:block;font-size:12px;margin:0 0 7px}.email-row{display:flex;gap:7px}.email-row input{min-width:0;flex:1;padding:10px;border:1px solid #bda777;border-radius:8px;font:inherit}.email-row button{width:auto;padding:0 12px}.stats-card .text-button{margin:10px auto 0}
.provider-button{margin:7px 0}.apple-button{background:#111;color:#fff;border:1px solid #7e7e7e}
.breakdown-title{font-size:10px;font-weight:800;letter-spacing:.16em;color:#bfa56e;margin-top:24px}.question-results{margin-top:10px}
dialog{border:1px solid #b39761;background:#1a3026;color:#f0e3ca;border-radius:18px;width:min(440px,calc(100% - 30px));padding:0;box-shadow:0 25px 90px #0009}dialog::backdrop{background:#06100bbf}.dialog-content{padding:32px;position:relative}.dialog-content h2{font:31px Georgia,serif;margin:14px 0}.dialog-content p{line-height:1.55;color:#c5d0c6}.dialog-content .primary-button{width:100%;margin-top:26px}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;color:#ddd1ba;font-size:27px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);background:#e5c788;color:#17291e;padding:10px 17px;border-radius:8px;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 8px 30px #0006}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.layout{grid-template-columns:1fr;gap:20px;max-width:850px}.game-panel{padding:0}.intro{max-width:none;margin-bottom:25px}.clue-card{min-height:195px}.map-panel{grid-row:2}}@media(max-width:560px){.topbar{height:66px;padding:0 16px}.brand{font-size:11px;letter-spacing:.14em}.brand-mark{width:31px;height:31px;font-size:22px}.topbar-right{gap:9px}.round-badge{font-size:9px;letter-spacing:.03em;max-width:92px;text-align:right;line-height:1.2}.layout{padding:20px 12px 12px}.game-panel h1{font-size:38px}.intro{font-size:13px}.clue-card{padding:20px;min-height:170px}.clue-text{font-size:22px;margin:18px 0}.map-header{height:66px;padding:0 12px}.map-header h2{font-size:18px}.map-controls button{width:30px;height:30px}.map-footer{font-size:9px;line-height:1.4;padding:9px 12px}.map-footer span:last-child{display:none}.email-row{flex-direction:column}}

.header-account{min-height:34px;padding:0 12px;border:1px solid #bda56b66;background:#ffffff08;color:#e6d6b3;border-radius:8px;font-size:12px;font-weight:700;white-space:nowrap}.save-status{color:#aabcae;font-size:12px;line-height:1.5;margin:0 0 16px}#statsDialog{width:min(480px,calc(100% - 30px));max-height:calc(100dvh - 40px)}#statsDialog .stats-card{margin:0;border:0;padding:36px 25px 25px;background:transparent}.stats-history{margin:20px 0;max-height:180px;overflow:auto}.stats-history h3{font-size:13px;margin:0 0 10px;color:#e6d6b3}.stats-history div{font-size:13px;padding:9px 0;border-bottom:1px solid #bda56b33;color:#c5d0c6}.account-button:disabled{opacity:.55;cursor:default}@media(max-width:760px){.round-badge{display:none}}@media(max-width:560px){.header-account{font-size:11px;padding:0 8px}.brand{letter-spacing:.06em;font-size:10px}.brand-mark{display:none}}
