:root{--paper:#faf5e8;--ink:#124936;--muted:#53685d;--orange:#e87824;--line:#d9dfcd;--wash:#eaf0dc;--white:#fffdf7;--danger:#9c3021}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:20px/1.7 Geeza Pro,Tahoma,sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:24px 32px;display:flex}.brand{color:var(--ink);font-size:27px;font-weight:800;text-decoration:none}.orange{color:var(--orange);vertical-align:middle;font-size:40px}.quiet{text-underline-offset:6px;background:0 0;min-height:48px;padding:8px 14px;text-decoration:underline}main{max-width:1120px;min-height:62vh;margin:20px auto 60px;padding:0 32px}h1{margin:10px 0 20px;font-size:clamp(36px,5vw,68px);line-height:1.3}h2{font-size:27px;line-height:1.5}p{margin:12px 0}.muted{color:var(--muted);font-size:16px}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;min-height:360px;display:grid}.hero p{max-width:430px}.primary{background:var(--ink);color:var(--white);border-radius:22px;min-height:64px;margin-top:16px;padding:14px 36px;font-weight:700;display:inline-block}.orchard{background:var(--wash);border-radius:48% 45% 20% 25%;min-height:340px;position:relative;overflow:hidden}.tree{background:#44734a;border-radius:48% 55% 40% 48%;width:205px;height:220px;position:absolute;inset:25px auto auto 50%;transform:translate(-50%)}.tree:after{content:"";background:#996b42;border-radius:12px;width:28px;height:100px;position:absolute;top:190px;left:89px}.fruit{background:var(--orange);z-index:1;text-align:center;color:#58260b;border-radius:50%;width:66px;height:66px;font-size:27px;line-height:66px;position:absolute}.fruit:first-child{top:38px;left:30px}.fruit:nth-child(2){top:104px;left:115px}.fruit:nth-child(3){top:146px;left:30px}.grass{background:#c4d39e;height:34px;position:absolute;inset:auto 0 0}.trail{grid-template-columns:repeat(2,1fr);gap:32px;margin-top:42px;display:grid}.skill{border-block-start:2px solid var(--line);align-items:center;gap:22px;padding:24px 0;display:flex}.stone{background:var(--wash);border-radius:42% 47% 38% 45%;flex-shrink:0;place-items:center;width:76px;height:76px;font-size:34px;display:grid}.skill h2{margin:0;font-size:24px}.skill p{color:var(--muted);font-size:16px}.skill button{border:1px solid var(--ink);background:0 0;border-radius:14px;min-height:48px;margin:0;padding:8px 18px}.session{text-align:center;max-width:780px;margin:auto}.session-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.session h1{margin-top:32px;font-size:40px}.visual{letter-spacing:12px;overflow-wrap:anywhere;word-break:break-all;justify-content:center;align-items:center;min-height:150px;font-size:clamp(44px,8vw,76px);display:flex}.options{flex-wrap:wrap;justify-content:center;gap:20px;margin:24px 0;display:flex}.answer{border:2px solid var(--line);background:var(--white);min-width:100px;min-height:100px;box-shadow:0 5px 0 var(--line);border-radius:24px;font-size:40px}.answer:hover{border-color:var(--ink)}progress{width:100%;height:12px;accent-color:var(--ink)}#notice{text-align:center;min-height:36px;color:var(--danger);padding-inline:24px}footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:20px 24px;font-size:14px}dialog{border:1px solid var(--line);max-width:min(480px,92vw);color:var(--ink);background:var(--white);border-radius:24px;padding:30px}dialog::backdrop{background:#153d3277}label{display:block}input{background:var(--white);border:1px solid var(--muted);border-radius:10px;width:100%;min-height:48px;padding:8px}.close{float:inline-end;font-size:28px}.parent-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.parent-head h1{font-size:38px}.report{margin:30px 0}.report-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;display:grid}.report-row h2{margin:0;font-size:23px}.report-row p{font-size:17px}.settings{background:var(--wash);border-radius:20px;gap:20px;padding:24px;display:grid}.settings fieldset{border:0;margin:0;padding:0}.settings input{width:auto;min-height:auto;accent-color:var(--ink);margin-inline:10px}.settings label{margin-inline-end:18px;display:inline-block}.actions{flex-wrap:wrap;gap:20px;margin-block:25px;display:flex}.danger{color:var(--danger)}.skip{position:absolute;top:-100px}.skip:focus{background:var(--white);z-index:10;top:10px}.feedback{background:var(--wash);border-radius:16px;max-width:540px;margin:24px auto;padding:20px}.caption{color:var(--muted);font-size:16px}@media (max-width:650px){header{padding:16px 20px}.brand{font-size:22px}main{margin-top:12px;padding:0 20px}.hero{grid-template-columns:1fr;gap:20px}.hero-copy{order:0}.orchard{order:1;min-height:220px}.tree{transform-origin:top;transform:translate(-50%)scale(.73)}.hero h1{font-size:40px}.hero .primary{width:100%}.trail{grid-template-columns:1fr;gap:0;margin-top:24px}.skill{gap:16px}.report-row{grid-template-columns:1fr;gap:0}.answer{min-width:72px;min-height:80px}.options{gap:14px}.session h1{font-size:30px}.parent-head{align-items:start}.parent-head h1{font-size:30px}.settings label{margin-block:10px;display:block}.visual{letter-spacing:6px;min-height:130px}.parent-head .quiet{font-size:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.auth{max-width:540px;margin:30px auto}.auth h1{font-size:36px}.auth form{gap:16px;display:grid}.auth input,.auth label{font-size:18px}.auth .primary{width:100%;margin:0}.auth .warning{background:var(--wash);border-radius:16px;padding:16px;font-size:16px}.children{gap:14px;margin:25px 0;display:grid}.child-choice{text-align:start;background:var(--wash);border-radius:16px;min-height:64px;padding:18px 24px;font-weight:700}.auth fieldset{border:1px solid var(--line);border-radius:12px}.auth fieldset label{margin-inline-end:16px;display:inline-block}.auth input[type=radio]{width:auto;min-height:0}nav{flex-wrap:wrap;gap:4px;display:flex}.auth small{color:var(--muted);font-size:14px}[hidden]{display:none!important}
