:root{--bg: #f6f6f3;--surface: #fcfcfb;--text: #1d1d1b;--muted: #6b6a63;--line: #e2e1dc;--accent: #2a78d6;--accent-ink: #fff;--paper: #ffffff;--guide: #cfd6e0;--ink: #1d1d1b;--dot: #1d1d1b;--good: #2f7a4b;--s-line: #2a78d6;--s-circle: #eb6834;--s-ellipse: #1baf7a;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #141413;--surface: #1a1a19;--text: #f0efec;--muted: #a7a69d;--line: #34332f;--accent: #3987e5;--paper: #1f1f1d;--guide: #3b4250;--ink: #f0efec;--dot: #f0efec;--good: #6cc08d;--s-line: #3987e5;--s-circle: #d95926;--s-ellipse: #199e70;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}a{color:var(--accent)}h1{font-size:2rem;margin:.2em 0 .3em;letter-spacing:-.01em}h2{font-size:1.15rem;margin:2em 0 .6em}.page{max-width:640px;margin:0 auto;padding:20px 16px 48px}.page.wide{max-width:860px}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.lead{font-size:1.08rem}.back{text-decoration:none;font-weight:600}.button,button{font:inherit;display:inline-block;padding:.55em 1.1em;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-decoration:none;cursor:pointer}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.big{font-size:1.1rem;padding:.7em 1.4em}button.link{border:0;background:none;color:var(--accent);padding:0;margin-left:auto}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:1em 0}.done{color:var(--good);font-weight:600}.drills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.drill{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none}.drill svg{fill:none;stroke:var(--text);stroke-width:2.5;stroke-linecap:round}.drill svg .fill{fill:var(--text);stroke:none}.explain li{margin-bottom:.6em}.practice-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}.practice-head .back{white-space:nowrap}.progressbar{height:4px;background:var(--line);border-radius:2px;margin:10px 0;overflow:hidden}.progressbar div{height:100%;background:var(--accent);transition:width .2s}.how{margin:.4em 0 .8em;color:var(--muted);min-height:3em}.pad{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.pad canvas{display:block;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}.result{min-height:170px;margin-top:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.card p{margin:0 0 .6em}.score-row{display:flex;gap:20px;align-items:center}.total{font-size:2.8rem;font-weight:700;min-width:2.2em;text-align:center;font-variant-numeric:tabular-nums}.parts{flex:1;display:grid;gap:6px}.part{display:grid;grid-template-columns:6.5em 1fr 2.2em;align-items:center;gap:8px;font-size:.92rem}.part b{text-align:right;font-variant-numeric:tabular-nums}.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.bar div{height:100%;background:var(--accent);border-radius:4px}.tip-text{margin-top:.8em!important}table.data{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}table.data th,table.data td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:right}table.data th:first-child,table.data td:first-child{text-align:left}table.data th{color:var(--muted);font-weight:600;font-size:.9rem}.summary{max-width:420px}.stats{display:flex;gap:12px;margin:1em 0 1.5em}.stats div{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.stats b{display:block;font-size:1.6rem}.stats span{color:var(--muted);font-size:.9rem}.chart{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.9rem;color:var(--muted);margin-bottom:6px}.swatch{display:inline-block;width:12px;height:3px;border-radius:2px;vertical-align:middle}.swatch.s-line{background:var(--s-line)}.swatch.s-circle{background:var(--s-circle)}.swatch.s-ellipse{background:var(--s-ellipse)}.plot{position:relative}.plot svg{width:100%;height:auto;display:block;touch-action:pan-y}.plot .grid{stroke:var(--line);stroke-width:1}.plot .tick,.plot .end-label{font-size:11px;fill:var(--muted)}.plot .end-label{fill:var(--text)}.plot .crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.plot .series{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.plot .dot{stroke:var(--surface);stroke-width:2}.plot .s-line .series{stroke:var(--s-line)}.plot .s-line .dot{fill:var(--s-line)}.plot .s-circle .series{stroke:var(--s-circle)}.plot .s-circle .dot{fill:var(--s-circle)}.plot .s-ellipse .series{stroke:var(--s-ellipse)}.plot .s-ellipse .dot{fill:var(--s-ellipse)}.tip{position:absolute;top:0;transform:translate(-50%);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.85rem;display:grid;gap:2px;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px #0000001f}@media (max-width: 520px){.score-row{flex-direction:column;align-items:stretch;gap:6px}.total{text-align:left}}.site-footer{max-width:760px;margin:2em auto 0;padding:16px 16px 32px;text-align:center;border-top:1px solid var(--line)}.site-footer a{color:var(--muted)}.legal section{margin-top:1.4em}.legal h2{margin:0 0 .4em}.legal .contact{margin-top:1em}.legal .contact p{margin-bottom:.8em}.account{display:flex;align-items:center;gap:12px;margin:1.5em 0}.account.signin{display:block}.account.signin>*+*{margin-top:10px}.account .grow{flex:1}.account .avatar{border-radius:50%}.account .strong{font-weight:600}.account .fallback{display:block;color:var(--muted)}.error{color:#c0392b}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-bottom:8px}.static-header{border-bottom:1px solid var(--line);background:var(--surface)}.static-header nav{max-width:640px;margin:0 auto;padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.static-header .brand{font-weight:700;color:var(--text);text-decoration:none}.button.small{padding:.35em .9em;font-size:.9rem}.crumbs{margin-bottom:.5em}.crumbs a{color:var(--muted)}.guide h2{margin-top:1.8em}.guide h3{font-size:1rem;margin:1.2em 0 .3em}.guide li{margin-bottom:.4em}.cta{font-weight:600;text-decoration:none}.cta-box{margin-top:2.5em;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.cta-box h2{margin-top:0}.try-wrap{margin:1.8em 0}.try{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px}.try canvas{display:block;border-radius:8px;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}.try-result{min-height:3.2em;margin:10px 4px 0}.try-result p{margin:.3em 0 0}.try-total{font-size:1.6rem;margin-right:8px}.try-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 4px 2px}.device-tip{display:flex;gap:14px;align-items:center;margin:1.2em 0;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--surface)}.device-tip p{margin:.2em 0 .4em}.device-tip .qr{flex:none;width:104px;height:104px;background:#fff;border-radius:8px;padding:4px}.device-tip .qr svg{width:100%;height:100%;display:block}.device-tip button.link{margin-left:0}.device-tip.compact{display:block;margin-top:1em;padding:8px 12px;border-left-width:3px;font-size:.92rem;color:var(--muted)}@media (max-width: 520px){.device-tip .qr{display:none}}.animals{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.animal-picture-wrap{display:block;width:100%}.animal-picture{display:block;background:#fffaf0;border-radius:8px;stroke:none}.drill.animal{padding:8px 8px 10px;transition:transform .15s}.drill.animal:hover{transform:translateY(-2px)}.drill .animal-picture{width:100%;height:auto;stroke:none;stroke-width:0}.reveal{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:12px}.reveal .big-picture{width:100%;height:auto;border-radius:0}.reveal .paint,.reveal .decor{animation:colour-in .9s ease-out both}.reveal .decor{animation-delay:.5s}@keyframes colour-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.reveal .paint,.reveal .decor{animation:none}}.reveal-card{margin-top:12px}.stars{font-size:1.8rem;color:#f2b01e;letter-spacing:.1em;line-height:1.2}.stars .off{color:var(--line)}.animal-result{min-height:3em}.chip{display:inline-block;min-width:2.4em;padding:.1em .5em;border-radius:999px;background:var(--accent);color:var(--accent-ink)}.animal-guide img,.hero-picture img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:#fffaf0}.hero-picture{margin:1em 0}.draw-cta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:1em 0 1.5em}.steps{padding-left:0;list-style:none;counter-reset:none}.steps li{margin:0 0 1.8em}.steps img{max-width:440px}.steps h3{margin-top:0}.guide .animals{margin:1.2em 0}.guide .animals .drill b{text-align:center;font-size:.92rem}@media (pointer: coarse){.button.small{min-height:44px;padding:.6em 1em;display:inline-flex;align-items:center}.site-footer nav a,.crumbs a{display:inline-block;padding:9px 2px}.site-footer nav{gap:0 14px}button.link{padding:10px 0}}.drill.animal{position:relative}.drill.animal.locked .animal-picture{filter:grayscale(1);opacity:.45}.lock-badge{position:absolute;top:6px;right:8px;font-size:1.1rem}.pick-badge{position:absolute;top:-9px;left:50%;transform:translate(-50%);white-space:nowrap;background:#f2b01e;color:#1d1d1b;font-size:.75rem;font-weight:700;padding:1px 8px;border-radius:999px}.drill.animal.pick{border-color:#f2b01e;box-shadow:0 0 0 2px #f2b01e59}.locked-hero{position:relative;max-width:360px;margin:16px auto 0}.locked-hero .locked-picture{width:100%;height:auto;filter:grayscale(1);opacity:.5}.locked-hero .lock-badge{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);font-size:3rem}.streak-meter{height:10px;background:var(--line);border-radius:5px;overflow:hidden;max-width:360px}.streak-meter div{height:100%;background:var(--good)}.stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.sticker{display:block;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px;transform:rotate(-1deg)}.sticker:nth-child(2n){transform:rotate(1.2deg)}.sticker .animal-picture{width:100%;height:auto}.sticker.gold{border:3px solid #e2a614;background:#fff7dc;padding:4px}.sticker-meta{display:block;font-size:.85rem;padding:4px 2px 0}@media (prefers-color-scheme: dark){.sticker.gold{background:#3a3220}.pick-badge{color:#1d1d1b}}
