.appearance-page[data-v-75503126]{max-width:460px;margin:0 auto;padding:16px 16px 40px;color:var(--ink)}.ap-head[data-v-75503126]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.ap-back[data-v-75503126]{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:20px;line-height:1;cursor:pointer}.ap-head h1[data-v-75503126]{font-family:var(--font-display);font-size:20px;margin:0}.ap-head p[data-v-75503126]{margin:2px 0 0;font-size:12px;color:var(--muted)}.ap-status[data-v-75503126]{margin-top:24px;padding:16px;border-radius:var(--radius-sm);background:var(--surface2);color:var(--muted);text-align:center}.ap-sec[data-v-75503126]{margin-top:16px}.ap-sec-head[data-v-75503126]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ap-sec-head h2[data-v-75503126]{font-family:var(--font-display);font-size:15px;margin:0}.ap-auto[data-v-75503126]{font-size:11px;color:var(--muted)}.ap-follow[data-v-75503126]{font-size:11px;font-weight:700;color:var(--primary);background:var(--surface);border:1px solid var(--primary);border-radius:999px;padding:4px 11px;cursor:pointer}.ap-swatches[data-v-75503126]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ap-sw[data-v-75503126]{position:relative;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px 11px;cursor:pointer;box-shadow:var(--shadow-sm)}.ap-sw[data-v-75503126]:disabled{cursor:not-allowed}.ap-sw.on[data-v-75503126]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ap-sw .ap-bar[data-v-75503126]{display:block;height:26px;border-radius:9px;margin-bottom:7px}.ap-sw.lock .ap-bar[data-v-75503126]{filter:saturate(.45) opacity(.6)}.ap-sw strong[data-v-75503126]{display:block;font-size:13px}.ap-sw small[data-v-75503126]{display:block;font-size:10px;color:var(--muted);margin-top:2px;line-height:1.35}.ap-sw.lock strong[data-v-75503126]{color:var(--muted)}.ap-chk[data-v-75503126]{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.ap-lk[data-v-75503126]{position:absolute;top:7px;right:8px;font-size:12px}.ap-seg[data-v-75503126]{display:flex;gap:8px}.ap-seg button[data-v-75503126]{flex:1;text-align:center;font-size:13px;font-weight:700;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 4px;cursor:pointer}.ap-seg button.on[data-v-75503126]{background:var(--primary);color:var(--on-primary);border-color:transparent}.ap-seg button small[data-v-75503126]{display:block;font-size:9px;font-weight:400;opacity:.85;margin-top:2px}.ap-dark[data-v-75503126]{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;box-shadow:var(--shadow-sm)}.ap-dark strong[data-v-75503126]{display:block;font-size:13px;color:var(--ink)}.ap-dark small[data-v-75503126]{display:block;font-size:10px;color:var(--muted);margin-top:1px}.ap-switch[data-v-75503126]{width:38px;height:22px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);position:relative;flex:0 0 auto;transition:background .15s}.ap-switch[data-v-75503126]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.ap-switch.on[data-v-75503126]{background:var(--primary)}.ap-switch.on[data-v-75503126]:after{transform:translate(16px);background:#fff}.ap-note[data-v-75503126]{margin-top:18px;font-size:11.5px;line-height:var(--lh-cjk);color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px}.ap-note strong[data-v-75503126]{color:var(--ink)}:root{--font-display: "ZCOOL KuaiLe", "Baloo 2", "PingFang SC", "Yuanti SC", "Noto Sans SC", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--lh-cjk: 1.75;--bg: #fff6e9;--bg2: #ffefdd;--surface: #ffffff;--surface2: #fff3e8;--ink: #4c3a2b;--muted: #a8937e;--line: #f0dec9;--primary: #ff8a4c;--primary-soft: #ffe3ce;--on-primary: #ffffff;--green: #7cc56b;--blue: #5fb6e6;--pink: #ff9fb1;--gold: #ffc24b;--red: #ec7a6a;--amber: #ee9f5b;--radius: 24px;--radius-sm: 16px;--shadow: 0 8px 20px rgb(214 150 90 / 18%);--shadow-sm: 0 3px 10px rgb(214 150 90 / 14%);--node-done: #7cc56b;--node-today: #ff8a4c;--node-soon: #f0dec9;--path: #ffd9b0;--btn-lift: 0 0 0 transparent}body[data-kid=colin]{--bg: #eaf7f4;--bg2: #ddf0ed;--surface: #ffffff;--surface2: #f2fbf9;--ink: #22384a;--muted: #7c93a2;--line: #d6eae7;--primary: #27c0ae;--primary-soft: #cff1ec;--on-primary: #ffffff;--gold: #ffc857;--node-done: #52c46f;--node-today: #27c0ae;--node-soon: #d6eae7;--path: #bfe7e0;--btn-lift: 0 3px 0 rgb(20 120 108 / 22%)}body[data-kid=ethon]{--bg: #f5efe2;--bg2: #eee6d4;--surface: #fbf7ee;--surface2: #f5efe1;--ink: #4e4636;--muted: #9c927f;--line: #e4d9c2;--primary: #e08a5b;--primary-soft: #f3e0cd;--on-primary: #ffffff;--green: #90a86e;--pink: #ffb3a0;--gold: #d7a24c;--node-done: #90a86e;--node-today: #e08a5b;--node-soon: #e4d9c2;--path: #e6d2ac;--btn-lift: 0 0 0 transparent}body[data-tone=soft]{--font-display: "ZCOOL KuaiLe", "Baloo 2", "PingFang SC", "Yuanti SC", "Noto Sans SC", sans-serif;--radius: 24px;--radius-sm: 16px}body[data-tone=steady]{--font-display: "Baloo 2", "PingFang SC", "Noto Sans SC", sans-serif;--radius: 15px;--radius-sm: 12px}body[data-tone=clean]{--font-display: "Inter", "PingFang SC", "Noto Sans SC", sans-serif;--radius: 11px;--radius-sm: 9px}body[data-theme=dark]{--bg: #241e1a;--bg2: #2c2521;--surface: #322a25;--surface2: #3a322c;--ink: #f3e9dd;--muted: #b3a493;--line: #463c34;--shadow: 0 8px 20px rgb(0 0 0 / 35%);--shadow-sm: 0 3px 10px rgb(0 0 0 / 30%);--primary-soft: #4a3624;--node-soon: #463c34}body[data-kid=colin][data-theme=dark]{--bg: #16211f;--bg2: #1b2a28;--surface: #1f2d2b;--surface2: #243432;--ink: #e8f4f1;--muted: #8fa8a2;--line: #314543;--primary-soft: #1d3a35}body[data-kid=aero]{--bg: #f2e9da;--bg2: #e9ddc8;--surface: #fbf6ec;--surface2: #f2e8d6;--ink: #43372a;--muted: #9c8b73;--line: #e0cfb2;--primary: #c2742e;--primary-soft: #f1e0c8;--on-primary: #ffffff;--green: #8b9f5b;--blue: #3e8bc4;--gold: #e0a23c;--red: #d9744e;--pink: #e89b86;--node-done: #8b9f5b;--node-today: #c2742e;--node-soon: #e0cfb2;--path: #e8d2ac;--btn-lift: 0 3px 0 rgb(150 96 38 / 28%)}body[data-kid=mecha]{--bg: #e8edf3;--bg2: #dae1eb;--surface: #f6f8fb;--surface2: #e6ecf3;--ink: #27313f;--muted: #7e8aa0;--line: #d0d9e6;--primary: #3d6fb0;--primary-soft: #d9e4f2;--on-primary: #ffffff;--green: #4e9e8a;--blue: #3d6fb0;--gold: #c8902f;--red: #d9744e;--pink: #e0879a;--node-done: #4e9e8a;--node-today: #3d6fb0;--node-soon: #d0d9e6;--path: #c3d2e6;--btn-lift: 0 3px 0 rgb(30 64 112 / 30%)}body[data-kid=aero][data-theme=dark]{--bg: #221c14;--bg2: #2a2218;--surface: #2c241a;--surface2: #352b1f;--ink: #f0e4d0;--muted: #b6a488;--line: #473a28;--primary: #d6924a;--primary-soft: #3a2c19;--node-soon: #473a28}body[data-kid=mecha][data-theme=dark]{--bg: #121922;--bg2: #18202b;--surface: #1c2530;--surface2: #243040;--ink: #e6eef8;--muted: #8fa0b6;--line: #32404f;--primary: #5a8fd6;--primary-soft: #1f3047;--node-soon: #32404f}body[data-kid=ethon][data-theme=dark]{--bg: #241d15;--bg2: #2c241a;--surface: #322a1f;--surface2: #3a3125;--ink: #f4e9da;--muted: #b3a48f;--line: #473b2c;--primary-soft: #3c2c1c}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,var(--bg2),transparent 34rem),linear-gradient(180deg,var(--bg),var(--surface2));font-family:var(--font-body);line-height:var(--lh-cjk)}button,a{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(18px,4vw,44px);background:color-mix(in srgb,var(--surface) 88%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;width:38px;height:38px;place-items:center;color:var(--on-primary);background:var(--primary);border-radius:50%;box-shadow:var(--btn-lift);font-family:var(--font-display);font-weight:700}.brand strong,h1,h2{font-family:var(--font-display)}.brand small{display:block;margin-top:1px;color:var(--muted);font-size:12px;line-height:1.2}.topnav{display:flex;gap:8px;flex-wrap:wrap}.topnav a{min-height:36px;padding:6px 12px;color:var(--ink);text-decoration:none;border:1px solid transparent;border-radius:999px;opacity:.76}.topnav a.router-link-active{color:var(--primary);background:var(--primary-soft);border-color:var(--line);font-weight:700}.page{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.hero-panel,.control-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}body[data-tone=soft] .hero-panel,body[data-tone=soft] .control-panel,body[data-tone=soft] .status-card,body[data-tone=soft] .task-card,body[data-tone=soft] .map-card,body[data-tone=soft] .bubble{border-style:dashed}.eyebrow{margin:0 0 4px;color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase}h1{margin:0;font-size:28px;line-height:1.2}.lead{max-width:560px;margin:8px 0 0;color:var(--muted)}.primary-action,.secondary-action,.task-card button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;color:var(--on-primary);background:var(--primary);border:0;border-radius:999px;box-shadow:var(--btn-lift);font-weight:800;text-decoration:none;white-space:nowrap}.secondary-action{color:var(--primary);background:var(--surface2);border:1px solid var(--line);box-shadow:none}.action-row{display:flex;gap:10px;flex-wrap:wrap}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.status-card{display:flex;gap:12px;min-height:112px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.status-card h2{margin:0;font-size:17px}.status-card p{margin:3px 0 0;color:var(--muted);word-break:break-word}.status-dot{width:12px;height:12px;margin-top:10px;border-radius:50%;background:var(--amber)}.status-dot.ok{background:var(--green)}.token-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:18px;align-items:start}.control-panel{position:sticky;top:84px;flex-direction:column;align-items:stretch}.seg-groups{display:grid;gap:12px}.seg-group{display:flex;flex-wrap:wrap;gap:8px;padding:5px;background:var(--surface2);border:1px solid var(--line);border-radius:999px}.seg-group button{min-height:38px;padding:0 14px;color:var(--ink);background:transparent;border:0;border-radius:999px;font-weight:800;opacity:.72}.seg-group button.on{color:var(--on-primary);background:var(--primary);opacity:1}.preview-phone{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:38px;box-shadow:var(--shadow)}.phone-screen{min-height:720px;padding:20px 16px;overflow:hidden;background:linear-gradient(180deg,var(--surface2),var(--surface) 28%);border-radius:28px}body[data-kid=ethon] .phone-screen{background-image:repeating-linear-gradient(0deg,transparent 0 27px,rgb(160 140 100 / 5%) 27px 28px),linear-gradient(180deg,var(--surface2),var(--surface) 28%)}.child-bar{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.avatar{display:grid;width:42px;height:42px;place-items:center;color:var(--primary);background:radial-gradient(circle at 35% 30%,#fff,var(--primary-soft));border:2px solid var(--primary);border-radius:50%;font-family:var(--font-display);font-weight:800}.child-bar strong,.child-bar small{display:block}.child-bar small{color:var(--muted);font-size:12px;line-height:1.35}.coin{padding:6px 10px;background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-weight:800}.buddy-row{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:end;margin-top:22px}.pet-face{position:relative;width:84px;height:84px;border-radius:46% 46% 44% 44%/52% 52% 40% 40%;background:radial-gradient(circle at 38% 32%,rgb(255 255 255 / 55%),transparent 42%),linear-gradient(160deg,#ffb36b,var(--primary));box-shadow:var(--shadow-sm)}.ear{position:absolute;top:-6px;width:21px;height:25px;background:linear-gradient(160deg,#ffb36b,var(--primary));border-radius:60% 60% 30% 30%}.ear.left{left:9px;transform:rotate(-16deg)}.ear.right{right:9px;transform:rotate(16deg)}.eye{position:absolute;top:41px;width:9px;height:11px;background:#3a2a1d;border-radius:50%}.eye.left{left:28px}.eye.right{right:28px}.bubble{position:relative;padding:12px 13px;margin-bottom:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}.bubble strong,.bubble small{display:block}.bubble small{margin-top:3px;color:var(--muted);font-size:12px}.map-card{margin-top:18px;padding:10px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius)}.map-card svg{display:block;width:100%}.task-list{display:grid;gap:10px;margin-top:14px}.task-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.subject{display:grid;width:36px;height:36px;place-items:center;color:#fff;border-radius:11px;font-family:var(--font-display);font-weight:800}.subject.math{background:var(--primary)}.subject.chinese{background:var(--pink)}.task-card h2,.task-card p{margin:0}.task-card h2{font-size:15px}.task-card p{color:var(--muted);font-size:12px;line-height:1.45}.task-card.done button{color:var(--green);background:var(--surface2);border:1px solid var(--line);box-shadow:none}.auth-page{display:grid;width:min(960px,calc(100% - 32px));min-height:calc(100vh - 84px);margin:0 auto;padding:32px 0;place-items:center}.auth-panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(280px,1fr);gap:22px;width:100%;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-copy{align-self:center}.kid-picker{display:grid;gap:10px}.kid-option{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;min-height:74px;padding:12px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left}.kid-option.on{border-color:var(--primary);background:var(--primary-soft)}.kid-avatar{display:grid;width:48px;height:48px;place-items:center;color:var(--on-primary);background:var(--primary);border-radius:50%;font-family:var(--font-display);font-weight:800}.kid-option strong,.kid-option small{display:block}.kid-option small{color:var(--muted)}.login-form{display:grid;gap:14px;align-content:start}.login-form label{display:grid;gap:6px;color:var(--muted);font-weight:700}.login-form input{min-height:48px;padding:0 14px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:18px}.login-form input:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb,var(--primary) 24%,transparent)}.login-form button:disabled{cursor:not-allowed;opacity:.55}.form-error{margin:0;color:var(--amber);font-weight:800}.app-view .hero-panel{margin-bottom:16px}.dashboard-grid{display:grid;gap:14px}.status-card.full,.task-surface{grid-column:1 / -1}.task-surface{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.parent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-map-page{max-width:960px}.child-dashboard{display:grid;gap:16px}.appbar-card,.manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.who{display:flex;align-items:center;gap:10px}.who strong,.who small{display:block}.who small{color:var(--muted);font-size:12px}.kid-avatar.small{width:42px;height:42px}.appbar-stats,.toolbar-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-stats span{padding:5px 9px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700}.section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:4px}.section-title h1{font-size:24px}.section-title span{color:var(--muted);font-weight:800}.adventure-map{margin-top:0;padding:12px}.node-hit{cursor:pointer;outline:none}.node-hit circle:not(.pulse){fill:var(--node-soon);stroke:var(--line);stroke-width:2}.node-hit.is-done circle:not(.pulse){fill:var(--node-done);stroke:transparent}.node-hit.is-today circle:not(.pulse){fill:var(--node-today);stroke:color-mix(in srgb,var(--node-today) 55%,white)}.node-hit.is-rest circle:not(.pulse){fill:var(--surface)}.node-hit.is-makeup circle:not(.pulse){fill:var(--amber);stroke:color-mix(in srgb,var(--amber) 55%,white)}.node-hit path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.node-hit.is-rest path{stroke:var(--blue);stroke-width:2.4}.node-hit text{fill:var(--muted);font-size:10px;font-weight:800;pointer-events:none}.node-hit text:not(.node-label){fill:#fff;font-size:12px}.node-hit.is-upcoming text:not(.node-label),.node-hit.is-rest text:not(.node-label){fill:var(--muted)}.node-label{font-size:9.5px}.pulse{fill:none;stroke:var(--node-today);stroke-width:2;opacity:.42}.pet-pin circle:first-child{fill:var(--surface);stroke:var(--primary);stroke-width:2}.pet-pin circle:not(:first-child){fill:var(--ink);stroke:none}.subject-strip{display:flex;gap:8px;flex-wrap:wrap}.subject-strip span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 40%,var(--line));border-radius:999px;color:var(--primary);font-weight:800}.subject-strip span.ok{color:var(--green);background:var(--surface2);border-color:var(--line)}.subject-strip i{width:7px;height:7px;background:currentColor;border-radius:50%}.today-task-list{margin-top:0}.parent-schedule-page{max-width:1180px}.manager-notice{margin:12px 0 0}.manager-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start;margin-top:16px}.schedule-list{display:grid;gap:10px}.schedule-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.schedule-row.is-rest{background:var(--surface2)}.schedule-row.is-done{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.schedule-date strong,.schedule-date span{display:block}.schedule-date strong{font-family:var(--font-display);font-size:20px}.schedule-date span{color:var(--muted);font-size:12px;font-weight:800}.schedule-main h2,.schedule-main p{margin:0}.schedule-main h2{font-size:17px}.schedule-main p{color:var(--muted);font-size:13px}.task-mini-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.task-mini-list span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;background:var(--surface2);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700}.task-mini-list button{min-height:24px;padding:0 7px;color:var(--amber);background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}.manager-panel{display:grid;gap:12px;position:sticky;top:88px}.spotcheck-list{display:grid;gap:12px;margin-top:16px}.spotcheck-row{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.spotcheck-main{display:grid;gap:10px}.spotcheck-head{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.spotcheck-head h2,.spotcheck-head p,.spotcheck-encouragement{margin:0}.spotcheck-head h2{font-size:17px}.spotcheck-head p,.spotcheck-encouragement{color:var(--muted)}.spotcheck-form{display:grid;gap:9px}.spotcheck-form label{display:grid;gap:5px;color:var(--muted);font-size:13px;font-weight:800}.spotcheck-form input,.spotcheck-form textarea{width:100%;min-height:38px;padding:8px 10px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:10px;font:inherit}.spotcheck-form textarea{min-height:70px;resize:vertical}.check-row{display:flex!important;align-items:center;grid-template-columns:auto 1fr;gap:8px!important}.check-row input{width:18px;min-height:18px}.tool-form{display:grid;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.tool-form h2{margin:0;font-size:17px}.tool-form label{display:grid;gap:5px;color:var(--muted);font-size:13px;font-weight:800}.tool-form input,.tool-form select,.tool-form textarea{width:100%;min-height:40px;padding:8px 10px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:10px;font:inherit}.tool-form textarea{min-height:76px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-detail-page{max-width:760px}.task-detail-head{padding-inline:0}.task-detail-head .back{min-width:42px;min-height:42px;font-size:28px;color:var(--ink)}.task-brief{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.task-brief h1,.task-brief p{margin:0}.task-brief p:not(.eyebrow){color:var(--muted)}.upload-block{margin-inline:0}.upload-block .camera{width:100%;min-height:104px;margin-top:12px}.upload-block .submit{width:100%;min-height:50px;margin-inline:0}.audio-task-block audio,.audio-result-box audio,.tts-player{width:100%}.audio-reference{display:grid;gap:9px;margin-top:12px;padding:12px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.audio-reference p{margin:0;color:var(--muted)}.audio-upload{margin-top:12px}.shots{display:grid;gap:9px}.shot{position:relative;min-width:0;border:1px solid var(--line);border-radius:12px}.upload-shots{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.shot.preview{display:block;aspect-ratio:3 / 4;margin:0;overflow:hidden;background:var(--surface2)}.shot.preview img{width:100%;height:100%;object-fit:cover}.camera:disabled,.submit:disabled{cursor:wait;opacity:.68}.review-result-page{display:grid;gap:14px}.review-loading{align-items:center}.review-buddy{margin-top:0}.review-buddy.feeding .pet-face{animation:feed-bounce 1.1s ease-in-out 2}.review-buddy .bubble{padding-right:50px}.listen-btn{display:inline-grid;min-width:34px;min-height:34px;place-items:center;color:var(--primary);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-weight:900}.pet-feedback{animation:pet-feedback-pop .72s ease-in-out}.feedback-spark{position:absolute;z-index:3;width:12px;height:12px;pointer-events:none;background:var(--amber);border-radius:999px;box-shadow:18px -12px 0 var(--primary),-16px 10px 0 var(--green),8px 20px 0 var(--pink);animation:feedback-spark 1s ease-out forwards}.feedback-spark.one{top:26%;left:28%}.feedback-spark.two{top:18%;right:28%;animation-delay:.08s}.review-buddy .listen-btn{position:absolute;right:10px;bottom:10px}.listen-btn.inline{width:fit-content;padding:0 12px}.review-hero{display:grid;gap:10px;padding:18px;background:var(--surface);border:1px solid color-mix(in srgb,var(--green) 42%,var(--line));border-radius:var(--radius);box-shadow:var(--shadow-sm)}.review-hero.manual{border-color:color-mix(in srgb,var(--amber) 48%,var(--line))}.review-hero h1{font-size:clamp(22px,3vw,30px)}.review-stars{display:flex;gap:3px;color:var(--line);font-size:25px;line-height:1}.review-stars .on{color:var(--amber)}.point-arrival{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:var(--on-primary);background:var(--primary);border-radius:var(--radius-sm)}.point-arrival.muted{color:var(--muted);background:var(--surface2);border:1px solid var(--line)}.point-arrival strong,.point-arrival small{display:block}.audio-result-box{display:grid;gap:10px;margin-inline:0}.audio-meter{height:12px;overflow:hidden;background:var(--surface2);border:1px solid var(--line);border-radius:999px}.audio-meter span{display:block;height:100%;background:var(--green)}.audio-result-box p{margin:0;color:var(--muted)}.reference-text{display:flex;flex-wrap:wrap;gap:6px;padding:10px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.reference-text span{padding:4px 6px;background:var(--surface);border-radius:7px;font-weight:800}.reference-text .missed{color:var(--amber);background:color-mix(in srgb,var(--amber) 18%,var(--surface))}.preview-only span{color:var(--green)}.audio-compare{display:grid;gap:6px}.audio-compare span{color:var(--muted);font-size:13px;font-weight:800}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-summary,.writing-box,.review-items{margin-inline:0}.score-row,.writing-metrics{display:flex;gap:8px;flex-wrap:wrap}.score-row span,.writing-metrics span{padding:6px 9px;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:999px;font-size:13px;font-weight:800}.coach-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;margin-inline:0;border-color:color-mix(in srgb,var(--primary) 36%,var(--line))}.coach-pet{display:grid;gap:8px;justify-items:center;min-width:0}.coach-pet img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 12px 18px rgb(74 42 23 / 14%))}.coach-pet span{max-width:100%;color:var(--primary);font-size:12px;font-weight:900;line-height:1.25;text-align:center;overflow-wrap:anywhere}.coach-bubble{display:grid;gap:10px;min-width:0}.coach-bubble p{margin:0;font-weight:900}.thinkbox{display:grid;gap:6px;padding:11px;background:var(--surface2);border:1px dashed color-mix(in srgb,var(--primary) 40%,var(--line));border-radius:var(--radius-sm)}.thinkbox strong{display:inline-flex;align-items:center;gap:7px;color:var(--primary)}.thinkbox strong span{display:grid;width:22px;height:22px;place-items:center;color:var(--on-primary);background:var(--primary);border-radius:50%;font-size:13px;line-height:1}.thinkbox small{color:var(--ink);font-size:14px;font-weight:800;line-height:1.45}.coach-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.coach-foot small{color:var(--muted);font-size:12px;font-weight:900}.coach-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.coach-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.coach-setting strong,.coach-setting small{display:block}.coach-setting small{color:var(--muted);font-size:12px;font-weight:800}.coach-audit-list{display:grid;gap:12px}.coach-audit-row{display:grid;gap:10px;padding:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.coach-audit-row.muted{border-style:dashed;opacity:.78}.coach-audit-head{display:flex;align-items:center;gap:10px;min-width:0}.coach-audit-head h2,.coach-audit-head p,.coach-audit-copy{margin:0}.coach-audit-head h2{font-size:16px}.coach-audit-head p{color:var(--muted);font-size:13px;font-weight:800}.coach-audit-copy{font-weight:900}.coach-redlines{display:flex;gap:7px;flex-wrap:wrap}.coach-redlines span{padding:5px 8px;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:999px;font-size:12px;font-weight:900}.manual-reason,.writing-box p{margin:10px 0 0;color:var(--muted)}.review-items{display:grid;gap:10px}.review-item{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.review-item.ok{border-color:color-mix(in srgb,var(--green) 42%,var(--line))}.item-mark{display:grid;width:30px;height:30px;place-items:center;color:#fff;background:var(--amber);border-radius:50%;font-weight:900}.review-item.ok .item-mark{background:var(--green)}.review-item h2,.review-item p{margin:0}.review-item h2{font-size:15px}.review-item p{color:var(--muted)}.review-item small{display:inline-block;margin-top:5px;color:var(--primary);font-weight:800}.levelup-overlay{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,#3b2f26 40%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.levelup-card{position:relative;width:min(440px,100%);max-height:calc(100vh - 36px);overflow:hidden auto;padding:20px 18px 18px;text-align:center;background:radial-gradient(120% 78% at 50% 30%,var(--primary-soft),var(--surface2));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 26px 70px #462c1a3d}.levelup-rays{position:absolute;inset:-42%;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,rgb(255 194 75 / 16%) 0 7deg,transparent 7deg 16deg);animation:levelup-spin 26s linear infinite}.levelup-confetti{position:absolute;inset:0;pointer-events:none}.levelup-confetti span{position:absolute;width:8px;height:12px;background:var(--primary);border-radius:3px;transform:rotate(18deg);animation:confetti-float 2.6s ease-in-out infinite}.levelup-confetti span:nth-child(2n){background:var(--amber);animation-delay:.2s}.levelup-confetti span:nth-child(3n){background:var(--green);animation-delay:.35s}.levelup-confetti span:nth-child(4n){background:var(--blue);animation-delay:.5s}.levelup-inner{position:relative;z-index:1;display:grid;gap:12px;justify-items:center}.levelup-kicker{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 12px;color:var(--primary);background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:999px;font-size:13px;font-weight:900}.levelup-kicker span{width:9px;height:9px;background:var(--amber);border-radius:50%;box-shadow:0 0 0 5px #ffc24b33}.levelup-jump{display:flex;align-items:center;justify-content:center;gap:11px;color:var(--muted);font-family:var(--font-display);font-size:23px;font-weight:900}.levelup-jump .next{color:var(--primary);font-size:30px}.levelup-jump .arrow{color:var(--amber);font-size:31px}.levelup-card h2{max-width:100%;margin:0;font-size:20px;line-height:1.28}.levelup-card h2 strong{color:var(--primary)}.levelup-pet{position:relative;display:grid;width:min(250px,72vw);aspect-ratio:1;place-items:center}.levelup-pet img{position:relative;z-index:2;width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 18px 24px rgb(82 48 26 / 20%));animation:levelup-pop 1.2s ease-in-out infinite}.glow-ring{position:absolute;inset:12%;border:12px solid rgb(255 194 75 / 26%);border-radius:50%;box-shadow:0 0 0 18px #ffffff4d;animation:glow-pulse 1.7s ease-in-out infinite}.spark{position:absolute;z-index:3;width:14px;height:14px;background:var(--amber);clip-path:polygon(50% 0,64% 35%,100% 50%,64% 64%,50% 100%,36% 64%,0 50%,36% 35%)}.spark.one{top:18%;right:16%}.spark.two{bottom:22%;left:15%;background:var(--primary)}.levelup-speech{display:grid;gap:8px;width:100%;padding:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.levelup-speech p{margin:0;color:var(--ink);font-weight:900}.levelup-speech div{display:flex;align-items:center;justify-content:space-between;gap:10px}.levelup-speech small,.levelup-note{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.levelup-error{margin:0;color:var(--danger);font-size:13px;font-weight:900}.levelup-cta{min-width:min(240px,100%);min-height:46px;padding:0 18px;color:var(--on-primary);background:var(--primary);border:0;border-radius:999px;box-shadow:var(--btn-lift);font-weight:900}.levelup-note{max-width:300px}@keyframes feed-bounce{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-7px) scale(1.04)}}@keyframes pet-feedback-pop{0%,to{transform:translateY(0) scale(1)}38%{transform:translateY(-5px) scale(1.018)}}@keyframes feedback-spark{0%{opacity:0;transform:translateY(8px) scale(.6)}22%{opacity:1}to{opacity:0;transform:translateY(-18px) scale(1.08)}}@keyframes levelup-spin{to{transform:rotate(360deg)}}@keyframes confetti-float{0%,to{transform:translateY(0) rotate(18deg)}50%{transform:translateY(8px) rotate(44deg)}}@keyframes levelup-pop{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.035)}}@keyframes glow-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.review-buddy.feeding .pet-face,.pet-feedback,.feedback-spark,.levelup-rays,.levelup-confetti span,.levelup-pet img,.glow-ring{animation:none}}.wrong-book-page{max-width:980px}.wrong-filter-bar{display:grid;grid-template-columns:minmax(240px,auto) minmax(150px,1fr) minmax(180px,1fr);gap:10px;align-items:center}.wrong-filter-bar select{width:100%;min-height:46px;padding:0 12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;font-weight:800}.correction-dock{display:grid;gap:10px;margin-inline:0;border-color:color-mix(in srgb,var(--amber) 38%,var(--line))}.correction-dock .submit{width:100%;min-height:48px}.wrong-list{display:grid;gap:12px}.wrong-row{display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--amber) 30%,var(--line));border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.wrong-row.corrected{border-color:color-mix(in srgb,var(--green) 36%,var(--line));background:color-mix(in srgb,var(--surface) 82%,var(--surface2))}.wrong-row.pending{border-color:color-mix(in srgb,var(--blue) 34%,var(--line))}.wrong-row.retry{border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}.wrong-shot{position:relative;display:grid;width:116px;aspect-ratio:4 / 3;place-items:center;margin:0;overflow:hidden;color:var(--on-primary);background:var(--primary);border:1px solid var(--line);border-radius:14px;font-family:var(--font-display);font-size:30px;font-weight:900}.wrong-shot img{width:100%;height:100%;object-fit:cover}.wrong-shot.hinted img{transform:scale(1.16)}.wrong-shot figcaption{position:absolute;right:6px;bottom:6px;max-width:calc(100% - 12px);padding:3px 6px;color:var(--ink);background:color-mix(in srgb,var(--surface) 86%,transparent);border:1px solid var(--line);border-radius:999px;font-family:var(--font-body);font-size:11px;font-weight:900;line-height:1.25}.wrong-main{display:grid;gap:8px;min-width:0}.wrong-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.wrong-head h2,.wrong-head p,.wrong-question{margin:0}.wrong-head h2{font-size:17px}.wrong-head p,.wrong-question{color:var(--muted)}.wrong-state{padding:5px 9px;color:var(--amber);background:color-mix(in srgb,var(--amber) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--amber) 34%,var(--line));border-radius:999px;font-size:12px}.wrong-row.corrected .wrong-state{color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface));border-color:color-mix(in srgb,var(--green) 34%,var(--line))}.wrong-row.pending .wrong-state{color:var(--blue);background:color-mix(in srgb,var(--blue) 14%,var(--surface));border-color:color-mix(in srgb,var(--blue) 34%,var(--line))}.wrong-row.retry .wrong-state{color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}.parent-correction-panel{display:grid;gap:10px;margin-top:14px;padding:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));border-radius:var(--radius);box-shadow:var(--shadow-sm)}.parent-correction-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.parent-correction-row h2,.parent-correction-row p,.parent-correction-row small{margin:0}.parent-correction-row h2{font-size:17px}.parent-correction-row p,.parent-correction-row small{color:var(--muted)}.wrong-tags{display:flex;gap:7px;flex-wrap:wrap}.wrong-tags span{padding:4px 8px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}.parent-dashboard-page{max-width:1180px}.dashboard-note small{display:block;color:var(--muted);font-size:13px}.dashboard-list{display:grid;gap:14px;margin-top:16px}.dashboard-child-card{display:grid;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.dashboard-child-head{display:flex;gap:10px;align-items:center}.dashboard-child-head h2,.dashboard-child-head p,.dashboard-panel p{margin:0}.dashboard-child-head h2{font-size:18px}.dashboard-child-head p,.dashboard-panel p,.dashboard-panel small{color:var(--muted)}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-box{min-width:0;padding:12px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.metric-box span,.metric-box strong,.metric-box small{display:block}.metric-box span{color:var(--muted);font-size:12px;font-weight:800}.metric-box strong{margin-top:2px;font-family:var(--font-display);font-size:22px;line-height:1.25}.metric-box small{color:var(--muted);line-height:1.35}.dashboard-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.dashboard-panel{display:grid;gap:9px;padding:13px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.sparkline{display:flex;align-items:end;gap:6px;min-height:46px}.sparkline i{display:block;width:12px;background:var(--amber);border-radius:999px 999px 4px 4px}.habit-grid{display:flex;gap:7px;flex-wrap:wrap}.habit-grid span{padding:6px 9px;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 34%,var(--line));border-radius:999px;font-size:12px;font-weight:800}.pet-ranch-page{max-width:1040px}.ranch-hero{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,.86fr);gap:16px;align-items:stretch}.ranch-stage-card,.ranch-info-panel,.diagnosis-row,.renderer-contract{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.ranch-stage-card{position:relative;min-height:430px;padding:16px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-soft) 46%,transparent),transparent 58%),var(--surface2)}.ranch-info-panel{display:grid;gap:13px;align-content:center;padding:18px}.ranch-info-panel h1{font-size:32px}.ranch-meter-head,.diagnosis-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ranch-meter-head span,.diagnosis-head span,.ranch-next,.diagnosis-row small{color:var(--muted);font-weight:800}.ranch-meter,.diagnosis-meter{height:13px;overflow:hidden;background:var(--surface2);border:1px solid var(--line);border-radius:999px}.ranch-meter i,.diagnosis-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--primary));border-radius:inherit}.ranch-next{margin:-5px 0 0}.stage-track{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.stage-track span{display:grid;min-width:0;aspect-ratio:1;place-items:center;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:50%;font-weight:900}.stage-track span.on{color:var(--on-primary);background:var(--green);border-color:transparent}.stage-track span.active{background:var(--primary);box-shadow:var(--btn-lift)}.toggle-row{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:var(--ink);font-weight:800}.toggle-row input{width:18px;height:18px;accent-color:var(--primary)}.dress-placeholder{padding:11px 12px;color:var(--muted);background:var(--surface2);border:1px dashed var(--line);border-radius:var(--radius-sm);font-weight:800}.adoption-panel,.rename-panel,.swap-panel,.pet-dex-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.adoption-panel{display:grid;gap:18px;padding:20px}.adoption-copy{display:grid;gap:6px;text-align:center}.adoption-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.adopt-card,.swap-card,.pet-card-actions button{color:var(--ink);background:var(--surface2);border:1px solid var(--line)}.adopt-card{display:grid;gap:8px;min-width:0;min-height:246px;padding:14px;border-radius:var(--radius-sm);text-align:center}.adopt-card.on{background:var(--primary-soft);border-color:var(--primary);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.adopt-card img,.pet-dex-card img,.swap-card img{width:100%;min-width:0;object-fit:contain}.adopt-card img{height:138px}.adopt-card strong,.swap-card strong,.pet-dex-copy strong{font-family:var(--font-display);font-size:17px}.adopt-card small,.swap-card small,.pet-dex-copy small,.pet-dex-copy em,.swap-head span,.keepnote{color:var(--muted);font-size:12px;line-height:1.5}.adoption-name,.rename-panel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.adoption-name input,.rename-panel input{min-height:44px;min-width:0;padding:0 13px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.swap-panel{display:grid;gap:11px;padding:13px;border-radius:var(--radius-sm)}.swap-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.swap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.swap-card{display:grid;gap:5px;min-height:150px;padding:9px;border-radius:var(--radius-sm);text-align:center}.swap-card.on{color:var(--on-primary);background:var(--primary);border-color:transparent}.swap-card img{height:88px}.swap-card.on small{color:var(--on-primary)}.keepnote{padding:10px 11px;background:var(--surface2);border:1px dashed var(--line);border-radius:var(--radius-sm);font-weight:800}.pet-dex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pet-dex-card{position:relative;display:grid;gap:9px;min-height:278px;padding:13px;border-radius:var(--radius-sm)}.pet-dex-card.active{border-color:var(--primary)}.pet-dex-card.locked{opacity:.72}.pet-dex-card.locked img{filter:saturate(.65)}.pet-dex-card img{height:132px}.pet-state{position:absolute;top:10px;right:10px;padding:4px 8px;color:var(--primary);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:900}.pet-dex-copy{display:grid;gap:3px}.pet-dex-copy em{font-style:normal;font-weight:800}.pet-card-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.pet-card-actions button{min-height:34px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900}.rename-panel{padding:12px;border-radius:var(--radius-sm)}.wardrobe-panel{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:14px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.wardrobe-preview,.wardrobe-shop{display:grid;min-width:0;gap:12px}.wardrobe-title{display:grid;gap:4px}.wardrobe-title h1{font-size:28px}.wardrobe-title small,.wardrobe-shop-head span,.wardrobe-hint,.scene-strip span,.cosmetic-copy small{color:var(--muted);font-size:12px;line-height:1.5;font-weight:800}.wardrobe-stage{position:relative;min-height:300px;background:linear-gradient(180deg,color-mix(in srgb,var(--green) 20%,transparent),transparent 62%),var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.wardrobe-guard{padding:10px 12px;color:var(--ink);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:var(--radius-sm);font-size:12px;line-height:1.55;font-weight:900}.wardrobe-shop-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.wardrobe-shop-head strong{font-family:var(--font-display);font-size:22px}.wardrobe-slots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.wardrobe-slots button{min-width:0;min-height:36px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.wardrobe-slots button.on{color:var(--on-primary);background:var(--primary);border-color:transparent}.cosmetic-list{display:grid;gap:9px}.cosmetic-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(84px,auto);gap:10px;align-items:center;min-height:76px;padding:9px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.cosmetic-row.on{border-color:var(--primary);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.cosmetic-row.worn{background:color-mix(in srgb,var(--primary-soft) 72%,var(--surface2))}.cosmetic-thumb{display:grid;width:56px;aspect-ratio:1;place-items:center;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.cosmetic-thumb img{width:100%;height:100%;object-fit:contain}.cosmetic-copy{display:grid;min-width:0;gap:3px}.cosmetic-copy strong{min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:16px}.cosmetic-action{min-width:84px;min-height:36px;padding:0 10px;color:var(--on-primary);background:var(--primary);border:0;border-radius:999px;font-size:12px;font-weight:900}.cosmetic-action.buy{background:var(--green)}.cosmetic-action.worn,.cosmetic-action.ach{color:var(--primary);background:var(--surface);border:1px solid var(--line)}.scene-strip{display:flex;gap:7px;flex-wrap:wrap}.scene-strip span{padding:7px 9px;background:var(--surface2);border:1px solid var(--line);border-radius:999px}.reward-shop-page,.parent-redeem-page{--reward-exp: color-mix(in srgb, var(--green) 18%, var(--surface));--reward-cash: color-mix(in srgb, var(--gold) 18%, var(--surface))}.reward-hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:14px;align-items:stretch;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.reward-hero h1{font-size:32px}.reward-balance{display:grid;place-items:center;min-width:0;padding:14px;text-align:center;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.reward-balance strong{font-family:var(--font-display);font-size:34px}.reward-balance span,.reward-balance small,.reward-card p,.redeem-status-row small,.redeem-status-row p,.approval-card p{color:var(--muted);font-size:12px;line-height:1.55;font-weight:800}.reward-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reward-tabs button{min-height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;font-weight:900}.reward-tabs button.on{color:var(--on-primary);background:var(--primary);border-color:transparent}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reward-card{display:grid;min-width:0;min-height:210px;gap:12px;align-content:space-between;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.reward-card.type-experience{background:var(--reward-exp)}.reward-card.type-cash{background:var(--reward-cash)}.reward-card h2,.approval-card h2{margin:6px 0 4px;overflow-wrap:anywhere;font-size:21px}.reward-kind{display:inline-flex;width:fit-content;padding:5px 9px;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:999px;font-size:11px;font-weight:900}.reward-price{font-family:var(--font-display);font-size:24px}.redeem-status-list,.approval-list{display:grid;gap:10px}.redeem-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center;padding:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.redeem-status-row>p{grid-column:1 / -1;margin:0}.redeem-status-row>span{padding:5px 9px;color:var(--primary);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.redeem-status-row.is-approved>span,.redeem-status-row.is-fulfilled>span{color:var(--on-primary);background:var(--green);border-color:transparent}.redeem-status-row.is-rejected>span,.redeem-status-row.is-expired>span{color:var(--ink);background:var(--gold-soft)}.settlement-page{max-width:920px}.settlement-hero,.settlement-week,.arrival-card,.milestone-card,.makeup-panel,.softnote-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.settlement-hero{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:14px;align-items:stretch;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--green) 18%,transparent),transparent 56%),var(--surface)}.settlement-copy{display:grid;align-content:center;gap:8px}.settlement-copy h1{font-size:34px}.settlement-meta{display:flex;gap:8px;flex-wrap:wrap}.settlement-meta span{padding:6px 10px;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:999px;font-size:12px;font-weight:900}.settlement-stamp{display:grid;place-items:center;min-width:0;padding:14px;text-align:center;color:var(--on-primary);background:var(--primary);border-radius:var(--radius-sm);box-shadow:var(--btn-lift)}.settlement-stamp.rest{color:var(--primary);background:var(--primary-soft);border:1px dashed color-mix(in srgb,var(--primary) 36%,var(--line));box-shadow:none}.settlement-stamp strong{font-family:var(--font-display);font-size:44px;line-height:1}.settlement-stamp span,.settlement-stamp small{font-weight:900}.settlement-stamp small{margin-top:8px;line-height:1.35}.settlement-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:12px;border-radius:var(--radius-sm)}.settlement-day{display:grid;min-width:0;gap:5px;justify-items:center;padding:8px 4px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm)}.settlement-dot{display:grid;width:34px;height:34px;place-items:center;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:50%;font-size:13px;font-weight:900}.settlement-day.is-done{color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--surface))}.settlement-day.is-done .settlement-dot{color:#fff;background:var(--green);border-color:transparent}.settlement-day.is-rest{color:var(--primary);border-style:dashed}.settlement-day.is-missed{color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,var(--surface))}.settlement-day strong,.settlement-day small{min-width:0;overflow-wrap:anywhere;font-size:12px;line-height:1.2}.arrival-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.arrival-card{display:grid;gap:5px;min-width:0;padding:15px;border-radius:var(--radius-sm)}.arrival-card span,.arrival-card small,.milestone-card p,.milestone-card small,.makeup-panel p,.makeup-panel small{color:var(--muted);font-size:12px;line-height:1.5;font-weight:800}.arrival-card strong{font-family:var(--font-display);font-size:32px}.milestone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.milestone-card{display:grid;min-width:0;min-height:190px;gap:9px;align-content:start;padding:13px;border-radius:var(--radius-sm)}.milestone-card.is-claimed{border-color:color-mix(in srgb,var(--green) 42%,var(--line));background:color-mix(in srgb,var(--green) 10%,var(--surface))}.milestone-card.is-available{border-color:color-mix(in srgb,var(--primary) 44%,var(--line));background:var(--primary-soft)}.milestone-days{width:fit-content;padding:6px 9px;color:var(--primary);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.milestone-card h2,.milestone-card p{margin:0}.milestone-card h2{font-size:19px}.milestone-card>span{width:fit-content;padding:5px 9px;color:var(--primary);background:var(--surface2);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.milestone-card.is-claimed>span{color:#fff;background:var(--green);border-color:transparent}.makeup-panel{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:var(--radius-sm)}.makeup-icon{display:grid;width:48px;height:48px;place-items:center;color:var(--primary);background:var(--primary-soft);border:1px dashed color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:14px;font-family:var(--font-display);font-weight:900}.makeup-panel strong,.makeup-panel p,.makeup-panel small{display:block;margin:0}.softnote-card{padding:13px 15px;color:var(--muted);background:var(--surface2);border-radius:var(--radius-sm);font-weight:900}.approval-card{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.approval-main{display:grid;min-width:0;gap:6px}.approval-main textarea{min-height:72px;min-width:0;padding:10px 12px;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-sm);resize:vertical}.approval-actions{display:grid;gap:8px;align-content:center}.pet-renderer{display:grid;min-height:100%;place-items:center}.pet-render-canvas{position:relative;width:min(94%,430px);aspect-ratio:1;isolation:isolate}.pet-render-canvas:before{position:absolute;right:13%;bottom:7%;left:13%;z-index:0;height:8%;content:"";background:color-mix(in srgb,var(--ink) 12%,transparent);border-radius:50%;filter:blur(6px)}.pet-layer{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none}.pet-base{inset:0;z-index:10;width:100%;height:100%;object-fit:contain;animation:pet-breathe 3.4s ease-in-out infinite}.pet-cosmetic{transform-origin:50% 50%}.pet-fx{position:absolute;z-index:30;display:block;pointer-events:none;border-radius:50%}.fx-one,.fx-two{width:14px;height:14px;background:var(--gold);animation:ranch-spark 2.8s ease-in-out infinite}.fx-one{top:20%;left:22%}.fx-two{top:27%;right:20%;animation-delay:.8s}.fx-soft{inset:11%;z-index:1;border:2px solid color-mix(in srgb,var(--primary) 24%,transparent);animation:ranch-pulse 3.6s ease-in-out infinite}.diagnosis-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.diagnosis-row{display:grid;gap:9px;padding:13px;border-radius:var(--radius-sm)}.diagnosis-head strong{font-size:15px}.diagnosis-meter i{background:linear-gradient(90deg,var(--blue),var(--green))}.renderer-contract{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border-radius:var(--radius-sm)}.renderer-contract span{padding:6px 10px;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 32%,var(--line));border-radius:999px;font-size:12px;font-weight:900}@keyframes pet-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2.5%) scale(1.012)}}@keyframes ranch-spark{0%,to{opacity:0;transform:translateY(12px) scale(.7)}45%{opacity:.9;transform:translateY(-8px) scale(1)}}@keyframes ranch-pulse{0%,to{opacity:.25;transform:scale(.96)}50%{opacity:.48;transform:scale(1.02)}}@media(max-width:760px){.topbar,.hero-panel{align-items:flex-start;flex-direction:column}.status-grid,.parent-grid,.token-page,.auth-panel{grid-template-columns:1fr}.control-panel{position:static}.task-card{grid-template-columns:auto 1fr}.task-card button{grid-column:1 / -1;width:100%}.appbar-card,.manager-toolbar,.section-title{align-items:flex-start;flex-direction:column}.manager-layout,.spotcheck-row{grid-template-columns:1fr}.manager-panel{position:static}.schedule-row,.task-brief,.review-grid,.coach-card,.coach-settings{grid-template-columns:1fr}.coach-card{align-items:start}.coach-pet{grid-template-columns:72px minmax(0,1fr);justify-items:start;align-items:center}.coach-pet img{width:72px;height:72px}.coach-pet span{text-align:left}.coach-setting,.coach-foot,.point-arrival{align-items:flex-start;flex-direction:column}.wrong-filter-bar,.wrong-row,.parent-correction-row{grid-template-columns:1fr}.wrong-shot{width:100%}.wrong-row>button{width:100%}.dashboard-metrics,.dashboard-detail-grid,.ranch-hero,.wardrobe-panel,.settlement-hero,.milestone-grid,.reward-hero,.reward-grid,.approval-card,.diagnosis-grid,.adoption-options,.pet-dex-grid{grid-template-columns:1fr}.swap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.adoption-name,.rename-panel{grid-template-columns:1fr}.wardrobe-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.reward-tabs{grid-template-columns:1fr}.settlement-copy h1{font-size:28px}.settlement-stamp{min-height:132px}.settlement-week{gap:5px;padding:8px}.settlement-day{gap:4px;padding:7px 1px}.settlement-dot{width:28px;height:28px;font-size:11px}.settlement-day strong,.settlement-day small{font-size:10.5px;white-space:nowrap}.milestone-card{grid-template-columns:auto minmax(0,1fr) auto;min-height:0;align-items:center}.milestone-card h2{font-size:17px}.milestone-card p{margin-top:2px}.milestone-card small{grid-column:2 / -1}.makeup-panel{grid-template-columns:48px minmax(0,1fr)}.makeup-panel .primary-action{grid-column:1 / -1;width:100%}.redeem-status-row{grid-template-columns:1fr}.cosmetic-row{grid-template-columns:52px minmax(0,1fr)}.cosmetic-action{grid-column:1 / -1;width:100%}.ranch-stage-card{min-height:340px}.stage-track{gap:5px}}
