:root{font-family:Arial,Helvetica,sans-serif;color:#143f44;background:#f3f5ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #e7ad13;outline-offset:4px}button{border:0}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}#app{max-width:1480px;margin:auto;padding:0 5.2vw}header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d6dfd6}.brand{text-decoration:none;color:inherit;font-size:16px;font-weight:900;letter-spacing:1px;display:flex;align-items:center;gap:8px}.brand b{font-weight:500;letter-spacing:2px}.brand-icon{font-size:31px;color:#218364;margin-right:7px}.top-right{display:flex;align-items:center;gap:10px}.edition{font-size:10px;letter-spacing:2px;margin-right:20px;color:#617e7c}.icon-button{border:1px solid #d4ded5;background:transparent;color:#204c4d;width:48px;height:48px;border-radius:50%;font-size:23px}.icon-button.muted{opacity:.5;text-decoration:line-through}#home{display:grid;grid-template-columns:1fr 1.13fr;gap:6vw;align-items:center;min-height:calc(100vh - 174px);padding:40px 0 46px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;margin:0 0 22px}.eyebrow span{display:inline-block;width:7px;height:7px;background:#e6b828;border-radius:50%;margin-right:7px}h1{font-size:clamp(60px,7.4vw,112px);font-weight:900;line-height:.88;letter-spacing:-5px;margin:0;position:relative}h1 span{color:#168063}h1 i{font-size:54px;color:#e6b72d;font-style:normal;position:absolute;left:68%;bottom:4px}.intro{font-size:15px;line-height:1.8;color:#617471;margin:26px 0}.difficulty{display:flex;padding:5px;background:#e6ebe3;border-radius:13px;gap:5px}.difficulty button{width:50%;padding:14px 12px;text-align:left;border-radius:9px;background:none;color:#62746d}.difficulty strong{font-size:15px;display:block}.difficulty small{font-size:10px;display:block;margin-top:6px;white-space:nowrap}.difficulty .selected{background:#fff;color:#174c46;box-shadow:0 2px 5px #123e4312}.difficulty .selected strong:after{content:"✓";float:right;color:#168063}.primary{background:#ffda50;color:#143f44;font-size:15px;font-weight:900;letter-spacing:1px;border-radius:11px;min-height:62px;padding:18px 26px;box-shadow:0 4px #dfb436}.hero-copy .primary{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:space-between}.primary span{font-size:26px}.primary:hover{background:#ffe371}.hero-links{display:flex;justify-content:center;gap:22px;margin-top:23px}.hero-links button{font-size:12px;font-weight:600;background:none;color:#526b65;min-height:48px}.hero-art{position:relative;border-radius:23px;background:#d7e9e9;overflow:hidden;border:1px solid #bdd4d4;box-shadow:0 15px 35px #123e4310;transform:rotate(1deg)}.hero-art>img{width:100%;display:block;image-rendering:pixelated;aspect-ratio:1.17;object-fit:cover;object-position:center;transform:scale(1.18);margin-top:27px;margin-bottom:28px}.art-top{position:absolute;top:22px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;z-index:1}.pill{font-size:9px;letter-spacing:1.4px;font-weight:700;background:#fffb;border-radius:20px;padding:11px 14px}.tiny-flag{width:43px;height:27px;background:linear-gradient(32deg,transparent 43%,#f6d641 44% 56%,transparent 57%),linear-gradient(-32deg,#168263 38%,#f6d641 39% 46%,#1b302a 47% 54%,#f6d641 55% 62%,#168263 63%);border-radius:3px}.art-caption{position:relative;display:flex;align-items:center;gap:14px;background:#fafcf5;padding:23px 22px}.tap-icon{font-size:30px;color:#188164}.art-caption strong{font-size:13px}.art-caption p{font-size:10px;color:#6a7c76;margin:8px 0 0}.five{margin-left:auto;font-size:24px;font-weight:700;white-space:nowrap}.five small{font-size:8px;display:block;letter-spacing:2px;text-align:center;margin-top:3px}.art-note{font-size:8px;letter-spacing:1.2px;text-align:center;background:#153f44;color:#b6d1c9;padding:14px 4px}.art-note span{color:#ffda50;padding:0 10px}footer{border-top:1px solid #d6dfd6;min-height:74px;display:flex;align-items:center;gap:15px;color:#7e8d84;font-size:9px;letter-spacing:1.3px}footer>span:first-child{font-weight:800;color:#358568}footer p{margin-right:auto;letter-spacing:.4px}#operator{background:none;color:#7b9185;min-width:48px;min-height:48px;font-size:18px}#panel{min-height:calc(100vh - 175px);padding:35px 0;max-width:960px;margin:auto}#panel h2{font-size:38px;letter-spacing:-1px;margin:12px 0}#panel p{line-height:1.7;color:#627a73}#panel a{color:#14765d}#panel .primary{min-width:220px;margin-top:20px}.back{min-height:48px;padding:10px 20px;background:#e1e9df;border-radius:9px;color:#295b51}.board{width:100%;border-collapse:collapse;margin:25px 0}.board td,.board th{padding:12px;border-bottom:1px solid #d6dfd6;text-align:left;font-size:17px}.board td:last-child,.board th:last-child{text-align:right}.board th{font-size:11px;letter-spacing:1px;color:#6b8179}.board tr:nth-child(2){color:#12765a}.result{max-width:640px;margin:auto;text-align:center}.result h2{font-size:42px!important}.bigscore{font-size:80px;font-weight:900;color:#168063;line-height:1.2}.result-details{display:flex;justify-content:center;gap:32px;font-size:13px;color:#688076;padding:12px}.result-details strong{display:block;font-size:22px;color:#204d47}.medal{font-size:70px;color:#dab12a}.name-display{font-size:32px;font-weight:700;letter-spacing:4px;min-height:55px;margin:15px 0}.keyboard{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:740px;margin:auto}.keyboard button{min-width:52px;min-height:52px;background:#fff;border-radius:8px;font-size:22px;color:#245c50;border:1px solid #c7d8cd}.keyboard .wide{min-width:100px;font-size:15px}.countdown{font-size:12px;color:#7e9289;margin:10px}#game-screen{position:fixed;inset:0;z-index:20;width:100%;height:100vh;height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:#dbeef1}#game-wrap{position:relative;width:100%;height:100%;margin:0;touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden;background:#dbeef1}#game{position:absolute;inset:0;width:100%;height:100%}canvas{display:block;image-rendering:pixelated;touch-action:none}.playing{overflow:hidden;background:#dbeef1}.playing #app{padding:0;max-width:none}.playing header{position:fixed;z-index:40;top:max(8px,env(safe-area-inset-top,0px));left:max(8px,env(safe-area-inset-left,0px));height:auto;width:auto;padding:4px;border:0;border-radius:32px;background:#f3f5eef2;box-shadow:0 2px 8px #123e4315}.playing header .top-right{gap:6px}.playing footer,.playing .edition,.playing .brand{display:none}.loading{position:absolute;inset:0;background:#e1eff0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1e665d}.loading span{font-size:60px;animation:spin 4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#rotate{display:none;position:fixed;inset:0;z-index:100;background:#153f44;color:#ffda50;align-items:center;justify-content:center;flex-direction:column;text-align:center}#rotate>div{font-size:100px}#rotate p{color:#d4e4da}.operator-input{padding:12px;border:1px solid #bccfc3;border-radius:8px;font:inherit;width:100%;margin:10px 0}.notice{font-size:12px!important;color:#8e6830!important;min-height:20px}@media(max-height:760px)and (orientation:landscape){header{height:76px}#home{min-height:calc(100vh - 126px);padding:25px 0;gap:5vw}footer{min-height:50px}h1{font-size:76px}.intro{margin:18px 0;font-size:13px}.hero-art>img{aspect-ratio:1.5;margin-top:14px;margin-bottom:14px}.art-caption{padding:17px}.eyebrow{margin-bottom:17px}.hero-links{margin-top:10px}.difficulty button{padding:12px}.hero-copy .primary{min-height:56px}#panel{min-height:calc(100vh - 126px)}}@media(max-width:850px){#app{padding:0 4vw}.edition{display:none}h1{font-size:68px}.hero-art{transform:none}.hero-art>img{aspect-ratio:1.2}.hero-links{gap:10px}.difficulty small{font-size:8px}.intro{font-size:12px}.art-caption p{line-height:1.5}.five{display:none}#home{gap:4vw}}@media(orientation:portrait){#rotate{display:flex}}@media(prefers-reduced-motion:reduce){.hero-art{transform:none}.loading span{animation:none}}.desktop-controls{font-size:11px;line-height:1.9;color:#456b5e;margin:8px 0}kbd{font:700 12px monospace;background:#fff;border:1px solid #becfc1;border-bottom-width:2px;border-radius:4px;padding:3px 5px}.ipad .desktop-controls{display:none}.celebrating{overflow:hidden}.celebrating #panel{position:fixed;inset:0;z-index:50;max-width:none;padding:24px;min-height:100dvh;background:radial-gradient(ellipse at 50% 25%,#246c55,#0b342f 75%);color:#fff7d4;display:flex;align-items:center;justify-content:center;overflow:auto}.finish-party{text-align:center;max-width:900px}.party-sparks{font-size:38px;letter-spacing:28px;color:#fed100;animation:party 1.6s ease-in-out infinite alternate}.award-icon{font-size:115px;line-height:1.2;filter:drop-shadow(0 8px 12px #0004)}#panel .finish-party h2{font-size:clamp(42px,7vw,90px);margin:4px 0;color:#fed100;letter-spacing:1px}#panel .finish-party.silver h2{color:#dce9ef}#panel .finish-party.bronze h2{color:#e9ac78}#panel .finish-party.none h2{color:#effadf}.finish-party .eyebrow{color:#c2dcd0;margin:8px 0}#panel .finish-party p{color:#d0e7d5;margin:6px 0}.finish-time{font-size:clamp(40px,6vw,72px);font-weight:900;font-variant-numeric:tabular-nums;margin:10px 0}.finish-party .primary{margin-top:18px!important}#panel .finish-party .countdown{font-size:11px;margin-top:18px}@keyframes party{to{transform:translateY(-5px);opacity:.65}}@media(max-height:650px){.award-icon{font-size:70px}.party-sparks{font-size:22px}.finish-time{font-size:40px}#panel .finish-party h2{font-size:42px}.party-message{display:none}}@media(prefers-reduced-motion:reduce){.party-sparks{animation:none}}
