:root{color:#17201f;background:#f4efe4;font-family:Trebuchet MS,Arial Rounded MT Bold,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17201f;--paper: #fffdf8;--canvas: #f4efe4;--blue: #183fca;--yellow: #ffd957;--coral: #ff765f;--green: #2e7d4b;--line: #c7c8bf;--shadow: 0 12px 32px rgb(26 35 32 / 12%)}*{box-sizing:border-box}html,body,#app,#game-root,#ui-root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;min-height:100vh;color:var(--ink);background-color:var(--canvas);background-image:radial-gradient(circle,rgb(50 61 58 / 18%) 1px,transparent 1.4px);background-size:22px 22px}#app{transition:opacity .22s ease,transform .22s ease}body.is-switching-game #app{opacity:0;transform:scale(.985)}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}#app{position:relative;isolation:isolate}.boot-shell{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;padding:32px;background-color:var(--canvas);background-image:radial-gradient(circle,rgb(50 61 58 / 18%) 1px,transparent 1.4px);background-size:22px 22px;text-align:center;transition:opacity .22s ease,visibility .22s ease}.boot-shell.is-ready{visibility:hidden;opacity:0}.boot-brand{display:flex;align-items:center;gap:14px;margin-bottom:27px}.boot-brand .brand-mark{width:68px;height:68px}.boot-brand .brand-mark i{font-size:13px}.boot-brand strong{font-family:Impact,Arial Black,sans-serif;font-size:28px;letter-spacing:.035em;text-transform:uppercase}.boot-shell>p{margin:0 0 12px;color:var(--blue);font-family:Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:900;letter-spacing:.14em}.boot-shell h1{max-width:720px;margin:0;font-family:Impact,Arial Black,sans-serif;font-size:clamp(42px,7vw,72px);font-weight:900;letter-spacing:-.015em;line-height:.94;text-transform:uppercase}.boot-status{display:inline-flex;align-items:center;gap:10px;margin-top:26px;color:#59625e;font-size:12px;font-weight:800}.boot-status i{width:13px;height:13px;border:2px solid rgb(24 63 202 / 25%);border-top-color:var(--blue);border-radius:50%;animation:boot-spin .8s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}#game-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}#game-root canvas{display:block;cursor:grab}#game-root canvas.is-grabbing{cursor:grabbing}#ui-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}#seo-root{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;pointer-events:none}#seo-root .seo-modal,#ui-root button,#ui-root input,#ui-root .clue-panel,#ui-root .popover,#ui-root .modal-backdrop{pointer-events:auto}.top-bar{position:absolute;top:22px;left:24px;right:24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:18px;pointer-events:none}.brand{justify-self:start;display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;pointer-events:auto}.brand-mark{position:relative;display:grid;width:54px;height:54px;box-sizing:border-box;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1.5px;padding:2px;overflow:hidden;border:2px solid var(--ink);border-radius:5px;background:var(--ink);box-shadow:0 4px #17201f24;transform:rotate(-1.5deg);transform-origin:center}.brand-mark i{display:grid;place-items:center;min-width:0;min-height:0;background:var(--paper);font-family:Impact,Arial Black,sans-serif;font-size:10.5px;font-style:normal;font-weight:900;letter-spacing:-.02em;line-height:1}.brand-mark i:nth-child(1){background:var(--yellow)}.brand-mark i:nth-child(5){background:var(--blue);color:#fff}.brand-mark i:nth-child(9){background:var(--coral)}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-copy strong{font-family:Impact,Arial Black,sans-serif;font-size:20px;font-weight:900;letter-spacing:.025em;line-height:1}.brand-copy small{color:#59625e;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.phase-pill{justify-self:center;display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 8px 7px 12px;border:1px solid rgb(23 32 31 / 16%);border-radius:999px;background:#fffdf8d6;box-shadow:0 4px 18px #17201f0f;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#505b57;font-family:Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:900;letter-spacing:.11em}.phase-pill strong{display:grid;min-width:29px;min-height:20px;place-items:center;border-radius:999px;background:var(--blue);color:#fff;font-size:10px}.phase-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #2e7d4b1f}.progress-cluster{justify-self:end;display:flex;align-items:center;gap:11px;pointer-events:auto}.progress-copy{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.progress-copy span{color:#606a66;font-family:Arial Narrow,Arial,sans-serif;font-size:9px;font-weight:900;letter-spacing:.13em}.progress-copy strong{font-family:Arial Narrow,Arial,sans-serif;font-size:14px}.progress-copy b{color:var(--blue);font-size:18px}.progress-ring{--progress: 0deg;position:relative;display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:conic-gradient(var(--blue) var(--progress),rgb(23 32 31 / 10%) 0);box-shadow:0 5px 16px #17201f1a}.progress-ring:after{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:inherit;background:var(--paper);content:""}.progress-ring span{position:relative;z-index:1;font-family:Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:900}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgb(23 32 31 / 18%);border-radius:50%;background:#fffdf8e5;box-shadow:0 5px 18px #17201f14;cursor:pointer;font-size:12px;font-weight:900;letter-spacing:1px}.icon-button:hover,.camera-dock button:hover,.help-button:hover{background:#fff;transform:translateY(-1px)}.clue-panel{position:absolute;top:106px;left:24px;width:min(330px,calc(100vw - 48px));padding:17px 18px 15px;border:1px solid rgb(23 32 31 / 20%);border-top:5px solid var(--blue);border-radius:5px 5px 13px 13px;background:#fffdf8f0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.clue-eyebrow{display:flex;align-items:center;gap:8px;color:#59625e;font-family:Arial Narrow,Arial,sans-serif;font-size:9px;font-weight:900;letter-spacing:.12em}.clue-category{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.difficulty-badge{padding:4px 6px 3px;border-radius:999px;letter-spacing:.08em}.difficulty-badge[data-difficulty=easy]{background:#dcefe2;color:#27643d}.difficulty-badge[data-difficulty=medium]{background:#fff0bd;color:#7a5700}.difficulty-badge[data-difficulty=hard]{background:#ffe0d8;color:#9c3825}.clue-eyebrow span:last-child{margin-left:auto}.direction-badge{display:grid;width:25px;height:25px;place-items:center;border-radius:4px;background:var(--yellow);color:var(--ink);font-size:16px}.clue-panel p{min-height:45px;margin:14px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:700;line-height:1.25}.answer-track{min-height:24px;overflow:hidden;color:var(--blue);font-family:Arial Narrow,Arial,sans-serif;font-size:14px;font-weight:900;letter-spacing:.16em;line-height:1.7;text-overflow:ellipsis;white-space:nowrap}.hint-button{display:inline-flex;align-items:center;gap:7px;margin-top:11px;padding:8px 11px;border:1px solid rgb(24 63 202 / 32%);border-radius:6px;background:#eef2ff;color:var(--blue);cursor:pointer;font-family:Arial Narrow,Arial,sans-serif;font-size:9px;font-weight:900;letter-spacing:.08em}.hint-button:hover:not(:disabled){background:var(--blue);color:#fff}.hint-button:disabled{cursor:default;opacity:.42}.available-chip{position:absolute;bottom:29px;left:24px;display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgb(23 32 31 / 14%);border-radius:999px;background:#fffdf8e5;box-shadow:0 7px 20px #17201f14;color:#4f5a56;font-family:Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.spark{color:var(--coral);font-size:15px}.camera-dock{position:absolute;bottom:24px;left:50%;display:flex;align-items:center;gap:2px;padding:5px;border:1px solid rgb(23 32 31 / 16%);border-radius:9px;background:#fffdf8f0;box-shadow:0 8px 24px #17201f1f;pointer-events:auto;transform:translate(-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.camera-dock button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:6px;background:transparent;cursor:pointer;font-family:Arial,sans-serif;font-size:20px;font-weight:700;transition:.18s ease}.camera-dock span:not(.dock-divider){min-width:47px;text-align:center;font-family:Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:900}.dock-divider{width:1px;height:23px;margin:0 3px;background:#17201f29}.control-hint{position:absolute;right:78px;bottom:33px;display:flex;align-items:center;gap:15px;color:#6c7571;font-family:Arial Narrow,Arial,sans-serif;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.control-hint i{display:inline-grid;min-width:32px;min-height:19px;margin-right:4px;place-items:center;border:1px solid rgb(23 32 31 / 20%);border-radius:4px;background:#fffdf8b3;font-style:normal;box-shadow:0 2px #17201f1f}.help-button{position:absolute;right:24px;bottom:27px;display:grid;width:35px;height:35px;place-items:center;border:1px solid rgb(23 32 31 / 20%);border-radius:50%;background:#fffdf8e0;cursor:pointer;font-family:Georgia,serif;font-size:16px;font-weight:900;transition:.18s ease}.mobile-keyboard{position:fixed;left:-9999px;width:1px;height:1px;opacity:0}.popover{position:absolute;top:80px;right:24px;display:flex;width:238px;flex-direction:column;gap:4px;padding:12px;border:1px solid rgb(23 32 31 / 18%);border-radius:10px;background:var(--paper);box-shadow:var(--shadow)}.popover[hidden],.modal-backdrop[hidden]{display:none}.popover strong{padding:5px 8px 8px;color:#6b7470;font-family:Arial Narrow,Arial,sans-serif;font-size:9px;letter-spacing:.14em}.popover button,.popover a{display:flex;align-items:center;gap:10px;padding:10px 9px;border:0;border-radius:6px;background:transparent;cursor:pointer;color:inherit;text-align:left;text-decoration:none;font-size:12px;font-weight:800}.popover button:hover,.popover a:hover{background:#f1eee6}.popover button span,.popover a span{color:var(--blue);font-size:17px}.popover .game-switch-button{margin-top:6px;padding-top:13px;border-top:1px solid rgb(23 32 31 / 12%);border-radius:0 0 6px 6px;color:var(--blue);letter-spacing:.035em}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#18211f7a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.intro-card,.confirm-card,.complete-card,.about-card{position:relative;width:min(510px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgb(23 32 31 / 25%);border-radius:4px;background:var(--paper);box-shadow:0 24px 70px #0f181652;text-align:center}.about-card{position:relative;width:min(760px,100%);padding:42px 48px 38px;border-top:8px solid var(--blue);text-align:left}.about-card article{display:grid;gap:24px}.about-eyebrow{margin:0;color:var(--blue);font-family:Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:900;letter-spacing:.14em}.about-card #seo-title,.about-card h2{margin:0;color:var(--ink)}.about-card #seo-title{max-width:620px;font-family:Impact,Arial Black,sans-serif;font-size:clamp(36px,5vw,54px);font-weight:900;letter-spacing:-.015em;line-height:.96;text-transform:uppercase}.about-card h2{font-family:Arial Narrow,Arial,sans-serif;font-size:17px;font-weight:900;letter-spacing:.02em}.about-lead{max-width:650px;margin:-10px 0 0;color:#59625e;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.55}.about-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.about-highlights li{display:grid;gap:5px;padding:15px;border:1px solid rgb(23 32 31 / 12%);border-radius:8px;background:#f7f4ed}.about-highlights strong{font-size:13px}.about-highlights span,.about-how li,.about-faq p{color:#59625e;font-size:12px;line-height:1.45}.about-how{display:grid;gap:12px;padding:18px;border-left:5px solid var(--yellow);background:#f7f4ed}.about-how ol{display:grid;gap:9px;margin:0;padding:0;list-style:none}.about-how li{display:flex;align-items:center;gap:10px}.about-how b{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:11px}.about-faq{display:grid;gap:6px}.about-faq h2{margin-bottom:5px}.about-faq details{border-bottom:1px solid rgb(23 32 31 / 12%)}.about-faq summary{padding:10px 0;cursor:pointer;font-size:13px;font-weight:800}.about-faq p{margin:-2px 0 12px}.about-alternate{justify-self:start;display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:12px;font-weight:900;text-decoration:none}.about-alternate:hover{text-decoration:underline}.intro-card{padding:35px 50px 30px;border-top:8px solid var(--blue)}.modal-close{position:absolute;top:13px;right:13px;display:grid;width:31px;height:31px;place-items:center;border:0;border-radius:50%;background:#eeece5;cursor:pointer;font-size:21px;line-height:1}.intro-art{display:grid;width:104px;height:104px;place-items:center;margin:0 auto 8px}.intro-art .brand-mark{width:96px;height:96px;gap:2.5px;padding:3px;border-width:3px;border-radius:8px;box-shadow:5px 5px #17201f2e;transform:rotate(-2deg)}.intro-art .brand-mark i{font-size:19px}.intro-kicker{margin:8px 0 7px;color:var(--blue);font-family:Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:900;letter-spacing:.16em}.intro-card h1,.complete-card h2{margin:0;font-family:Impact,Arial Black,sans-serif;font-size:clamp(36px,6vw,52px);font-weight:900;letter-spacing:-.015em;line-height:.96;text-transform:uppercase}.intro-card>p,.complete-card>p{max-width:380px;margin:17px auto 20px;color:#59625e;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.45}.intro-card ol{display:grid;gap:8px;margin:0 0 21px;padding:0;list-style:none;text-align:left}.intro-card li{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid rgb(23 32 31 / 12%);border-radius:6px;background:#f7f4ed;font-size:12px;font-weight:700}.intro-card li b{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-family:Arial Narrow,Arial,sans-serif}.intro-card li em{padding:2px 4px;background:var(--yellow);font-style:normal}.primary-button,.secondary-button,.danger-button{min-height:47px;border-radius:6px;cursor:pointer;font-family:Arial Narrow,Arial,sans-serif;font-size:11px;font-weight:900;letter-spacing:.09em}.primary-button{width:100%;border:1px solid #09259a;background:var(--blue);box-shadow:0 4px #09259a;color:#fff}.primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-button span{float:right;margin-right:14px;font-size:18px;line-height:.7}.intro-card>small{display:block;margin-top:15px;color:#737b78;font-size:9px;font-weight:700;letter-spacing:.04em}.confirm-card,.complete-card{padding:38px 42px}.confirm-icon,.complete-burst{display:grid;width:58px;height:58px;margin:0 auto 16px;place-items:center;border-radius:50%;background:#ffe4df;color:var(--coral);font-size:31px}.confirm-card h2{margin:0;font-family:Impact,Arial Black,sans-serif;font-size:30px;text-transform:uppercase}.confirm-card p{margin:12px auto 24px;color:#636c68;font-family:Georgia,serif;font-size:14px;line-height:1.5}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary-button{border:1px solid rgb(23 32 31 / 22%);background:#f3f0e8}.danger-button{border:1px solid #ce4938;background:var(--coral);color:#fff}.complete-card{border-top:8px solid var(--yellow)}.complete-burst{background:var(--yellow);color:var(--blue)}.toast{position:absolute;left:50%;bottom:88px;min-width:260px;max-width:min(520px,calc(100vw - 32px));padding:12px 17px;border:1px solid rgb(23 32 31 / 22%);border-radius:6px;background:var(--paper);box-shadow:0 12px 30px #17201f2e;font-size:12px;font-weight:900;text-align:center;opacity:0;transform:translate(-50%,15px);transition:opacity .22s ease,transform .22s ease}.toast:before{margin-right:8px;content:"✦"}.toast[data-tone=success]:before{color:var(--green)}.toast[data-tone=warning]:before{color:var(--coral)}.toast[data-tone=info]:before{color:var(--blue)}.toast.is-visible{opacity:1;transform:translate(-50%)}.fatal-error{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;padding:30px;background:var(--canvas);color:var(--ink);text-align:center}.fatal-error strong{font-family:Impact,Arial Black,sans-serif;font-size:32px}@media(max-width:820px){.top-bar{top:14px;left:14px;right:14px;grid-template-columns:1fr auto}.phase-pill,.brand-copy small,.progress-copy span{display:none}.brand-copy strong{max-width:130px;font-size:15px;line-height:.95}.brand-mark{width:44px;height:44px;gap:1px;padding:1.5px}.brand-mark i{font-size:8px}.progress-copy strong{font-size:11px}.progress-copy b{font-size:15px}.progress-ring{width:39px;height:39px}.icon-button{width:35px;height:35px}.clue-panel{top:auto;right:12px;bottom:74px;left:12px;width:auto;padding:12px 14px 11px;border-top-width:4px}.clue-panel p{min-height:0;margin:8px 0 5px;font-size:14px}.answer-track{min-height:20px;font-size:12px}.hint-button{position:absolute;right:12px;bottom:10px;width:35px;height:35px;justify-content:center;padding:0;border-radius:50%;font-size:0}.hint-button span{font-size:15px}.answer-track{padding-right:48px}.available-chip{top:70px;bottom:auto;left:14px}.camera-dock{bottom:13px}.control-hint,.help-button{display:none}.popover{top:65px;right:14px}.toast{bottom:205px}.intro-card{padding:28px 23px 24px}.about-card{padding:34px 20px 26px}.about-card article{gap:19px}.about-card #seo-title{font-size:35px}.about-lead{font-size:14px}.about-highlights{grid-template-columns:1fr}.intro-art{transform:scale(.83);margin-top:-8px;margin-bottom:-4px}.intro-card>p{margin:13px auto 15px}.intro-card li{padding:7px 9px;font-size:11px}}@media(max-height:700px)and (min-width:821px){.clue-panel{top:88px;transform:scale(.92);transform-origin:top left}.intro-art{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
