:root{--ink: #243447;--muted: #637083;--paper: #fffaf1;--panel: #ffffff;--sky: #bfe9ff;--mint: #b9efcf;--sun: #ffd86f;--orange: #ff9f68;--red: #ef6f6c;--blue: #5aa7e8;--green: #45b47b;--road: #596373;--line: #fff5ba;--shadow: 0 16px 40px rgba(49, 74, 105, .14);--radius: 8px;font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#bfe9ffcc,#fffaf1f0 46%),repeating-linear-gradient(90deg,rgba(255,216,111,.16) 0 26px,transparent 26px 52px)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app{min-height:100vh}.topbar{max-width:1180px;margin:0 auto;padding:18px 20px 10px;display:flex;justify-content:space-between;align-items:center}.brand{border:0;background:transparent;color:var(--ink);display:inline-flex;align-items:center;gap:10px;font-weight:900;font-size:20px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--sun);border:3px solid #fff;border-radius:var(--radius);box-shadow:var(--shadow)}.icon-button,.button,.mini-button,.big-choice,.back-link,.tabs button{border:0;border-radius:var(--radius);transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.icon-button:hover,.button:hover,.mini-button:hover,.big-choice:hover,.tabs button:hover{transform:translateY(-1px)}.icon-button{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;color:var(--ink);background:#ffffffb8;box-shadow:0 6px 18px #314a691a}.auth-grid{max-width:1120px;margin:30px auto;padding:0 20px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}.auth-hero{min-height:520px;padding:48px;border-radius:var(--radius);background:linear-gradient(180deg,#ffffffd1,#ffffff5c),radial-gradient(circle at 80% 20%,rgba(255,216,111,.55),transparent 34%),linear-gradient(135deg,var(--sky),var(--mint));position:relative;overflow:hidden;box-shadow:var(--shadow)}.auth-hero:after{content:"";position:absolute;left:-40px;right:-40px;bottom:44px;height:116px;background:var(--road);transform:rotate(-3deg);border-top:8px solid #788496;border-bottom:8px solid #424b59}.auth-hero:before{content:"🏎️";position:absolute;z-index:1;left:54%;bottom:96px;font-size:72px;transform:rotate(-3deg)}.finish-badge{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;background:#fff;border-radius:var(--radius);font-weight:800}.auth-hero h1{margin:28px 0 12px;max-width:620px;font-size:clamp(42px,7vw,86px);line-height:.98;letter-spacing:0}.auth-hero p{max-width:520px;color:var(--muted);font-size:20px;line-height:1.5}.auth-panel{display:grid;gap:14px;align-content:center}.big-choice{min-height:118px;padding:24px;background:#fff;color:var(--ink);font-weight:900;font-size:26px;box-shadow:var(--shadow)}.big-choice.primary{background:var(--orange);color:#fff}.big-choice.quiet{background:#eef7ff}.form-shell{max-width:920px;margin:20px auto 60px;padding:0 20px}.back-link{background:#fff;padding:10px 14px;margin-bottom:14px}.form-card,.road-card,.task-card,.editor-form,.review-item,.reward-row-card,.history-list article,.parent-tip,.next-reward{background:#ffffffeb;border:2px solid rgba(255,255,255,.92);border-radius:var(--radius);box-shadow:var(--shadow)}.form-card{padding:28px}.form-card h1{margin:0 0 8px;font-size:34px}.form-card p{margin:0 0 22px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.compact{grid-template-columns:1fr}.field{display:grid;gap:7px;color:var(--muted);font-weight:800}.field input,.field select,.parent-head select{width:100%;min-height:46px;padding:10px 12px;border:2px solid #d9e6ef;border-radius:var(--radius);background:#fff;color:var(--ink);outline-color:var(--blue)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button{min-height:46px;padding:12px 16px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-weight:900;color:var(--ink);background:#edf6ff}.button.primary{background:var(--green);color:#fff;box-shadow:0 8px 20px #45b47b38}.button.calm{background:#e9f1f7;color:#506070}.button.quiet{background:#fff7df}.button.huge{min-height:64px;font-size:22px}.error{grid-column:1 / -1;padding:12px;border-radius:var(--radius);background:#ffe5e4;color:#9d3938;font-weight:800}.child-page,.parent-page{max-width:1180px;margin:0 auto 70px;padding:12px 20px}.kid-header,.parent-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:12px 0 18px}.kid-header h1,.parent-head h1{margin:0;font-size:clamp(32px,5vw,54px);line-height:1.05;letter-spacing:0}.kid-header p,.parent-head p{margin:6px 0 0;color:var(--muted);font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:0;font-weight:900;color:var(--blue)!important;font-size:13px!important}.garage-sign{min-width:122px;padding:20px;text-align:center;border-radius:var(--radius);background:var(--sun);border:4px solid #fff;font-weight:900;box-shadow:var(--shadow)}.road-card{padding:22px;margin-bottom:18px;overflow:hidden}.goal-line{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.goal-line h2{margin:0;font-size:26px}.goal-line strong{padding:10px 14px;background:#eef8f1;color:var(--green);border-radius:var(--radius)}.road-wrap{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:32px 0 18px}.road{position:relative;height:78px;border-radius:var(--radius);background:repeating-linear-gradient(90deg,transparent 0 34px,var(--line) 34px 58px,transparent 58px 92px),linear-gradient(180deg,#657183,var(--road));border:6px solid #424b58;overflow:visible}.road-progress{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,#5fcf8a61,#ffd86f94);transition:width .42s ease}.race-car{position:absolute;top:-30px;font-size:38px;transition:left .52s ease;filter:drop-shadow(0 8px 8px rgba(0,0,0,.18))}.station{position:absolute;top:46px;width:42px;height:42px;display:grid;place-items:center;transform:translate(-50%);border-radius:50%;background:#fff;border:3px solid #d8e5ee;box-shadow:0 6px 16px #314a6926}.station.unlocked{border-color:var(--sun);box-shadow:0 0 0 5px #ffd86f3d;animation:glow 1.8s ease-in-out infinite}.station.received{border-color:var(--green)}.finish-card{display:inline-flex;gap:8px;align-items:center;min-height:58px;padding:12px 14px;background:#fff2c7;border-radius:var(--radius);font-weight:900}.reward-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.reward-station{min-height:82px;padding:10px;display:grid;gap:4px;align-content:center;justify-items:center;border-radius:var(--radius);background:#f1f6fa;text-align:center}.reward-station.unlocked{background:#fff3c5}.reward-station.received{background:#e5f8ed}.reward-station span{font-size:26px}.reward-station small{color:var(--muted);font-weight:800}.reward-station b{font-size:12px}.next-reward{min-height:58px;padding:14px 16px;display:flex;gap:10px;align-items:center;font-weight:900;margin-bottom:18px;background:#fff7dd}.task-section{margin-top:22px}.task-section h2{font-size:24px;margin:0 0 12px}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.task-card{position:relative;min-height:244px;padding:18px;display:grid;grid-template-columns:auto 1fr;gap:14px;animation:cardIn .22s ease both}.task-emoji{width:62px;height:62px;display:grid;place-items:center;border-radius:var(--radius);background:#eef7ff;font-size:34px}.task-emoji.small{width:46px;height:46px;font-size:26px}.task-main h3{margin:0;font-size:24px;line-height:1.15}.points-row{margin-top:10px;display:flex;gap:8px}.points-row span{padding:6px 9px;border-radius:var(--radius);background:#e6f8ee;color:var(--green);font-weight:900}.points-row .soft{background:#f0f3f6;color:var(--muted)}.sticker{grid-column:1 / -1;justify-self:start;padding:8px 10px;border-radius:var(--radius);background:#eef3f7;color:var(--muted);font-weight:900}.sticker-approved_done{background:#daf7e5;color:var(--green);animation:stickerPop .22s ease both}.sticker-child_marked_done,.sticker-child_marked_not_done{background:#fff0c7;color:#9a6b12}.sticker-approved_not_done,.sticker-rejected{background:#e9f1f7;color:#617082}.task-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:end}.status-approved_done{border-color:#bbebcf}.status-approved_not_done,.status-rejected{border-color:#dce7ef}.parent-head select{max-width:220px}.parent-tip{padding:14px 16px;color:#665016;background:#fff7d7;font-weight:800;margin-bottom:16px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.tabs button{min-height:42px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--muted);font-weight:900}.tabs button.active{background:var(--blue);color:#fff}.review-list,.history-list,.reward-list,.task-table{display:grid;gap:12px}.review-item{padding:14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.review-title{display:flex;gap:12px;align-items:center}.review-title h3{margin:0 0 4px}.review-title p{margin:0;color:var(--muted)}.review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.editor-layout,.rewards-editor{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;align-items:start}.editor-form{padding:18px;display:grid;gap:12px}.editor-form h2{margin:0}.editor-form.slim{max-width:440px}.toggle{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--muted)}.task-table article,.reward-row-card,.history-list article{padding:12px;display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center}.task-table article{background:#fff;border-radius:var(--radius)}.task-table small,.reward-row-card small,.history-list small{display:block;color:var(--muted);margin-top:3px}.disabled-row{opacity:.55}.mini-button{min-height:36px;padding:8px 10px;background:#edf6ff;color:var(--ink);font-weight:900}.mini-button.danger{background:#ffe6e4;color:#a94442}.reward-row-card.unlocked{background:#fff5cf;border-color:#ffe39b}.reward-row-card.received{background:#e8f8ee;border-color:#b9ebcd}.history-list article{grid-template-columns:auto 1fr}.delta{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius);font-weight:900}.delta.plus{background:#e6f8ee;color:var(--green)}.delta.minus{background:#eef3f7;color:var(--muted)}.empty,.loading{padding:28px;text-align:center;color:var(--muted);font-weight:900}.toast{position:fixed;z-index:20;right:20px;top:18px;max-width:min(420px,calc(100vw - 40px));display:flex;gap:10px;align-items:center;padding:14px 16px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);font-weight:900;animation:cardIn .18s ease both}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes stickerPop{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 0 4px #ffd86f38}50%{box-shadow:0 0 0 8px #ffd86f24}}@media(max-width:900px){.auth-grid,.editor-layout,.rewards-editor{grid-template-columns:1fr}.auth-hero{min-height:420px}.task-grid{grid-template-columns:1fr}.reward-row{grid-template-columns:repeat(3,minmax(0,1fr))}.review-item{grid-template-columns:1fr}.review-actions{justify-content:stretch}.review-actions .button{flex:1 1 180px}}@media(max-width:620px){.topbar{padding-inline:12px}.brand span:last-child{display:none}.auth-grid,.child-page,.parent-page,.form-shell{padding-inline:12px}.auth-hero{padding:28px 22px;min-height:360px}.auth-hero p{font-size:17px}.big-choice{min-height:90px;font-size:22px}.form-grid,.field-row,.task-actions{grid-template-columns:1fr}.kid-header,.parent-head,.goal-line{align-items:stretch;flex-direction:column}.garage-sign{min-width:0}.road-wrap{grid-template-columns:1fr}.road{height:66px}.reward-row{grid-template-columns:repeat(2,minmax(0,1fr))}.task-card{min-height:230px}.task-table article,.reward-row-card{grid-template-columns:auto 1fr}.mini-button{width:100%}}
