:root{font-family:ui-rounded,'Avenir Next',Avenir,system-ui,sans-serif;color:#3f4a35;background:#edf0df;font-synthesis:none;--ink:#3f4a35;--green:#526b44;--cream:#fbf8eb}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{background:radial-gradient(ellipse at 20% 10%,#f7f4e5,transparent 60%),#edf0df}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid #bf752e;outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}#app{width:min(100%,470px);margin:auto;padding:calc(12px + env(safe-area-inset-top)) 18px calc(10px + env(safe-area-inset-bottom));min-height:100svh}header{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 14px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{font-size:32px;color:#738662}.brand h1{font-family:Georgia,'Times New Roman',serif;font-size:27px;letter-spacing:-1px;margin:0;font-weight:normal}.brand p{margin:4px 0 0;font-size:8px;letter-spacing:2.2px;font-weight:700;color:#7e876d}.icon-button{width:44px;height:44px;background:#ffffff66;border:1px solid #80916a30;border-radius:50%;font-size:20px}#hud{display:flex;align-items:center;gap:22px;padding:2px 8px 12px;height:69px}#hud>div{display:flex;flex-direction:column}#hud span{font-size:8px;letter-spacing:1.5px;color:#7a856e;font-weight:700}#hud strong{font-variant-numeric:tabular-nums;font-size:29px;letter-spacing:-1px;font-weight:600}#hud .best{margin-left:auto}#hud .best strong{font-size:22px;margin-top:4px;color:#788668}#hud .next{flex-direction:row;align-items:center;gap:5px;border-left:1px solid #98a48740;padding-left:12px}#next{width:45px;height:45px}#pond-wrap{position:relative;line-height:0}#pond{display:block;width:100%;height:auto;aspect-ratio:2/3;border-radius:28px;touch-action:none;outline-offset:-4px}#warning{position:absolute;left:50%;top:19%;transform:translateX(-50%);background:#fff1d7e8;color:#97522e;font-size:13px;line-height:1.3;padding:7px 12px;border-radius:16px;font-weight:700;white-space:nowrap}#combo{position:absolute;top:38%;width:100%;text-align:center;pointer-events:none;color:#526b44;font-family:Georgia,serif;font-size:26px;line-height:1.3;text-shadow:0 1px #fff7dd}#tools{display:flex;align-items:center;gap:12px;padding:8px 3px}#orange{display:flex;align-items:center;gap:8px;border-radius:16px;padding:9px 12px;background:#faf6e7;border:1px solid #b5b99b60;text-align:left;font-size:12px;min-height:52px;white-space:nowrap}#orange>span:first-child{font-size:23px}#orange small{display:block;font-size:9px;color:#8a8f70;margin-top:2px}#orange[aria-pressed=true]{background:#f3dba9;border-color:#c98541}.tip{font-size:10px;color:#7c866c;line-height:1.4;text-align:center;flex:1}footer{display:flex;justify-content:space-between;padding:6px 3px 4px}footer button{font-size:10px;min-height:36px;color:#6e7e5d}footer span{margin-left:6px}dialog{width:min(90vw,410px);max-height:90svh;border:1px solid #d2d3b8;border-radius:28px;background:var(--cream);color:var(--ink);padding:34px 28px 24px;box-shadow:0 24px 100px #2f402a35;text-align:center;overflow-y:auto}dialog::backdrop{background:#34492d55;backdrop-filter:blur(6px)}dialog h2{font:normal 35px/1.13 Georgia,serif;letter-spacing:-1.3px;margin:13px 0 15px}.eyebrow{font-size:8px;letter-spacing:2.2px;font-weight:700;color:#849073}dialog p{font-size:13px;line-height:1.7;color:#7b816d;margin:12px 0 22px}.primary{display:block;width:100%;border-radius:14px;background:#526b44;color:#fffbed;padding:16px 20px;font-size:14px;font-weight:600;min-height:48px}.primary span{float:right}.quiet{display:block;margin:8px auto 0;min-height:42px;font-size:12px;color:#7a856d}.menu-links{display:flex;justify-content:center;gap:26px;margin:10px 0 22px}.menu-links button{font-size:11px;min-height:36px}.version{font-size:6px;letter-spacing:1.3px;color:#9ba086}#hero{width:100%;height:auto;margin:2px 0 -2px}#menu{padding-top:30px}#menu h2{font-size:40px;margin-bottom:4px}#menu p{margin:0 0 22px}.close{position:absolute;right:12px;top:12px;border-radius:50%;width:40px;height:40px;font-size:25px;color:#8c957c}ol{text-align:left;padding-left:21px;font-size:13px;line-height:1.6;color:#737d63}li{padding:0 0 13px 5px}li strong{color:#4a593c}.note{font-size:10px!important;line-height:1.65!important}.result-score{font-size:55px;color:#536d43;letter-spacing:-2px;font-variant-numeric:tabular-nums}#family{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 5px}#family canvas{width:70px;height:70px}#family figure{margin:0}#family figcaption{font-size:10px}#family small{font-size:8px;color:#8c957b}#settings-dialog label{display:flex;justify-content:space-between;align-items:center;font-size:13px;min-height:54px;border-bottom:1px solid #d9ddc9}input[type=checkbox]{accent-color:#58744a;width:22px;height:22px}#toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#3f5638;color:#fff8e5;padding:12px 20px;font-size:12px;border-radius:16px;z-index:10;max-width:90vw;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@media(min-width:700px){#app{padding-top:25px}body{background:radial-gradient(ellipse at center,#f8f6e9,#dce4cb)}#app{max-width:470px}}@media(max-height:790px) and (max-width:600px){#app{padding:calc(7px + env(safe-area-inset-top)) 14px calc(5px + env(safe-area-inset-bottom))}header{padding-bottom:7px}#hud{height:52px;padding-bottom:6px}#hud strong{font-size:25px}#pond-wrap{max-width:calc((100svh - 225px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*2/3);margin:0 auto}footer{padding:0 3px}.brand h1{font-size:24px}#tools{padding:4px 3px}}@media(orientation:landscape) and (max-height:600px){#app{width:360px}#pond-wrap{max-width:220px}header{padding:0}#hud{height:50px}#tools{padding:0}footer{padding:0}dialog{max-height:90svh}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
