/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--ink:#202335;--muted:#747889;--line:#e8e9ef;--paper:#fff;--canvas:#f5f5f1;--blue:#3159d8;--blue-dark:#2447b4;--lime:#d8f46f}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}.loading-screen{place-items:center;min-height:100vh;font-weight:700;display:grid}.family-gate{background:radial-gradient(circle at 20% 10%, #eef2ff 0, transparent 34%), radial-gradient(circle at 85% 85%, #f1f9d7 0, transparent 30%), var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.family-gate-card{border:1px solid var(--line);background:#fff;border-radius:25px;width:min(440px,100%);padding:34px;box-shadow:0 24px 70px #2023351f}.family-gate-mark{color:#25311b;background:var(--lime);border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:22px;font-size:23px;font-weight:900;display:grid;transform:rotate(-4deg)}.family-gate-card h1{font-size:29px}.family-gate-card>p:not(.eyebrow){color:var(--muted);margin:12px 0 22px;font-size:12px;line-height:1.65}.family-gate-card label{margin-top:14px;font-size:11px;font-weight:800;display:block}.family-gate-card input{border:1px solid #dfe1e8;border-radius:10px;outline:none;width:100%;margin-top:7px;padding:12px}.family-gate-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3159d81a}.family-gate-card button:disabled{opacity:.55;cursor:wait}.family-error{color:#b13b48;margin:12px 0 0;font-size:10px;font-weight:800}.family-gate-note{background:#f5f7fb;border-radius:11px;gap:9px;margin-top:18px;padding:12px;display:flex}.family-gate-note p{color:var(--muted);margin:0;font-size:9px;line-height:1.55}.auth-switch{width:100%;color:var(--blue);cursor:pointer;background:0 0;border:0;margin-top:12px;font-size:11px;font-weight:900}.field-reminder{color:var(--muted);margin-top:6px;font-size:9px;font-weight:600;line-height:1.45;display:block}.app-shell{grid-template-columns:224px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#202335;flex-direction:column;height:100vh;padding:32px 22px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;margin:0 5px 42px;display:flex}.brand-mark{background:var(--lime);color:#25311b;border-radius:13px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:900;display:grid;transform:rotate(-4deg)}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{color:#aaadba;margin-top:2px;font-size:12px}.sidebar nav{gap:8px;display:grid}.nav-item{color:#c5c8d3;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-weight:700;text-decoration:none;display:flex}.nav-item span{width:22px;font-size:19px}.nav-item:hover,.nav-item.active{color:#fff;background:#303448}.privacy-card{background:#292d40;border:1px solid #3a3e52;border-radius:16px;margin-top:auto;padding:16px}.privacy-card>span{font-size:18px}.privacy-card strong{margin-top:10px;font-size:13px;display:block}.privacy-card p{color:#aaadba;margin:5px 0 0;font-size:11px;line-height:1.5}.privacy-card button{color:#d5d7df;cursor:pointer;background:0 0;border:1px solid #4a4f66;border-radius:8px;width:100%;margin-top:11px;padding:7px;font-size:8px;font-weight:800}.workspace{min-width:0;padding:36px 5vw 80px}.topbar{justify-content:space-between;align-items:center;max-width:1220px;margin:0 auto 28px;display:flex}.eyebrow{color:#8a8e9d;text-transform:uppercase;letter-spacing:.14em;margin:0 0 7px;font-size:10px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(27px,4vw,38px)}h2{letter-spacing:-.03em}.avatar{color:#fff;cursor:pointer;background:#f4a35f;border:0;border-radius:50%;width:40px;height:40px;font-weight:900;box-shadow:0 0 0 5px #fff}.profile-tools{align-items:center;gap:13px;display:flex}.sync-pill{color:#39774d;white-space:nowrap;background:#eaf6ed;border-radius:999px;padding:7px 9px;font-size:8px;font-weight:900}.sync-pill.saving,.sync-pill.loading{color:#765d16;background:#fff5d8}.sync-pill.error{color:#a33e4b;background:#fdecef}.points-pill{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:9px 12px;display:flex;box-shadow:0 6px 18px #282d460d}.points-pill strong{font-size:14px}.points-pill small{color:var(--muted);font-size:9px;font-weight:800}.week-strip{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:40px repeat(7,1fr) 40px;gap:4px;max-width:1220px;margin:0 auto 34px;padding:8px;display:grid;box-shadow:0 8px 30px #282d460a}.week-arrow,.day-pill{cursor:pointer;background:0 0;border:0;border-radius:12px}.week-arrow{color:#888c9c;font-size:26px}.week-arrow:hover{background:#f1f2f6}.day-pill{min-height:62px;padding:8px 4px;position:relative}.day-pill:hover{background:#f5f6f8}.day-pill span,.day-pill strong{display:block}.day-pill span{color:#989baa;text-transform:uppercase;font-size:10px;font-weight:800}.day-pill strong{margin-top:5px;font-size:17px}.day-pill i{background:var(--blue);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:calc(50% - 2px)}.day-pill.selected{background:var(--ink);color:#fff}.day-pill.selected span{color:#c6c8d0}.day-pill.selected i{background:var(--lime)}.content-grid{grid-template-columns:minmax(0,1.62fr) minmax(300px,.82fr);align-items:start;gap:30px;max-width:1220px;margin:0 auto;display:grid}.plan-column,.coach-column,.insights-panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 38px #282d460b}.plan-column{padding:28px}.coach-column{padding:28px;position:sticky;top:28px}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-heading h2,.coach-title h2{margin-bottom:0;font-size:25px}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:11px;padding:11px 16px;font-weight:800}.primary-button{background:var(--blue);color:#fff;box-shadow:0 5px 12px #3159d833}.primary-button.wide{width:100%;margin-top:10px;padding:14px}.secondary-button{background:#eff1f5}.lucky-button{color:#5c4910;cursor:pointer;background:linear-gradient(135deg,#fff8c7,#e8f6a2);border:1px solid #e2d58e;border-radius:11px;padding:10px 14px;font-size:11px;font-weight:900;box-shadow:0 5px 12px #7460181a}.lucky-button:hover{background:linear-gradient(135deg,#fff3a5,#def27d);transform:translateY(-1px)}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-weight:800}.progress-card{background:#f7f8fa;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin:24px 0 26px;padding:14px 18px;display:flex}.progress-copy{align-items:center;gap:13px;display:flex}.progress-copy strong,.progress-copy span{display:block}.progress-copy strong{font-size:13px}.progress-copy span{color:var(--muted);margin-top:4px;font-size:11px}.progress-ring{--progress:0deg;background:conic-gradient(var(--blue) var(--progress), #dfe2e9 0);border-radius:50%;flex:none;place-items:center;width:47px;height:47px;display:grid;position:relative}.progress-ring:after{content:"";background:#f7f8fa;border-radius:50%;width:36px;height:36px;position:absolute}.progress-ring span{z-index:1;color:var(--ink);margin:0;font-size:10px;font-weight:900}.weather-planner-card{background:linear-gradient(135deg,#eef9f1,#f2f8ff);border:1px solid #d7eadc;border-radius:16px;margin:-12px 0 22px;padding:15px}.weather-planner-heading{align-items:center;gap:10px;display:flex}.weather-planner-heading>span{background:#fff;border-radius:11px;place-items:center;width:36px;height:36px;font-size:19px;display:grid}.weather-planner-heading strong{margin-top:3px;font-size:12px;display:block}.weather-metrics{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px;display:grid}.weather-metrics>span{background:#ffffffd1;border-radius:10px;padding:9px}.weather-metrics small,.weather-metrics strong{display:block}.weather-metrics small{color:var(--muted);font-size:7px}.weather-metrics strong{margin-top:3px;font-size:9px}.outdoor-windows{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.outdoor-windows>small{color:var(--muted);font-size:8px;font-weight:800}.outdoor-windows>span{color:#267347;background:#dff3e4;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:900}.weather-caution{color:#8a5b12;margin:10px 0 0;font-size:8px;line-height:1.5}.weather-source{color:var(--muted);margin-top:9px;font-size:7px;display:block}.quick-tools{grid-template-columns:1fr 175px;gap:12px;margin:0 0 24px;display:grid}.quick-activities,.water-tracker{border:1px solid var(--line);border-radius:15px;padding:12px}.tool-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:900;display:block}.quick-activities>div{flex-wrap:wrap;gap:5px;display:flex}.quick-activities button{cursor:pointer;background:#f4f5f8;border:0;border-radius:8px;padding:7px 8px;font-size:9px;font-weight:800}.quick-activities button:hover{background:#eaedf4}.quick-activities button span{margin-right:4px}.quick-activities button.school-day-button{color:#2459a8;background:#e9f2ff}.quick-activities button.school-day-button:hover{background:#dceaff}.quick-activities button.add-quick-button{color:#3159d8;background:#fff;border:1px dashed #b9c0d1}.tally-reward-editor{background:#f7f9ff;border:1px solid #dde2ef;border-radius:14px;grid-template-columns:1.25fr repeat(3,1fr);gap:10px;margin:14px 0;padding:14px;display:grid}.tally-reward-editor strong,.tally-reward-editor p{display:block}.tally-reward-editor p{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.4}.tally-reward-editor label{color:var(--muted);font-size:9px;font-weight:800}.tally-reward-editor input{width:100%;font:inherit;background:#fff;border:1px solid #d9deea;border-radius:8px;margin-top:5px;padding:9px}.water-tracker{background:#f1f7ff;border-color:#dae7f7;flex-direction:column;justify-content:space-between;gap:10px;display:flex}.water-tracker>div:first-child{align-items:center;gap:8px;display:flex}.water-icon{background:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.water-tracker strong,.water-tracker small{display:block}.water-tracker strong{font-size:13px}.water-tracker small{color:var(--muted);margin-top:2px;font-size:9px}.water-controls{gap:5px;display:flex}.water-controls button{cursor:pointer;background:#fff;border:0;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:900}.water-controls .add-water{color:#fff;background:#3b7ed8;flex:1}.timeline{position:relative}.timeline:before{content:"";border-left:1px dashed #d9dce4;position:absolute;top:20px;bottom:20px;left:87px}.task-row{grid-template-columns:64px 24px 1fr;align-items:center;gap:12px;margin-bottom:12px;display:grid;position:relative}.task-row time{color:#8c909f;text-align:right;font-size:11px;font-weight:700}.check-button{z-index:1;cursor:pointer;color:#fff;background:#fff;border:2px solid #cfd2dc;border-radius:50%;width:23px;height:23px;padding:0;font-size:13px;font-weight:900}.task-row.done .check-button{background:#55ad78;border-color:#55ad78}.task-card{--task-color:#aaa;border:1px solid #ececf1;border-left:4px solid var(--task-color);background:#fff;border-radius:13px;align-items:center;gap:13px;min-height:67px;padding:12px 14px;transition:transform .15s,box-shadow .15s;display:flex}.task-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #262a4012}.task-icon{background:#f4f5f8;border-radius:10px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.task-copy{min-width:0}.task-copy strong,.task-copy span{display:block}.task-copy strong{font-size:14px}.task-copy span{color:var(--muted);margin-top:5px;font-size:11px}.task-row.done .task-copy{opacity:.55}.task-row.done .task-copy strong{text-decoration:line-through}.more-button{color:#a0a4b2;cursor:pointer;background:0 0;border:0;border-radius:8px;margin-left:auto;font-size:20px}.more-button:hover{color:#4a4e60;background:#f0f1f4}.empty-card{text-align:center;border:2px dashed #dfe1e8;border-radius:17px;padding:45px 20px}.empty-card>span{font-size:38px}.empty-card h3{margin:12px 0 7px}.empty-card p{color:var(--muted);font-size:13px}.empty-card div{justify-content:center;gap:8px;margin-top:18px;display:flex}.coach-title{align-items:center;gap:13px;display:flex}.spark{background:var(--lime);border-radius:14px;place-items:center;width:44px;height:44px;font-size:21px;display:grid}.coach-intro{color:var(--muted);margin:18px 0;font-size:12px;line-height:1.6}.suggestion-list{gap:11px;display:grid}.suggestion{border:1px solid;border-radius:14px;align-items:flex-start;gap:11px;padding:14px;display:flex}.suggestion>span{font-size:20px}.suggestion strong{font-size:12px}.suggestion p{color:#6e7280;margin:5px 0 0;font-size:11px;line-height:1.5}.suggestion.gold{background:#fffbeb;border-color:#f3e6b1}.suggestion.blue{background:#f1f6ff;border-color:#d9e5fa}.suggestion.orange{background:#fff5ed;border-color:#f4dfd0}.suggestion.purple{background:#f7f2fb;border-color:#e9daf3}.suggestion.green{background:#eff9f2;border-color:#d8eddd}.checkin-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:space-between;width:100%;margin-top:18px;padding:14px;font-size:12px;font-weight:800;display:flex}.checkin-button:hover{background:#303448}.insights-panel{max-width:1220px;margin:0 auto;padding:32px}.insights-hero{justify-content:space-between;align-items:center;gap:30px;padding:8px 4px 30px;display:flex}.insights-hero h2{margin-bottom:8px;font-size:29px}.insights-hero p:not(.eyebrow){color:var(--muted);max-width:530px;font-size:13px;line-height:1.6}.insight-stat{background:var(--lime);text-align:center;border-radius:18px;min-width:155px;padding:20px;transform:rotate(1deg)}.insight-stat strong,.insight-stat span{display:block}.insight-stat strong{font-size:34px}.insight-stat span{font-size:11px;font-weight:800}.chart-card{border:1px solid var(--line);border-radius:18px;padding:24px}.chart-header{justify-content:space-between;align-items:flex-start;display:flex}.chart-header h3{margin-bottom:5px}.chart-header p,.legend{color:var(--muted);font-size:11px}.legend i{background:var(--blue);border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.bar-chart{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#0000 0 55px,#eff0f4 56px);grid-template-columns:repeat(7,1fr);align-items:end;gap:20px;height:230px;padding:22px 20px 0;display:grid}.bar-column{text-align:center;height:100%;color:var(--muted);grid-template-rows:18px 1fr 28px;font-size:10px;display:grid}.bar-track{justify-content:center;align-items:end;height:100%;display:flex}.bar-track i{background:linear-gradient(180deg, #6688eb, var(--blue));border-radius:7px 7px 2px 2px;width:min(38px,70%);min-height:3px;display:block}.bar-column strong{color:#6c7080;padding-top:9px}.pattern-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;display:grid}.pattern-grid article{background:#f7f8fa;border-radius:15px;align-items:center;gap:12px;padding:17px;display:flex}.pattern-grid article>span{background:#fff;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.pattern-grid p{color:var(--muted);margin-bottom:4px;font-size:10px}.pattern-grid strong{font-size:12px}.subject-coaching{border:1px solid var(--line);border-radius:18px;margin-top:24px;padding:22px}.subject-coaching-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px;display:flex}.subject-coaching-header h2{margin-bottom:5px}.subject-coaching-header p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px}.subject-coaching-header>span{color:var(--muted);white-space:nowrap;background:#f1f3f7;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:800}.subject-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.subject-grid>article{border:1px solid var(--line);background:#fbfbfc;border-radius:14px;flex-direction:column;padding:14px;display:flex}.subject-card-top{align-items:center;gap:9px;display:flex}.subject-card-top>span{background:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.subject-card-top h3{margin:0 0 3px;font-size:12px}.subject-card-top p{color:var(--muted);margin:0;font-size:9px}.subject-card-top>button{color:var(--blue);cursor:pointer;background:#eef2ff;border:0;border-radius:8px;margin-left:auto;padding:6px 7px;font-size:9px;font-weight:800}.subject-advice{color:#606575;flex:1;margin:11px 0;font-size:10px;line-height:1.55}.subject-add{color:var(--blue);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:9px;font-weight:900}.response-log{border:1px solid var(--line);border-radius:18px;margin-top:24px;padding:22px}.response-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding-bottom:16px;display:flex}.response-header h3{margin-bottom:4px}.response-header p{color:var(--muted);margin-bottom:0;font-size:11px}.response-log>article{border-bottom:1px solid #f0f1f4;grid-template-columns:60px 36px 1fr;align-items:center;gap:10px;padding:13px 2px;display:grid}.response-log>article:last-child{border-bottom:0}.response-log time{color:var(--muted);font-size:10px;font-weight:800}.response-mood{font-size:21px}.response-log article strong{font-size:11px}.response-log article p{color:var(--muted);margin:3px 0 0;font-size:10px}.no-responses{color:var(--muted);text-align:center;padding:26px 8px 7px;font-size:12px}.rewards-panel{max-width:1220px;margin:0 auto}.reward-balance{background:var(--ink);color:#fff;border-radius:22px;justify-content:space-between;align-items:center;gap:22px;margin-bottom:20px;padding:23px 27px;display:flex}.reward-balance>div{align-items:center;gap:16px;display:flex}.reward-balance>div>span{background:#34384d;border-radius:15px;place-items:center;width:52px;height:52px;font-size:24px;display:grid}.reward-balance .eyebrow{color:#aeb1bf}.reward-balance strong,.reward-balance small{display:block}.reward-balance strong{font-size:25px}.reward-balance small{color:#b9bcc7;margin-top:4px;font-size:10px}.reward-balance>p{color:var(--lime);margin:0;font-size:11px;font-weight:800}.tally-board{border:1px solid var(--line);background:#fff;border-radius:22px;margin-bottom:20px;padding:24px;box-shadow:0 12px 38px #282d460b}.tally-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:17px;display:flex}.tally-heading h2{margin-bottom:0}.tally-heading>span{color:var(--muted);background:#f3f4f7;border-radius:999px;padding:7px 9px;font-size:9px}.tally-grid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.tally-grid article{background:#fafafb;border:1px solid #e2e4e9;border-radius:16px;grid-template-columns:42px 1fr;gap:11px;padding:16px;display:grid}.tally-grid article.dad{background:#f1f6ff}.tally-grid article.mom{background:#fff6ef}.tally-grid article.lucas{background:#fff2f2}.tally-icon{background:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.tally-copy small,.tally-copy strong{display:block}.tally-copy small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:900}.tally-copy strong{margin-top:3px;font-size:16px}.tally-copy p{min-height:30px;color:var(--muted);margin:5px 0 0;font-size:8px;line-height:1.45}.tally-controls{grid-column:1/-1;grid-template-columns:58px 1fr;gap:6px;display:grid}.tally-controls button{color:#666b7b;cursor:pointer;background:#fff;border:1px solid #d9dce3;border-radius:9px;padding:8px;font-size:9px;font-weight:900}.tally-controls button.add{border-color:var(--blue);background:var(--blue);color:#fff}.tally-controls button:disabled{opacity:.42;cursor:not-allowed}.awesome-board{border:1px solid var(--line);background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 38px #282d460b}.awesome-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.awesome-card{background:#fafafb;border:1px solid #e1e3e8;border-radius:17px;padding:16px}.awesome-card.dad{background:#f3f7ff}.awesome-card.mom{background:#fff7f1}.awesome-card.lucas{background:#fff4f4}.awesome-card.complete{border-color:#8fc49e;box-shadow:0 0 0 3px #4ca56d1a}.awesome-person{align-items:center;gap:9px;display:flex}.awesome-person>span{background:#fff;border-radius:11px;place-items:center;width:37px;height:37px;font-size:19px;display:grid}.awesome-person small,.awesome-person strong{display:block}.awesome-person small{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:900}.awesome-person strong{margin-top:2px;font-size:13px}.awesome-word{grid-template-columns:repeat(8,1fr);gap:3px;margin:14px 0 11px;display:grid}.awesome-word span{color:#a1a5b0;background:#fff;border:1px dashed #cfd2da;border-radius:7px;place-items:center;height:31px;font-size:12px;font-weight:950;display:grid}.awesome-word span.filled{color:#745900;background:#fff3b8;border-style:solid;border-color:#dfbc48}.awesome-actions{grid-template-columns:65px 1fr;gap:6px;display:grid}.awesome-actions button,.use-awesome{color:#676c7b;cursor:pointer;background:#fff;border:1px solid #d8dbe2;border-radius:9px;padding:8px;font-size:8px;font-weight:900}.awesome-actions button.add{color:#3e3107;background:#f5c944;border-color:#d4aa28}.awesome-actions button:disabled,.use-awesome:disabled{opacity:.42;cursor:not-allowed}.awesome-reward-form{border-top:1px solid #787d8c24;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;padding-top:12px;display:grid}.awesome-reward-form label{font-size:7px;font-weight:900}.awesome-reward-form .awesome-name{grid-column:1/-1}.awesome-reward-form input{width:100%;font:inherit;background:#fff;border:1px solid #dfe1e8;border-radius:8px;margin-top:5px;padding:8px;font-size:8px}.use-awesome{color:#fff;background:#4ca56d;border-color:#4ca56d;width:100%;margin-top:10px}.awesome-message{color:#356448;background:#eef8f1;border-radius:10px;margin:13px 0 0;padding:10px 12px;font-size:9px;font-weight:800}.reward-layout{grid-template-columns:1fr 330px;align-items:start;gap:20px;display:grid}.reward-shop,.reward-editor{border:1px solid var(--line);background:#fff;border-radius:22px;padding:25px;box-shadow:0 12px 38px #282d460b}.reward-section-title{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.reward-section-title h2{margin-bottom:0}.reward-section-title>span{color:var(--muted);background:#f3f4f7;border-radius:999px;padding:7px 9px;font-size:10px}.reward-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.reward-grid>article{border:1px solid var(--line);border-radius:16px;padding:18px;position:relative}.reward-gift{background:#fff4d8;border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.reward-grid h3{margin:12px 0 6px;font-size:14px}.reward-grid p{color:#806100;font-size:11px;font-weight:900}.reward-grid article>button:not(.delete-reward){background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:9px;width:100%;padding:9px;font-size:10px;font-weight:800}.reward-grid article>button:disabled{color:#8b8f9d;cursor:not-allowed;background:#eceef2}.delete-reward{color:#a4a7b3;cursor:pointer;background:0 0;border:0;font-size:17px;position:absolute;top:8px;right:9px}.empty-rewards{text-align:center;border:2px dashed #dfe1e8;border-radius:16px;grid-column:1/-1;padding:45px 20px}.empty-rewards>span{font-size:35px}.empty-rewards h3{margin:10px 0 5px}.empty-rewards p{color:var(--muted);font-weight:400}.reward-editor{position:sticky;top:28px}.reward-editor>h2{margin-bottom:8px}.reward-editor>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.reward-editor label{margin-top:16px;font-size:11px;font-weight:800;display:block}.reward-editor input{border:1px solid #dfe1e8;border-radius:10px;outline:none;width:100%;margin-top:7px;padding:11px}.reward-editor input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3159d81a}.redemption-history{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.redemption-history h3{font-size:12px}.redemption-history>div{align-items:center;gap:9px;margin-top:11px;display:flex}.redemption-history>div>span{color:#3c8757;background:#eaf7ee;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.redemption-history strong,.redemption-history small{display:block}.redemption-history strong{font-size:10px}.redemption-history small{color:var(--muted);margin-top:2px;font-size:9px}.goals-panel{max-width:1220px;margin:0 auto}.goal-coach{border:1px solid;border-radius:20px;grid-template-columns:48px 1fr auto;align-items:center;gap:15px;margin-bottom:20px;padding:20px 23px;display:grid}.goal-coach>span{background:#fff;border-radius:13px;place-items:center;width:45px;height:45px;font-size:22px;display:grid}.goal-coach h2{margin:0 0 5px;font-size:18px}.goal-coach p:not(.eyebrow){color:#666b7b;margin:0;font-size:11px;line-height:1.5}.goal-coach>strong{text-align:center;min-width:60px;font-size:25px}.goal-coach>strong small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px;display:block}.goal-coach.green{background:#eff9f2;border-color:#d4ebda}.goal-coach.blue{background:#f0f5ff;border-color:#d7e2fa}.goal-coach.orange{background:#fff5ed;border-color:#f3ddcc}.goals-layout{grid-template-columns:1fr 335px;align-items:start;gap:20px;display:grid}.goals-list,.goal-editor{border:1px solid var(--line);background:#fff;border-radius:22px;padding:25px;box-shadow:0 12px 38px #282d460b}.goals-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.goals-heading h2{margin:0}.goals-heading>span{color:var(--muted);background:#f3f4f7;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:800}.goal-card{border:1px solid var(--line);border-radius:17px;margin-top:12px;padding:17px}.goal-card.completed{background:#f7fbf8;border-color:#d6eadb}.goal-card-top{align-items:center;gap:12px;display:flex;position:relative}.goal-category{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.goal-category.learning{background:#edf3ff}.goal-category.sports{background:#fff0e7}.goal-category.music{background:#f5edfb}.goal-category.personal{background:#eef8f0}.goal-title{min-width:0}.goal-title span{color:var(--muted);font-size:9px;font-weight:700}.goal-title h3{margin:4px 25px 0 0;font-size:14px}.goal-progress{grid-template-columns:1fr 34px;align-items:center;gap:8px;margin:14px 0;display:grid}.goal-progress>div{background:#eceef3;border-radius:99px;height:7px;overflow:hidden}.goal-progress i{background:linear-gradient(90deg, #5c7ce4, var(--blue));border-radius:99px;height:100%;display:block}.goal-progress span{color:var(--muted);font-size:9px;font-weight:900}.goal-steps{gap:7px;display:grid}.goal-step{background:#f8f8fa;border-radius:9px;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;min-height:34px;padding:5px 7px;display:grid}.goal-step>button:first-child{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #cbd0dc;border-radius:50%;width:20px;height:20px;padding:0;font-size:10px}.goal-step.done>button:first-child{background:#50a772;border-color:#50a772}.goal-step>span{font-size:11px;font-weight:700}.goal-step.done>span{color:var(--muted);text-decoration:line-through}.schedule-step{color:var(--blue);cursor:pointer;background:#fff;border:0;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:800}.no-steps{color:var(--muted);margin:0 0 3px;font-size:10px;font-style:italic}.step-form{gap:7px;margin-top:10px;display:flex}.step-form input{border:1px solid #dfe1e8;border-radius:9px;outline:none;flex:1;min-width:0;padding:9px 10px;font-size:10px}.step-form input:focus{border-color:var(--blue)}.step-form button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:8px 11px;font-size:9px;font-weight:800}.goal-complete-message{color:#39774d;text-align:center;background:#eaf6ed;border-radius:9px;margin-top:10px;padding:8px;font-size:10px;font-weight:900}.empty-goals{text-align:center;border:2px dashed #dfe1e8;border-radius:16px;padding:46px 20px}.empty-goals>span{font-size:37px}.empty-goals h3{margin:11px 0 6px}.empty-goals p{color:var(--muted);max-width:380px;margin:0 auto;font-size:11px;line-height:1.6}.goal-editor{position:sticky;top:28px}.goal-editor>h2{margin-bottom:8px}.goal-editor>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.goal-editor label,.goal-editor legend{margin-top:16px;font-size:11px;font-weight:800;display:block}.goal-editor input{border:1px solid #dfe1e8;border-radius:10px;outline:none;width:100%;margin-top:7px;padding:11px}.goal-editor input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3159d81a}.goal-editor fieldset{border:0;margin:0;padding:0}.goal-category-picker{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px;display:grid}.goal-category-picker button{border:1px solid var(--line);cursor:pointer;background:#fafafb;border-radius:9px;padding:8px 3px}.goal-category-picker button span{margin-top:4px;font-size:8px;font-weight:800;display:block}.goal-category-picker button.picked{border-color:var(--blue);color:var(--blue);background:#eef2ff}.goal-tip{background:#fff9e9;border:1px solid #f2e8c7;border-radius:12px;gap:10px;margin-top:22px;padding:13px;display:flex}.goal-tip>span{font-size:18px}.goal-tip strong{font-size:10px}.goal-tip p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.5}.media-panel{max-width:1220px;margin:0 auto}.media-privacy{background:#edf8f0;border:1px solid #d7eadc;border-radius:15px;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;display:flex}.media-privacy>span{background:#fff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.media-privacy strong{font-size:11px}.media-privacy p{color:var(--muted);margin:3px 0 0;font-size:9px}.media-layout{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}.media-uploader,.media-library{border:1px solid var(--line);background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 38px #282d460b}.media-uploader{position:sticky;top:28px}.media-uploader>h2{margin-bottom:8px}.media-uploader>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.media-uploader>label:not(.upload-zone){margin-top:15px;font-size:11px;font-weight:800;display:block}.media-uploader select,.media-uploader input[type=date],.media-uploader textarea{background:#fff;border:1px solid #dfe1e8;border-radius:9px;outline:none;width:100%;margin-top:7px;padding:10px}.media-uploader textarea{resize:vertical;min-height:74px}.media-uploader select:focus,.media-uploader input:focus,.media-uploader textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3159d81a}.upload-zone{cursor:pointer;text-align:center;background:#f8f9fb;border:2px dashed #cfd5e3;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:120px;margin-top:16px;display:flex}.upload-zone input{opacity:0;width:1px;height:1px;position:absolute}.upload-zone>span{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.upload-zone strong{margin-top:8px;font-size:10px}.upload-zone small{color:var(--muted);margin-top:4px;font-size:8px}.upload-zone:hover{border-color:var(--blue);background:#f3f6ff}.media-note{background:#fff9e9;border-radius:10px;gap:8px;margin-top:15px;padding:10px;display:flex}.media-note p{color:#74705f;margin:0;font-size:8px;line-height:1.5}.media-error{color:#b13b48;margin:10px 0 0;font-size:9px;font-weight:700}.media-library-header{justify-content:space-between;align-items:flex-start;display:flex}.media-library-header h2{margin:0}.media-library-header>span{color:var(--muted);background:#f2f3f6;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:800}.media-filters{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.media-filters>span{background:#f3f4f7;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:700}.media-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.media-grid>article{border:1px solid var(--line);background:#fafafb;border-radius:14px;position:relative;overflow:hidden}.media-grid img,.media-grid video{aspect-ratio:16/10;object-fit:cover;background:#202335;width:100%;display:block}.media-caption{padding:11px}.media-caption span,.media-caption strong,.media-caption small{display:block}.media-caption span{color:var(--blue);font-size:8px;font-weight:900}.media-caption strong{white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10px;overflow:hidden}.media-caption small{color:var(--muted);margin-top:4px;font-size:8px}.media-delete{color:#fff;cursor:pointer;background:#191c2abf;border:0;border-radius:50%;width:27px;height:27px;font-size:17px;position:absolute;top:7px;right:7px}.empty-media{text-align:center;border:2px dashed #dfe1e8;border-radius:15px;grid-column:1/-1;padding:65px 20px}.empty-media>span{font-size:38px}.empty-media h3{margin:11px 0 6px}.empty-media p{color:var(--muted);font-size:10px}.wellness-panel{max-width:1220px;margin:0 auto}.wellness-privacy{background:#edf8f0;border:1px solid #d7eadc;border-radius:15px;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;display:flex}.wellness-privacy>span{background:#fff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.wellness-privacy strong{font-size:11px}.wellness-privacy p{color:var(--muted);margin:3px 0 0;font-size:9px}.wellness-layout{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}.wellness-editor,.wellness-dashboard{border:1px solid var(--line);background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 38px #282d460b}.wellness-editor{position:sticky;top:28px}.wellness-editor>h2{margin-bottom:8px}.wellness-editor>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.wellness-editor label{margin-top:15px;font-size:10px;font-weight:800;display:block}.wellness-editor label>span:not(.optional){float:right;color:var(--muted);font-size:8px;font-weight:500}.wellness-editor input,.wellness-editor textarea{background:#fff;border:1px solid #dfe1e8;border-radius:9px;outline:none;width:100%;margin-top:7px;padding:10px}.wellness-editor textarea{resize:vertical;min-height:74px}.wellness-editor input:focus,.wellness-editor textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3159d81a}.wellness-fields{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.wellness-note{background:#fff9e9;border-radius:10px;gap:9px;margin-top:16px;padding:11px;display:flex}.wellness-note>span{color:#b8871b;font-size:17px}.wellness-note p{color:#74705f;margin:0;font-size:8px;line-height:1.55}.wellness-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.wellness-heading h2{margin:0}.wellness-heading>span{color:var(--muted);white-space:nowrap;background:#f3f4f7;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:800}.wellness-snapshot{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.wellness-snapshot>article{border:1px solid var(--line);border-radius:14px;align-items:center;gap:11px;padding:14px;display:flex}.wellness-snapshot>article>span{width:37px;height:37px;color:var(--blue);background:#eff4ff;border-radius:11px;flex:none;place-items:center;font-size:18px;display:grid}.wellness-snapshot p,.nutrition-strip p{color:var(--muted);margin:0;font-size:8px;font-weight:700}.wellness-snapshot strong,.wellness-snapshot small{display:block}.wellness-snapshot strong{margin-top:3px;font-size:13px}.wellness-snapshot small{color:var(--muted);margin-top:3px;font-size:7px}.wellness-coach{background:#f0f7ff;border:1px solid #dbe7f8;border-radius:15px;align-items:center;gap:13px;margin-top:13px;padding:16px;display:flex}.wellness-coach>span{font-size:25px}.wellness-coach>div{flex:1}.wellness-coach h3{margin:4px 0;font-size:13px}.wellness-coach p:not(.eyebrow){color:var(--muted);margin:0;font-size:9px;line-height:1.55}.wellness-coach>button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:8px;flex:none;padding:8px 10px;font-size:8px;font-weight:900}.nutrition-strip{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.nutrition-strip>article{background:#f8f9fb;border-radius:13px;grid-template-columns:35px 1fr;align-items:center;gap:9px;min-height:70px;padding:12px;display:grid}.nutrition-strip>article>span{font-size:20px}.nutrition-strip strong{margin-top:3px;font-size:11px;display:block}.nutrition-strip button{color:var(--blue);cursor:pointer;background:0 0;border:0;grid-column:2;justify-self:start;padding:0;font-size:8px;font-weight:900}.wellness-history{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.wellness-history-title h3{margin:0;font-size:13px}.wellness-history-title p{color:var(--muted);margin:3px 0 10px;font-size:8px}.wellness-history>article{border-bottom:1px solid #eff0f3;grid-template-columns:90px 1fr 24px;align-items:center;gap:10px;padding:12px 0;display:grid;position:relative}.wellness-date{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.wellness-date strong,.wellness-date small{display:block}.wellness-date strong{font-size:9px}.wellness-date small{color:var(--blue);margin-top:3px;font-size:7px;font-weight:800}.wellness-tags{flex-wrap:wrap;gap:5px;display:flex}.wellness-tags span{color:#565b6b;text-overflow:ellipsis;white-space:nowrap;background:#f4f5f7;border-radius:999px;max-width:100%;padding:5px 7px;font-size:7px;overflow:hidden}.wellness-delete{color:#8b8f9d;cursor:pointer;background:#f2f3f5;border:0;border-radius:50%;width:23px;height:23px}.empty-wellness{text-align:center;border:2px dashed #dfe1e8;border-radius:14px;padding:45px 20px}.empty-wellness>span{font-size:34px}.empty-wellness h3{margin:10px 0 5px}.empty-wellness p{color:var(--muted);margin:0;font-size:9px}.modal{background:#fff;border-radius:22px;width:min(530px,100%);max-height:calc(100vh - 30px);padding:27px;overflow-y:auto;box-shadow:0 24px 70px #0f121e40}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:23px;display:flex}.modal-header h2{margin-bottom:0}.modal-header button{cursor:pointer;background:#eff0f3;border:0;border-radius:50%;width:34px;height:34px;font-size:20px}.modal label,.modal legend{font-size:12px;font-weight:800;display:block}.modal input,.modal select,.modal textarea{background:#fff;border:1px solid #dfe1e8;border-radius:10px;outline:none;width:100%;margin-top:8px;padding:12px}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3159d81a}.modal textarea{resize:vertical;min-height:80px}.modal fieldset{border:0;margin:20px 0;padding:0}.optional{color:var(--muted);font-weight:400}.lucky-note{background:#fffbe4;border:1px solid #eadf9d;border-radius:12px;align-items:flex-start;gap:10px;margin:-8px 0 18px;padding:12px;display:flex}.lucky-note span{font-size:18px}.lucky-note p{color:#70642e;margin:0;font-size:10px;line-height:1.55}.lucky-no-box{background:#faf7f7;border:1px solid #e1d9d9;border-radius:13px;grid-template-columns:38px 1fr;align-items:center;gap:10px;margin:0 0 16px;padding:12px;display:grid}.lucky-no-box.on{background:#fff1f1;border-color:#efb6b6}.lucky-no-box>button{cursor:pointer;background:#c7cad2;border:0;border-radius:999px;width:36px;height:21px;padding:2px}.lucky-no-box>button span{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;display:block;box-shadow:0 1px 4px #0000002e}.lucky-no-box.on>button{background:#d65b5b}.lucky-no-box.on>button span{transform:translate(15px)}.lucky-no-box>div>strong{font-size:11px}.lucky-no-box>div>p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.4}.lucky-no-list{grid-column:1/-1;gap:6px;margin-top:2px;display:grid}.lucky-no-list label{grid-template-columns:24px 1fr 28px;align-items:center;gap:6px;display:grid}.lucky-no-list label>span{color:#a73b3b;background:#ffe1e1;border-radius:8px;place-items:center;width:24px;height:24px;font-size:8px;font-weight:900;display:grid}.lucky-no-list input{margin:0;padding:8px;font-size:9px}.lucky-no-list label>button{color:#9c4e4e;cursor:pointer;background:#f1dede;border:0;border-radius:8px;width:28px;height:31px}.lucky-tally-rewards{background:#f7f8fa;border:1px solid #dfe1e8;border-radius:13px;margin:0 0 16px;padding:12px}.lucky-tally-heading{margin-bottom:8px}.lucky-tally-heading strong{font-size:10px}.lucky-tally-heading p{color:var(--muted);margin:3px 0 0;font-size:8px}.lucky-tally-row{background:#fff;border:1px solid #e1e3e8;border-radius:10px;grid-template-columns:38px 1fr 100px;align-items:center;gap:9px;margin-top:7px;padding:9px;display:grid}.lucky-tally-row.on{background:#eff9f2;border-color:#b6d7c0}.lucky-tally-row>button{cursor:pointer;background:#c7cad2;border:0;border-radius:999px;width:36px;height:21px;padding:2px}.lucky-tally-row>button span{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;display:block;box-shadow:0 1px 4px #0000002e}.lucky-tally-row.on>button{background:#4ca56d}.lucky-tally-row.on>button span{transform:translate(15px)}.lucky-tally-row>button:disabled{opacity:.45;cursor:not-allowed}.lucky-tally-row>div strong,.lucky-tally-row>div small{display:block}.lucky-tally-row>div strong{font-size:9px}.lucky-tally-row>div small{color:var(--muted);margin-top:2px;font-size:7px;line-height:1.35}.lucky-tally-row label{grid-template-columns:auto 48px auto;align-items:center;gap:5px;font-size:7px;display:grid}.lucky-tally-row label input{margin:0;padding:6px;font-size:8px}.lucky-tally-row label small{color:var(--muted);font-size:7px}.lucky-tally-row .normal-game-time{grid-column:2/-1;justify-self:end;margin-top:-1px}.lucky-sport-toggles{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 16px;display:grid}.lucky-sport-toggles button{color:#747887;text-align:left;cursor:pointer;background:#f7f8fa;border:1px solid #dfe1e8;border-radius:13px;min-height:90px;padding:12px 9px;position:relative}.lucky-sport-toggles button.on{color:#1f4f9f;background:#eef5ff;border-color:#8db8ff;box-shadow:0 0 0 2px #3159d812}.lucky-sport-toggles button.no-outdoor.on{color:#a33838;background:#fff1f1;border-color:#efb6b6}.lucky-sport-toggles span,.lucky-sport-toggles strong,.lucky-sport-toggles small{display:block}.lucky-sport-toggles span{font-size:19px}.lucky-sport-toggles strong{color:#252938;margin-top:7px;font-size:10px}.lucky-sport-toggles small{margin-top:4px;font-size:7px;line-height:1.35}.lucky-sport-toggles b{color:#777b88;background:#e4e6eb;border-radius:999px;padding:3px 6px;font-size:7px;position:absolute;top:10px;right:9px}.lucky-sport-toggles button.on b{color:#245fb4;background:#dbe9ff}.lucky-sport-toggles button.no-outdoor.on b{color:#a33838;background:#ffdede}.lucky-sport-settings{gap:9px;margin:-4px 0 15px;display:grid}.sport-time-card{opacity:.62;background:#fafafb;border:1px solid #e2e4e9;border-radius:12px;padding:11px}.sport-time-card.on{opacity:1;background:#f7faff;border-color:#c9dafa}.sport-time-card>div:first-child{grid-template-columns:auto 1fr;align-items:center;column-gap:7px;display:grid}.sport-time-card>div:first-child span{grid-row:1/3;font-size:18px}.sport-time-card>div:first-child strong{font-size:10px}.sport-time-card>div:first-child small{color:var(--muted);font-size:7px}.sport-time-fields{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:9px;display:grid}.sport-time-fields label{font-size:7px}.sport-time-fields input{margin-top:4px;padding:7px;font-size:9px}.account-actions{gap:9px;margin-top:18px;display:grid}.account-actions a{place-items:center;min-height:44px;text-decoration:none;display:grid}.demo-button{color:#353946;background:#f5f6f8;border:1px solid #d8dbe3;border-radius:10px;font-size:12px;font-weight:900}.privacy-card a{color:#d8fa5d;margin-top:10px;font-size:10px;font-weight:900;text-decoration:none;display:inline-block}.lucky-special-events{margin:4px 0 18px}.lucky-section-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.lucky-section-heading strong{font-size:11px}.lucky-section-heading small{color:var(--muted);text-align:right;font-size:7px}.lucky-special-event{background:#fafafb;border:1px solid #e2e4e9;border-radius:12px;margin-top:8px;padding:11px}.special-question{justify-content:space-between;align-items:center;gap:10px;display:flex}.special-question>strong{font-size:10px}.special-question>div{gap:5px;display:flex}.special-question button{color:#686d7d;cursor:pointer;background:#fff;border:1px solid #d9dce3;border-radius:8px;min-width:42px;padding:6px 9px;font-size:8px;font-weight:900}.special-question button.picked{border-color:var(--blue);color:var(--blue);background:#edf2ff}.special-question button.picked.no{color:#4f5360;background:#eff0f3;border-color:#aeb2bd}.special-fields{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:11px;display:grid}.special-fields label{font-size:8px}.special-fields .special-name{grid-column:1/-1}.special-fields input{margin-top:5px;padding:8px;font-size:9px}.lucky-weather-note{background:#eef9f1;border:1px solid #d7eadc;border-radius:12px;align-items:flex-start;gap:9px;margin:-8px 0 16px;padding:11px;display:flex}.lucky-weather-note p{color:#356448;margin:0;font-size:9px;line-height:1.55}.lucky-weather-note span{font-size:17px}.lucky-meals-button{color:#5c4910;cursor:pointer;background:#fffbe4;border:1px solid #e2d58e;border-radius:10px;margin:10px 0 18px;padding:9px 12px;font-size:10px;font-weight:900}.lucky-meals-button:hover{background:#fff5bc}.weather-planner-top{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.city-picker{min-width:210px}.city-picker label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:7px;font-weight:900;display:block}.city-picker>div{gap:5px;display:flex}.city-picker input{width:135px;min-width:0;font:inherit;background:#ffffffe6;border:1px solid #c9ddd0;border-radius:9px;padding:8px 9px;font-size:9px}.city-picker button{color:#fff;cursor:pointer;background:#327a50;border:0;border-radius:9px;padding:8px 10px;font-size:8px;font-weight:900}@media (width<=700px){.weather-planner-top{flex-direction:column;align-items:stretch}.city-picker{min-width:0}.city-picker input{width:100%}.city-picker>div{grid-template-columns:1fr auto;display:grid}}.unlimited-note{color:var(--blue);background:#eef8ff;border-radius:10px;margin:0 0 2px;padding:9px 11px;font-size:10px;font-weight:900}.lucky-modal{width:min(610px,100%)}.lucky-mode-picker{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;display:grid}.lucky-mode-picker>button{text-align:left;cursor:pointer;background:#fafafb;border:1px solid #dfe1e8;border-radius:15px;min-height:132px;padding:17px}.lucky-mode-picker>button:hover,.lucky-mode-picker>button.picked{background:#fffbe4;border-color:#b6a344;box-shadow:0 0 0 3px #bda6421a}.lucky-mode-picker span,.lucky-mode-picker strong,.lucky-mode-picker small{display:block}.lucky-mode-picker span{font-size:24px}.lucky-mode-picker strong{margin-top:10px;font-size:13px}.lucky-mode-picker small{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.45}.lucky-slot-list{gap:9px;margin-bottom:16px;display:grid}.lucky-slot{border:1px solid var(--line);background:#fafafb;border-radius:12px;grid-template-columns:55px 1fr 1fr 28px;align-items:end;gap:9px;padding:11px;display:grid}.lucky-slot>strong{align-self:center;font-size:10px}.lucky-slot label{font-size:9px}.lucky-slot input,.lucky-slot select{margin-top:5px;padding:8px}.lucky-slot>button{color:#858997;cursor:pointer;background:#f0f1f4;border:0;border-radius:8px;width:28px;height:34px}.add-slot-button{color:var(--blue);cursor:pointer;background:0 0;border:0;justify-self:start;padding:6px 2px;font-size:10px;font-weight:900}.category-picker{grid-template-columns:repeat(5,1fr);gap:7px;margin-top:9px;display:grid}.category-picker button{cursor:pointer;background:#fafafb;border:1px solid #e2e4ea;border-radius:10px;padding:10px 4px;font-size:10px;font-weight:700}.category-picker button span{margin-bottom:5px;font-size:18px;display:block}.category-picker button.picked{border-color:var(--blue);color:var(--blue);background:#eef2ff}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rating-picker,.energy-picker{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px;display:grid}.rating-picker button,.energy-picker button{cursor:pointer;background:#fafafb;border:1px solid #e0e2e8;border-radius:11px;padding:9px 4px}.rating-picker span{font-size:25px;display:block}.rating-picker small{color:var(--muted)}.rating-picker button.picked,.energy-picker button.picked{border-color:var(--blue);background:#eef2ff;box-shadow:0 0 0 2px #3159d814}.compact-modal{width:min(430px,100%)}.completion-name{background:#f5f6f8;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin:-8px 0 20px;padding:12px;font-weight:900;display:flex}.point-preview{color:#735400;white-space:nowrap;background:#fff1aa;border-radius:999px;padding:5px 8px;font-size:10px}.clear-preview{color:#8b5700;background:#fff6dd;border:1px solid #f1dfad;border-radius:10px;margin:-10px 0 18px;padding:10px 12px;font-size:10px;font-weight:900}.minute-presets{grid-template-columns:repeat(6,1fr);gap:5px;margin:10px 0;display:grid}.minute-presets button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:8px 3px;font-size:9px;font-weight:800}.minute-presets button.picked{color:var(--blue);border-color:var(--blue);background:#eef2ff}.completion-modal{color:#18251f!important;background:#fff!important}.completion-modal .modal-header h2{color:#18251f!important}.completion-modal .eyebrow{color:#596579!important}.completion-modal label{color:#18251f!important}.completion-modal .completion-name{color:#18251f!important;background:#f3f5f7!important}.completion-modal input{color:#18251f!important;background:#fff!important;border-color:#aeb5bf!important}.completion-modal .minute-presets button{color:#18251f!important;background:#fff!important;border-color:#8e9a91!important}.completion-modal .minute-presets button.picked{box-shadow:0 0 0 3px #3159d838;color:#fff!important;background:#3159d8!important;border-color:#2447b4!important}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;height:auto;padding:14px 18px;position:static}.brand{margin:0 auto 0 0}.brand span,.privacy-card{display:none}.sidebar nav{flex-wrap:wrap;justify-content:flex-end;display:flex}.nav-item{padding:10px 12px;font-size:12px}.workspace{padding:24px 18px 90px}.content-grid{grid-template-columns:1fr}.coach-column{position:static}.week-strip{grid-template-columns:28px repeat(7,1fr) 28px}.day-pill{min-height:55px}.plan-column{padding:22px}.pattern-grid{grid-template-columns:repeat(2,1fr)}.tally-grid,.awesome-grid,.tally-reward-editor,.reward-layout,.goals-layout,.media-layout,.wellness-layout{grid-template-columns:1fr}.reward-editor,.goal-editor,.media-uploader,.wellness-editor{position:static}}@media (width<=600px){.sidebar{gap:6px}.brand div:not(.brand-mark),.nav-item span{display:none}.sidebar nav{justify-content:flex-end}.nav-item{padding:8px 6px;font-size:8px}.workspace{padding:20px 10px 70px}.topbar{padding:0 6px}.sync-pill{display:none}.week-strip{border-radius:14px;gap:0}.week-arrow{display:none}.week-strip{grid-template-columns:repeat(7,1fr)}.day-pill strong{font-size:14px}.content-grid{gap:14px}.plan-column,.coach-column,.insights-panel{border-radius:18px;padding:18px}.section-heading{align-items:flex-end}.heading-actions{max-width:190px}.lucky-button,.heading-actions .primary-button{padding:9px 10px;font-size:10px}.lucky-mode-picker{grid-template-columns:1fr}.lucky-mode-picker>button{min-height:100px}.lucky-slot{grid-template-columns:44px 1fr 1fr 28px;gap:6px;padding:9px}.lucky-tally-row{grid-template-columns:38px 1fr}.lucky-tally-row>label,.lucky-tally-row .normal-game-time{grid-column:2;justify-self:stretch}.progress-card{align-items:flex-start}.progress-card .text-button{display:none}.quick-tools{grid-template-columns:1fr}.timeline:before{left:24px}.task-row{grid-template-columns:24px 1fr;gap:9px;margin-bottom:12px}.task-row time{text-align:left;grid-column:2;margin-bottom:-4px}.check-button{grid-area:2/1}.task-card{grid-area:2/2}.insights-hero{align-items:flex-start}.insight-stat{min-width:105px}.bar-chart{gap:7px;padding-left:5px;padding-right:5px}.pattern-grid,.subject-grid,.wellness-snapshot,.nutrition-strip{grid-template-columns:1fr}.category-picker{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:1fr}.response-header,.subject-coaching-header{flex-direction:column;align-items:flex-start}.minute-presets{grid-template-columns:repeat(3,1fr)}.reward-balance{flex-direction:column;align-items:flex-start}.reward-grid{grid-template-columns:1fr}.reward-shop,.reward-editor,.goals-list,.goal-editor,.media-uploader,.media-library,.wellness-editor,.wellness-dashboard,.tally-board,.awesome-board{padding:18px}.points-pill small{display:none}.goal-coach{grid-template-columns:40px 1fr}.goal-coach>strong{text-align:left;grid-column:1/-1;font-size:14px}.goal-coach>strong small{margin-left:5px;display:inline}.schedule-step{grid-column:2;justify-self:start}.goal-category-picker{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:1fr}.media-privacy,.wellness-privacy{align-items:flex-start}.wellness-fields{grid-template-columns:1fr}.wellness-history>article{grid-template-columns:78px 1fr 24px}.wellness-coach{flex-wrap:wrap}.wellness-coach>button{margin-left:38px}}.awesome-prize-toggle{color:#777c89;cursor:pointer;background:#eceef2;border:1px solid #d7dae1;border-radius:999px;margin-left:auto;padding:6px 8px;font-size:7px;font-weight:900}.awesome-prize-toggle b{margin-right:3px}.awesome-prize-toggle.on{color:#34704a;background:#e5f4e9;border-color:#8fc49e}.awesome-card.prize-off .awesome-reward-form{opacity:.5}.awesome-card.prize-off .awesome-reward-form input{background:#f0f1f3}.leaderboard-panel{max-width:1120px;margin:0 auto}.leaderboard-hero{color:#44330f;background:linear-gradient(135deg,#fff8dd,#fff1bd);border:1px solid #f1dc92;border-radius:22px;align-items:center;gap:18px;margin-bottom:16px;padding:24px;display:flex}.leaderboard-hero>span{background:#fff;border-radius:17px;flex:none;place-items:center;width:58px;height:58px;font-size:29px;display:grid;box-shadow:0 8px 20px #8c65121f}.leaderboard-hero h2{margin:3px 0 6px}.leaderboard-hero p:not(.eyebrow){color:#756538;margin:0;font-size:10px;line-height:1.55}.leaderboard-table{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 38px #282d460d}.leaderboard-row{border-bottom:1px solid #eef0f4;grid-template-columns:65px minmax(130px,1.2fr) repeat(3,minmax(120px,1fr));align-items:center;gap:10px;min-height:66px;padding:11px 18px;display:grid}.leaderboard-row:last-child{border-bottom:0}.leaderboard-row.current{background:#f1f6ff;box-shadow:inset 4px 0 #3b7ed8}.leaderboard-row>strong{font-size:12px}.leaderboard-row>strong small{color:#3159d8;text-transform:uppercase;background:#e6edff;border-radius:999px;margin-left:7px;padding:3px 6px;font-size:7px;display:inline-block}.leaderboard-row>span{color:#555b6c;font-size:10px;font-weight:750}.leaderboard-head{color:#74798a;text-transform:uppercase;letter-spacing:.06em;background:#f8f9fb;min-height:42px;font-size:8px;font-weight:900}.leaderboard-rank{font-size:18px!important}.leaderboard-message{color:var(--muted);text-align:center;background:#fff;border:1px dashed #d9dce5;border-radius:18px;padding:48px 20px}.leaderboard-message.error{color:#a44848;background:#fff7f7}@media (width<=700px){.leaderboard-hero{align-items:flex-start;padding:18px}.leaderboard-hero>span{width:44px;height:44px;font-size:22px}.leaderboard-table{overflow-x:auto}.leaderboard-row{min-width:680px}}.reward-choice>span{align-items:center;gap:7px;display:flex}.reward-choice>span>button,.family-member-reward>button{cursor:pointer;background:#c7cad2;border:0;border-radius:999px;width:32px;height:19px;padding:2px}.reward-choice>span>button i,.family-member-reward>button i{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .18s;display:block;box-shadow:0 1px 4px #0000002e}.reward-choice.enabled>span>button,.family-member-reward>button[aria-checked=true]{background:#4ca56d}.reward-choice.enabled>span>button i,.family-member-reward>button[aria-checked=true] i{transform:translate(13px)}.reward-choice input:disabled,.family-member-reward input:disabled{opacity:.52;background:#eef0f4}.tally-grid article.family-member{background:#f3f8f4;position:relative}.remove-family-member{color:#74798a;cursor:pointer;background:#fff;border:1px solid #dfe2e8;border-radius:50%;width:25px;height:25px;position:absolute;top:10px;right:10px}.family-member-reward{grid-column:1/-1;grid-template-columns:34px 1fr;align-items:center;gap:7px;display:grid}.family-member-reward input{min-width:0;font:inherit;background:#fff;border:1px solid #d9deea;border-radius:8px;padding:8px 9px;font-size:9px}.add-family-member{background:#fbfcff;border:1px dashed #bfc7d8;border-radius:14px;grid-template-columns:1.2fr 1fr 1.4fr auto;align-items:end;gap:10px;margin-top:15px;padding:14px;display:grid}.add-family-member strong{font-size:11px}.add-family-member p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.4}.add-family-member label{color:var(--muted);font-size:8px;font-weight:850}.add-family-member input{width:100%;font:inherit;background:#fff;border:1px solid #d9deea;border-radius:8px;margin-top:5px;padding:9px}.add-family-member>button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:9px;min-height:36px;padding:9px 12px;font-size:9px;font-weight:900}@media (width<=900px){.add-family-member{grid-template-columns:1fr 1fr}.add-family-member>div{grid-column:1/-1}}@media (width<=560px){.add-family-member{grid-template-columns:1fr}.add-family-member>div{grid-column:auto}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.games-hub{color:#202434;background:radial-gradient(circle at 88% 8%,#d7f9586b,#0000 26%),linear-gradient(145deg,#f8faf4,#eef2f8);min-height:100vh;padding:clamp(24px,5vw,68px)}.games-header{grid-template-columns:150px 1fr 180px;align-items:center;gap:28px;width:min(1060px,100%);margin:0 auto 28px;display:grid}.games-header>a{color:#48506a;align-self:start;font-size:13px;font-weight:850;text-decoration:none}.games-kicker{color:#72798d;letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:900}.games-header h1{letter-spacing:-.055em;margin:8px 0;font-size:clamp(34px,6vw,70px);line-height:.95}.games-header p{color:#6b7181;margin:0;font-size:15px}.games-deck{height:140px;position:relative}.games-deck i{background:#fff;border:1px solid #d9dce5;border-radius:14px;place-items:center;width:92px;height:126px;font-size:34px;font-style:normal;display:grid;position:absolute;box-shadow:0 18px 35px #1f24371f}.games-deck i:first-child{left:0;transform:rotate(-13deg)}.games-deck i:nth-child(2){color:#d83b53;left:40px;transform:rotate(0)}.games-deck i:nth-child(3){left:78px;transform:rotate(13deg)}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(1060px,100%);margin:0 auto;display:grid}.game-tile{color:#242837;border:1px solid #2d313f1a;border-radius:24px;grid-template-rows:1fr auto;grid-template-columns:64px 1fr;gap:14px 18px;min-height:240px;padding:24px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 14px 42px #272c4114}.game-tile:hover{transform:translateY(-4px);box-shadow:0 20px 48px #272c4124}.game-tile.green{background:#e7f7eb}.game-tile.red{background:#fff0f1}.game-tile.yellow{background:#fff8cf}.game-tile.blue{background:#edf2ff}.game-tile.purple{background:#f3edff}.game-tile.orange{background:#fff0df}.game-icon{background:#fffc;border-radius:18px;place-items:center;width:64px;height:64px;font-size:31px;display:grid}.game-tile small{color:#767c8d;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.game-tile h2{letter-spacing:-.03em;margin:6px 0 8px;font-size:25px}.game-tile p{color:#62697a;margin:0;font-size:13px;line-height:1.55}.game-tile>strong{grid-column:1/-1;justify-self:end;font-size:12px}.games-note{color:#777d8c;text-align:center;width:min(1060px,100%);margin:20px auto 0;font-size:11px}@media (width<=760px){.games-header{grid-template-columns:1fr}.games-deck{display:none}.games-grid{grid-template-columns:1fr}.game-tile{min-height:210px}.games-header>a{margin-bottom:6px}}:root{--cream:#f6efd9;--ink:#172f2a;--green:#154a3c;--green-dark:#0b342b;--green-soft:#2e6a59;--gold:#f3b73c;--coral:#e56e52}.game-shell{background:radial-gradient(circle at 50% 42%,#2b705c 0,#144c3e 48%,#082f28 100%);flex-direction:column;min-height:100vh;display:flex}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#08251f6b;border-bottom:1px solid #f6efd924;grid-template-columns:1fr auto 1fr;align-items:center;height:82px;padding:0 38px;display:grid;position:relative}.brand-mark{border:2px solid var(--gold);width:45px;height:45px;color:var(--gold);border-radius:50%;place-items:center;font-family:serif;font-size:26px;font-weight:900;display:grid;box-shadow:0 0 0 3px #f3b73c21}.brand h1{letter-spacing:.08em;margin:0;font-family:Georgia,STKaiti,serif;font-size:24px}.brand p{color:#f6efd991;letter-spacing:.12em;text-transform:uppercase;margin:3px 0 0;font-size:11px}.scoreboard{text-align:center;border-left:1px solid #f6efd92b;border-right:1px solid #f6efd92b;padding:0 28px}.scoreboard span{color:#f6efd98c;letter-spacing:.18em;font-size:10px;display:block}.scoreboard strong{color:var(--gold);font-family:Georgia,serif;font-size:16px}.ghost-button{color:var(--cream);cursor:pointer;background:0 0;border:1px solid #f6efd959;border-radius:999px;justify-self:end;padding:9px 18px;font-size:13px}.ghost-button:hover{border-color:var(--gold);color:var(--gold)}.table{flex:1;min-height:max(100vh - 116px,900px);position:relative;overflow:hidden}.table:before{content:"";border:1px solid #f6efd921;border-radius:50%;position:absolute;inset:3% 7% 15%;box-shadow:inset 0 0 70px #01141047,0 10px 40px #0003}.npc{z-index:3;border:1px solid #0000;border-radius:16px;grid-template-columns:55px auto;align-items:center;gap:12px;padding:13px 16px;transition:all .25s;display:grid;position:absolute;top:18%}.npc-left{left:4%}.npc-right{right:4%}.npc.active,.player-zone.active .player-badge{background:#f6efd91a;border-color:#f3b73c99;box-shadow:0 0 28px #f3b73c1f}.npc strong{font-size:15px}.npc p,.player-badge p{color:#f6efd991;margin:4px 0 0;font-size:12px}.avatar{background:var(--gold);width:52px;height:52px;color:var(--green-dark);border:3px solid #ffffff42;border-radius:50%;place-items:center;font-family:Georgia,STKaiti,serif;font-size:25px;font-weight:800;display:grid;box-shadow:0 6px 16px #00000038}.avatar.coral{background:var(--coral);color:#fff}.mini-hand{grid-column:1/-1;padding-left:10px;display:flex}.mini-hand .card{border-radius:4px;width:18px;min-width:18px;height:42px;margin-left:-8px}.mini-hand .card span{display:none}.landlord-tag{background:var(--coral);color:#fff;vertical-align:2px;border-radius:3px;margin-left:4px;padding:2px 5px;font-size:10px}.table-center{text-align:center;z-index:2;width:min(520px,47vw);position:absolute;top:8%;left:50%;transform:translate(-50%)}.round-info span{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:11px;display:block}.round-info strong{margin-top:5px;font-family:Georgia,STKaiti,serif;font-size:18px;display:block}.bottom-cards{justify-content:center;gap:7px;min-height:59px;margin-top:12px;display:flex}.bottom-cards .card{cursor:default;border-radius:5px;width:38px;min-width:38px;height:54px}.bottom-cards .rank{font-size:14px;top:5px;left:5px}.bottom-cards .suit{font-size:14px;top:20px;left:5px}.bottom-cards .joker-rank{writing-mode:vertical-rl;font-size:8px;top:5px;left:5px}.bottom-cards .joker-mark{font-size:12px}.played-area{flex-direction:column;justify-content:center;align-items:center;height:145px;margin-top:3px;display:flex}.played-label{letter-spacing:.11em;color:#f6efd9ab;margin-bottom:9px;font-size:11px}.played-cards{justify-content:center;padding-left:18px;display:flex}.played-cards .card{cursor:default;width:56px;min-width:56px;height:78px;margin-left:-18px}.played-cards .rank{font-size:19px}.played-cards .suit{font-size:18px;top:27px}.played-cards .joker-rank{writing-mode:vertical-rl;font-size:9px}.empty-play{color:#f6efd95e;border:1px dashed #f6efd926;border-radius:50%;place-items:center;width:150px;height:74px;font-family:Georgia,STKaiti,serif;font-size:15px;display:grid}.game-log{color:#f6efd985;z-index:2;border-left:1px solid #f6efd92b;width:170px;padding-left:15px;font-size:11px;position:absolute;bottom:24%;right:3%}.game-log span{color:var(--gold);letter-spacing:.15em;font-size:10px}.game-log p{white-space:nowrap;text-overflow:ellipsis;margin:6px 0;overflow:hidden}.player-zone{z-index:5;flex-direction:column;justify-content:flex-end;align-items:center;height:510px;display:flex;position:absolute;bottom:0;left:2%;right:2%}.player-badge{border:1px solid #0000;border-radius:15px;align-items:center;gap:10px;padding:10px 14px;transition:all .25s;display:flex;position:absolute;top:235px;left:4%}.player-avatar{background:var(--cream);color:var(--green-dark)}.actions{justify-content:center;align-items:center;gap:10px;height:50px;margin-bottom:4px;display:flex}.primary,.secondary{cursor:pointer;border:0;border-radius:999px;min-width:82px;padding:10px 22px;font-weight:750;transition:all .18s}.primary{background:var(--gold);color:var(--green-dark);box-shadow:0 6px 14px #081f1a4d}.primary:hover:not(:disabled){background:#ffc94f;transform:translateY(-2px)}.secondary{color:var(--cream);background:#08292294;border:1px solid #f6efd952}.primary:disabled,.secondary:disabled{opacity:.32;cursor:not-allowed}.primary.big{padding:12px 30px;font-size:16px}.thinking{color:#f6efd9a8;align-items:center;gap:9px;font-size:13px;display:flex}.thinking span{background:var(--gold);border-radius:50%;width:8px;height:8px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.5}}.dealing-status{color:var(--gold)}.deal-deck{perspective:500px;place-items:center;width:90px;height:92px;display:grid;position:relative}.deal-deck:before,.deal-deck:after,.deal-deck>span{content:"";background-color:#b54b3e;background-image:repeating-linear-gradient(45deg,#ffffff24 0 2px,#0000 2px 6px);border:3px solid #f6dfb5;border-radius:7px;width:53px;height:76px;position:absolute;box-shadow:0 5px 12px #00000047}.deal-deck:before{opacity:.65;transform:translate(-8px,5px)rotate(-6deg)}.deal-deck:after{opacity:.82;transform:translate(7px,4px)rotate(5deg)}.deal-deck>span{z-index:2;color:#a83d35;transform-origin:100%;place-items:center;font-family:serif;font-size:21px;font-weight:900;animation:.7s ease-in-out infinite centerFlip;display:grid}.deal-deck>span:before{content:"斗";background:#f0d9a8;border-radius:50%;place-items:center;width:62%;height:62%;display:grid}.deal-deck i{z-index:1;background:#fffdf6;border:1px solid #eadfc8;border-radius:7px;width:53px;height:76px;animation:.7s ease-out infinite flyingCard;position:absolute}.deal-deck b{white-space:nowrap;color:#f6efd985;letter-spacing:.08em;font-size:11px;font-weight:500;position:absolute;top:96px}@keyframes centerFlip{0%,25%{transform:translate(0)rotateY(0)}62%{transform:translate(34px)rotateY(90deg)}to{opacity:0;transform:translate(58px)rotateY(180deg)}}@keyframes flyingCard{0%,45%{opacity:0;transform:translate(16px)rotateY(90deg)}70%{opacity:1;transform:translate(42px)rotateY(0)}to{opacity:0;transform:translate(72px,18px)rotate(7deg)}}.hand{flex-direction:column;justify-content:flex-end;align-items:center;width:min(1020px,88vw);height:388px;display:flex}.hand-row{justify-content:center;align-items:flex-end;width:100%;height:96px;padding-left:34px;display:flex;position:relative}.hand-row:first-child{z-index:1}.hand-row:nth-child(2){z-index:2;margin-top:-9px}.hand-row:nth-child(3){z-index:3;margin-top:-9px}.hand-row:nth-child(4){z-index:4;margin-top:-9px}.hand-row .card{width:65px;min-width:65px;height:96px;margin-left:-29px}.hand-row .card.selected{transform:translateY(-17px)}.hand-row .rank{font-size:20px}.hand-row .suit{font-size:19px;top:29px}.card{cursor:pointer;background:#fffdf6;border:0;border-radius:9px;width:73px;min-width:73px;height:108px;margin-left:-30px;padding:0;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 5px 12px #00000047}.card:hover{transform:translateY(-7px)}.card.selected{box-shadow:0 8px 18px #00000061, 0 0 0 3px var(--gold);transform:translateY(-24px)}.dealt-card{transform-origin:bottom;animation:.42s cubic-bezier(.2,.75,.25,1) both dealFlip}@keyframes dealFlip{0%{opacity:0;transform:translateY(-44px)scale(.72)rotateY(90deg)rotate(5deg)}48%{opacity:1;transform:translateY(-15px)scale(.9)rotateY(35deg)}to{opacity:1;transform:translateY(0)scale(1)rotateY(0)}}.rank{font-family:Georgia,serif;font-size:23px;font-weight:800;line-height:1;position:absolute;top:7px;left:8px}.suit{font-size:22px;position:absolute;top:33px;left:8px}.joker-rank{writing-mode:vertical-rl;letter-spacing:2px;font-family:STKaiti,serif;font-size:11px;font-weight:800;position:absolute;top:8px;left:8px}.joker-mark{color:var(--gold);font-size:24px;position:absolute;bottom:13px;right:12px}.card-back{cursor:default;background-color:#b54b3e;background-image:repeating-linear-gradient(45deg,#ffffff24 0 2px,#0000 2px 6px);border:3px solid #f6dfb5;box-shadow:inset 0 0 0 2px #b54b3e,0 4px 10px #00000040}.card-back span{color:#a83d35;background:#f0d9a8;border-radius:50%;place-items:center;width:65%;height:65%;margin:auto;font-family:serif;font-size:18px;font-weight:900;display:grid}.card-back:hover{transform:none}.result-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;background:#021814a8;place-items:center;display:grid;position:absolute;inset:0}.result-card{text-align:center;background:var(--cream);width:min(390px,90vw);color:var(--ink);border:5px solid #f3b73ca6;border-radius:26px;padding:38px;box-shadow:0 24px 70px #0006}.result-card h2{margin:10px 0 5px;font-family:Georgia,STKaiti,serif;font-size:28px}.result-card p{color:#60706c;margin:0 0 22px}footer{color:#f6efd96b;letter-spacing:.08em;background:#031a158c;place-items:center;height:34px;font-size:10px;display:grid}@media (width<=800px){.topbar{grid-template-columns:1fr auto;height:68px;padding:0 15px}.brand-mark{width:38px;height:38px;font-size:21px}.brand h1{font-size:18px}.brand p,.scoreboard{display:none}.ghost-button{padding:8px 12px}.table{min-height:1140px}.table:before{inset:5% 2% 40%}.npc{grid-template-columns:42px auto;padding:8px;top:12%}.npc-left{left:2%}.npc-right{right:2%}.avatar{width:40px;height:40px;font-size:19px}.mini-hand{display:none}.table-center{width:68vw;top:4%}.round-info strong{font-size:14px}.bottom-cards{margin-top:8px}.played-area{height:115px;margin-top:84px}.played-cards .card{width:46px;min-width:46px;height:67px;margin-left:-20px}.game-log{display:none}.player-zone{height:555px;bottom:0}.player-badge{transform-origin:0;top:190px;left:0;transform:scale(.82)}.hand{justify-content:flex-end;width:98vw;height:440px;padding-top:12px;overflow:visible}.hand-row{scrollbar-width:none;justify-content:flex-start;width:98vw;height:105px;padding:16px 0 0 27px;overflow:auto hidden}.hand-row::-webkit-scrollbar{display:none}.hand-row:nth-child(n+2){margin-top:-5px}.hand-row .card{width:56px;min-width:56px;height:84px;margin-left:-24px}.card{width:59px;min-width:59px;height:91px;margin-left:-25px}.rank{font-size:19px}.suit{font-size:18px;top:28px}.actions{margin-bottom:0}.primary,.secondary{min-width:70px;padding:9px 16px}footer{text-align:center;height:40px;padding:0 15px}}:root{--ink:#17201c;--cream:#f4efe4;--green:#123f32;--green-deep:#0a2d24;--mint:#b9d8be;--gold:#d7ad5c;--red:#c83d4b}html,body{min-height:100%}body{color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;background:#efe9dc;margin:0}.loading-screen{background:var(--green-deep);min-height:100vh;color:var(--cream);letter-spacing:.08em;place-items:center;display:grid}.game-shell{background:radial-gradient(circle at 50% -20%,#fff 0,#f7f3e9 30%,#eee6d6 100%);min-height:100vh;padding:22px clamp(16px,3vw,46px) 18px;position:relative;overflow:hidden auto}.ambient{filter:blur(2px);opacity:.4;pointer-events:none;border-radius:50%;position:fixed}.ambient-one{background:#f2c2b3;width:360px;height:360px;bottom:-190px;left:-190px}.ambient-two{background:#d5d996;width:300px;height:300px;top:-100px;right:-180px}.topbar{z-index:4;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto 18px;display:flex;position:relative}.brand-mark{color:#fff;background:var(--red);border-radius:13px;place-items:center;width:42px;height:42px;font-size:22px;display:grid;box-shadow:0 8px 24px #8d283735}.brand b{letter-spacing:-.02em;font-family:Georgia,serif;font-size:21px;display:block}.brand small{color:#68736d;text-transform:uppercase;letter-spacing:.11em;margin-top:2px;font-size:11px;display:block}.text-button,.icon-button{color:#43534c;cursor:pointer;background:0 0;border:0;font-weight:650}.text-button:hover{color:var(--red)}.icon-button{background:#fffaf1;border:1px solid #d6d0c3;border-radius:50%;width:40px;height:40px;font-size:21px;transition:all .2s}.icon-button:hover{border-color:var(--gold);transform:rotate(-20deg)}.score-strip{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf1cc;border:1px solid #dcd5c8;border-radius:18px;align-items:stretch;max-width:650px;margin:0 auto 14px;padding:6px;display:flex;position:relative;box-shadow:0 10px 30px #493c2812}.score-cell{border-radius:12px;flex:1;align-items:center;gap:9px;padding:6px 12px;transition:all .2s;display:flex}.score-cell.active{background:#e5efdf}.score-cell>span:last-child{align-items:baseline;gap:8px;display:flex}.score-cell small,.round-cell small{color:#78817c;letter-spacing:.1em;text-transform:uppercase;font-size:9px}.score-cell strong{font-size:20px;font-family:var(--font-geist-mono)}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.avatar-0{background:#c24d55}.avatar-1{background:#467f68}.avatar-2{background:#5e688f}.round-cell{border-left:1px solid #ded6c9;place-items:center;padding:3px 14px;display:grid}.round-cell strong{font-family:Georgia,serif;font-size:19px}.table{z-index:2;background:radial-gradient(#1c5a47 0,#154a3a 48%,#0d382d 100%);border:9px solid #6f4830;border-radius:48%/15%;width:100%;max-width:1160px;height:calc(100vh - 190px);min-height:570px;max-height:760px;margin:auto;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #9b6d48,inset 0 0 70px #041a1480,0 24px 55px #55452d45}.felt-ring{border-radius:inherit;pointer-events:none;border:1px solid #96c7a526;position:absolute;inset:18px}.opponent{color:#fff;z-index:2;align-items:center;gap:16px;display:flex;position:absolute;top:10%}.opponent-left{left:7%}.opponent-right{flex-direction:row-reverse;right:7%}.opponent-right .player-label{text-align:right;flex-direction:row-reverse}.player-label{align-items:center;gap:9px;display:flex}.player-label b{font-size:13px;display:block}.player-label small{color:#b7d4c8;margin-top:3px;font-size:10px;display:block}.opponent.thinking .avatar{outline:3px solid #f1c77580;animation:1s infinite pulse}.opponent-hand{width:82px;height:56px;position:relative}.opponent-hand span{transform-origin:bottom;background:repeating-linear-gradient(45deg,#b84651 0 3px,#d9b8a6 3px 5px);border:2px solid #f4e9d3;border-radius:5px;width:42px;height:56px;position:absolute;left:0;box-shadow:0 3px 7px #06171255}.opponent-hand b{color:#16382e;z-index:7;background:#f7ead2;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid;position:absolute;top:14px;right:1px}.table-status{text-align:center;color:#fff;width:min(84%,460px);position:absolute;top:31%;left:50%;transform:translate(-50%,-50%)}.table-status span{color:#b7d8c9;letter-spacing:.08em;text-transform:uppercase;background:#09271f90;border-radius:20px;align-items:center;padding:5px 10px;font-size:9px;font-weight:700;display:inline-flex}.table-status span.broken{color:#ffb3b8;background:#6e1f2980}.table-status p{color:#f1e9d9;margin:7px 0 0;font-family:Georgia,serif;font-size:clamp(14px,1.8vw,18px)}.trick-area{width:310px;height:185px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.trick-slot{width:62px;height:86px;position:absolute}.slot-left{top:0;left:45px;transform:rotate(-8deg)}.slot-right{top:0;right:45px;transform:rotate(8deg)}.slot-bottom{bottom:0;left:124px;transform:rotate(2deg)}.point-bubble{color:#63313a;text-transform:uppercase;background:#ffd7d5;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:800;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.human-area{width:min(96%,1040px);position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.your-turn-line{color:#dfecdf;letter-spacing:.03em;justify-content:center;align-items:center;gap:14px;min-height:38px;font-size:12px;font-weight:650;display:flex}.pass-button{color:#253529;cursor:pointer;background:#f1d085;border:0;border-radius:20px;padding:8px 14px;font-size:11px;font-weight:800;box-shadow:0 6px 16px #06171255}.pass-button:disabled{opacity:.35;cursor:not-allowed}.pass-button:not(:disabled):hover{background:#ffe2a0;transform:translateY(-1px)}.hand{justify-content:center;align-items:flex-end;height:128px;padding:0 4px;display:flex}.hand-card{cursor:pointer;background:0 0;border:0;width:clamp(43px,6.2vw,72px);height:118px;margin-left:clamp(-14px,-1vw,-7px);padding:0;transition:transform .18s,margin .18s;position:relative}.hand-card:first-child{margin-left:0}.hand-card:hover:not(:disabled),.hand-card:focus-visible{z-index:4;outline:none;transform:translateY(-15px)}.hand-card.selected{z-index:3;transform:translateY(-21px)}.hand-card.selected .card-face{box-shadow:0 0 0 3px #f0c66a,0 10px 18px #06171280}.hand-card:disabled{cursor:not-allowed}.card-face{-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#fffefb,#f4efe4);border:1px solid #d5cec1;border-radius:8px;position:absolute;inset:0;overflow:hidden;box-shadow:0 6px 13px #06171265}.card-face.red{color:#c43243}.card-face.black{color:#202927}.card-face.muted{filter:brightness(.68)saturate(.7);opacity:.58}.card-rank{font-family:Georgia,serif;font-size:clamp(16px,2.2vw,24px);font-weight:700;line-height:1;position:absolute;top:5px;left:8px}.card-suit{place-items:center;font-size:clamp(24px,3.3vw,39px);display:grid;position:absolute;inset:0}.card-corner{font-size:14px;position:absolute;bottom:3px;right:6px;transform:rotate(180deg)}.card-face.small{width:62px;height:86px}.card-face.small .card-rank{font-size:18px}.card-face.small .card-suit{font-size:28px}footer{z-index:3;color:#7f7d73;text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:center;gap:10px;padding-top:10px;font-size:10px;display:flex;position:relative}footer i{background:#b5ad9f;border-radius:50%;width:3px;height:3px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#071711b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-modal,.rules-modal,.confirm-modal{background:#fffaf0;border:1px solid #e1d9ca;border-radius:26px;width:min(92vw,470px);padding:34px;animation:.32s both arrive;box-shadow:0 30px 100px #0007}@keyframes arrive{0%{opacity:0;transform:translateY(15px)scale(.97)}}.result-kicker{color:#a56447;letter-spacing:.16em;font-size:10px;font-weight:800}.result-modal h2,.rules-modal h2,.confirm-modal h2{color:#183c30;margin:7px 0 5px;font:700 35px/1.08 Georgia,serif}.result-modal>p,.confirm-modal>p{color:#6f766f;margin:0 0 24px;font-size:13px}.result-scores{border-top:1px solid #e3dccf;margin:25px 0}.result-scores div{border-bottom:1px solid #e3dccf;grid-template-columns:1fr 50px 50px;align-items:center;padding:12px 2px;display:grid}.result-scores span{font-weight:650}.result-scores b{color:#b84b56;font-size:12px}.result-scores strong{text-align:right;font:700 19px var(--font-geist-mono)}.primary-button{color:#fff;cursor:pointer;background:#174c3c;border:0;border-radius:14px;width:100%;padding:13px 18px;font-weight:750}.primary-button:hover{background:#0d3d30}.rules-modal{position:relative}.close-button{color:#68736d;cursor:pointer;background:0 0;border:0;font-size:27px;position:absolute;top:15px;right:18px}.rules-modal ol{counter-reset:rules;margin:24px 0;padding:4px 0 0;list-style:none}.rules-modal li{counter-increment:rules;border-bottom:1px solid #e5ded1;padding:10px 0 10px 42px;position:relative}.rules-modal li:before{content:counter(rules);color:#174c3c;background:#dbe8d8;border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:grid;position:absolute;top:9px;left:0}.rules-modal li b{font-size:13px;display:block}.rules-modal li span{color:#6d746f;margin-top:2px;font-size:12px;display:block}.rule-note{color:#606862;background:#efeade;border-radius:12px;margin:0;padding:13px 15px;font-size:11px;line-height:1.5}.confirm-modal{width:min(92vw,370px)}.confirm-modal h2{font-size:28px}.confirm-modal>div{justify-content:flex-end;align-items:center;gap:14px;display:flex}.danger-button{color:#fff;cursor:pointer;background:#b63d49;border:0;border-radius:12px;padding:10px 16px;font-weight:700}@media (width<=720px){.game-shell{padding:14px 8px 10px}.brand small{display:none}.brand b{font-size:17px}.brand-mark{border-radius:10px;width:34px;height:34px}.text-button{font-size:12px}.score-strip{margin-bottom:8px}.score-cell{gap:5px;padding:4px 7px}.score-cell .avatar{display:none}.score-cell>span:last-child,.score-cell small{display:block}.score-cell strong{font-size:17px}.round-cell{padding:2px 9px}.table{border-width:6px;border-radius:34%/8%;height:calc(100dvh - 145px);min-height:520px}.opponent{gap:8px;top:8%}.opponent-left{left:3%}.opponent-right{right:3%}.opponent-hand{transform:scale(.82)}.player-label .avatar{width:25px;height:25px}.player-label small{font-size:8px}.table-status{top:30%}.trick-area{top:48%;transform:translate(-50%,-50%)scale(.9)}.human-area{width:100%;bottom:8px}.hand{scrollbar-width:none;justify-content:flex-start;height:116px;padding:0 12px 3px;overflow-x:auto}.hand::-webkit-scrollbar{display:none}.hand-card{flex:0 0 51px;width:51px;margin-left:-8px}.card-rank{font-size:18px}.card-suit{font-size:29px}footer{display:none}.result-modal,.rules-modal{padding:28px 24px}}@media (height<=700px) and (width>=721px){.game-shell{padding-top:10px}.topbar{margin-bottom:7px}.score-strip{margin-bottom:6px}.table{height:520px;min-height:520px}.hand{height:106px}.hand-card{height:98px}.table-status{top:30%}.trick-area{transform:translate(-50%,-50%)scale(.85)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--ink:#eeefff;--muted:#9492b1;--panel:#100d23e0;--line:#a187ff2e;--purple:#9d6cff;--violet:#6338d1;--gold:#ffc950;--danger:#ff5975;--cyan:#4cdcff;color:var(--ink);background:#080613}button{font:inherit}body{color:var(--ink);background:#080613;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}.game-shell{background:radial-gradient(circle at 50% 15%,#472d8940,#0000 30%),linear-gradient(#0b0818,#070610 70%);min-height:100vh;padding-bottom:20px;position:relative}.game-shell:before{content:"";pointer-events:none;opacity:.17;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0}.aurora{filter:blur(80px);pointer-events:none;opacity:.18;border-radius:50%;position:fixed}.aurora-one{background:#732cff;width:420px;height:320px;top:18%;left:-180px}.aurora-two{background:#104f9d;width:460px;height:360px;bottom:6%;right:-210px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:3;background:#05040fd1;justify-content:space-between;align-items:center;height:80px;padding:0 4vw;display:flex;position:relative}.brand-mark{color:#d6c4ff;border:1px solid #a785ff;border-radius:10px;place-items:center;width:40px;height:40px;font-size:25px;display:grid;box-shadow:inset 0 0 20px #5423ad66,0 0 20px #643fc344}.brand b{letter-spacing:.16em;font-size:17px}.brand small{color:#8f87af;letter-spacing:.32em;margin-top:4px;font-size:9px}.top-stats{align-items:center;gap:10px;display:flex}.round-pill,.coin-pill,.ghost-button,.shop-button{border:1px solid var(--line);color:#d9d4ed;letter-spacing:.12em;background:#100d22;border-radius:8px;height:38px;padding:0 14px;font-size:11px}.coin-pill{color:var(--gold)}.shop-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7045dd,#4e2eab);border-color:#9870f0;font-weight:700}.ghost-button{cursor:pointer}.game-grid{z-index:2;grid-template-columns:245px minmax(480px,760px) 290px;gap:18px;max-width:1380px;margin:24px auto 0;padding:0 22px;display:grid;position:relative}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#16112eeb,#0a0817f5);border-radius:13px;overflow:hidden;box-shadow:0 24px 60px #0008}.player-panel{text-align:center;padding:20px}.eyebrow{letter-spacing:.24em;color:#8f88ac;margin:0 0 10px;font-size:9px}.portrait{background:radial-gradient(circle,#45307a,#18112e 68%);border:2px solid #9464ff;border-radius:50%;place-items:center;width:80px;height:80px;margin:0 auto 12px;font-size:46px;display:grid;position:relative;box-shadow:0 0 30px #6c42cc66}.level{color:#241600;background:#efbb3e;border-radius:10px;padding:4px 7px;font-size:9px;font-weight:700;position:absolute;bottom:0;right:-10px}.player-panel h1{margin:0;font-family:Georgia,serif;font-size:22px}.class-line{color:#a392cf;margin:4px 0 22px;font-size:11px}.meter{text-align:left;margin:14px 0}.meter>div:first-child{letter-spacing:.1em;color:#9b96b5;justify-content:space-between;font-size:9px;display:flex}.meter-track{background:#242039;border-radius:6px;height:7px;margin-top:7px;overflow:hidden}.meter-track i,.mini-bar i,.token-health i{border-radius:inherit;height:100%;transition:width .25s;display:block}.meter-track.health i,.mini-bar i,.token-health i{background:linear-gradient(90deg,#ff4772,#ff7d80);box-shadow:0 0 12px #ff477288}.meter-track.mana i{background:linear-gradient(90deg,#356dff,#63d8ff);box-shadow:0 0 12px #4b9cff88}.statuses{border-top:1px solid var(--line);text-align:left;margin-top:20px;padding-top:16px}.statuses p,.battle-log>p{color:#77728d;letter-spacing:.18em;font-size:8px}.status{border:1px solid var(--line);border-radius:7px;margin-top:7px;padding:9px;font-size:10px;display:block}.status.frozen{color:#67e7ff;border-color:#42ccec55}.status.muted{color:#dc9aff;border-color:#a85cf255}.status.clear{color:#70d6ad}.objective{text-align:left;background:#44331022;border:1px solid #c09b3d44;border-radius:8px;gap:10px;margin:22px -5px 0;padding:12px;display:flex}.objective>span{color:var(--gold)}.objective b{letter-spacing:.1em;color:#d9bd71;font-size:8px}.objective p{color:#9690a6;margin:4px 0 0;font-size:10px}.arena-wrap{min-width:0}.arena-heading{letter-spacing:.15em;color:#a9a4bd;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:9px;display:flex}.arena-heading p{color:#77728c;letter-spacing:0;margin:0}.live-dot{background:#65e2b6;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block;box-shadow:0 0 12px #65e2b6}.board{aspect-ratio:1;background:#15102b;border:1px solid #7655b4;border-radius:12px;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden;box-shadow:0 0 0 5px #120d2666,0 28px 70px #000b}.tile{cursor:default;color:#fff;border:1px solid #9884d217;place-items:center;min-width:0;display:grid;position:relative}.tile.even{background:#281f4bd1}.tile.odd{background:#191332db}.tile.in-range:after{content:"";border:1px solid #9d6cff30;border-radius:5px;position:absolute;inset:5px}.tile.can-move{cursor:pointer}.tile.can-move:after{content:"";background:#64dfc710;border:1px solid #64dfc766;border-radius:6px;position:absolute;inset:8px}.tile:focus-visible{z-index:4;outline:2px solid #fff}.rune{color:#a996d5;opacity:.1;font-size:24px;position:absolute}.fighter{z-index:2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:2px}.character{filter:drop-shadow(0 8px 7px #000b);font-size:clamp(25px,4vw,48px);transition:transform .2s}.tile:hover .character{transform:translateY(-4px)scale(1.04)}.nameplate{letter-spacing:.09em;white-space:nowrap;text-overflow:ellipsis;background:#090713cc;border:1px solid #ffffff20;border-radius:3px;max-width:90%;padding:3px 5px;font-size:clamp(5px,.63vw,8px);overflow:hidden}.fighter.you .nameplate{color:#9eeeff;border-color:#4dd6f655}.token-health{background:#170a17;border-radius:5px;width:60%;height:4px;margin-top:2px;overflow:hidden}.token-status{color:#aeeaff;background:#0a0714df;border-radius:3px;margin-top:2px;padding:2px 4px;font-size:clamp(6px,.62vw,8px)}.spell-flash{z-index:6;filter:drop-shadow(0 0 18px);font-size:clamp(38px,6vw,70px);animation:.6s ease-out both cast;position:absolute}@keyframes cast{0%{opacity:0;transform:scale(.2)rotate(-35deg)}40%{opacity:1}to{opacity:0;transform:scale(1.6)rotate(12deg)}}.board-key{color:#716c85;letter-spacing:.09em;gap:18px;margin-top:10px;font-size:8px;display:flex}.board-key span:last-child{margin-left:auto}.board-key i{border:1px solid;width:8px;height:8px;margin-right:4px;display:inline-block}.key-move{border-color:#64dfc7!important}.key-range{border-color:#9d6cff!important}.enemies-panel{flex-direction:column;display:flex}.enemy-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px;display:flex}.enemy-title h2{letter-spacing:.1em;margin:0;font-size:14px}.skull{color:#ff6483;font-size:25px}.enemy-list{flex-direction:column;gap:8px;padding:10px;display:flex}.enemy-card{text-align:left;border:1px solid var(--line);color:#fff;cursor:pointer;background:#17122c;border-radius:8px;grid-template-columns:43px 1fr auto;align-items:center;gap:9px;width:100%;padding:10px;display:grid;position:relative}.enemy-card:hover{border-color:#875ee2;transform:translateY(-1px)}.enemy-card.boss{background:linear-gradient(110deg,#26112a,#151027);border-color:#c0496844}.enemy-icon{font-size:30px}.enemy-card>div{flex-direction:column;min-width:0;display:flex}.enemy-card b{font-size:11px}.enemy-card small{color:#88829f;margin-top:3px;font-size:8px}.mini-bar{background:#2d2030;height:3px;margin-top:6px}.bounty{color:var(--gold);font-size:8px}.battle-log{border-top:1px solid var(--line);min-height:155px;margin-top:auto;padding:10px 16px 16px}.battle-log div{background:#ffffff05;border-left:2px solid #52496b;margin:4px 0;padding:5px 7px;font-size:9px;line-height:1.4}.battle-log div.good{color:#a5dec8;border-color:#41bd92}.battle-log div.bad{color:#e4a2af;border-color:#d74c69}.empty-enemies{color:#b4a5dd;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:160px;display:flex}.empty-enemies:first-letter{font-size:36px}.empty-enemies span{color:#817b95;font-size:9px}.spell-dock{z-index:3;border-top:1px solid var(--line);gap:15px;max-width:1380px;margin:18px auto 0;padding:14px 22px;display:flex;position:relative}.dock-label{align-items:center;gap:10px;width:190px;display:flex}.dock-label>span{color:#bc9cff;font-size:26px}.dock-label div{flex-direction:column;display:flex}.dock-label b{letter-spacing:.16em;font-size:10px}.dock-label small{color:#9c76ef;letter-spacing:.08em;margin-top:4px;font-size:7px}.spell-list{flex:1;gap:9px;min-width:0;display:flex}.spell-card{text-align:left;border:1px solid var(--line);color:#fff;cursor:pointer;background:#151128;border-radius:8px;flex:1;grid-template-columns:35px 1fr;align-items:center;min-width:145px;max-width:205px;padding:9px 9px 9px 12px;display:grid;position:relative}.spell-card.selected{background:linear-gradient(120deg,#31205b,#17112c);border-color:#ae84ff;box-shadow:0 0 22px #6f42d833}.spell-card kbd{color:#716985;font-size:7px;position:absolute;top:4px;left:5px}.spell-icon{font-size:25px}.spell-card>span:last-of-type{flex-direction:column;display:flex}.spell-card b{font-size:9px}.spell-card small{color:#827c95;white-space:nowrap;margin-top:3px;font-size:7px}.spell-card em{color:#6dbfee;grid-column:2;margin-top:4px;font-size:7px;font-style:normal}.locked-slot{color:#716c84;cursor:pointer;background:#0d0a19;border:1px dashed #564a72;border-radius:8px;width:90px;font-size:18px}.locked-slot span{margin-top:4px;font-size:7px;display:block}.modal-backdrop,.result-overlay{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05030cdd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(145deg,#211740,#0e0a1d);border:1px solid #7e5dc2;border-radius:16px;width:min(520px,100%);padding:28px;position:relative;box-shadow:0 30px 100px #000}.modal-close{color:#9a90b4;cursor:pointer;background:0 0;border:0;font-size:25px;position:absolute;top:10px;right:14px}.modal-kicker{text-align:center;color:#9676dc;letter-spacing:.2em;font-size:9px}.modal h2{text-align:center;letter-spacing:.08em;margin:8px 0 20px;font:26px Georgia,serif}.modal-intro{text-align:center;color:#9891ad;font-size:11px}.shop-list{gap:9px;display:grid}.shop-item{text-align:left;border:1px solid var(--line);color:#fff;cursor:pointer;background:#151027;border-radius:9px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.shop-item:hover:not(:disabled){border-color:#9f79ed}.shop-item:disabled{opacity:.55}.shop-item>span{font-size:28px}.shop-item div{flex-direction:column;display:flex}.shop-item b{font-size:12px}.shop-item small{color:#8f88a4;margin-top:4px;font-size:9px}.shop-item em{color:var(--gold);font-size:10px;font-style:normal}.shop-balance{border-top:1px solid var(--line);color:#958fa7;justify-content:space-between;margin-top:18px;padding-top:15px;font-size:10px;display:flex}.shop-balance b{color:var(--gold)}.help-list p{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr;margin:0;padding:12px 0;display:grid}.help-list b{color:#b38dff;font-size:10px}.help-list span{color:#aaa3b9;font-size:10px;line-height:1.5}.result-card{text-align:center;background:linear-gradient(145deg,#2a1a51,#0c0918);border:1px solid #b38bff;border-radius:18px;padding:40px 60px;box-shadow:0 0 80px #754bcc55}.result-card>span{font-size:70px}.result-card p{letter-spacing:.25em;color:#b69bea;font-size:9px}.result-card h2{font:30px Georgia,serif}.result-card button{color:#fff;letter-spacing:.15em;cursor:pointer;background:#8155e5;border:0;border-radius:8px;padding:12px 22px;font-size:10px}@media (width<=1100px){.game-grid{grid-template-columns:210px minmax(440px,1fr)}.enemies-panel{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.enemy-title{grid-column:1/-1}.battle-log{border-top:0;border-left:1px solid var(--line)}.enemy-list{grid-template-columns:repeat(3,1fr);display:grid}.spell-dock{overflow-x:auto}.dock-label{min-width:160px}}@media (width<=760px){.topbar{align-items:flex-start;height:auto;padding:13px 15px}.brand small,.round-pill,.ghost-button{display:none}.top-stats{gap:6px}.shop-button,.coin-pill{padding:0 9px}.game-grid{flex-direction:column;margin-top:13px;padding:0 10px;display:flex}.player-panel{text-align:left;grid-template-columns:65px 1fr 1fr;gap:5px 12px;padding:12px;display:grid}.player-panel .eyebrow{display:none}.portrait{grid-row:1/3;width:60px;height:60px;margin:0;font-size:34px}.player-panel h1{align-self:end;font-size:17px}.class-line{margin:0}.meter{margin:5px 0}.statuses,.objective{display:none}.arena-wrap{order:-1}.arena-heading p{display:none}.board{border-radius:8px}.character{font-size:7vw}.enemies-panel{display:flex}.enemy-list{grid-template-columns:1fr;display:grid}.battle-log{border-left:0;border-top:1px solid var(--line)}.spell-dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#090713ef;margin-top:10px;padding:9px;position:sticky;bottom:0}.dock-label{display:none}.spell-list{overflow-x:auto}.spell-card{min-width:135px}.spell-card small{display:none}.locked-slot{min-width:65px}.board-key{padding:0 4px}.modal{padding:22px 16px}}.loadout-overlay{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05030ce8;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.loadout-card{background:linear-gradient(145deg,#241847,#0c091a);border:1px solid #8d67db;border-radius:18px;width:min(760px,100%);margin:auto;padding:28px;box-shadow:0 35px 120px #000}.loadout-card h2{text-align:center;letter-spacing:.08em;margin:8px 0;font:30px Georgia,serif}.loadout-intro{text-align:center;color:#a29ab5;margin:8px 0 15px;font-size:11px}.loadout-count{text-align:center;letter-spacing:.18em;color:#8e87a4;margin-bottom:16px;font-size:9px}.loadout-count span{color:#c3a5ff;font-size:18px}.loadout-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.loadout-spell{text-align:left;border:1px solid var(--line);color:#fff;cursor:pointer;background:#151027;border-radius:9px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-height:64px;padding:10px;display:grid}.loadout-spell:hover{border-color:#7655ba}.loadout-spell.chosen{background:linear-gradient(120deg,#382268,#18112d);border-color:#b488ff;box-shadow:0 0 20px #7048ca33}.loadout-spell>span{font-size:28px}.loadout-spell>div{flex-direction:column;display:flex}.loadout-spell b{font-size:11px}.loadout-spell small{color:#918aa5;margin-top:4px;font-size:8px}.loadout-spell em{color:#6dbfee;font-size:8px;font-style:normal}.loadout-spell.chosen em{color:#fff;background:#8155e5;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.enter-arena{color:#fff;letter-spacing:.16em;cursor:pointer;background:linear-gradient(135deg,#8559e9,#5d36bc);border:0;border-radius:8px;width:260px;max-width:100%;height:44px;margin:20px auto 0;font-size:10px;font-weight:700;display:block;box-shadow:0 8px 25px #623dcc55}.enter-arena:disabled{opacity:.42;cursor:not-allowed}.immunity-note{text-align:center;color:#7edfc8;margin:13px 0 0;font-size:9px}@media (width<=760px){.loadout-card{padding:22px 16px}.loadout-grid{grid-template-columns:1fr}.loadout-spell{min-height:58px}}.pause-button{color:#d9d4ed;letter-spacing:.1em;cursor:pointer;background:#151128;border:1px solid #5b5376;border-radius:8px;height:38px;padding:0 14px;font-size:11px}.pause-button.active{color:#82e8cb;background:#143029;border-color:#67e2c0}.pause-overlay{z-index:25;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#05030cdb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pause-card{text-align:center;background:linear-gradient(145deg,#251949,#0c0919);border:1px solid #8b68d6;border-radius:18px;width:min(430px,100%);padding:38px;box-shadow:0 30px 100px #000}.pause-card>span{color:#c6aaff;background:#6e47c52c;border:1px solid #a77cff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:25px;display:grid}.pause-card p{letter-spacing:.23em;color:#a984ee;font-size:9px}.pause-card h2{margin:10px 0 22px;font:25px Georgia,serif}.pause-card button{color:#fff;letter-spacing:.14em;cursor:pointer;background:linear-gradient(135deg,#8157e5,#5d38b8);border:0;border-radius:8px;height:42px;padding:0 23px;font-size:10px;font-weight:700}.shop-paused-note{text-align:center;color:#70dfbf;letter-spacing:.15em;margin:-8px 0 12px;font-size:9px}@media (width<=760px){.pause-button{padding:0 9px;font-size:9px}.pause-card{padding:30px 20px}}.free-attack{background:linear-gradient(110deg,#3b2b132e,#171126);border:1px solid #d6aa4f66;border-radius:9px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-top:11px;padding:11px 13px;display:grid;box-shadow:inset 0 0 22px #d09e2b12}.free-attack>span{font-size:28px}.free-attack>div{flex-direction:column;display:flex}.free-attack b{color:#f0d38c;letter-spacing:.08em;font-size:10px}.free-attack small{color:#aaa1b5;margin-top:4px;font-size:8px}.free-attack em{color:#f4c65c;border:1px solid #b88e3666;border-radius:10px;padding:4px 7px;font-size:8px;font-style:normal}.spell-list{scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-color:#8155e5 #171128;scrollbar-width:thin;padding:2px 2px 10px;overflow-x:auto}.spell-card{scroll-snap-align:start;flex:0 0 160px}.locked-slot{flex:0 0 90px;min-width:90px}.spell-scroll-button{color:#cbb6ff;cursor:pointer;background:#171129;border:1px solid #6f51a8;border-radius:8px;flex:0 0 34px;align-self:stretch;font-size:27px}.spell-scroll-button:hover{background:#2b1d4c;border-color:#a27bf2}.restart-button{color:#d9d4ed;letter-spacing:.08em;cursor:pointer;white-space:nowrap;background:#151128;border:1px solid #5b5376;border-radius:8px;height:38px;padding:0 12px;font-size:10px}.restart-button:hover{color:#ffd18f;border-color:#ffbd62}.modal,.loadout-card{overscroll-behavior:contain;max-height:calc(100vh - 40px);overflow-y:auto}.shop-list{scrollbar-color:#8155e5 #171128;scrollbar-width:thin;max-height:min(60vh,560px);padding-right:5px;overflow-y:auto}@media (width<=760px){.spell-scroll-button{display:none}.restart-button{padding:0 9px}.restart-button b{display:none}.spell-list{padding-bottom:7px}.loadout-card{max-height:calc(100vh - 20px)}}:root{--ink:#15251c;--lemon:#ffe83e;--acid:#d8fa5d;--lime:#a6de37;--cream:#fffdf0;--line:#26452f}*{box-sizing:border-box}html{background:#0d2418}body{color:var(--ink);background:var(--cream);margin:0;font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button{color:inherit}.game-shell{background:var(--cream);min-height:100vh;overflow:hidden}.topbar{border-bottom:2px solid var(--line);background:#fffef8;justify-content:space-between;align-items:center;height:78px;padding:0 4vw;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-fruit{filter:drop-shadow(2px 3px #b6d832);font-size:38px;transform:rotate(-8deg)}.brand div{flex-direction:column;display:flex}.brand strong{letter-spacing:.12em;font-size:19px}.brand span:last-child{letter-spacing:.2em;opacity:.58;margin-top:2px;font-size:9px;font-weight:800}.header-actions{align-items:center;gap:18px;display:flex}.local-note{letter-spacing:.05em;color:#486052;font-size:11px;font-weight:700}.local-note i{background:#77c628;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.small-button{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:800}.small-button:hover{background:var(--lemon)}.score-strip{border-bottom:2px solid var(--line);background:var(--lemon);grid-template-columns:1fr auto 1fr;min-height:82px;display:grid}.score-team{letter-spacing:.08em;align-items:center;gap:18px;padding:0 5vw;font-weight:900;display:flex}.score-team strong{font-size:43px;line-height:1}.score-team.ours{border-right:1.5px solid var(--line)}.score-team.theirs{border-left:1.5px solid var(--line);background:var(--acid);justify-content:flex-end}.round-status{background:#fffdf0;flex-direction:column;justify-content:center;align-items:center;min-width:220px;display:flex}.round-status span{letter-spacing:.2em;font-size:9px;font-weight:900}.round-status strong{letter-spacing:.08em;font-size:23px}.round-status em{letter-spacing:.13em;opacity:.6;font-size:8px;font-style:normal}.table{color:#fff;isolation:isolate;background:#173a26;min-height:510px;padding:28px 4vw 24px;position:relative}.table:before,.table:after{content:"";z-index:-1;border:1px solid #ffffff17;border-radius:50%;width:380px;height:380px;position:absolute}.table:before{top:55px;left:-130px;box-shadow:0 0 0 38px #ffffff05,0 0 0 78px #ffffff05}.table:after{top:-100px;right:-150px;box-shadow:0 0 0 45px #ffffff05}.team-label{letter-spacing:.12em;color:#c8d7cd;justify-content:space-between;align-items:center;max-width:940px;margin:0 auto 11px;font-size:11px;display:flex}.team-label strong{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;padding:5px 9px;font-size:9px}.opponent-piles,.player-piles{grid-template-columns:repeat(6,1fr);gap:11px;max-width:940px;margin:auto;display:grid}.opponent-pile{background:repeating-linear-gradient(135deg,#234e33,#234e33 8px,#2c5b3c 8px 10px);border:1.5px solid #7fa088;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;height:75px;display:flex;box-shadow:0 4px #0b2516}.opponent-pile span{font-size:23px}.opponent-pile small{letter-spacing:.14em;opacity:.7;font-size:8px;font-weight:900}.opponent-pile.complete{background:var(--acid);color:#193421;border-color:#fff;transform:translateY(-3px);box-shadow:0 5px #719523}.opponent-pile.complete span{font-size:28px;font-weight:950}.center-zone{background:#04180c47;border-top:1px solid #577761;border-bottom:1px solid #577761;grid-template-columns:1fr auto;align-items:center;gap:30px;max-width:1050px;margin:26px auto 24px;padding:17px 28px;display:grid}.center-copy{flex-direction:column;display:flex}.center-copy span{color:var(--lemon);letter-spacing:.2em;font-size:9px;font-weight:900}.center-copy strong{font-family:Georgia,serif;font-size:24px;font-style:italic}.center-copy small{color:#b9c9bf;margin-top:3px}.center-cards,.hand-cards{align-items:center;gap:10px;min-height:96px;display:flex}.card{cursor:pointer;background:#fffef7;border:2px solid #162b1e;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;width:66px;height:92px;transition:all .13s;display:flex;position:relative;box-shadow:0 4px #0b1b11}.card:disabled{opacity:1}.card:not(:disabled):hover{transform:translateY(-4px)}.card.selected{outline:4px solid var(--lemon);transform:translateY(-8px);box-shadow:0 7px #0b1b11}.card.red{color:#cf3d32}.card.black{color:#17251c}.card-rank{font-size:15px;font-weight:950;position:absolute;top:5px;left:7px}.card-suit{font-size:32px}.player-label{margin-top:2px}.mini-pile{color:#fff;cursor:pointer;background:#204c31;border:1.5px solid #759b80;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:89px;transition:all .15s;display:flex}.mini-pile:hover:not(:disabled),.mini-pile.active{border-color:var(--lemon);transform:translateY(-3px);box-shadow:0 0 0 3px #ffe83e38}.mini-pile.complete{background:var(--lemon);color:#183221;border-color:#fff}.mini-stack{justify-content:center;display:flex}.mini-stack i{color:#18241d;background:#fffef7;border:1px solid #173220;border-radius:4px;min-width:29px;margin-left:-4px;padding:8px 3px;font-size:11px;font-style:normal;font-weight:900;box-shadow:0 2px #102719}.mini-stack i:first-child{margin-left:0}.mini-stack i.red{color:#c63b31}.mini-pile small{letter-spacing:.13em;font-size:8px;font-weight:900}.workbench{border-bottom:2px solid var(--line);background:#fffdf0;grid-template-columns:minmax(210px,1fr) auto minmax(240px,1fr);align-items:center;gap:36px;min-height:180px;padding:24px 5vw;display:grid}.step{letter-spacing:.18em;color:#628044;font-size:9px;font-weight:900}.workbench h2{margin:4px 0 5px;font-family:Georgia,serif;font-size:27px;font-style:italic}.workbench p{color:#56705e;max-width:280px;margin:0;font-size:12px;line-height:1.45}.empty-hand{color:#7b8d80;border:1.5px dashed #a8b9aa;border-radius:10px;place-items:center;width:294px;height:95px;font-size:12px;display:grid}.swap-area{flex-direction:column;justify-self:end;align-items:stretch;gap:7px;width:250px;display:flex}.swap-area>span{letter-spacing:.15em;text-align:center;font-size:9px;font-weight:900}.swap-area small{text-align:center;color:#617465;min-height:12px;font-size:10px}.swap-button{background:var(--lemon);border:2px solid var(--line);letter-spacing:.1em;cursor:pointer;min-height:52px;box-shadow:4px 4px 0 var(--line);font-weight:950}.swap-button b{margin-left:12px;font-size:20px}.swap-button:disabled{filter:grayscale();opacity:.4;cursor:not-allowed;box-shadow:none}.controls{background:#fffef8;justify-content:center;align-items:center;gap:28px;min-height:84px;padding:13px 4vw;display:flex}.control-group{flex-direction:column;gap:5px;display:flex}.control-group label{letter-spacing:.16em;font-size:8px;font-weight:900}.segmented{border:1.5px solid var(--line);border-radius:7px;display:flex;overflow:hidden}.segmented button{cursor:pointer;background:#fff;border:0;padding:8px 11px;font-size:11px}.segmented button+button{border-left:1px solid var(--line)}.segmented button.on{background:var(--acid);font-weight:900}.controls select{border:1.5px solid var(--line);background:#fff;border-radius:7px;padding:8px 28px 8px 10px;font-size:11px;font-weight:800}.pause-button,.new-button{border:1.5px solid var(--line);letter-spacing:.08em;cursor:pointer;padding:12px 18px;font-size:10px;font-weight:900}.pause-button{background:#fff}.new-button{background:var(--ink);color:#fff}.result-overlay,.rules-overlay{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#081b10cc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-card{background:var(--lemon);text-align:center;border:2px solid #173220;width:min(470px,94vw);padding:40px;box-shadow:10px 10px #0c1f13}.result-card.lost{background:var(--acid)}.result-fruit{font-size:68px;display:block}.result-card p,.eyebrow{letter-spacing:.22em;font-size:9px;font-weight:950}.result-card h2{margin:7px 0;font:italic 950 52px Georgia,serif}.result-card>span:not(.result-fruit){font-size:13px;display:block}.result-card>strong{margin:18px;font-size:30px;display:block}.result-card button,.got-it{border:2px solid var(--line);background:var(--ink);color:#fff;cursor:pointer;padding:14px 20px;font-weight:900}.rules-card{border:2px solid var(--line);width:min(570px,95vw);max-height:90vh;box-shadow:9px 9px 0 var(--lemon);background:#fffdf0;padding:38px;position:relative;overflow:auto}.rules-card .close{cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:12px;right:16px}.rules-card h2{margin:7px 0 22px;font:italic 900 38px Georgia,serif}.rules-card ol{counter-reset:rules;padding:0;list-style:none}.rules-card li{counter-increment:rules;border-top:1px solid #bdc9bd;flex-direction:column;padding:12px 10px 12px 48px;display:flex;position:relative}.rules-card li:before{content:counter(rules);background:var(--lemon);border-radius:50%;place-items:center;width:26px;height:26px;font-weight:900;display:grid;position:absolute;top:10px;left:8px}.rules-card li span{color:#5e7163;margin-top:3px;font-size:12px}.got-it{width:100%;margin-top:14px}.rules-card>p{text-align:center;color:#68786c;font-size:10px}@media (width<=800px){.topbar{padding:0 18px}.local-note{display:none}.score-strip{grid-template-columns:1fr 120px 1fr}.round-status{min-width:0}.score-team{gap:8px;padding:0 16px}.score-team span{font-size:9px}.table{padding:24px 12px}.opponent-piles,.player-piles{gap:5px}.opponent-pile{height:64px}.center-zone{grid-template-columns:1fr;justify-items:center;gap:10px;padding:14px 5px}.center-copy{align-items:center}.mini-pile{height:78px;padding:4px}.mini-stack i{min-width:20px;padding:6px 1px;font-size:8px}.workbench{text-align:center;grid-template-columns:1fr;justify-items:center;gap:14px}.workbench p{margin:auto}.swap-area{justify-self:center}.controls{flex-wrap:wrap;gap:10px}}@media (width<=520px){.brand span:last-child,.header-actions .small-button{display:none}.brand strong{font-size:15px}.score-team{flex-direction:column;justify-content:center;gap:0}.score-team.theirs{flex-direction:column-reverse}.score-team strong{font-size:28px}.round-status strong{font-size:17px}.round-status em{display:none}.opponent-piles,.player-piles{grid-template-columns:repeat(3,1fr)}.center-cards,.hand-cards{gap:5px}.card{width:58px;height:82px}.controls{justify-content:flex-start}.control-group:first-child{width:100%}.segmented button{flex:1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.game-back-link{z-index:1000;color:#222;background:#ffffffeb;border-radius:999px;padding:9px 12px;font:800 12px/1 system-ui,sans-serif;text-decoration:none;position:fixed;top:12px;right:12px;box-shadow:0 6px 22px #0000002e}
