:root{color-scheme:light;--paper:#f4f3ed;--ink:#263a36;--muted:#77817a;--green:#2c6654;--line:#d9ddd3;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d38942;outline-offset:5px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}.app{max-width:1600px;margin:auto;padding:0 5.3%}.header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:39px;font-weight:800;letter-spacing:-2.5px}.brand svg{width:30px;height:36px;fill:none;stroke:var(--green);stroke-width:1.8}.brand-dot{color:#759783}.header-note,.edition{font-size:10px;letter-spacing:2px;font-weight:600}.header-note{margin-left:40px;color:var(--muted)}.edition span{margin:0 10px;color:#a3aaa1}main{display:grid;grid-template-columns:36% 64%;padding:42px 0 38px;min-height:730px}.intro{padding:32px 26px 15px 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;display:flex;gap:9px;align-items:center}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#668a71}h1{font-size:clamp(70px,7.5vw,112px);line-height:.96;letter-spacing:-6px;font-weight:500;margin:34px 0 25px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--green);letter-spacing:-5px}.description{font-size:14px;line-height:1.85;color:#6e7871;margin:0}.record{display:flex;align-items:center;gap:13px;margin:32px 0 26px}.record svg{width:30px;fill:none;stroke:#78907a;stroke-width:1}.record div>span{font-size:8px;letter-spacing:1.6px;color:var(--muted);display:block;margin-bottom:7px}.record strong{font-size:25px;font-weight:500}.record small{font-size:12px;font-weight:400;color:var(--muted)}.primary{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:#fff;border:0;padding:19px 23px;min-width:240px;border-radius:4px;font-size:13px;transition:background .2s,transform .2s}.primary:hover{background:#204c3f;transform:translateY(-2px)}.primary>span{font-size:20px}.input-note{display:flex;gap:9px;align-items:center;margin-top:15px;font-size:10px;color:#899087}kbd{font:8px Arial;letter-spacing:1px;padding:4px 6px;border:1px solid #d4d9ce;border-radius:3px}.intro-bottom{margin-top:auto;padding-top:38px;display:flex;gap:12px;align-items:center}.intro-bottom p{font-size:10px;line-height:1.7;color:#93998d;margin:0}.mini-line{height:1px;width:23px;background:#aeb8a4}.game{position:relative;overflow:hidden;background:#e9ede2;min-height:650px;border:1px solid #dce2d4;border-radius:8px;isolation:isolate;touch-action:manipulation;user-select:none}.game canvas{width:100%;height:100%;position:absolute;inset:0;display:block;touch-action:manipulation}.game-top{position:absolute;top:28px;left:28px;right:24px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.live-score{display:flex;flex-direction:column}.live-score>span{font-size:8px;letter-spacing:1.8px;color:#77866d}.live-score strong{font-weight:400;font-size:57px;line-height:1.3;letter-spacing:-3px;font-variant-numeric:tabular-nums}.tools{display:flex;gap:8px;pointer-events:auto}.icon-button{width:35px;height:35px;border:1px solid #cbd4c2;border-radius:50%;background:#f4f5ec99;display:grid;place-items:center;color:#52654e}.icon-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.north{position:absolute;right:33px;top:110px;display:flex;flex-direction:column;align-items:center;font-size:8px;color:#85927c;gap:5px}.north span{font-size:29px;font-weight:100}.scene-label,.scale{position:absolute;bottom:25px;display:flex;align-items:center;font-size:8px;letter-spacing:1.4px;color:#77866e;gap:8px;pointer-events:none}.scene-label{left:26px}.status-dot{width:5px;height:5px;border-radius:50%;background:#688d5d}.scale{right:25px;letter-spacing:1px}.scale>span{width:30px;height:5px;border:1px solid #8f9f81;border-top:0}.feedback{position:absolute;top:28%;left:0;right:0;text-align:center;color:#2c6654;font-size:14px;letter-spacing:2px;font-weight:bold;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .3s}.feedback.show{opacity:1;transform:translateY(0)}.overlay{position:absolute;inset:0;background:#eff1e6c9;backdrop-filter:blur(8px);display:grid;place-items:center;z-index:5}.result{text-align:center;padding:28px;max-width:390px}.result .eyebrow{justify-content:center;color:var(--green)}.result h2{font:italic 57px Georgia,serif;letter-spacing:-2px;margin:25px 0 15px}.result p{font-size:14px;line-height:1.8;color:#677760;margin:0 0 26px}.result .primary{margin:auto}.result>span:last-child{display:block;font-size:10px;color:#8d9685;margin-top:20px}.drop-button{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);border:1px solid #b5c1ab;background:#f5f6edee;border-radius:30px;padding:12px 24px;color:var(--green);font-size:11px;letter-spacing:.5px;box-shadow:0 4px 20px #3d56360a}.drop-button span{margin-left:18px}footer{border-top:1px solid var(--line);min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.2px;color:#91978d}footer div{display:flex;align-items:center;gap:10px;letter-spacing:.3px;color:#6f7a6a;font-size:10px}.instruction-number{color:#98a58d;font-size:8px}.footer-line{height:1px;width:22px;background:#ccd3c4;margin:0 3px}.footer-right{font-size:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){main{min-height:810px}.game{min-height:730px}}
@media(max-width:1000px){.app{padding:0 4%}.header{height:86px}.header-note{font-size:8px}main{grid-template-columns:35% 65%;padding:25px 0;min-height:680px}.intro{padding-top:26px}h1{font-size:78px}.eyebrow{font-size:7px;letter-spacing:1px}.description{font-size:12px}.primary{min-width:205px;padding:16px 18px;font-size:12px}.game{min-height:620px}.footer-right{display:none}.intro-bottom{padding-top:25px}}
@media(max-width:680px){.app{padding:0 20px}.header{height:72px}.brand{font-size:30px;gap:8px}.brand svg{width:24px}.header-note{display:none}.edition{font-size:8px;letter-spacing:1.3px}main{display:flex;flex-direction:column;padding:22px 0;gap:23px;min-height:0}.intro{display:grid;grid-template-columns:1fr auto;padding:0;align-items:center}.eyebrow{grid-column:1/-1;font-size:7px;letter-spacing:1.3px}h1{font-size:61px;margin:17px 0 10px;letter-spacing:-3px}h1 br{display:none}h1 em{letter-spacing:-3px}.description{grid-column:1/-1;font-size:11px;line-height:1.7}.description br{display:none}.record{grid-column:2;grid-row:2;margin:8px 0 0 12px;gap:6px}.record svg{width:20px}.record div>span{font-size:6px;letter-spacing:1px}.record strong{font-size:24px}.record small{font-size:10px}.intro>.primary{grid-column:1;min-width:0;width:204px;margin-top:19px;padding:13px 16px;font-size:11px}.input-note{margin:19px 0 0 12px;font-size:9px}.input-note kbd{display:none}.intro-bottom{display:none}.game{min-height:0;height:min(590px,76svh);max-height:670px;border-radius:6px}.game-top{top:20px;left:20px;right:17px}.live-score strong{font-size:46px}.north{right:26px;top:98px}.scene-label{left:18px;bottom:19px;font-size:7px;letter-spacing:1px}.scale{right:18px;bottom:19px;font-size:7px}.scale>span{width:20px}footer{min-height:66px;justify-content:center}footer>span{display:none}.feedback{font-size:12px}.result h2{font-size:48px}}
@media(max-width:680px){h1{grid-column:1/-1;font-size:55px;white-space:nowrap}.description{grid-column:1;max-width:225px}.record{grid-row:3;margin-top:0}.intro>.primary{grid-row:4}.input-note{grid-row:4}}
@media(max-width:370px){.app{padding:0 12px}h1{font-size:48px}.input-note{font-size:8px;margin-left:7px}.intro>.primary{width:188px}.scale{display:none}.description{max-width:190px}}
.intro-bottom a{color:var(--green);text-decoration:none;border-bottom:1px solid #b6c4b1}.intro-bottom a:hover{border-color:var(--green)}
.overlay{overflow-y:auto;align-items:safe center;overscroll-behavior:contain}.result{max-width:430px;width:100%;padding:26px}.result h2{font-size:43px;line-height:1.08;margin:18px 0 12px}.result .result-stats{font-size:11px;letter-spacing:1.4px;color:var(--green);margin:0 0 16px}.result>p:not(.result-stats){font-size:14px;line-height:1.65;margin-bottom:21px}.architect{border-top:1px solid #bac8b1;margin-top:22px;padding-top:17px}.architect p{font-size:11px;line-height:1.7;margin:0 0 10px}.architect strong{color:var(--ink);font-weight:600}.architect a{display:inline-block;color:var(--green);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:4px;line-height:1.7;padding:6px 0}.architect a:hover{color:#183e31}.result>span:last-child{margin-top:15px}
@media(max-width:680px){.result{padding:22px 20px}.result h2{font-size:35px}.result>p:not(.result-stats){font-size:13px}.architect{margin-top:18px;padding-top:14px}.feedback{padding:0 12px;font-size:11px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.primary:hover{transform:none}}

.return-site{color:var(--green);text-decoration:none;letter-spacing:.6px;border-bottom:1px solid #b6c4b1;padding:8px 0}.return-site:hover{border-color:var(--green)}
