@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#101017;--panel:#1a1a24;--line:#2b2a38;--muted:#aaa6bc;--text:#f5f2fc;--purple:#aa91fb;--green:#b2e3a4;--pink:#efacd3;--orange:#f2ca8a;--font:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px var(--font)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--purple);outline-offset:4px}button{transition:background .18s,transform .18s,border-color .18s}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,var(--font)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.layout{display:grid;grid-template-columns:228px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:32px 20px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#14141d}.brand{font-size:24px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:11px;padding:0 12px}.brand-icon{width:37px;height:39px;background:var(--purple);color:#211834;display:grid;place-items:center;border-radius:12px;font-size:29px;font-weight:800;box-shadow:inset 0 -4px #0002}.brand span:last-child{color:var(--purple)}.workspace{margin:38px 10px 15px;font-size:10px;letter-spacing:1.8px;color:#858194;font-weight:700}.nav{display:grid;gap:7px}.nav button{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:14px 16px;text-align:left;font-weight:500}.nav button.active{background:#292238;color:#c6b3ff}.nav button.active:after{content:'';width:6px;height:6px;background:var(--purple);border-radius:50%;margin-left:auto}.nav button:hover{background:#24212e}.side-note{margin:auto 5px 24px;padding:18px 15px;background:linear-gradient(125deg,#292435,#1e2229);border:1px solid #3b3245;border-radius:14px}.side-note .sparkle{font-size:24px;color:var(--orange)}.side-note h3{font-size:13px;margin:10px 0 7px}.side-note p{font-size:12px;line-height:1.7;color:var(--muted)}.sidebar-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.sidebar-bottom .tiny-dot{width:6px;height:6px;background:var(--green);border-radius:50%}.sidebar-bottom button{margin-left:auto;background:none;border:0;color:var(--muted)}.main{min-width:0}.topbar{height:85px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.breadcrumb{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}.breadcrumb svg{width:16px}.top-right{display:flex;gap:23px;align-items:center}.date{font-size:12px;color:var(--muted)}.top-profile{display:flex;align-items:center;gap:10px;border:0;background:transparent}.mini-avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#3d3545;font-size:21px}.top-profile svg{width:14px}.content{max-width:1500px;margin:auto;padding:34px 42px 26px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--purple);font-size:10px;font-weight:700;margin-bottom:10px}h1{font-size:30px;font-weight:800;letter-spacing:-1px;line-height:1.3}.heading p{color:var(--muted);margin-top:9px;font-size:13px}.primary,.secondary{border-radius:9px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;border:1px solid transparent;white-space:nowrap}.primary{background:var(--purple);color:#211832}.primary:hover{background:#bda9ff;box-shadow:0 3px 16px #ab91fb20}.secondary{background:#23222e;border-color:#3a3648;color:#d9cfea}.primary svg,.secondary svg{width:17px;height:17px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 14px;gap:10px}.section-heading h2{font-size:16px;letter-spacing:-.3px}.section-heading p,.quiet{color:var(--muted);font-size:12px}.text-button{border:0;padding:3px;background:none;color:var(--purple);font-size:12px;display:flex;align-items:center;gap:7px}.text-button svg{width:14px}.players{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:26px}.player{position:relative;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:17px;min-width:0;overflow:hidden}.player.selected{border-color:var(--purple);background:linear-gradient(120deg,#2d253f,#211d2c)}.player:hover{border-color:#746483;transform:translateY(-2px)}.player-top{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 15%,transparent);font-size:27px;flex-shrink:0}.player-name{font-size:13px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player-level{font-size:10px;color:var(--muted);margin-top:4px}.selected-dot{position:absolute;right:12px;top:12px;background:var(--purple);color:#211832;border-radius:50%;width:15px;height:15px;display:grid;place-items:center;font-size:10px}.player-score{font:800 26px Manrope,sans-serif;margin:16px 0 12px;letter-spacing:-1px}.player-score span{font:400 11px var(--font);color:var(--muted);letter-spacing:0}.progress{height:5px;background:#ffffff0a;border-radius:10px;overflow:hidden}.progress>span{display:block;background:var(--accent,var(--purple));height:100%;border-radius:10px;transition:width .5s}.player-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:9px;gap:5px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:23px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:23px 23px 0;gap:10px}.panel-head h2{font-size:17px;letter-spacing:-.4px}.panel-head p{font-size:12px;color:var(--muted);margin-top:6px}.badge{font-size:10px;background:#ffffff08;border:1px solid #ffffff10;border-radius:6px;padding:5px 8px;color:#c6bfd6;white-space:nowrap}.tabs{display:flex;gap:7px;padding:19px 23px 14px;flex-wrap:wrap}.tabs button{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:7px;padding:8px 13px;font-size:11px}.tabs button.active{border-color:#615077;background:#362a49;color:#cdb7ff}.task-list{padding:0 22px 10px}.task-row{display:flex;align-items:center;gap:13px;padding:16px 0;border-top:1px solid var(--line);animation:appear .25s ease}.task-icon{width:43px;height:43px;background:#ffffff07;border-radius:11px;display:grid;place-items:center;font-size:23px;flex-shrink:0}.task-info{flex:1;min-width:0}.task-info h3{font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.task-info p{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}.task-info .type{color:#b4a2d4;margin-right:5px}.points{font-size:11px;font-weight:700;color:var(--orange);white-space:nowrap;display:flex;align-items:center;gap:4px}.points svg{width:13px;height:13px;fill:#f2ca8a15}.check-button{display:grid;place-items:center;width:27px;height:27px;border:1px solid #524566;background:#24202f;border-radius:50%;color:var(--purple);flex-shrink:0}.check-button:hover{background:#584273}.task-row.done .check-button{background:#34543c;color:var(--green);border-color:#42624a}.task-row.done .task-info h3{color:#93909e;text-decoration:line-through}.icon-button{display:grid;place-items:center;background:transparent;color:var(--muted);border:0;width:26px;height:30px;padding:3px;border-radius:6px;flex-shrink:0}.icon-button:hover{background:#ffffff0e;color:#fff}.icon-button svg{width:15px;height:15px}.task-actions{display:flex;gap:2px}.panel-bottom{border-top:1px solid var(--line);padding:15px 23px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;gap:8px}.panel-bottom span{display:flex;align-items:center;gap:6px}.panel-bottom svg{width:13px;height:13px;color:var(--green)}.wheel-panel{position:relative;background:radial-gradient(ellipse at 50% 43%,#352947 0%,#1d1b29 60%,#1a1a24 90%);text-align:center;padding-bottom:20px}.wheel-panel .panel-head{text-align:left}.wheel-panel .badge{color:var(--purple);background:#aa91fb0c}.wheel-wrap{position:relative;width:252px;height:252px;margin:25px auto 20px}.wheel-rim{position:absolute;inset:0;background:repeating-conic-gradient(#baa2e0 0deg 2deg,#443951 2deg 15deg);border-radius:50%;box-shadow:0 0 0 7px #ffffff03,0 15px 35px #0005}.wheel{position:absolute;inset:10px;border-radius:50%;border:3px solid #271d38;transition:transform 4.3s cubic-bezier(.12,.75,.16,1);overflow:hidden}.wheel canvas{width:100%;height:100%;display:block}.wheel-center{position:absolute;inset:calc(50% - 27px);width:54px;height:54px;background:#f6eedc;color:#332244;border:6px solid #352a47;border-radius:50%;display:grid;place-items:center;font-size:24px;box-shadow:0 4px 7px #0005}.pointer{position:absolute;top:-9px;left:calc(50% - 12px);width:24px;height:32px;clip-path:polygon(0 0,100% 0,50% 100%);background:#fce5b5;filter:drop-shadow(0 2px 3px #000);z-index:2}.orbit{position:absolute;color:var(--orange);font-size:21px;left:10px;top:55px}.orbit.two{left:auto;right:-15px;top:180px;color:var(--purple);font-size:15px}.wheel-panel .primary{min-width:calc(100% - 46px);padding:12px 20px}.wheel-note{font-size:10px;color:var(--muted);margin-top:12px;padding:0 16px;line-height:1.5}.wheel-result{padding:0 22px;min-height:19px;font-size:12px;color:var(--orange);margin-bottom:10px}.reward-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.reward-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden}.reward-art{height:101px;position:relative;background:radial-gradient(ellipse at 50% 80%,color-mix(in srgb,var(--accent) 21%,transparent),transparent 75%),#201e2b;display:grid;place-items:center;border-bottom:1px solid #ffffff06}.reward-art>span{font-size:51px;transform:rotate(-8deg);filter:drop-shadow(0 9px 12px #0005);transition:transform .3s}.reward-card:hover .reward-art>span{transform:rotate(5deg) scale(1.1)}.reward-art:before,.reward-art:after{content:'✦';color:var(--accent);position:absolute;left:22%;top:25%;font-size:12px}.reward-art:after{left:auto;right:24%;top:60%;font-size:8px}.reward-cost{position:absolute;top:9px;right:9px;padding:5px 7px;border-radius:5px;background:#15131bc4;font-size:10px;color:var(--orange)}.reward-body{padding:15px}.reward-body h3{font-size:12px;overflow-wrap:anywhere}.reward-body p{font-size:10px;color:var(--muted);line-height:1.5;margin:6px 0 13px;min-height:30px}.reward-body .progress{height:4px;margin-bottom:9px}.reward-footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);gap:7px}.redeem{background:transparent;border:0;padding:3px 0;color:var(--purple);font-size:10px;font-weight:600;display:flex;align-items:center;gap:5px}.redeem svg{width:11px;height:11px}.footer{display:flex;justify-content:space-between;margin-top:29px;padding-top:19px;border-top:1px solid var(--line);font-size:10px;color:#858093}.footer span:last-child{color:#afa2c2}.full-tasks .task-list{padding:0 24px 15px}.full-tasks .task-info h3{font-size:14px}.full-tasks .task-info p{font-size:12px}.full-tasks .task-row{padding:20px 0}.empty{padding:35px 15px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.history-row{display:flex;align-items:center;gap:15px;padding:20px;border-bottom:1px solid var(--line)}.history-row .task-info p{font-size:12px}.history-row:last-child{border:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.stat{padding:25px}.stat strong{font-size:32px;font-family:Manrope;display:block;margin-bottom:7px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.setting-user{padding:25px;display:flex;align-items:center;gap:17px}.setting-user .task-info h3{font-size:16px}.notice{padding:18px 22px;background:#292236;border:1px solid #493a60;border-radius:12px;font-size:12px;color:#d2c6e7;line-height:1.7;margin:20px 0}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#30203e,transparent 60%)}.login-box{max-width:400px;width:calc(100% - 35px);padding:35px;border:1px solid var(--line);background:var(--panel);border-radius:22px}.login-box .brand{padding:0;margin-bottom:30px}.login-box h1{font-size:25px}.login-box p{color:var(--muted);line-height:1.7;margin:12px 0 23px;font-size:13px}.login-box .primary{width:100%;margin-top:20px}dialog{padding:0;max-width:465px;width:calc(100% - 32px);border:1px solid #514163;border-radius:18px;background:#1e1c28;color:var(--text);box-shadow:0 25px 100px #0008}dialog::backdrop{background:#07050dc4;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 0}.modal-head h2{font-size:20px}.modal-body{padding:22px 25px 25px}.modal-body p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px;color:#c4bdd2;margin-bottom:15px}input,select,textarea{display:block;width:100%;margin-top:7px;background:#13121c;color:var(--text);border:1px solid #3c354b;border-radius:8px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--purple)}textarea{min-height:75px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.danger{background:#573141;border:1px solid #845066;border-radius:9px;padding:11px 17px;color:#ffd6e3}.form-error{color:#ffb7be;font-size:12px;line-height:1.5;min-height:17px}.loading{height:100vh;display:grid;place-content:center;justify-items:center;gap:20px;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,30px);max-width:calc(100% - 32px);padding:14px 22px;border-radius:12px;background:#e6ddfb;color:#21152f;font-size:13px;box-shadow:0 10px 50px #0007;opacity:0;transition:.25s;pointer-events:none;z-index:20}#toast.visible{opacity:1;transform:translate(-50%,0)}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:25}.confetto{position:absolute;width:8px;height:12px;top:-20px;animation:fall 1.8s ease-in forwards}.subtle{color:var(--muted)}.mobile-brand{display:none}@keyframes fall{to{transform:translateY(105vh) rotate(700deg)}}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.content{padding-top:42px}.wheel-wrap{width:280px;height:280px}.task-row{padding:20px 0}.reward-art{height:130px}}
@media(max-width:1150px){.layout{grid-template-columns:190px 1fr}.sidebar{padding:28px 12px 18px}.brand{font-size:21px;padding:0 7px}.content{padding:28px 25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(285px,1fr);gap:16px}.players{gap:10px}.player{padding:13px}.player-name{font-size:11px}.avatar{width:33px;height:33px;font-size:22px}.player-score{font-size:24px}.task-list{padding:0 16px 10px}.task-row{gap:9px}.panel-head{padding:20px 17px 0}.tabs{padding:18px 16px 13px}.task-icon{width:34px;height:37px;font-size:20px}.task-actions .icon-button{width:21px}.reward-grid{gap:10px}}
@media(max-width:950px){.layout{grid-template-columns:75px 1fr}.sidebar{padding:24px 9px}.brand{font-size:0;padding:0;justify-content:center}.brand-icon{font-size:28px}.brand>div,.workspace,.nav button span,.side-note,.sidebar-bottom{display:none}.nav{margin-top:42px}.nav button{justify-content:center;padding:15px}.nav button.active:after{display:none}.content{padding:27px 24px}.dashboard-grid{grid-template-columns:1fr 300px}.players{grid-template-columns:repeat(2,1fr)}.player{padding:16px}.player-name{font-size:13px}.player-score{margin:10px 0}.reward-grid{grid-template-columns:repeat(2,1fr)}.task-info p{font-size:10px}.task-row{gap:7px}.task-actions{display:none}.full-tasks .task-actions{display:flex}.date{display:none}}
@media(max-width:700px){.layout{display:block;padding-bottom:76px}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:70px;z-index:10;border-right:0;border-top:1px solid var(--line);padding:5px 10px;background:#17151fee;backdrop-filter:blur(15px)}.sidebar>.brand{display:none}.nav{display:flex;justify-content:space-around;margin:0;gap:0}.nav button{display:flex;flex-direction:column;gap:5px;padding:9px 12px;font-size:9px;min-width:52px}.nav button span{display:block}.nav button svg{width:18px;height:18px}.topbar{height:66px;padding:0 19px}.breadcrumb{display:none}.mobile-brand{display:flex;font:800 20px Manrope;align-items:center;gap:8px}.mobile-brand .brand-icon{width:29px;height:31px;font-size:24px;border-radius:9px}.top-profile{font-size:11px}.mini-avatar{width:29px;height:29px}.content{padding:25px 19px}.heading{align-items:flex-start;gap:12px;margin-bottom:23px}h1{font-size:25px}.heading p{font-size:12px;line-height:1.6;max-width:240px}.heading>.primary{font-size:0;padding:11px}.heading>.primary svg{width:19px;height:19px}.eyebrow{font-size:9px}.section-heading p{font-size:10px}.players{gap:11px;margin-bottom:20px}.player{padding:14px}.dashboard-grid{grid-template-columns:1fr;gap:18px}.task-row{gap:12px;padding:17px 0}.task-info h3{font-size:13px}.task-info p{font-size:11px}.task-icon{width:40px;height:40px;font-size:22px}.task-actions{display:flex}.wheel-wrap{width:264px;height:264px;margin-top:27px}.wheel-panel .primary{min-width:80%}.wheel-panel{padding-bottom:23px}.reward-art{height:112px}.reward-body{padding:13px}.reward-body h3{font-size:12px}.reward-body p{font-size:10px}.footer{font-size:9px;gap:10px}.settings-grid,.stats-grid{grid-template-columns:1fr}.stats-grid{gap:10px}.stat{padding:18px;display:flex;align-items:center;justify-content:space-between}.stat strong{font-size:25px;margin:0}.section-heading h2{font-size:15px}.full-tasks .task-info h3{font-size:12px}.full-tasks .task-info p{font-size:10px}.full-tasks .task-list{padding:0 15px}.full-tasks .task-row{gap:7px}.full-tasks .task-actions .icon-button{width:22px}.full-tasks .task-icon{width:30px}#toast{bottom:85px}.reward-footer{font-size:8px}.redeem{font-size:9px}.task-row .points{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:380px){.nav button{padding:9px 6px;min-width:46px}.content{padding-left:14px;padding-right:14px}.heading h1{font-size:22px}.section-heading p{max-width:130px;text-align:right}}
/* Reward-driven missions and live deadlines */
.goal-banner{display:flex;align-items:center;gap:22px;padding:24px;border:1px solid #695080;border-radius:18px;background:radial-gradient(ellipse at top right,#61457950,transparent 60%),linear-gradient(120deg,#2a2237,#201c2a);margin:0 0 25px}.goal-emoji{font-size:55px;width:86px;height:86px;flex-shrink:0;display:grid;place-items:center;border-radius:23px;background:#ffffff08;transform:rotate(-8deg)}.goal-copy{flex:1;min-width:0}.goal-copy h2{font-size:21px;overflow-wrap:anywhere}.goal-copy p{font-size:12px;color:#c8bcd9;margin:8px 0 14px;line-height:1.6}.goal-meter{display:flex;align-items:center;gap:14px}.goal-meter .progress{flex:1;max-width:420px;height:8px}.goal-meter strong{font-size:11px;font-weight:500;color:var(--purple)}.goal-actions{display:grid;justify-items:center;gap:13px}.goal-select{width:100%;background:#aa91fb13;color:#ceb8ff;border:1px solid #5d4875;border-radius:8px;padding:9px 6px;font-size:11px;margin:0 0 14px}.goal-select.chosen{opacity:1;background:#3a304d;color:#e9dcff}.assigned-section{margin-bottom:26px}.assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.assignment-card{padding:21px;border:1px solid #514160;border-radius:15px;background:linear-gradient(145deg,#302339,#201e29);animation:appear .45s ease}.assignment-top{display:flex;align-items:center;gap:9px}.assignment-top .badge{font-size:9px}.assignment-points{margin-left:auto;font:800 23px Manrope;color:var(--orange);white-space:nowrap}.assignment-points small{font:400 10px var(--font)}.assignment-card h3{font-size:15px;margin:17px 0 6px;overflow-wrap:anywhere}.assignment-card>p{font-size:11px;color:var(--muted);line-height:1.6;min-height:34px}.assignment-timer{font:700 16px Manrope;color:var(--orange);margin:18px 0 7px;letter-spacing:.2px;font-variant-numeric:tabular-nums}.assignment-due{font-size:10px;color:var(--muted)}.assignment-goal{font-size:10px;color:#d0bddc;margin:12px 0}.assignment-card>button{width:100%;font-size:11px;margin-top:4px}.assignment-card.expired{background:#201d25;border-color:#45343e}.assignment-card.expired .assignment-timer{color:#e3a1ad}.assignment-card.expired .assignment-points{opacity:.5;text-decoration:line-through}.assignment-empty{display:flex;align-items:center;gap:18px;padding:23px;background:#1c1a25;border:1px dashed #584564;border-radius:15px}.assignment-empty>span{font-size:36px}.assignment-empty>div{flex:1}.assignment-empty h3{font-size:14px;margin-bottom:7px}.assignment-empty p{font-size:12px;color:var(--muted);line-height:1.6}.wheel-tabs{justify-content:center;padding-bottom:0}.wheel-wrap{width:300px;height:300px;max-width:85%;aspect-ratio:1}.wheel-legend{margin:18px 23px 0;text-align:left;border-top:1px solid var(--line);padding-top:14px}.wheel-legend summary{color:#c9badb;font-size:11px;cursor:pointer}.wheel-legend ol{padding:0 0 0 20px;margin:12px 0 0;max-height:220px;overflow-y:auto;color:var(--muted)}.wheel-legend li{padding:6px 3px;font-size:11px;line-height:1.5}.wheel-legend li strong{float:right;color:var(--orange);margin-left:9px}.wheel-choose-goal{margin:13px auto 0}.spin-prize{text-align:center;padding:10px 0 22px}.spin-prize>span{display:block;font-size:64px;animation:prize-pop .65s ease}.spin-prize h3{font-size:22px;margin:17px 0;overflow-wrap:anywhere}.spin-prize>strong{display:inline-block;font:800 43px Manrope;color:var(--orange);padding:7px 23px;background:#f2ca8a0d;border-radius:14px;animation:prize-pop .8s ease}.spin-prize small{font-size:17px}.task-state{font-size:9px;padding:4px}.wheel-panel{align-self:start}.panel-head p{line-height:1.5}@keyframes prize-pop{0%{transform:scale(.5) rotate(-12deg);opacity:0}70%{transform:scale(1.15) rotate(5deg)}100%{transform:scale(1) rotate(0);opacity:1}}
@media(max-width:1150px){.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-banner{gap:16px;padding:20px}.goal-emoji{width:60px;height:60px;font-size:40px}.goal-meter{flex-wrap:wrap;gap:7px}.goal-meter .progress{flex-basis:100%}.wheel-wrap{width:260px;height:260px}}
@media(max-width:700px){.goal-banner{flex-wrap:wrap;gap:13px;padding:18px}.goal-copy h2{font-size:18px}.goal-copy .eyebrow{font-size:9px;letter-spacing:1px}.goal-copy p{font-size:11px}.goal-actions{width:100%;display:flex;justify-content:space-between}.goal-actions .primary{font-size:12px}.goal-emoji{width:47px;height:55px;font-size:37px}.goal-meter strong{font-size:10px}.assignment-grid{grid-template-columns:1fr}.assignment-card{padding:20px}.assignment-empty{flex-wrap:wrap;padding:18px;gap:12px}.assignment-empty>div{min-width:180px}.assignment-empty>button{width:100%}.assignment-card>p{min-height:0}.assignment-card h3{font-size:16px}.assignment-timer{font-size:18px}.wheel-wrap{width:280px;height:280px}.task-state{display:none}.wheel-legend li{font-size:12px}.no-goal>.primary{width:100%}.goal-select{font-size:10px}.assignment-points{font-size:29px}}

/* Keep wheels circular on narrow screens; expand the dedicated play view. */
.wheel-wrap{height:auto}.standalone-wheel{max-width:620px;margin:30px auto}.standalone-wheel .wheel-wrap{width:420px;height:auto}.standalone-wheel .wheel-note{padding:0 22px}
@media(max-width:700px){.standalone-wheel .wheel-wrap{width:300px}}

/* The wheel is a centered stage, with a full-screen view for every spin. */
.home-wheel { margin: 28px 0; }
.home-wheel .wheel-panel { padding: 32px 24px 24px; border-radius: 28px; }
.wheel-panel { isolation: isolate; background: radial-gradient(ellipse at 50% 42%, #43236266, transparent 62%), #13101f; }
.wheel-head { text-align: center; position: relative; z-index: 1; }
.wheel-head .eyebrow { font-size: 10px; letter-spacing: 3px; color: #c7b3ec; }
.wheel-head h2 { font-size: clamp(27px, 3vw, 42px); font-weight: 800; letter-spacing: -1.6px; }
.wheel-head h2 span { background: linear-gradient(100deg, #cfb1ff, #ffc8df); background-clip: text; color: transparent; }
.wheel-head p { color: #bcb0d0; font-size: 12px; margin: 9px 0 0; }
.wheel-tabs { padding: 16px 0 0; gap: 4px; }
.wheel-tabs button { padding: 8px 16px; border-radius: 100px; font-size: 12px; }
.wheel-tabs button.active { background: #be9bff1c; border-color: #ad82eb55; color: #e2ccff; box-shadow: inset 0 1px #ffffff0d; }
.home-wheel .wheel-wrap, .wheel-immersive .wheel-wrap {
  width: min(58svh, 660px); height: auto; max-width: calc(100% - 52px); aspect-ratio: 1;
  margin: 30px auto 22px; position: relative;
}
.home-wheel .wheel-wrap { width: 520px; }
.wheel-aura { position: absolute; inset: -9%; border-radius: 50%; background: conic-gradient(from 45deg, #a361ff45, #dc82cc08, #7272ff3d, #f0aecc08, #a361ff45); filter: blur(30px); animation: aura-breathe 5s ease-in-out infinite alternate; z-index: -1; }
.wheel-orbit { position: absolute; inset: -5%; border: 1px solid #b98eff23; border-radius: 50%; }
.wheel-orbit:before, .wheel-orbit:after { content: ''; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #d4b3ff; box-shadow: 0 0 16px #ba85ff; left: 50%; top: -3px; }
.wheel-orbit:after { top: auto; bottom: -3px; background: #f6c0e0; }
.wheel-spark { position: absolute; color: #dfbdfd; font-size: 23px; text-shadow: 0 0 25px #c98afa; animation: spark-float 4s ease-in-out infinite alternate; z-index: 2; pointer-events: none; }
.wheel-spark.s1 { left: -7%; top: 24%; }.wheel-spark.s2 { right: -7%; top: 63%; font-size: 33px; animation-delay: -2s; color: #f4c6df; }.wheel-spark.s3 { left: 11%; bottom: -6%; font-size: 13px; animation-delay: -1s; }
.wheel-rim { inset: 0; background: linear-gradient(140deg, #dcc4fb, #69577f 32%, #271832 53%, #9b7cbb 78%, #e5cffa); box-shadow: 0 0 0 1px #e2beff55, 0 0 0 6px #59427233, 0 0 48px #9a5bea24, 0 22px 65px #0009; }
.wheel-rim:after { content: ''; position: absolute; inset: 9px; border-radius: 50%; background: #241732; box-shadow: inset 0 0 0 1px #ffffff22; }
.wheel-lights { position: absolute; inset: 1.1%; border-radius: 50%; pointer-events: none; z-index: 2; }
.wheel-lights i { position: absolute; inset: 0; transform: rotate(calc(var(--i) * 7.5deg)); }
.wheel-lights i:before { content: ''; display: block; width: 5px; height: 5px; margin: 0 auto; border-radius: 50%; background: #fceadf; box-shadow: 0 0 7px #ffe5dd, 0 0 14px #b58bff; opacity: .8; }
.wheel { inset: 3.8%; border: 2px solid #f3d5ff75; box-shadow: 0 0 0 2px #180e25, inset 0 0 14px #fff4; transition: transform 5.8s cubic-bezier(.12,.68,.08,1); will-change: transform; }
.wheel-center { inset: auto; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 17%; height: 17%; border: 0; background: linear-gradient(135deg,#e7cef8,#786093 37%,#32203f 70%,#bfa0da); box-shadow: 0 0 0 2px #261635, 0 6px 22px #1b0b3377; display: flex; flex-direction: column; gap: 1px; z-index: 3; color: #f9e2d1; }
.wheel-center:before { content: ''; position: absolute; inset: 7%; border-radius: 50%; background: radial-gradient(circle at 30% 20%,#594068,#21142f 80%); border: 1px solid #c7a5e64d; z-index: -1; }
.wheel-center>span { font-size: clamp(22px,3vw,36px); line-height: 1; text-shadow: 0 0 18px #e6bcff77; }
.wheel-center small { font: 800 clamp(6px,1vw,10px)/1.05 Manrope,sans-serif; letter-spacing: 1.4px; text-align: center; }
.pointer { width: 8%; height: 10%; left: 46%; top: -2.5%; background: linear-gradient(110deg,#fff4da,#f1c891 55%,#b88759); clip-path: polygon(12% 0,88% 0,100% 18%,50% 100%,0 18%); filter: drop-shadow(0 4px 5px #130622); transform-origin: 50% 12%; z-index: 4; }
.wheel-controls { text-align: center; position: relative; z-index: 2; }
.wheel-result { margin: 0 0 14px; min-height: 19px; color: #cfbadf; font-size: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.wheel-result strong { color: #ffdfac; }
.live-dot { width: 5px; height: 5px; border-radius: 50%; background: #b8e3c7; box-shadow: 0 0 9px #9cdfb566; }
.wheel-panel .spin-button { position: relative; overflow: hidden; min-width: 0; width: 300px; max-width: calc(100% - 40px); padding: 17px 25px; font-size: 16px; letter-spacing: -.2px; color: #271335; border: 1px solid #eed8ff88; border-radius: 16px; background: linear-gradient(110deg,#d4b8ff,#b69bfa 50%,#e4b9df); box-shadow: inset 0 1px 0 #fff8, 0 8px 35px #a871f33d; gap: 14px; }
.spin-button:after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg,transparent 35%,#ffffff50 50%,transparent 65%); transform: translateX(-140%); }
.spin-button:not(:disabled):hover:after { transform: translateX(140%); transition: transform .8s; }
.wheel-panel .spin-button:disabled { opacity: .65; }.wheel-panel .spin-button svg { width: 21px; height: 21px; }
.wheel-note { margin-top: 12px; font-size: 11px; color: #9e8eaf; }
.wheel-legend { max-width: 620px; margin: 22px auto 0; width: calc(100% - 48px); border-color: #aa89c918; text-align: center; }
.wheel-legend summary { font-size: 11px; color: #af9cc3; }.wheel-legend ol { text-align: left; }
.wheel-experience { min-height: 100svh; overflow: hidden; background: radial-gradient(ellipse at 50% 47%,#3d225149,transparent 58%),radial-gradient(ellipse at 5% 15%,#57368221,transparent 45%),#0d0b14; }
.wheel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 32px; position: relative; z-index: 2; }
.wheel-toolbar .brand { font-size: 20px; }.wheel-toolbar .brand-icon { width: 29px; height: 31px; font-size: 24px; }
.stage-back { display: inline-flex; align-items: center; gap: 9px; border: 1px solid #b994e024; background: #ffffff05; border-radius: 100px; padding: 10px 16px; font-size: 12px; color: #cdbadd; }.stage-back svg { transform: rotate(180deg); width: 16px; }
.wheel-immersive { border: 0; border-radius: 0; background: transparent; overflow: visible; padding: 4px 16px 0; }
.wheel-immersive .wheel-head h2 { font-size: clamp(28px,3.4vw,44px); }
.stage-target { display: flex; justify-content: center; align-items: center; gap: 13px; margin: 20px auto 24px; color: #a895ba; font-size: 11px; padding: 0 20px; flex-wrap: wrap; }.stage-target strong { color: #d6c3e8; }.stage-target>span:last-child { border: 1px solid #ad89d032; padding: 6px 10px; border-radius: 100px; }
.is-spinning .wheel-aura { animation: aura-spin 3s linear infinite; opacity: 1; filter: blur(22px); }
.is-spinning .wheel-lights i:before { animation: light-chase 1.2s linear infinite; animation-delay: calc(var(--i) * -.025s); }
.is-spinning .pointer { animation: pointer-tick .16s ease-out infinite; }
.is-spinning .spin-button svg:first-child { animation: aura-spin 2s linear infinite; }
.is-spinning .wheel-orbit { box-shadow: 0 0 30px #bd85ff25; }
.is-revealed .wheel-rim { box-shadow: 0 0 0 2px #ffe6b7, 0 0 65px #f5c68b77; transition: box-shadow .4s; }
.is-revealed .wheel-result { font-size: 16px; color: #ffe5b8; }
.is-revealed .wheel-lights i:before { background: #fff5d2; box-shadow: 0 0 14px #ffd17b; opacity: 1; }
@keyframes aura-breathe { from { opacity: .6; transform: scale(.96); } to { opacity: 1; transform: scale(1.05); } }
@keyframes aura-spin { to { transform: rotate(360deg); } }
@keyframes spark-float { from { transform: translateY(-4px) rotate(-10deg); opacity: .55; } to { transform: translateY(5px) rotate(10deg); opacity: 1; } }
@keyframes light-chase { 0%,100% { opacity: .35; } 50% { opacity: 1; box-shadow: 0 0 15px #ffd5fd; } }
@keyframes pointer-tick { 0%,100% { transform: rotate(0); } 35% { transform: rotate(-13deg); } }
@media (max-width:700px) {
  .home-wheel .wheel-panel { padding: 24px 0 20px; border-radius: 22px; }
  .wheel-head { padding: 0 14px; }.wheel-head .eyebrow { font-size: 8px; letter-spacing: 1.5px; }.wheel-head h2 { letter-spacing: -1px; }.wheel-head p { font-size: 11px; }
  .wheel-toolbar { padding: 15px 16px; gap: 10px; }.wheel-toolbar .brand { padding: 0; }.wheel-toolbar .brand>div { display: none; }
  .stage-back { padding: 9px 12px; font-size: 11px; }.wheel-toolbar .top-profile { gap: 6px; }
  .wheel-immersive { padding: 10px 0 0; }.wheel-immersive .wheel-wrap { width: min(62svh,520px); max-width: calc(100% - 50px); margin-top: 33px; margin-bottom: 26px; }
  .wheel-tabs button { font-size: 11px; padding: 8px 13px; }.wheel-center small { font-size: 7px; }.wheel-lights i:before { width: 3px; height: 3px; }
  .wheel-result { font-size: 11px; padding: 0 20px; }.wheel-panel .spin-button { padding: 15px 21px; font-size: 15px; }
  .stage-target { font-size: 10px; gap: 8px; }.wheel-experience .wheel-legend { margin-top: 18px; }
}
@media (max-height:740px) and (min-width:701px) {
  .wheel-toolbar { padding: 10px 24px; }.wheel-head .eyebrow { display: none; }.wheel-immersive .wheel-head h2 { font-size: 30px; }
  .wheel-immersive .wheel-wrap { width: 49svh; margin: 22px auto 16px; }.wheel-immersive .wheel-note { display: none; }.wheel-immersive .spin-button { padding: 12px 22px; }.stage-target { margin: 12px auto; }
}

/* Personal pages and the shared family scoreboard. */
.family-ranking{margin:24px 0}.family-ranking .panel-head{padding-bottom:22px}
.ranking-row{display:flex;align-items:center;gap:18px;padding:20px 24px;width:100%;border:0;border-top:1px solid var(--line);background:none;text-align:left}.ranking-row:hover{background:#aa91fb09}.rank-number{font:800 22px Manrope;color:var(--purple);width:24px}.ranking-name{display:grid;gap:9px;flex:1;min-width:0}.ranking-name>strong{font-size:14px}.ranking-name .progress{width:min(100%,440px)}.ranking-name small{font-size:10px;color:var(--muted)}.ranking-score{font:800 25px Manrope;color:var(--orange);white-space:nowrap}.ranking-score small{font:400 10px var(--font)}.ranking-row>svg{color:var(--muted)}
.personal-hero{display:flex;align-items:center;gap:24px;padding:30px;background:linear-gradient(110deg,#322640,#1b1b28);border:1px solid #604476;border-radius:22px}.personal-avatar{font-size:72px}.personal-hero>div{flex:1}.personal-hero h2{font-size:28px;letter-spacing:-1px}.personal-hero p{color:var(--muted);margin-top:9px;font-size:13px}
.competitions-section{margin:30px 0}.competitions-section>.section-heading{margin-bottom:20px}.competitions-section>.section-heading>.primary{font-size:12px}.competition-card{margin:20px 0;padding:30px;border:1px solid #725284;border-radius:24px;background:radial-gradient(ellipse at right top,#9155822a,transparent 65%),linear-gradient(120deg,#2c2339,#1e1b2a)}.competition-card.claimed,.competition-card.achieved{border-color:#99815b;background:radial-gradient(ellipse at top right,#a48a4825,transparent 60%),#24202d}.competition-card.cancelled,.competition-card.expired{border-color:#484052;background:#201e28}.competition-header{display:flex;align-items:center;gap:18px}.competition-icon{font-size:54px}.competition-header>div{flex:1;min-width:0}.competition-header h2{font-size:24px;overflow-wrap:anywhere}.competition-header p{color:#c0b3cc;font-size:12px;margin:8px 0;line-height:1.6}.competition-header p strong{color:var(--orange)}.competition-progress{display:flex;justify-content:space-between;align-items:baseline;margin:25px 0 12px;color:var(--purple)}.competition-progress>strong{font:800 32px Manrope;color:var(--text)}.competition-progress small{font:400 13px var(--font);color:var(--muted)}.competition-card>.progress{height:10px}.competition-meta{display:flex;justify-content:space-between;gap:10px;margin:12px 0 22px;color:#b9a8c9;font-size:11px}.competition-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.competition-team>button{display:grid;justify-items:center;gap:6px;padding:17px 10px;background:#0d091b44;border:1px solid #ccb0ee15;border-radius:14px;min-width:0}.competition-team>button:hover{border-color:#b799d5}.competition-team>button>span{font-size:29px}.competition-team strong{font-size:12px;max-width:100%;overflow-wrap:anywhere}.competition-team small{font-size:10px;color:var(--muted)}.competition-team b{font:800 22px Manrope;color:var(--orange);margin-top:4px}.competition-rule{font-size:11px;color:var(--muted);line-height:1.7;margin-top:18px}.competition-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.competition-empty{border:1px dashed #715486;border-radius:22px;padding:36px;text-align:center;background:radial-gradient(ellipse at top,#53376c44,transparent 75%),#1a1724}.competition-empty>span{font-size:56px}.competition-empty h3{font-size:23px;margin:16px 0 12px}.competition-empty p{max-width:550px;margin:0 auto 22px;font-size:13px;line-height:1.8;color:var(--muted)}.assignment-card>.cancel-task{margin-top:12px;color:#c0accb;background:none;border:0;padding:7px;font-size:11px}.assignment-card>.cancel-task:hover{color:#f1bbd0}.assignment-due{line-height:1.8}
@media(max-width:700px){.nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.nav button{flex-shrink:0;padding:9px 11px;min-width:61px}.personal-hero{padding:22px;gap:15px;flex-wrap:wrap}.personal-avatar{font-size:52px}.personal-hero h2{font-size:24px}.personal-hero .secondary{width:100%;font-size:12px}.ranking-row{padding:17px 15px;gap:10px}.ranking-score{font-size:22px}.ranking-row>svg{display:none}.rank-number{font-size:18px;width:18px}.competitions-section>.section-heading{flex-wrap:wrap;gap:16px}.competition-card{padding:21px}.competition-header{gap:13px;flex-wrap:wrap}.competition-icon{font-size:40px}.competition-header h2{font-size:20px}.competition-header>.badge{margin-top:3px}.competition-meta{flex-direction:column;font-size:10px;line-height:1.6}.competition-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.competition-actions{align-items:flex-start;flex-direction:column}.competition-progress>strong{font-size:28px}.competition-empty{padding:26px 20px}.competition-empty h3{font-size:20px}}
@media(min-width:701px) and (max-height:850px){.sidebar .side-note{display:none}.sidebar-bottom{margin-top:auto}.sidebar{overflow-y:auto}}
/* Focused member workspace and separate administration. */
.calm-layout .content{max-width:1240px;padding-bottom:60px}.calm-layout .heading{margin-bottom:30px}.calm-layout .heading h1{font-size:clamp(28px,3vw,40px);letter-spacing:-1.4px}.calm-layout .sidebar-bottom{margin-top:auto}.calm-layout .stats-grid{margin-bottom:24px}.calm-layout .stat{padding:24px}.calm-layout .stat strong{font-size:32px}.calm-layout .goal-banner{margin-bottom:30px}.calm-layout .assigned-section{margin-top:24px}.calm-layout .assignment-card{padding:24px}.calm-layout .assignment-card h3{font-size:19px}.calm-layout .assignment-card>p{margin:12px 0}.calm-layout .assignment-card .primary{width:100%;margin-top:18px}.calm-layout .assignment-grid{align-items:start}.score-cards{margin-bottom:26px}.score-cards .player{cursor:default;text-align:left}.score-cards .player:hover{transform:none}.score-cards .player-name small{font-size:10px;color:var(--purple);display:inline-block;margin-left:5px}.score-cards .player-score{margin-top:28px}.family-summary{display:flex;gap:24px;align-items:center;padding:30px;margin:26px 0}.family-prize{font-size:56px}.family-summary-copy,.family-summary>div{flex:1}.family-summary h2{font-size:23px}.family-summary p{font-size:13px;color:var(--muted);line-height:1.7;margin-top:10px}.family-summary .progress{margin-top:20px}.dashboard-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:12px}.admin-tabs{display:flex;gap:8px;padding:7px;background:#15121d;border:1px solid var(--line);border-radius:16px;margin-bottom:26px}.admin-tabs button{flex:1;padding:14px 18px;border:0;border-radius:11px;background:none;color:var(--muted);font-weight:700}.admin-tabs button.active{color:#e8dcff;background:#38274f}.admin-tabs button span{margin-left:10px;font-size:10px;padding:3px 7px;border-radius:6px;background:#ffffff0a}.admin-help{margin-top:24px;padding:22px}.admin-help p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:15px}.task-details{font-size:12px;color:var(--muted);margin-top:18px}.task-details summary{cursor:pointer}.task-details p{line-height:1.8;margin-top:10px}.pending-note{background:#d6b15b16;border:1px solid #caa25d42;color:#efdca4;padding:14px;border-radius:12px;margin-top:20px;font-size:13px}.review-note{color:#f3b8d0!important;font-size:12px}.review-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.calm-layout .review-actions .primary{margin:0;width:auto}.account-setup{max-width:1050px;margin:50px auto;padding:0 22px}.account-setup>form{padding:36px}.account-setup h1{font-size:34px;letter-spacing:-1px;margin:28px 0 12px}.account-setup p{color:var(--muted);line-height:1.8;margin:12px 0 24px}.account-setup label{display:grid;gap:8px;margin:14px 0;font-size:13px}.account-setup input,.account-setup select{width:100%;padding:13px;background:#14101d;border:1px solid #4c3d60;border-radius:10px;color:var(--text)}.setup-accounts-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.setup-accounts-grid fieldset{min-width:0;border:1px solid var(--line);border-radius:16px;padding:22px}.setup-accounts-grid legend{font-weight:700;padding:0 8px}.admin-workspace .task-actions{display:flex}.admin-workspace .task-state{display:none}.admin-workspace .panel-head p{display:none}.admin-workspace .panel-bottom>span{display:none}.admin-workspace .panel-head>.badge{display:none}.admin-workspace .competition-team>button{pointer-events:none}.calm-layout .reward-card .reward-art{height:140px}.calm-layout .reward-body>p:empty{display:none}.calm-layout .goal-copy>p{font-size:13px}
@media(max-width:700px){.calm-layout .heading{gap:20px;align-items:flex-start}.calm-layout .heading h1{font-size:28px}.calm-layout .heading>.primary{padding:11px 15px;font-size:12px}.calm-layout .stats-grid{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.calm-layout .stat{padding:15px 12px}.calm-layout .stat strong{font-size:26px}.calm-layout .stat .quiet{font-size:10px}.family-summary{padding:22px;gap:16px;flex-wrap:wrap}.family-prize{font-size:40px}.family-summary h2{font-size:19px}.family-summary>.secondary{width:100%}.dashboard-footer{flex-direction:column;align-items:flex-start}.admin-tabs{overflow-x:auto}.admin-tabs button{padding:12px 14px;flex-shrink:0}.admin-tabs button span{display:none}.setup-accounts-grid{grid-template-columns:1fr}.account-setup{margin:24px auto;padding:0 15px}.account-setup>form{padding:22px}.account-setup h1{font-size:28px}.calm-layout .assignment-grid{grid-template-columns:1fr}.calm-layout .task-row{gap:10px}.admin-workspace .task-actions{display:flex}.admin-workspace .task-row .points{font-size:11px}.admin-workspace .task-row>.icon-button{padding:7px}.calm-layout .nav{gap:3px}.calm-layout .nav button{min-width:65px}}

.mobile-logout{display:none}@media(max-width:700px){.mobile-logout{display:inline-flex}.calm-layout .top-right{width:100%;justify-content:space-between}}

.admin-person-picker{display:flex;align-items:center;gap:24px;margin-bottom:26px;padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:#1c1826}.admin-person-picker label{display:grid;gap:10px;min-width:230px;font-size:12px;color:var(--muted)}.admin-person-picker select{padding:12px 14px;border:1px solid #5e4975;border-radius:10px;color:var(--text);background:#241b31;font-size:14px}.admin-person-picker p{font-size:12px;line-height:1.7;color:var(--muted)}@media(max-width:700px){.admin-person-picker{flex-direction:column;align-items:stretch;gap:14px;padding:18px}.admin-person-picker label{min-width:0}}

.shared-badge{display:inline-block;margin-left:7px;vertical-align:middle;padding:3px 7px;border-radius:6px;background:#86b9e41a;color:#accef0;font:600 10px var(--font)}.task-participants{border:1px solid var(--line);border-radius:12px;padding:16px;margin:18px 0}.task-participants[hidden]{display:none}.task-participants legend{padding:0 6px;font-weight:600}.task-participants label{display:flex;align-items:center;gap:10px}.task-participants input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--purple)}.task-participants p{font-size:12px;color:var(--muted);line-height:1.6}

.profile-photo{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar,.mini-avatar,.large-avatar{overflow:hidden;flex-shrink:0}.profile-settings{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.profile-settings-card{padding:28px}.profile-settings-card h2{font-size:22px;margin-bottom:10px}.profile-settings-card p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:22px}.profile-settings-card label{display:grid;gap:9px;font-size:13px;margin:18px 0}.profile-settings-card input:not([type=file]){width:100%;padding:13px;background:#14101d;border:1px solid #4c3d60;border-radius:10px;color:var(--text)}.photo-editor{display:flex;align-items:center;gap:22px;margin:28px 0}.large-avatar{width:104px;height:104px;border-radius:28px;display:grid;place-items:center;font-size:55px;background:#30273e}.profile-settings-card .photo-file{position:relative;display:inline-flex;cursor:pointer;margin:0 0 12px}.photo-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.photo-file:focus-within{outline:2px solid var(--purple);outline-offset:4px}.photo-editor p{font-size:11px;margin:0}.profile-form-actions{display:flex;gap:20px;align-items:center}.profile-settings-card details{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.profile-settings-card summary{cursor:pointer;color:#d5c6ee}.profile-settings-card .account-session-note{margin:22px 0;font-size:12px}.profile-settings-card .form-error{margin-bottom:15px}.competition-team .profile-photo{width:40px;height:40px;border-radius:12px}@media(max-width:900px){.profile-settings{grid-template-columns:1fr}}@media(max-width:700px){.profile-settings-card{padding:22px}.photo-editor{gap:16px}.large-avatar{width:85px;height:85px;border-radius:22px}.profile-form-actions{flex-wrap:wrap}}

.wheel-sound{display:inline-flex;align-items:center;gap:7px;margin:0 auto 14px;padding:8px 13px;border:1px solid #aa91fb40;border-radius:30px;background:#aa91fb10;color:var(--purple);font-size:12px;min-height:36px}.wheel-sound:hover{background:#aa91fb22}.wheel-sound[aria-pressed="false"]{color:var(--muted);border-color:var(--line)}.wheel-sound span{font-size:17px}
/* Family management and the daily little-steps experience. */
.member-card .setting-user{padding:22px 22px 15px}.member-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 22px 22px}.member-actions .text-button{margin-left:auto}.field-hint{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:14px}.routine-edit-row{border:1px solid var(--line);border-radius:12px;padding:14px;margin:0 0 15px}.routine-edit-row legend{color:var(--purple);font-size:12px;padding:0 7px}.routine-name{display:grid;grid-template-columns:1fr 75px;gap:12px}.routine-times{display:grid;grid-template-columns:1fr 1fr 80px;gap:10px}.routine-times input{min-width:0;padding:10px 7px}.routine-edit-row label{margin-bottom:10px}.notice .secondary{margin:10px}.score-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.kid-world{--kid-ink:#3c3557;--kid-purple:#7953b5;min-height:100dvh;position:relative;overflow:hidden;color:var(--kid-ink);background:radial-gradient(ellipse at 12% 36%,#ffe7cf 0,transparent 40%),radial-gradient(ellipse at 88% 52%,#e3d4ff 0,transparent 42%),linear-gradient(#f5f3ff,#fffaf1);color-scheme:light}.kid-world.noon{background:radial-gradient(ellipse at 85% 30%,#ccefe5,transparent 45%),linear-gradient(#fff3db,#faf5ff)}.kid-world.evening{background:radial-gradient(ellipse at 80% 10%,#c5c9f1,transparent 50%),linear-gradient(#eee9ff,#fff0e6)}.kid-header{position:relative;z-index:2;max-width:1180px;padding:25px 32px;margin:auto;display:flex;align-items:center;justify-content:space-between}.kid-brand{display:flex;align-items:center;gap:9px;font-size:26px;color:#7953b5;font-weight:800}.kid-brand span{font-size:19px;letter-spacing:-.5px}.kid-header>div{display:flex;gap:10px}.kid-profile,.kid-exit{border:1px solid #c9badb6b;background:#ffffff94;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;color:#665481}.kid-profile .mini-avatar{background:#f0e6f9}.kid-sky{position:absolute;inset:0;pointer-events:none;overflow:hidden}.kid-sun{position:absolute;left:10%;top:130px;font-size:100px;color:#eeba6a;animation:kid-float 6s ease-in-out infinite}.kid-cloud{position:absolute;color:#fff9;font-size:130px;filter:drop-shadow(0 5px 4px #807da00b)}.cloud-one{top:280px;left:-20px;transform:rotate(-9deg)}.cloud-two{right:4%;top:200px;font-size:170px;transform:rotate(7deg)}.sky-star{position:absolute;right:17%;top:125px;font-size:25px;color:#bba0e2;animation:kid-float 4s ease-in-out infinite}.kid-adventure{position:relative;z-index:1;max-width:660px;margin:10px auto 0;text-align:center;padding:0 24px 45px}.kid-kicker{display:inline-block;font-size:10px;font-weight:800;letter-spacing:2px;color:#9276ad;margin-bottom:14px}.kid-greeting h1{font-size:clamp(27px,4vw,39px);letter-spacing:-1.3px}.kid-greeting p{font-size:15px;color:#83768f;margin-top:12px}.kid-progress{display:flex;justify-content:center;gap:8px;margin:20px 0 0;flex-wrap:wrap}.kid-progress>span{width:26px;height:26px;border-radius:50%;background:#ffffffaa;color:#bcb0ca;font-size:23px;line-height:24px}.kid-progress .completed{color:#cf952e;background:#fff0bf;font-size:19px}.kid-progress .pending{color:#9673c5;background:#ede1ff;font-size:21px}.letter-stage{height:475px;width:100%;max-width:490px;margin:5px auto 0;position:relative;perspective:1000px}.envelope-shadow{position:absolute;bottom:18px;left:12%;width:76%;height:36px;background:#a488b42c;border-radius:50%;filter:blur(12px)}.envelope-back,.envelope-front,.envelope-flap{position:absolute;left:10%;width:80%;bottom:55px;height:210px;border-radius:15px}.envelope-back{background:#c5b0e5;box-shadow:0 13px 35px #9d7caa30;z-index:1}.envelope-flap{background:linear-gradient(#b69cda,#d1bbec);clip-path:polygon(0 0,100% 0,50% 80%);transform-origin:top center;border-radius:14px 14px 0 0;z-index:5;transition:transform .65s ease,z-index 0s .3s}.envelope-front{z-index:4;background:linear-gradient(145deg,#e9d3f7,#d3b9ed);clip-path:polygon(0 0,50% 44%,100% 0,100% 100%,0 100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:25px;color:#7c5a9f}.envelope-front>span{font-size:27px;margin-bottom:4px}.envelope-front strong{font-size:12px;font-weight:600}.letter-open{position:absolute;z-index:6;top:242px;left:50%;transform:translateX(-50%);padding:13px 22px;border:3px solid #fff9;background:#7953b5;color:white;border-radius:30px;white-space:nowrap;font-size:16px;font-weight:700;box-shadow:0 6px 18px #71568e30;animation:letter-pulse 2.5s ease-in-out infinite}.letter-open:active:not(:disabled){transform:translateX(-50%) scale(.97)}.letter-open span{margin-right:5px;color:#ffda9c}.letter-open[hidden]{display:none}.kid-task-card{position:absolute;left:15%;width:70%;top:165px;z-index:2;min-height:300px;padding:22px 22px 18px;background:var(--card-color,#ffdeb0);border:5px solid #ffffffbf;border-radius:23px;box-shadow:0 14px 35px #81669125;opacity:0;visibility:hidden;transform:translateY(45px) scale(.85);text-align:center}.kid-card-top{display:flex;justify-content:space-between;gap:8px;font-size:9px;font-weight:800;letter-spacing:1px;color:#655976}.kid-task-art{font-size:75px;display:block;line-height:1.3;margin:16px 0 10px;filter:drop-shadow(0 7px 0 #ffffff70)}.kid-task-card h2{font-size:24px;line-height:1.25;overflow-wrap:anywhere}.kid-task-card p{font-size:11px;color:#70617c;margin:10px 0 18px}.kid-done{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 25px;min-width:155px;min-height:48px;background:#62498b;border-radius:15px;color:white;font-size:17px;font-weight:800;box-shadow:0 5px 0 #483267}.kid-done:hover{background:#755ba0}.kid-done:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #483267}.letter-spark{position:absolute;font-size:29px;color:#b298d8;top:150px;z-index:6}.spark-one{left:1%;transform:rotate(-10deg)}.spark-two{right:2%;top:280px;color:#d6a550}.opening .envelope-flap,.open-static .envelope-flap{transform:rotateX(180deg);z-index:1}.opening .kid-task-card{animation:letter-reveal 1.2s cubic-bezier(.2,.7,.2,1) forwards;visibility:visible}.open-static .kid-task-card{opacity:1;visibility:visible;transform:translateY(-135px) rotate(-2deg);z-index:6}.opening .kid-task-art{animation:kid-pop .65s .8s both}.opening .letter-spark{animation:kid-spark 1.4s ease-out}.kid-approval-note{font-size:13px;line-height:1.6;color:#8b749e;margin:-5px 0 25px}.kid-day-plan{text-align:left;border:1px solid #dbd0e580;background:#ffffff80;border-radius:20px;max-width:435px;margin:auto;padding:0 20px}.kid-day-plan summary{cursor:pointer;padding:17px 0;font-size:13px;font-weight:700;list-style:none;display:flex;justify-content:space-between}.kid-day-plan ol{padding:0;margin:0;list-style:none}.kid-day-plan li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e6dfed;font-size:12px}.kid-day-plan li>span:nth-child(2){flex:1}.kid-day-plan li>span:last-child{font-size:10px;color:#9b85ad}.kid-day-plan small{display:block;color:#a598af;margin-top:3px}.plan-icon{font-size:25px}.kid-day-plan>p{font-size:10px;color:#a093ad;padding:14px 0}.kid-rest{padding:45px 15px;min-height:370px;display:flex;flex-direction:column;justify-content:center}.kid-rest>span{font-size:95px;animation:kid-float 5s ease-in-out infinite;margin-bottom:25px}.kid-rest h2{font-size:24px}.kid-rest p{font-size:14px;color:#8c7a9d;margin-top:15px}.kid-settings{position:relative;z-index:1;max-width:1000px;margin:15px auto;padding:0 24px 50px}.kid-settings>h1{margin:25px 0}.kid-settings .panel{background:#fff;color:#3c3557;border-color:#e6dfee}.kid-settings input{background:#f8f5fc;color:#3c3557;border-color:#d8cbe5}.kid-settings label{color:#665481}.kid-settings .profile-settings-card>p,.kid-settings .photo-editor p,.kid-settings .account-session-note,.kid-settings details p{color:#8b789d}
@keyframes letter-reveal{0%{opacity:0;transform:translateY(45px) scale(.85);z-index:2}30%{opacity:1;transform:translateY(-155px) scale(.9);z-index:2}60%{transform:translateY(-170px) rotate(3deg);z-index:6}100%{opacity:1;transform:translateY(-135px) rotate(-2deg);z-index:6}}@keyframes kid-float{50%{transform:translateY(-10px) rotate(4deg)}}@keyframes letter-pulse{50%{box-shadow:0 6px 25px #7953b550}}@keyframes kid-pop{0%{transform:scale(.7)}65%{transform:scale(1.13)}100%{transform:scale(1)}}@keyframes kid-spark{50%{transform:translateY(-35px) rotate(80deg) scale(1.4);color:#e7b455}}
@media(max-width:600px){.kid-header{padding:18px 20px}.kid-sun{font-size:65px;left:-15px;top:135px}.cloud-two{right:-60px;top:220px;font-size:115px}.cloud-one{top:530px;font-size:90px}.sky-star{right:5%;top:150px}.kid-adventure{padding:0 15px 30px;margin-top:15px}.kid-greeting p{font-size:13px}.letter-stage{height:440px;max-width:380px}.envelope-back,.envelope-front,.envelope-flap{height:190px;bottom:40px;left:5%;width:90%}.kid-task-card{left:9%;width:82%;padding:20px 16px 18px;top:160px}.kid-task-card h2{font-size:23px}.letter-open{top:248px}.spark-one{left:0;top:140px}.spark-two{right:0;top:300px}.kid-approval-note{margin:6px 0 22px}.kid-card-top{font-size:8px}.kid-settings{padding:0 15px 30px}.member-actions .secondary{font-size:11px;padding:9px 11px}.routine-times{grid-template-columns:1fr 1fr 65px;gap:7px}.routine-times input{font-size:12px}.score-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.kid-world *, .kid-world *:before,.kid-world *:after{animation:none!important;transition:none!important}.opening .kid-task-card{opacity:1;visibility:visible;transform:translateY(-135px);z-index:6}}
.kid-settings .profile-settings-card input:not([type=file]){background:#f8f5fc;color:#3c3557;border-color:#d8cbe5}.kid-settings .profile-settings-card summary{color:#7953b5}
/* Daily routines for older children and parent progress reports. */
.daily-shortcut,.daily-admin-link{display:flex;align-items:center;gap:18px;padding:20px 24px;margin-bottom:22px;background:linear-gradient(120deg,#2b2440,#202631);border:1px solid #534265;border-radius:15px}.daily-shortcut>span{font-size:36px}.daily-shortcut>div{flex:1}.daily-shortcut h2{font-size:17px}.daily-shortcut p,.daily-admin-link>span{font-size:12px;color:var(--muted);margin-top:7px}.daily-admin-link{justify-content:space-between}.daily-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;border:1px solid #534265;border-radius:19px;background:radial-gradient(ellipse at right,#39493455,transparent),linear-gradient(110deg,#30273e,#22202e)}.daily-intro h2{font-size:25px;margin:6px 0 10px}.daily-intro p{font-size:13px;color:var(--muted)}.daily-intro-art{font-size:58px}.daily-period{margin-top:28px}.daily-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.daily-card{padding:21px;border:1px solid var(--line);border-radius:16px;background:var(--panel);animation:appear .35s ease}.daily-card.active{border-color:#776098;background:linear-gradient(135deg,#30243f,#201f2b)}.daily-card.completed{border-color:#42634a;background:#233029}.daily-card.upcoming,.daily-card.expired,.daily-card.cancelled{opacity:.65}.daily-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.daily-card-top>span:last-child{font-size:10px;color:var(--muted)}.daily-card h3{font-size:16px;margin:19px 0 25px;overflow-wrap:anywhere}.daily-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.daily-card-bottom .primary{padding:9px 12px;font-size:12px}.daily-status{font-size:11px;color:var(--muted)}.completed .daily-status{color:var(--green)}.pending .daily-status{color:var(--orange)}.daily-footnote{font-size:12px;line-height:1.8;color:var(--muted);margin:25px 0}.report-filters{display:flex;align-items:end;gap:20px;padding:22px;flex-wrap:wrap}.report-filters label{margin:0;flex:1;min-width:140px}.report-filters input,.report-filters select{min-height:42px;font-size:12px}.report-period{display:flex;padding:4px;border:1px solid #493854;border-radius:11px;background:#14111c;align-self:end}.report-period button{border:0;padding:10px 20px;background:none;color:var(--muted);border-radius:8px;font-size:12px}.report-period button.active{background:#aa91fb;color:#211832;font-weight:700}.report-navigation{display:flex;align-items:center;justify-content:space-between;margin:17px 3px 28px}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.report-heading h2{font-size:23px;letter-spacing:-.6px}.report-heading h2>span{font-size:13px;color:var(--muted);margin-left:7px;font-weight:400}.report-live{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.report-live i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #a3e39540}.report-metrics{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:15px}.report-main-stat{background:linear-gradient(130deg,#342a46,#211d2c);border-color:#65507e;padding:23px 25px}.report-main-stat>span{font-size:12px;color:#c2b1d8}.report-main-stat strong{display:block;font:800 39px Manrope,sans-serif;letter-spacing:-1.5px;margin:12px 0}.report-main-stat .progress{height:6px;margin:15px 0 10px}.report-main-stat small{font-size:11px;color:var(--muted)}.report-stat{padding:23px;display:flex;flex-direction:column;align-items:start;justify-content:center}.metric-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;margin-bottom:13px}.metric-icon svg{width:17px}.metric-icon.approved{background:#a9d7b915;color:var(--green)}.metric-icon.waiting{background:#f2ca8a15;color:var(--orange)}.metric-icon.continuing{background:#aa91fb15;color:var(--purple)}.report-stat strong{font-size:30px;letter-spacing:-.8px;font-family:Manrope;margin-bottom:6px}.report-stat>span:last-child{font-size:11px;color:var(--muted);line-height:1.6}.report-rule{font-size:11px;line-height:1.8;color:#9e94ae;margin:16px 2px 26px;max-width:900px}.report-week{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;padding:22px;border:1px solid var(--line);background:#171620;border-radius:16px;margin:0 0 25px}.report-day{display:flex;flex-direction:column;align-items:center;gap:8px}.report-day>span{font-size:11px;color:var(--muted)}.day-track{height:66px;width:26px;background:#2b2538;border-radius:7px;display:flex;align-items:end;overflow:hidden}.day-track i{display:block;width:100%;background:linear-gradient(#bba1ff,#7459a4);border-radius:7px;transition:height .3s}.report-day strong{font-size:11px;color:#d7c7f3}.report-day small{font-size:9px;color:#82788f}.report-day.future{opacity:.4}.report-children{display:grid;gap:16px}.child-report summary{padding:20px 24px;display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer}.child-report summary::-webkit-details-marker{display:none}.child-report[open] summary{border-bottom:1px solid var(--line)}.report-child-name{flex:1;display:flex;flex-direction:column;gap:6px}.report-child-name strong{font-size:16px}.report-child-name>span{font-size:11px;color:var(--muted)}.report-child-rate{font-size:23px;color:var(--purple);letter-spacing:-.6px}.report-expand{color:var(--muted);transition:transform .2s;margin-left:7px}.child-report[open] .report-expand{transform:rotate(180deg)}.child-report-body{padding:0 24px 17px}.task-report-scroll{overflow-x:auto}.task-report-table{border-collapse:collapse;width:100%;text-align:left;min-width:600px}.task-report-table th,.task-report-table td{padding:18px 10px;border-bottom:1px solid var(--line);font-size:12px}.task-report-table thead th{font-size:10px;color:var(--muted);font-weight:500;white-space:nowrap}.task-report-table tbody th{font-weight:500;min-width:190px}.task-report-table tbody th>span{display:inline-block;vertical-align:top;margin-right:11px;font-size:22px}.task-report-table tbody th>div{display:inline-block;max-width:225px;vertical-align:middle;overflow-wrap:anywhere}.task-report-table td{color:#c2b4d3}.task-report-table td:last-child{width:105px}.task-report-table tr:last-child>*{border-bottom:0}.task-rate{min-width:75px}.task-rate>strong{font-size:13px;color:var(--purple)}.task-rate .progress{height:4px;margin-top:8px}.task-week-dots{display:flex;gap:4px;margin-top:9px}.task-week-dots>span{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-size:10px;background:#ffffff05;color:#766e84}.task-week-dots .done{background:#a9d7b925;color:var(--green)}.task-week-dots .pending{background:#f2ca8a20;color:var(--orange)}.task-week-dots .active{background:#aa91fb20;color:var(--purple)}.task-week-dots .missed{background:#efacd310;color:#b38098}.report-table-note{font-size:10px;color:#95899f;line-height:1.7;margin-top:10px}.tracking-note{padding:12px 14px;margin:17px 0 0;border-radius:9px;background:#f2ca8a0b;font-size:11px;line-height:1.6;color:#c0af95}
@media(max-width:1100px){.daily-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters{gap:14px}.report-period button{padding:10px 15px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-stat{min-height:155px}.report-heading h2{font-size:21px}}
@media(max-width:600px){.daily-shortcut{flex-wrap:wrap;padding:20px;gap:13px}.daily-shortcut>.primary{width:100%}.daily-shortcut h2{font-size:15px}.daily-task-grid{grid-template-columns:1fr}.daily-intro{padding:22px}.daily-intro h2{font-size:23px}.daily-intro-art{font-size:40px}.daily-card h3{margin:16px 0 21px}.daily-admin-link{flex-direction:column;align-items:start}.report-filters{padding:16px;gap:14px}.report-period{flex:0 0 100%;align-self:auto}.report-period button{flex:1}.report-filters label{min-width:calc(50% - 7px);max-width:100%}.report-filters label:first-of-type{min-width:100%}.report-navigation .text-button{font-size:11px}.report-metrics{gap:10px}.report-main-stat,.report-stat{padding:20px;min-height:145px}.report-main-stat strong{font-size:33px}.report-stat strong{font-size:28px}.report-heading{align-items:start}.report-heading h2{font-size:19px}.report-live{font-size:9px;white-space:nowrap;margin-top:3px}.report-rule{font-size:10px}.report-week{padding:17px 10px;gap:5px}.report-day>span{font-size:10px}.day-track{width:20px;height:50px}.child-report summary{padding:17px 15px;gap:10px}.report-child-name strong{font-size:14px}.report-child-name>span{font-size:10px}.report-child-rate{font-size:21px}.child-report-body{padding:0 14px 15px}.report-expand{margin:0}.task-report-table{min-width:580px}.task-report-table th,.task-report-table td{padding:16px 8px}.report-filters input{width:100%;max-width:100%;min-width:0}}
.report-task-time{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}
@media(max-width:600px){.task-report-table{min-width:0;display:block}.task-report-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.task-report-table tbody{display:block}.task-report-table tbody tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:7px;padding:17px 0;border-bottom:1px solid var(--line)}.task-report-table tbody th{grid-column:1/4;grid-row:1;min-width:0;padding:0 0 12px;display:flex;align-items:start;gap:7px}.task-report-table tbody th>span{margin:0;font-size:21px}.task-report-table tbody th>div{max-width:calc(100% - 28px);font-size:12px}.task-report-table tbody td{padding:9px 0 0;border:0;font-size:12px}.task-report-table tbody td:nth-child(2){grid-column:1;grid-row:2}.task-report-table tbody td:nth-child(3){grid-column:2;grid-row:2}.task-report-table tbody td:nth-child(4){grid-column:3;grid-row:2}.task-report-table tbody td:nth-child(5){grid-column:4;grid-row:2}.task-report-table tbody td:last-child{grid-column:4;grid-row:1;width:auto;padding:0}.task-report-table td[data-label]:before{content:attr(data-label);display:block;font-size:9px;color:var(--muted);margin-bottom:6px}.task-report-table .task-rate{min-width:0;text-align:right}.task-week-dots{gap:3px}.task-week-dots>span{width:16px;height:16px;font-size:9px}.task-report-table tbody tr:last-child{border:0}}

/* A wish becomes a personal goal. */
.wish-hero{display:flex;align-items:center;gap:28px;padding:32px;margin-bottom:28px;border:1px solid #a88cfb55;border-radius:28px;background:radial-gradient(ellipse at 0 0,#7854ae44,transparent 65%),var(--panel);overflow:hidden}.wish-hero h2{font-size:clamp(24px,3vw,36px);margin:10px 0}.wish-hero p{max-width:540px;line-height:1.7;color:var(--muted)}.wish-hero-art{position:relative;font-size:76px;min-width:116px;text-align:center;animation:wish-float 4s ease-in-out infinite}.wish-hero-art span{position:absolute;font-size:24px;color:#eaca89;left:0;top:0}.wish-hero-art span:last-child{left:auto;right:0;top:auto;bottom:0}.wish-hero-actions{display:grid;gap:12px;margin-left:auto;flex-shrink:0}.wish-list{display:grid;gap:12px}.wish-card{display:flex;align-items:center;gap:20px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--panel);animation:wish-appear .5s ease both}.wish-card-icon{display:grid;place-items:center;flex-shrink:0;width:64px;height:64px;border-radius:20px;background:#aa91fb16;font-size:32px}.wish-card-copy{flex:1;min-width:0;overflow-wrap:anywhere}.wish-card h3{margin:8px 0}.wish-card p{line-height:1.6;color:var(--muted);margin:6px 0}.wish-card .eyebrow{font-size:10px}.wish-card.approved{border-color:#a9d7b94d}.wish-note{font-style:italic}.wish-history{margin-top:24px}.wish-history summary{cursor:pointer;margin-bottom:16px;color:var(--muted)}.wish-shortcut{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;margin-bottom:24px;background:#aa91fb12;border:1px solid #aa91fb44;border-radius:20px}.wish-form-gift{text-align:center;font-size:66px;margin:6px 0 20px;animation:wish-appear .65s cubic-bezier(.2,.8,.2,1.4)}.wish-celebration{position:fixed;z-index:1000;left:50%;top:18%;transform:translateX(-50%);width:min(420px,calc(100vw - 32px));padding:30px;text-align:center;border:1px solid #ceadff88;border-radius:30px;background:radial-gradient(ellipse at top,#513575,#201c30 80%);color:#fff;box-shadow:0 20px 100px #0009,0 0 90px #aa91fb44;animation:wish-pop .6s cubic-bezier(.2,.8,.2,1.2)}.wish-celebration strong{display:block;font-size:25px;line-height:1.35}.wish-celebration p{color:#e1d6ef;line-height:1.65;margin:12px 0}.wish-orbit{display:flex;justify-content:center;align-items:center;gap:26px;height:120px;color:#f2ca8a}.wish-orbit b{font-size:76px;animation:wish-float 2s ease-in-out infinite}.wish-orbit span{font-size:26px;animation:wish-spark 1.4s ease-in-out 3 alternate}.goal-meter .progress span{transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
@keyframes wish-float{50%{transform:translateY(-9px) rotate(-5deg)}}@keyframes wish-appear{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes wish-pop{from{opacity:0;transform:translate(-50%,20px) scale(.82)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes wish-spark{to{transform:scale(1.4) rotate(45deg);opacity:.45}}
@media(max-width:700px){.wish-hero{flex-wrap:wrap;gap:16px;padding:24px}.wish-hero-art{font-size:52px;min-width:80px}.wish-hero-actions{margin:0;display:flex;width:100%;justify-content:space-between}.wish-card{flex-wrap:wrap;padding:18px;gap:14px}.wish-card-copy{flex-basis:calc(100% - 80px)}.wish-card>button{margin-left:78px}.wish-shortcut{flex-wrap:wrap}.wish-celebration{top:15%;padding:24px}}
@media(prefers-reduced-motion:reduce){.wish-hero-art,.wish-card,.wish-form-gift,.wish-celebration,.wish-orbit b,.wish-orbit span{animation:none}.goal-meter .progress span{transition:none}}
