:root{--c-bg: #f3f8ff;--c-surface: #ffffff;--c-primary: #246bfd;--c-secondary: #246bfd;--c-success: #188a5a;--c-reward: #ff8a34;--c-action: #f66a00;--c-action-dark: #d05a00;--c-attention: #ffc83d;--c-retry: #e85d75;--c-text: #17233c;--c-muted: #52617a;--c-primary-dark: #1a52c9;--c-secondary-dark: #1a52c9;--c-success-dark: #10663f;--c-retry-dark: #c04358;--c-reward-dark: #d96d1f;--c-scenery: #cddffb;--c-line: #dbe6f7;--touch-min: 56px;--touch-child: 68px;--touch-write: 200px;--t-instant: .1s;--t-press: .1s;--t-settle: .2s;--t-wiggle: .26s;--t-mascot: .45s;--t-celebrate: 2s;--press-scale: .92;--r-sm: 10px;--r-md: 18px;--r-lg: 28px;--gap: 12px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-word: 44px;--fs-title: 30px;--fs-body: 20px;--fs-small: 16px;--ls-wide: .06em;--lh: 1.5;--shadow-btn: 0 5px 0 rgba(0, 0, 0, .16);--shadow-card: 0 2px 10px rgba(23, 35, 60, .08)}@media (prefers-reduced-motion: reduce){:root{--t-settle: 1ms;--t-wiggle: 1ms;--t-mascot: 1ms;--t-celebrate: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}:root[data-reduced-motion=true]{--t-settle: 1ms;--t-wiggle: 1ms;--t-mascot: 1ms;--t-celebrate: 1ms}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] *:before,:root[data-reduced-motion=true] *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh);letter-spacing:.01em;overscroll-behavior:none;-webkit-user-select:none;user-select:none}#root{display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}h1,h2,h3{margin:0 0 8px;line-height:1.25}h1{font-size:var(--fs-title)}p{margin:0 0 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--touch-child);min-width:var(--touch-min);padding:14px 22px;border:none;border-radius:var(--r-md);background:var(--c-primary);color:#fff;font:inherit;font-size:var(--fs-body);font-weight:700;cursor:pointer;box-shadow:var(--shadow-btn);transition:transform var(--t-press) ease-out,background var(--t-press) ease-out}.btn:active:not(:disabled){transform:scale(var(--press-scale))}.btn:disabled{opacity:.45;box-shadow:none;cursor:default}.btn:focus-visible{outline:4px solid var(--c-attention);outline-offset:3px}.btn--big{min-height:84px;font-size:26px;border-radius:var(--r-lg);width:100%;background:var(--c-action);color:#fff}.btn--big:active:not(:disabled){background:var(--c-action-dark)}.btn--secondary{background:var(--c-secondary)}.btn--quiet{background:var(--c-surface);color:var(--c-text);box-shadow:var(--shadow-card);font-weight:600}.btn--danger{background:var(--c-retry)}.card{background:var(--c-surface);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-card);margin-bottom:var(--gap)}.stack{display:flex;flex-direction:column;gap:var(--gap)}.row{display:flex;gap:var(--gap);align-items:center;flex-wrap:wrap}.muted{color:var(--c-muted);font-size:var(--fs-small)}.screen{flex:1;display:flex;flex-direction:column;padding:16px 0 28px;gap:var(--gap)}.spacer{flex:1}input[type=text],input[type=date],textarea{width:100%;min-height:var(--touch-min);padding:12px 14px;font:inherit;color:var(--c-text);background:var(--c-surface);border:2px solid var(--c-line);border-radius:var(--r-sm);-webkit-user-select:text;user-select:text}input:focus-visible,textarea:focus-visible{outline:3px solid var(--c-primary);outline-offset:1px;border-color:var(--c-primary)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes wiggle{0%{transform:translate(0)}25%{transform:translate(-7px)}50%{transform:translate(7px)}75%{transform:translate(-4px)}to{transform:translate(0)}}@keyframes settle{0%{transform:scale(1.25);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.is-wiggling{animation:wiggle var(--t-wiggle) ease-in-out 1}.is-settling{animation:settle var(--t-settle) ease-out 1}
