@font-face{font-family:Space Grotesk;src:url('/assets/fonts/space-grotesk-variable.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{--ink:#193b32;--muted:#536f63;--primary:#28795c;--edge:#174b38;--hero:#e5f0d8;--bg:#faf8f0;--paper:#fffef8;--line:#d5dfcf;--accent:#d8663b;--peach:#fff0df;--lilac:#e9e5f5;--font:'Space Grotesk',system-ui,sans-serif;font-family:var(--font);font-synthesis:none;color:var(--ink);background:var(--bg);color-scheme:light}
*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none}button:disabled{cursor:default}a{color:var(--primary);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #cf662f;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}p{color:var(--muted)}svg{flex-shrink:0;vertical-align:middle}img{max-width:100%;object-fit:contain}h1{font-size:40px;max-width:710px;font-weight:700;margin-bottom:0}h2{font-size:22px;margin-bottom:10px}.site-header{max-width:1112px;min-height:104px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px}.brand{display:flex;align-items:center;gap:7px;font-size:29px;letter-spacing:-1.4px;font-weight:700;padding:0;min-height:50px}.brand img{transform:rotate(-7deg)}.brand-dot{color:var(--accent)}.header-actions{display:flex;gap:14px;align-items:center}.language-select{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:10px 28px 10px 12px;min-height:44px;font-size:14px;max-width:220px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}.app-shell{max-width:1112px;margin:auto;display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;padding:10px 28px 48px}.nav{display:flex;flex-direction:column;gap:10px;padding-top:4px}.nav-item{display:flex;align-items:center;gap:9px;padding:13px 11px;text-align:left;border-radius:15px;color:var(--muted);font-weight:600;font-size:14px;min-height:48px}.nav-item.active{background:var(--hero);color:var(--primary)}.nav-item:hover{background:#edf1e7}main{min-width:0;outline:none}.welcome{padding:0 0 25px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin:0 0 10px}.date{color:var(--muted);margin-left:12px;font-weight:500;letter-spacing:0}.hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:330px;border:1px solid #d4e1c6;border-radius:30px;background:var(--hero);position:relative;overflow:hidden}.hero-copy{padding:30px 0 27px 30px;z-index:2}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:30px;background:#fffaf1b8;padding:6px 12px;font-size:12px;font-weight:600;color:#3e654b;max-width:100%}.hero-copy h2{font-size:21px;line-height:1.45;letter-spacing:-.025em;margin:17px 0;max-width:390px;font-weight:500}.hero-rules{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);margin-bottom:23px}.hero-rules span{display:flex;gap:5px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 20px;border-radius:16px;font-weight:650;font-size:15px;text-decoration:none;transition:transform .12s,box-shadow .12s;line-height:1.35}.button.primary{background:linear-gradient(#2c805f,#287357);border:1px solid #267151;color:white;box-shadow:0 4px 0 var(--edge)}.button.primary:hover{background:#236b4f}.button.primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--edge)}.button.secondary{background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 0 #d6ddcd}.button.secondary:active{transform:translateY(2px);box-shadow:0 1px 0 #d6ddcd}.button:disabled{background:#e4e7dc;color:#7a8477;box-shadow:none;border-color:#d5dbce}.small-print{font-size:11px;margin:15px 0 0;line-height:1.6}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 14px 28px 0}.hero-art img{width:100%;height:auto;max-width:305px;position:relative;z-index:1;transform:rotate(4deg);animation:entrance .5s ease both}.orbit{position:absolute;width:240px;height:240px;border:1px solid #c8d8b9;border-radius:50%}.orbit.two{width:300px;height:300px;border-style:dashed;opacity:.6}.mascot-tag{position:absolute;bottom:25px;right:40px;padding:6px 18px;background:var(--paper);box-shadow:0 3px 0 #c6d4b5;border-radius:20px;font-size:13px;font-weight:600;transform:rotate(-7deg);z-index:2}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.quick-card{display:flex;gap:15px;padding:24px;border-radius:23px;border:1px solid #d9d4c342;box-shadow:0 3px 0 #d8dcc433}.quick-card h2{font-size:19px;margin:0 0 8px}.quick-card p{font-size:13px;line-height:1.5;margin-bottom:13px}.peach{background:var(--peach)}.lilac{background:var(--lilac)}.card-icon{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;background:#fffc;border-radius:14px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:650;color:var(--primary);min-height:40px;padding:4px 0;text-align:left}.home-bottom{display:grid;gap:18px;margin-top:26px}.mini-progress{display:flex;align-items:center;gap:16px;padding:19px 22px;background:var(--paper);border:1px solid var(--line);border-radius:20px}.mini-progress strong{font-size:15px}.mini-progress p{font-size:12px;margin:3px 0 0}.mini-progress .icon-button{margin-left:auto;border:0;background:transparent}.leaf-badge{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:15px;color:var(--primary);background:var(--hero);flex-shrink:0}.browse-button{display:flex;gap:12px;align-items:center;border-radius:18px;padding:15px 20px;min-height:54px;font-weight:600;font-size:14px;color:var(--muted)}.browse-button>svg:last-child{margin-left:auto}.number-pill{display:inline-flex;align-items:center;justify-content:center;font-size:12px;min-width:28px;height:26px;padding:0 7px;background:var(--hero);color:var(--primary);border-radius:20px}footer{max-width:1060px;margin:0 auto;padding:20px 28px 30px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);gap:20px}footer button{font-size:11px;color:var(--muted);min-height:32px}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.game-top>.pill{text-align:center}.game-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.play-panel,.tree-panel{border:1px solid var(--line);border-radius:26px;background:var(--paper);padding:26px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-heading h1{font-size:27px}.budget{display:flex;align-items:center;flex-direction:column;background:var(--hero);border-radius:16px;min-width:80px;padding:10px 8px}.budget strong{font-size:27px;line-height:1}.budget span{font-size:10px;margin-top:5px;text-align:center}.budget-track{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;margin:22px 0 15px}.budget-track span{height:5px;background:#74a182;border-radius:3px}.budget-track .used{background:#e2e7dc}.feedback{font-size:13px;min-height:65px;line-height:1.55;color:var(--muted);padding:0 0 15px}.feedback.has-notice{color:var(--ink)}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.search-wrap{display:flex;align-items:center;gap:10px;border:1.5px solid #96ae9d;background:#fff;border-radius:14px;padding:0 13px;min-height:54px}.search-wrap>svg{color:var(--muted);width:19px}.search-wrap input{border:0;outline:none;min-width:0;width:100%;background:transparent;font-size:14px;padding:15px 0}.search-wrap:focus-within{outline:3px solid #d6e4cb;border-color:var(--primary)}.search-wrap input:focus-visible{outline:none}#clear-input{padding:7px;color:var(--muted)}.submit{width:100%;margin-top:13px}.hint-row{display:flex;align-items:center;gap:12px;margin-top:22px}.hint-row .button{font-size:12px;min-height:43px;padding:9px 13px;border-radius:12px}.hint-row>span{font-size:11px;color:var(--muted)}.saved-note{display:flex;gap:5px;align-items:center;font-size:10px;margin:18px 0 0;color:var(--muted)}.suggestions{display:grid;max-height:245px;overflow:auto;border-radius:10px}.suggestions:not(:empty){border:1px solid var(--line);margin-top:5px;background:white}.suggestions button{display:flex;align-items:center;gap:11px;text-align:left;padding:10px 12px;border-bottom:1px solid #eff0e8;min-height:54px}.suggestions button:hover,.suggestions button[aria-selected=true]{background:#edf4e6}.suggestions button>span:first-child{font-size:24px}.suggestions button>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.suggestions button strong{font-size:13px}.suggestions button small{font-size:11px;color:var(--muted)}.suggestions button>svg{margin-left:auto}.tree-panel{background:#edf3e5}.panel-title{display:flex;align-items:center;gap:10px}.panel-title h2{font-size:17px;margin:0}.tree-path{padding:25px 0 5px 6px}.tree-node{position:relative;display:flex;align-items:center;gap:13px;min-height:42px;padding-left:2px;font-size:13px}.tree-node:before{content:'';position:absolute;left:7px;top:25px;bottom:-17px;width:2px;background:#b6c7aa}.node-dot{width:12px;height:12px;background:#b3c7a1;border:3px solid #edf3e5;outline:1px solid #b3c7a1;border-radius:50%;flex-shrink:0;z-index:1}.tree-node.current{font-weight:700;color:var(--primary)}.tree-node.current .node-dot{background:var(--primary);outline-color:var(--primary)}.hint-marker{margin-left:auto;color:var(--accent)}.tree-mystery{margin-top:17px;margin-left:2px;border:1.5px dashed #98b188;border-radius:16px;padding:14px;display:flex;gap:11px;align-items:center;font-size:12px;color:var(--primary);background:#f9fbf1}.mystery-orb{width:32px;height:32px;border-radius:50%;background:var(--primary);color:white;display:grid;place-items:center;font-size:21px}.history{margin-top:30px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-heading h2,.history>h2{font-size:20px;margin:0}.guess-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.guess-list li{display:flex;align-items:center;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:13px 16px}.guess-number{font-size:12px;color:var(--muted);width:16px}.animal-emoji{font-size:34px;line-height:1.2}.guess-name{display:flex;flex-direction:column;min-width:0;gap:2px}.guess-name strong{font-size:14px}.guess-name span{font-size:11px;font-style:italic;color:var(--muted)}.relation{margin-left:auto;display:flex;flex-direction:column;text-align:right;min-width:100px;gap:2px}.relation span{font-size:10px;color:var(--muted)}.relation strong{font-size:12px;color:var(--primary)}.empty-history{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:20px;color:#95aa94}.empty-history p{font-size:13px;margin:10px 0 0}.page-title{margin:0 0 30px}.page-title h1{margin:0 0 14px}.page-title p{font-size:15px;max-width:600px}.collection-controls{display:grid;grid-template-columns:1fr auto;gap:15px;margin-bottom:23px}.collection-controls select{border:1px solid var(--line);border-radius:13px;padding:10px;max-width:190px;background:var(--paper);font-size:13px}.animal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.animal-card{background:var(--paper);padding:22px 18px;border:1px solid var(--line);border-radius:22px;position:relative}.animal-card .animal-emoji{display:block;margin-bottom:14px;font-size:42px}.animal-card h2{font-size:17px;overflow-wrap:anywhere;margin:0 0 6px}.animal-card p{font-size:11px;font-style:italic;margin:0 0 13px;overflow-wrap:anywhere}.animal-group{font-size:10px;background:#edf1e7;border-radius:10px;padding:4px 8px;color:var(--muted)}.found-badge{position:absolute;top:13px;right:12px;display:flex;align-items:center;gap:3px;color:var(--primary);font-size:9px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats-grid article{padding:22px 15px;border:1px solid var(--line);border-radius:23px;background:var(--paper);display:flex;flex-direction:column;gap:8px}.stats-grid strong{font-size:36px;color:var(--primary)}.stats-grid span{font-size:12px;color:var(--muted)}.progress-empty{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:35px;border-radius:26px;background:var(--hero);padding:28px}.progress-empty img{margin-bottom:15px}.progress-empty p{max-width:350px}.progress-view .history h2{margin-bottom:20px}.settings-list{display:grid;gap:20px;max-width:680px}.settings-list section{background:var(--paper);padding:26px;border:1px solid var(--line);border-radius:24px}.settings-list h2{font-size:20px}.settings-list p{font-size:14px}.settings-list .small-print{font-size:11px}.danger{color:#a83d28}.result-page{max-width:580px;margin:auto}.result-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px;border-radius:30px;background:var(--paper);border:1px solid var(--line);margin-top:16px}.result-mascot{margin:14px 0 8px}.result-card h1{font-size:34px;margin-bottom:22px}.answer-reveal{display:flex;align-items:center;gap:20px;padding:22px;border-radius:20px;background:var(--hero);width:100%;text-align:left}.answer-reveal>div>span{font-size:11px;color:var(--muted)}.answer-reveal h2{font-size:25px;margin:4px 0}.answer-reveal em{font-size:12px;color:var(--muted)}.animal-emoji.big{font-size:50px}.result-metrics{width:100%;display:grid;grid-template-columns:1fr 1fr;padding:25px 0;gap:20px}.result-metrics div{display:flex;flex-direction:column;gap:4px}.result-metrics strong{font-size:29px}.result-metrics small{font-size:16px;color:var(--muted)}.result-metrics span{font-size:11px;color:var(--muted)}.result-card>.button{width:100%;margin-bottom:15px}.result-card>.text-button{margin-top:4px}dialog{width:min(540px,calc(100% - 32px));padding:26px;border:1px solid var(--line);border-radius:26px;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 24px 100px #16312633}dialog::backdrop{background:#10251966;backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.modal-heading h2{margin:0;font-size:23px}.modal-heading .icon-button{flex-shrink:0}dialog p{font-size:14px}dialog>.button{width:100%;margin-top:12px}.how-steps{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:18px}.how-steps li{display:flex;gap:14px}.how-steps li>span{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--hero);font-size:13px;font-weight:600}.how-steps p{margin:2px 0 0;font-size:13px;line-height:1.6}.modal-actions{display:flex;gap:13px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.code-input,.copy-area{width:100%;padding:15px;border:1px solid #96ae9d;border-radius:13px;background:white;font-size:16px}.code-input{text-transform:uppercase;letter-spacing:1px}#challenge-form .button{width:100%;margin-top:16px}#code-error{color:#a83d28;font-size:12px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);padding:13px 22px;max-width:calc(100% - 30px);width:max-content;z-index:20;border-radius:16px;background:var(--ink);color:white;font-size:13px;box-shadow:0 4px 18px #0002;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.loading{min-height:80vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.loading h1{margin:10px 0}.loading h2{font-size:24px;margin:15px 0}.loading p{max-width:540px}.loading button{color:var(--primary);text-decoration:underline}.empty-state{grid-column:1/-1;padding:40px;text-align:center}
@keyframes entrance{from{opacity:0;transform:translateY(7px) rotate(4deg)}to{opacity:1;transform:translateY(0) rotate(4deg)}}
@media(max-width:1000px){.app-shell{grid-template-columns:90px minmax(0,1fr);gap:18px}.nav-item{flex-direction:column;font-size:11px;text-align:center}.hero-copy{padding-left:24px}.hero-copy h2{font-size:18px}.hero-art{padding-right:10px}.quick-card{padding:20px;gap:12px}.card-icon{flex-basis:36px;width:36px;height:36px}.game-grid{grid-template-columns:1.2fr 1fr}.play-panel,.tree-panel{padding:21px}.game-heading h1{font-size:24px}.animal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body{padding-bottom:76px}.site-header{padding:12px 20px;min-height:80px}.brand{font-size:25px}.brand img{width:43px;height:43px}.header-actions{gap:8px}.header-actions>.icon-button{display:none}.language-select{font-size:12px;max-width:142px;padding:8px;min-height:40px}.app-shell{display:block;padding:5px 20px 30px}.nav{position:fixed;bottom:0;left:0;right:0;z-index:10;padding:7px 8px max(8px,env(safe-area-inset-bottom));background:#fffef8f5;backdrop-filter:blur(15px);display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-top:1px solid var(--line)}.nav-item{min-height:53px;padding:6px;gap:4px;font-size:10px;border-radius:14px}.nav-item svg{width:21px;height:21px}.welcome{padding:10px 0 20px}h1{font-size:31px;line-height:1.16;max-width:450px}.eyebrow{font-size:10px;margin-bottom:10px}.hero{grid-template-columns:1fr;min-height:auto;border-radius:27px;overflow:hidden}.hero-copy{padding:22px;display:flex;flex-direction:column;position:relative;z-index:2}.hero-copy>.pill{align-self:flex-start;max-width:65%;font-size:10px}.hero-copy h2{font-size:17px;line-height:1.4;max-width:58%;min-height:90px;margin:15px 0 20px}.hero-rules{gap:13px;margin:0 0 17px;font-size:10px}.hero-copy>.button{width:100%;min-height:52px;font-size:14px;position:relative;z-index:3}.hero-copy>.small-print{text-align:center;font-size:10px;margin-top:13px}.hero-art{position:absolute;right:-5px;top:28px;width:43%;height:170px;padding:0;pointer-events:none}.hero-art img{width:180px;max-width:100%;height:auto;transform:rotate(6deg)}.orbit{width:130px;height:130px}.orbit.two{width:165px;height:165px}.mascot-tag{right:16px;bottom:-2px;font-size:10px;padding:3px 12px}.quick-grid{gap:12px;margin-top:20px}.quick-card{display:block;padding:18px 15px;border-radius:20px}.card-icon{margin-bottom:15px}.quick-card h2{font-size:17px;line-height:1.25}.quick-card p{font-size:12px;min-height:38px;margin-bottom:8px}.quick-card .text-button{font-size:11px;justify-content:space-between;gap:5px}.home-bottom{margin-top:20px;gap:10px}.mini-progress{padding:16px;gap:11px;border-radius:18px}.mini-progress strong{font-size:13px}.mini-progress p{font-size:10px;line-height:1.5}.leaf-badge{width:37px;height:37px;border-radius:12px}.mini-progress .icon-button{min-width:30px;min-height:35px}.browse-button{font-size:13px;padding:12px}.toast{bottom:90px}.game-top{margin:2px 0 15px}.game-top>.text-button{font-size:11px}.game-top>.pill{font-size:10px}.game-top .icon-button{min-width:36px;min-height:36px}.game-grid{grid-template-columns:1fr;gap:17px}.play-panel,.tree-panel{padding:21px;border-radius:24px}.game-heading h1{font-size:27px}.budget{padding:9px;min-width:75px}.budget-track{margin:18px 0 14px}.feedback{min-height:50px;font-size:12px}.hint-row{margin-top:20px;justify-content:space-between}.saved-note{margin:16px 0 0}.tree-panel{padding:18px 21px}.tree-path{padding-top:15px}.tree-node{min-height:34px;font-size:12px}.tree-node:before{top:20px;bottom:-12px}.tree-mystery{margin-top:15px;padding:10px;font-size:12px}.mystery-orb{width:26px;height:26px;font-size:17px}.history{margin-top:25px}.history h2{font-size:19px}.guess-list li{gap:10px;padding:13px 12px}.guess-number{width:9px;font-size:10px}.animal-emoji{font-size:27px}.guess-name strong{font-size:12px}.guess-name span{font-size:9px}.relation{min-width:80px}.relation strong{font-size:10px}.relation span{font-size:9px}.page-title{margin-top:14px;margin-bottom:23px}.page-title h1{font-size:32px}.page-title p{font-size:13px}.collection-controls{grid-template-columns:1fr;gap:10px}.collection-controls select{max-width:100%;min-height:44px}.animal-grid{gap:12px}.animal-card{padding:20px 14px}.animal-card h2{font-size:15px}.animal-card p{font-size:10px}.found-badge{top:11px;right:10px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:13px}.stats-grid article{padding:20px}.stats-grid strong{font-size:32px}.stats-grid span{font-size:11px}.settings-list section{padding:22px;border-radius:21px}.settings-list h2{font-size:19px}.settings-list p{font-size:13px}.settings-list .language-select{max-width:100%;min-height:46px;font-size:14px}.result-card{padding:24px 20px;border-radius:26px}.result-card h1{font-size:29px}.answer-reveal{padding:18px;gap:16px}.answer-reveal h2{font-size:22px}.result-mascot{width:140px;height:140px}.result-card .button{font-size:13px}.result-card>.text-button{font-size:12px}dialog{padding:22px;border-radius:23px}.modal-heading h2{font-size:21px}.modal-heading .icon-button{min-width:36px;min-height:36px}.modal-actions>.button{font-size:12px;padding:11px 14px;flex:1}.how-steps{gap:15px}.how-steps p{font-size:12px}footer{padding:15px 20px 20px;font-size:10px;gap:15px}footer button{font-size:10px}.loading{min-height:75vh}}
@media(max-width:370px){.app-shell{padding:3px 15px 25px}.site-header{padding:12px 15px}.brand{font-size:23px}.hero-copy{padding:19px}.hero-copy h2{font-size:16px;max-width:59%;min-height:100px}.hero-rules{font-size:9px;gap:10px}.hero-art{top:38px;width:41%}.quick-card{padding:16px 13px}.quick-card h2{font-size:15px}.quick-card p{font-size:11px}.play-panel{padding:18px}.game-heading h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.inline-help{color:var(--primary);font-size:inherit;text-decoration:underline;text-underline-offset:3px;padding:5px 0;min-height:30px}
/* Show the mascot immediately; it remains still when the surrounding game rerenders. */
.hero-art img{animation:none;opacity:1}
@media(max-width:700px){.hero-art{right:4px}}

/* Taxonomy explanations: compact icon, generous tap target, no gameplay action. */
.taxon-info-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;color:var(--muted);background:transparent;flex-shrink:0;cursor:pointer;vertical-align:middle}
.taxon-info-button:hover,.taxon-info-button[aria-expanded=true]{background:#d7e6cc;color:var(--primary)}
.tree-node{min-height:44px}.tree-node .taxon-name{min-width:0;overflow-wrap:anywhere}.tree-node .taxon-info-button{margin-left:-7px;margin-right:-7px}
.feedback{display:flex;align-items:center;gap:4px}.feedback>span{min-width:0}.feedback .taxon-info-button{margin-top:-8px;margin-bottom:-8px}
.relation-name{display:flex;align-items:center;justify-content:flex-end;gap:2px}.relation-name strong{overflow-wrap:anywhere}.relation-name .taxon-info-button{margin-right:-8px}
#taxonomy-popover{position:fixed;inset:auto;margin:0;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:15px 18px 19px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 8px 32px #16312626}
#taxonomy-popover::backdrop{background:transparent}.taxonomy-heading{display:flex;align-items:center;gap:10px}.taxonomy-heading h2{font-size:18px;margin:0;flex:1;overflow-wrap:anywhere}.taxonomy-heading .taxon-info-button{margin-right:-8px}.taxonomy-heading+p{font-size:14px;line-height:1.6;margin:4px 0 0}
@media(max-width:700px){.guess-list .relation{max-width:42%;min-width:0}.relation-name strong{font-size:11px}.relation-name{gap:0}.relation-name .taxon-info-button{width:44px}}

.open-native-app{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:8px 0 16px;font-size:12px;color:var(--primary);text-decoration:underline;text-underline-offset:3px;min-height:44px}

/* Practice allowance and native-app information contain no advertising. */
.budget-track{grid-template-columns:repeat(var(--attempts,20),minmax(0,1fr))}
.quick-card .practice-remaining{font-weight:650;color:var(--ink);min-height:0}
.practice-policy{font-size:12px;line-height:1.6;margin:14px 2px 0;color:var(--muted)}
.app-promotion{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.app-promotion h2{font-size:18px;margin:0 0 7px}.app-promotion p{font-size:13px;line-height:1.6;margin:0;max-width:540px}.app-promotion .button{flex-shrink:0;font-size:13px}
#modal hr{border:0;border-top:1px solid var(--line);margin:24px 0}#modal a.button{display:flex;margin-top:13px;text-decoration:none}
@media(max-width:700px){.app-promotion{display:block;padding:20px}.app-promotion .button{margin-top:16px;width:100%}.app-promotion p{font-size:12px}.practice-policy{font-size:11px}.quick-card p.practice-remaining{font-size:11px;line-height:1.6}}

/* Crawlable game instructions and language links are also available before JavaScript. */
.game-guide{max-width:1112px;margin:0 auto;padding:0 28px 28px 176px}
.guide-inner{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px}
.guide-inner h2{font-size:22px}.guide-inner ol{padding-inline-start:23px;margin-bottom:25px;color:var(--muted)}
.guide-inner li{padding-inline-start:5px;margin-bottom:13px;font-size:14px;line-height:1.65}
.guide-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.guide-facts h3{font-size:15px;line-height:1.4}.guide-facts p{font-size:12px;line-height:1.65;margin:0}
.language-links{max-width:1060px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 15px;padding:16px 28px 30px;direction:ltr}
.language-links a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;border-radius:5px}
.language-links a[aria-current=page]{font-weight:700;text-decoration:none;color:var(--ink)}
.game-guide[hidden]{display:none}.loading-brand{font-size:25px;font-weight:700}.loading h1{font-size:30px;text-align:center}
:lang(ja),:lang(ko),:lang(zh-Hans),:lang(zh-Hant),:lang(th),:lang(hi),:lang(ar){font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
:is(:lang(ja),:lang(ko),:lang(zh-Hans),:lang(zh-Hant),:lang(th),:lang(hi),:lang(ar)) :is(h1,h2,h3){letter-spacing:0;line-height:1.4}
:lang(th) :is(p,input,button),:lang(hi) :is(p,input,button),:lang(ar) :is(p,input,button){line-height:1.65}
:lang(ko) :is(h1,h2,p){word-break:keep-all;overflow-wrap:anywhere}
.brand{direction:ltr;unicode-bidi:isolate}.language-select{overflow:hidden;text-overflow:ellipsis}
.guess-name [dir=ltr],.animal-card p[dir=ltr],#taxonomy-title,.budget strong,.countdown{unicode-bidi:isolate}
[dir=rtl] :is(.nav-item,.text-button){text-align:right}
[dir=rtl] .date{margin-left:0;margin-right:12px}
[dir=rtl] .hero-copy{padding:30px 30px 27px 0}
[dir=rtl] .hero-art{padding:18px 0 28px 14px}
[dir=rtl] .mascot-tag{right:auto;left:40px}
[dir=rtl] .mini-progress .icon-button,[dir=rtl] .browse-button>svg:last-child{margin-left:0;margin-right:auto}
[dir=rtl] .tree-path{padding-left:0;padding-right:6px}
[dir=rtl] .tree-node{padding-left:0;padding-right:2px}
[dir=rtl] .tree-node:before{left:auto;right:7px}
[dir=rtl] .hint-marker{margin-left:0;margin-right:auto}
[dir=rtl] .relation{margin-left:0;margin-right:auto;text-align:left}
[dir=rtl] .relation-name .taxon-info-button{margin-right:0;margin-left:-8px}
[dir=rtl] .game-guide{padding-right:176px;padding-left:28px}
[dir=rtl] svg:is([data-icon=arrow],[data-icon=back]){transform:scaleX(-1)}
[dir=rtl] .language-select{padding-left:28px;padding-right:12px}
@media(max-width:700px){
 .game-guide{padding:0 20px 15px}.guide-inner{padding:22px;border-radius:22px}.guide-inner h2{font-size:20px}
 .guide-facts{grid-template-columns:1fr;gap:18px}.guide-facts h3{margin-bottom:6px}.guide-inner li{font-size:13px}
 .language-links{padding:10px 20px 25px;gap:0 14px}.language-links a{font-size:11px}
 .site-header .brand{flex-shrink:0}.site-header .header-actions{min-width:0}.site-header .language-select{max-width:142px}
 [dir=rtl] .hero-copy{padding:22px}[dir=rtl] .hero-art{right:auto;left:4px;padding:0}
 [dir=rtl] .mascot-tag{left:16px}[dir=rtl] .game-guide{padding:0 20px 15px}
 [dir=rtl] .language-select{padding:8px}
 :is(:lang(ar),:lang(hi),:lang(th)) .hero-copy h2{font-size:16px;line-height:1.6}
}
