@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{font-family:Nunito,'Segoe UI',sans-serif;color:#302e43;background:#faf9f6;font-synthesis:none;--purple:#6950b9;--muted:#777584}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #bc9a32;outline-offset:4px}header{height:100px;max-width:1280px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e5e0}.brand{text-decoration:none;color:#363148;font-size:32px;font-weight:900;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand-icon{background:var(--purple);color:white;border-radius:15px;font-size:30px;width:43px;height:43px;text-align:center}.brand small{display:none}nav{display:flex;gap:12px}.nav{border:0;background:transparent;padding:12px 20px;color:#777584;font-weight:800;border-radius:12px}.nav.active{color:var(--purple);background:#eeebf6}.header-note{font-size:13px;color:#777584}main{max-width:1190px;margin:auto;padding:20px 28px 20px}.intro{text-align:center;margin-bottom:38px}.tag{font-size:12px;color:var(--purple);background:#eeeaf7;border-radius:20px;padding:7px 13px;font-weight:800}h1{font-size:40px;letter-spacing:-1.5px;margin:18px 0 8px;line-height:1.2}.intro p{color:var(--muted);margin:0;font-size:16px}.layout{display:grid;grid-template-columns:1.32fr 1fr;gap:28px;align-items:start}.work-panel{background:#fff;border:1px solid #e8e5ed;border-radius:22px;padding:30px 34px;min-height:570px;box-shadow:0 5px 0 #ece9e580}h2{font-size:23px;margin:0 0 5px;letter-spacing:-.5px}.sub{color:var(--muted);font-size:14px;margin:0 0 25px}.label{display:block;font-size:14px;font-weight:800;margin:23px 0 10px}.profiles{display:flex;gap:9px;flex-wrap:wrap}.profile{border:1px solid #e6e3ec;background:#fff;border-radius:13px;padding:10px 16px;display:flex;align-items:center;gap:8px;font-weight:800}.profile.selected{border-color:var(--purple);background:#f3f0fa;color:var(--purple)}.avatar{font-size:22px}.add{color:#777584;border-style:dashed}.divider{height:1px;background:#eeedf1;margin:24px 0}.row{display:flex;gap:12px;align-items:center}.row>*{min-width:0}input,select{border:1px solid #dcd9e5;border-radius:10px;background:#fff;padding:10px 13px;color:#302e43;outline-color:var(--purple)}input[type=number]{width:84px}input:disabled{background:#f4f3f6;color:#aaa}.range{justify-content:space-between}.range small{font-size:12px;color:var(--muted)}.range .row{gap:9px}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.switch-row .label{margin:0 0 4px}.hint{font-size:12px;color:var(--muted)}input[type=checkbox]{accent-color:var(--purple);width:19px;height:19px}.segmented{display:flex;padding:4px;background:#f4f3f7;border-radius:11px;margin-bottom:12px}.segmented button{flex:1;border:0;background:transparent;color:#777584;padding:10px 4px;border-radius:8px;font-size:13px;font-weight:800}.segmented button.selected{background:white;color:var(--purple);box-shadow:0 2px 5px #302e4310}.primary{border:0;border-radius:12px;background:var(--purple);color:#fff;font-weight:800;padding:15px 24px;box-shadow:0 4px 0 #513c94}.start{width:100%;margin-top:26px;font-size:16px}.primary:hover{background:#5e45ad}.quiet{border:0;background:transparent;color:#777584;padding:12px;font-weight:700}.dog-card{background:#eaf2e4;border:1px solid #dce7d5;border-radius:22px;padding:23px 24px 26px;text-align:center;overflow:hidden}.dog-title{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:#57734e}.online{font-size:10px;color:#607958}.bubble{display:inline-block;position:relative;background:#fff;border-radius:16px;padding:13px 25px;margin-top:27px;font-weight:800;font-size:17px;transform:rotate(-3deg)}.bubble:after{content:'';position:absolute;bottom:-10px;left:45%;border-width:12px 12px 0 0;border-style:solid;border-color:white transparent transparent transparent}.dog{max-width:310px;margin:-3px auto -20px}.dog svg{display:block;width:100%;overflow:visible}.dog .tail{transform-origin:244px 220px;animation:wag 1.3s ease-in-out infinite}.dog .head{transform-origin:175px 195px;animation:sniff 5s ease-in-out infinite}.dog.happy{animation:hop .55s ease-in-out infinite}.dog.happy .tail{animation-duration:.2s}.dog.sad .head{animation:none;transform:rotate(9deg) translateY(5px)}.dog.sad .tail{animation:none;transform:rotate(25deg)}.dog.sad .tongue{display:none}.dog.sad .mouth{transform:translateY(370px) scaleY(-1)}.grass{color:#fff;font-size:27px;display:flex;justify-content:space-between;margin:-28px 15px 26px}.grass span{color:#8fad7a}.dog-card h2{font-size:19px}.dog-card p{font-size:13px;color:#6a7e62;line-height:1.65;margin-bottom:0}.tip{display:flex;gap:13px;margin:20px 10px;font-size:12px;line-height:1.8;color:#85808c}.tip>span{font-size:27px;color:#b39654}.tip p{margin:0}.tip strong{color:#60596c}footer{font-size:11px;color:#918b98;display:flex;justify-content:space-between;margin-top:32px}.error{color:#a53648;font-size:13px}.session-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}.progress{height:7px;background:#f0edf5;border-radius:10px;margin:20px 0;overflow:hidden}.progress div{height:100%;background:#a18bcf;transition:width .3s}.exercise{text-align:center;padding:30px 0}.equation{font-size:56px;font-weight:900;letter-spacing:-2px;margin:25px 0}.answer{width:150px!important;text-align:center;font-size:32px}.answer-form .primary{display:block;margin:22px auto}.feedback{padding:18px;border-radius:14px;background:#eef5e8;color:#466438;margin:14px 0;line-height:1.7}.feedback.wrong{background:#fff1e6;color:#875732}.scoreline{display:flex;justify-content:center;gap:28px;color:#777584;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.stat{background:#f5f2fa;border-radius:14px;padding:18px 8px;text-align:center}.stat strong{display:block;color:var(--purple);font-size:28px}.stat span{font-size:11px;color:var(--muted)}.history{padding:13px 0;border-bottom:1px solid #eeedf1;display:flex;justify-content:space-between;gap:10px;font-size:13px}.empty{padding:35px 10px;text-align:center;color:var(--muted)}.new-profile{margin-top:12px;display:flex;gap:8px}.new-profile input{width:100%;min-width:0}.new-profile .primary{padding:10px}.summary{text-align:center;padding-top:30px}.summary-icon{font-size:45px}.review{font-size:14px;text-align:left;max-height:180px;overflow:auto}.review div{padding:8px;border-bottom:1px solid #eee}.note{text-align:center;color:var(--muted);font-size:11px;margin:13px 0 0}@keyframes wag{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(12deg)}}@keyframes sniff{0%,65%,100%{transform:rotate(0)}75%,90%{transform:rotate(-4deg) translateY(3px)}82%{transform:rotate(-3deg)}}@keyframes hop{50%{transform:translateY(-9px)}}@media(max-width:800px){header{padding:0 22px;height:80px}.header-note{display:none}main{padding:16px 18px}h1{font-size:32px}.layout{grid-template-columns:1fr;gap:20px}.work-panel{padding:25px;min-height:0}aside{order:2}.dog-card{position:relative;padding:18px;min-height:195px}.dog{width:170px;margin:-30px 0 -12px auto}.dog-title{display:none}.bubble{position:absolute;left:20px;top:5px;font-size:14px;max-width:50%}.dog-card h2{text-align:left;font-size:16px;margin-top:-35px;max-width:55%}.dog-card p{text-align:left;font-size:11px;max-width:55%}.grass,.tip{display:none}.layout.playing aside{position:sticky;bottom:8px}.layout.playing .dog-card{min-height:100px;height:110px;padding:8px 16px;box-shadow:0 3px 12px #30303015}.layout.playing .dog{width:120px;margin:-10px 0 0 auto}.layout.playing .dog-card h2,.layout.playing .dog-card p{display:none}.layout.playing .bubble{top:0;font-size:13px;margin-top:14px}.nav{padding:10px;font-size:12px}.intro{margin-bottom:26px}footer{gap:15px;font-size:10px}.range{align-items:start;gap:10px;flex-direction:column}.equation{font-size:46px}.exercise{padding:5px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
body{background-image:linear-gradient(#a8a0ba08 1px,transparent 1px),linear-gradient(90deg,#a8a0ba08 1px,transparent 1px);background-size:24px 24px}

.factor-range{border:0;padding:0;margin:0 0 18px;min-width:0}.factor-range legend{font-size:14px;font-weight:800;margin-bottom:8px;padding:0}

.danger{color:#a53648;font-size:12px;padding-left:0}.hardest{margin:18px 0;padding:18px;background:#f5f2fa;border-radius:14px}.hardest h2{font-size:17px}.hardest .hint{line-height:1.6}.hardest .primary{margin-top:12px;padding:11px 16px;font-size:13px}.hardest summary{cursor:pointer;font-size:13px;color:var(--purple)}

@media(max-width:540px){header{height:auto;min-height:108px;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 15px}header nav{width:100%;justify-content:center;gap:6px}header .brand{font-size:26px}header .brand-icon{width:34px;height:34px;font-size:25px}.nav{padding:9px 12px}}

.profile-editor{margin:8px 0 16px;padding:16px;background:#f5f2fa;border-radius:14px}.profile-editor .label{margin:0 0 8px}.profile-editor input{width:100%;margin-bottom:14px}.profile-editor select{font-size:24px;min-width:90px}.profile-editor .primary{padding:11px 16px}
