/* StarBank Starlight: dark adult workspace, one bright child routine. */
body {font-family:ui-rounded,"SF Pro Rounded",Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
body :is(button,a,input,select,textarea):focus-visible {outline:3px solid #a78bfa;outline-offset:4px}
body :is(.primary,.secondary,.button) {border-radius:16px}
body .language-switch button {font-size:.875rem;min-height:40px}
body :is(.eyebrow,.child-nav button) {font-size:.875rem}
body :is(h1,h2,h3) {text-wrap:balance}

/* Adult surfaces use shared tokens so dialogs and all existing views match. */
body:is([data-mode=parent],[data-mode=owner]) {
 --ink:#f8f7ff;--muted:#c3bfd9;--canvas:#101126;--line:#383650;
 --nav:#0d0e20;--purple:#ffcf55;--purple-dark:#ffe49a;--soft:#30294a;
 --gold:#ffd45f;--shadow:0 12px 30px #06061526;--radius:20px;
 color-scheme:dark;background:radial-gradient(ellipse at 70% 0,#28204a 0,transparent 55%),var(--canvas);
}
body:is([data-mode=parent],[data-mode=owner]) .sidebar {background:#101024;border-inline-end:1px solid #302d47;gap:24px}
body:is([data-mode=parent],[data-mode=owner]) .topbar {background:#131429e8;backdrop-filter:blur(16px);border-color:var(--line)}
body:is([data-mode=parent],[data-mode=owner]) .content {max-width:1240px}
body:is([data-mode=parent],[data-mode=owner]) :is(.card,.entry-card,dialog,.area-switch,.pill,.secondary,.profile-button,.notification-dropdown) {background:#202038;color:var(--ink);border-color:var(--line)}
body:is([data-mode=parent],[data-mode=owner]) :is(input,select,textarea) {background:#16172e;color:var(--ink);border-color:#59536e}
body:is([data-mode=parent],[data-mode=owner]) :is(input,textarea)::placeholder {color:#a4a0bb}
body:is([data-mode=parent],[data-mode=owner]) .primary {background:linear-gradient(135deg,#ffdc70,#ffc344);color:#2d2142;box-shadow:0 4px 0 #a96c15,0 8px 22px #ffc34415;border:1px solid #ffe292}
body:is([data-mode=parent],[data-mode=owner]) .primary:hover {background:#ffe18a}
body:is([data-mode=parent],[data-mode=owner]) :is(.secondary:hover,.profile-button-small:hover,.icon-choice button,.code-box,.account-summary,.subscription-date,.onboarding-steps span,.library-choice) {background:#2a2844;color:#f5f1ff;border-color:#48405e}
body:is([data-mode=parent],[data-mode=owner]) .library-choice:hover {background:#383153;border-color:#ac94ef}
body:is([data-mode=parent],[data-mode=owner]) .close-button {background:#39344e;color:white}
body:is([data-mode=parent],[data-mode=owner]) .nav-link.active {background:#35304b;color:#ffdc77;box-shadow:inset 3px 0 #ffce59}
[dir=rtl] body:is([data-mode=parent],[data-mode=owner]) .nav-link.active {box-shadow:inset -3px 0 #ffce59}
body:is([data-mode=parent],[data-mode=owner]) .area-switch :is(a,button,span) {color:#d0c9e4}
body:is([data-mode=parent],[data-mode=owner]) .area-switch [aria-current=page] {background:#403657;color:#ffe49a}
body:is([data-mode=parent],[data-mode=owner]) .pill.active {background:#4a3c64;border-color:#9a83c3;color:white}
body:is([data-mode=parent],[data-mode=owner]) :where(.language-switch,.language-switch button[aria-pressed=true]) {background:#302a47;color:#f8f4ff;border-color:#5a4e70}
body:is([data-mode=parent],[data-mode=owner]) .language-switch button[aria-pressed=true] {background:#56466f}
body:is([data-mode=parent],[data-mode=owner]) .mobile-nav {background:#111225f5;border-color:var(--line)}
body:is([data-mode=parent],[data-mode=owner]) .mobile-nav button.active {color:#ffdc77;background:#332b46}
body:is([data-mode=parent],[data-mode=owner]) .progress-track {background:#3d3753}
body:is([data-mode=parent],[data-mode=owner]) .progress-fill {background:linear-gradient(90deg,#b295ed,#f7d573)}
body:is([data-mode=parent],[data-mode=owner]) .notification-item {background:#202038!important;color:#f5f1ff!important;border-color:#3b3453!important}
body:is([data-mode=parent],[data-mode=owner]) .notification-item.is-unread {background:#41335f!important;border-inline-start:3px solid #c7a6ff!important}
body:is([data-mode=parent],[data-mode=owner]) .notification-item:hover {background:#51406e!important}
body:is([data-mode=parent],[data-mode=owner]) .notification-head {border-color:var(--line)}
body:is([data-mode=parent],[data-mode=owner]) .notification-head p {color:#c3bfd9;font-size:.875rem}
body:is([data-mode=parent],[data-mode=owner]) .is-unread .notification-dot {background:#e0c4ff}
body:is([data-mode=parent],[data-mode=owner]) .notice {background:#352f24;color:#ffe8ac;border-color:#72603b}
body:is([data-mode=parent],[data-mode=owner]) .translation-status {background:#302942;color:#ddd0f4;border-color:#59486f}
body:is([data-mode=parent],[data-mode=owner]) .danger {background:#502534;color:#ffc6d4}
body:is([data-mode=parent],[data-mode=owner]) .day-check input:checked+span {color:#2d2142}

/* A compact summary and real quick actions, not a second layer of navigation. */
.parent-overview {gap:26px}
.parent-overview .overview-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.parent-overview .overview-stats .stat {grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;padding:20px}
.parent-overview .overview-stats .stat-icon {grid-row:1/3;margin:0}
.parent-overview .overview-stats .stat-label {font-size:.875rem;line-height:1.45}
.parent-overview .overview-stats .stat strong {grid-column:2;font-size:1.8rem;line-height:1.15}
.parent-quick-actions {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.parent-quick-actions button {display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:88px;text-align:start;padding:18px;border:1px solid #4a4162;border-radius:18px;background:linear-gradient(145deg,#2e2845,#232137);color:#f9f5ff;font-weight:650;font-size:1rem}
.parent-quick-actions button:hover {background:#3b3054;border-color:#ad94dd}
.parent-quick-actions svg {width:28px;height:28px;color:#e4c3ff}
.parent-overview .child-card {border-top:3px solid #a087d7}
.parent-overview .child-stats strong {color:#ffe29a}
.parent-overview .child-card .avatar {border-radius:50%;outline:4px solid #ffffff0b}

/* Children keep a bright, touch-friendly surface in every adventure. */
body[data-mode=kids] {--ink:#292143;--muted:#685f7c;--line:#e4dfee;--purple:#6746bc;--purple-dark:#513098;--soft:#f0e8ff;background:#f8f5ff}
.child-layout.kids-adventures {background:linear-gradient(180deg,#ece6ff 0,#fbfaff 300px)!important}
.kids-adventures .child-topbar {border-bottom:1px solid #ded4ef;background:#ffffffc9;max-width:none;padding-inline:max(20px,calc((100% - 1100px)/2));backdrop-filter:blur(12px)}
.kids-adventures .brand-star {box-shadow:0 4px 12px #b8883229}
.kids-adventures .child-content {padding-top:24px;max-width:1100px}
.kids-adventures .adventure-identity {font-size:1.35rem;gap:16px;padding-bottom:24px}
.kids-adventures .adventure-identity .star-balance {background:linear-gradient(135deg,#ffe9a4,#ffd365);border:1px solid #edc05d;color:#674713;border-radius:16px;padding:12px 20px;font-size:1.15rem}
.kids-adventures .journey-current {border:1px solid #ddd2ee;border-top:5px solid #b198db;box-shadow:0 14px 36px #6c4fa010;border-radius:24px;padding:26px}
.kids-adventures .journey-current .eyebrow {align-self:flex-start;color:#7659a2;letter-spacing:.07em}
.kids-adventures .current-picture {background:#f2ecfb;border-radius:24px;padding:10px}
.kids-adventures .primary {background:linear-gradient(135deg,#ffdd7a,#ffc64d);color:#46331c;box-shadow:0 4px 0 #d39d32;border:1px solid #f8d079;font-size:1rem;min-height:52px}
.kids-adventures .primary:hover {background:#ffe396}
.kids-adventures .secondary {background:#f7f3ff;border-color:#d9cbea;color:#593b83}
.kids-adventures .journey-tabs {padding:6px;border-radius:18px;background:#fff;box-shadow:0 4px 18px #66459908}
.kids-adventures .journey-tabs button.selected {background:#ebe1fa;color:#573388;box-shadow:inset 0 -3px #b59adb}
.kids-adventures .journey-progress .progress-track {height:12px;border-radius:20px}
.kids-adventures .journey-progress .progress-fill {background:linear-gradient(90deg,var(--world),#bb92ec)}
.kids-adventures .adventure-choice {border-radius:24px;box-shadow:0 5px 0 #ded4ed,0 12px 22px #6950800b}
.kids-adventures .adventure-choice.selected {outline:2px solid #9570cb;outline-offset:2px}
.kids-adventures .choose-label {font-size:.875rem}
.kids-adventures .child-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(550px,calc(100% - 24px));max-width:none;bottom:max(12px,env(safe-area-inset-bottom));border-radius:22px;background:#fffefcf5;box-shadow:0 8px 35px #39275924;padding:7px}
.kids-adventures .child-nav button {min-width:0;padding:10px 8px;font-size:.875rem;line-height:1.4;gap:6px}
.kids-adventures .child-nav button.active {background:#efe7fb;color:#614293}
.kids-adventures .child-nav svg {width:25px;height:25px}
.collection-item {background:linear-gradient(160deg,#fff,#f5eeff);border:1px solid #dfd1ed;border-radius:22px;box-shadow:0 4px 0 #e6d9f1;text-align:center}
.collection-item strong {color:#684824;background:#ffefc6;padding:7px 12px;border-radius:12px}
.collection-item .choice-art {max-height:150px}
body[data-mode=kids] dialog {border:1px solid #ddd0ed;border-radius:24px}

/* Public pages: the same violet-and-gold identity without changing registration. */
body.starlight-public {--ink:#fff9ff;--muted:#d5cdeb;--line:#5c4b86;--purple:#ffda75;--purple-dark:#ffe6a2;--canvas:#211742;--lavender:#382656;--white:#17122f;background:radial-gradient(ellipse at 75% 15%,#5844a0,transparent 45%),linear-gradient(165deg,#181432,#2d2257 48%,#17142c);color:var(--ink)}
.starlight-public .site-header {background:#18142fee;border-color:#554775;backdrop-filter:blur(16px)}
.starlight-public .brand-dot {color:#ffda75}
.starlight-public :is(.button,.button.outline) {background:linear-gradient(135deg,#ffe59a,#ffce59);border-color:#ffe6a2;color:#352045;box-shadow:0 4px 0 #a87523;font-size:1rem}
.starlight-public :is(.button:hover,.button.outline:hover) {background:#ffe8ac}
.starlight-public .hero {gap:50px;padding-top:70px;padding-bottom:70px}
.starlight-public h1 {font-weight:850;letter-spacing:-.04em}
.starlight-public h1 span {color:#ffda75}
.starlight-public .hero-description {color:#e0d8f0}
.starlight-public .mascot-stage {background:radial-gradient(ellipse,#8c6bd455,transparent 70%);border-radius:40px;border:1px solid #b59bea55}
.starlight-public .hero-mascot {filter:drop-shadow(0 14px 32px #ffd86135)}
.starlight-public :is(.orbit-star,.mascot-note) {color:#ffe394}
.starlight-public .example-card {background:#fcfaff;color:#30243f;border-color:#cdb9e7;box-shadow:0 18px 55px #09061655;margin-inline:auto;transform:rotate(-2deg)}
.starlight-public .example-card :is(small,.example-label) {color:#6d627e}
.starlight-public .example-task {font-size:1rem}
.starlight-public .example-task small {font-size:.875rem}
.starlight-public .example-reward {background:#fff0c9;color:#4f3a21}
.starlight-public .task-emoji {background:#eee4fa}
.starlight-public .benefit-strip {background:#ffffff0a;border-block:1px solid #8e75bf55;color:#e8def5}
.starlight-public .family-section {background:#15122d99;border-block:1px solid #67548155}
.starlight-public :is(.plan-card,.plan-card.featured) {background:#282041;border-color:#73618f}
.starlight-public .plan-card.featured {border-color:#ffda75;background:linear-gradient(150deg,#423050,#271e40)}
.starlight-public .plan-ribbon {color:#362448;background:#ffda75}
.starlight-public .closing {background:linear-gradient(120deg,#4e377d,#372652);border:1px solid #9a7ac0}
.starlight-public .closing p {color:#e3d5f1}
.starlight-public .closing-star {color:#ffdc75}
.starlight-public :is(.site-menu summary,.site-menu-panel) {background:#29213f;border-color:#72608a;color:#fff6ff}
.starlight-public .site-menu-panel nav a:hover {background:#48335f}
.starlight-public .site-menu-panel .button:hover {background:#ffe8ac;color:#352045}
.starlight-public .site-menu-language {border-color:#615074}
.starlight-public .site-menu[open] summary {background:#453159}
.starlight-public :is(.eyebrow,.quiet,.plan-note,.site-footer p) {font-size:.875rem}
.starlight-public .signup-card {--ink:#2c2340;--muted:#6b607b;--purple:#6846ab;--purple-dark:#50338d;--line:#ded6e9;--lavender:#f0e8fc;background:#fcfaff;color:var(--ink);box-shadow:0 16px 60px #09061630}
.starlight-public .signup-card p {color:var(--muted)}
.starlight-public .signup-card .button {color:#352045}
.starlight-account {background:radial-gradient(ellipse at 50% 10%,#4b367e,transparent 60%),#17132e}
.starlight-account .top {background:#19142e;color:#fff6ff;border-color:#55426f}
.starlight-account :is(.welcome,.welcome p,footer) {color:#eee5fc}
.starlight-account .welcome .eyebrow {color:#ffda75}
.starlight-account .card {border-radius:26px;box-shadow:0 18px 60px #08061635;border-color:#d4c1e8}
.starlight-account .primary {background:linear-gradient(135deg,#ffdf88,#ffca53);color:#362448;border-color:#efc76f;box-shadow:0 3px 0 #c6993b;border-radius:14px}
.starlight-account .primary:hover {background:#ffe49c}
.starlight-account .welcome img {filter:drop-shadow(0 0 22px #ffde6e33)}

@media(max-width:900px){
 .parent-quick-actions {grid-template-columns:repeat(2,minmax(0,1fr))}
 .parent-overview .overview-stats .stat {display:flex;flex-direction:column;align-items:flex-start;padding:16px}
 .parent-overview .overview-stats .stat-icon {display:none}
}
@media(max-width:760px){
 body:is([data-mode=parent],[data-mode=owner]) .topbar {padding:14px 16px;gap:12px}
 body:is([data-mode=parent],[data-mode=owner]) .topbar>.brand {flex:1 0 100%;font-size:1.25rem}
 body:is([data-mode=parent],[data-mode=owner]) .topbar .actions {width:100%;margin:0;justify-content:space-between;gap:8px}
 body:is([data-mode=parent],[data-mode=owner]) .topbar .actions>.primary {margin-inline-start:auto}
 body:is([data-mode=parent],[data-mode=owner]) .mobile-nav {gap:2px;padding-inline:8px}
 body:is([data-mode=parent],[data-mode=owner]) .mobile-nav button {min-width:0;flex:1;padding-inline:3px;font-size:.875rem}
 .parent-overview .overview-stats {gap:8px}
 .parent-overview .overview-stats .stat {padding:14px 10px}
 .parent-overview .overview-stats .stat strong {font-size:1.55rem}
 .parent-quick-actions button {min-height:88px;flex-direction:column;justify-content:center;text-align:center;padding:16px 10px;gap:9px}
 .kids-adventures .child-content {padding-inline:16px;padding-bottom:120px}
 .kids-adventures .journey-body {display:flex;flex-direction:column;gap:18px}
 .kids-adventures .journey-current {position:static;order:-1;width:100%;padding:22px}
 .kids-adventures .journey-stage {width:100%}
 .kids-adventures .journey-current .current-picture {display:block;width:100px;height:100px}
 .kids-adventures .journey-current .current-picture :is(img,.activity-picture) {max-width:80px;max-height:80px}
 .kids-adventures .journey-current .primary {width:100%}
 .kids-adventures .journey-current h2 {font-size:1.5rem}
 .kids-adventures .adventure-identity {font-size:1.15rem}
 .kids-adventures .journey-tabs button {font-size:.875rem;gap:5px}
 .starlight-public .hero {gap:32px;padding-block:40px}
 .starlight-public .example-card {transform:none}
}
@media(max-width:380px){
 .parent-overview .overview-stats {grid-template-columns:1fr}
 .parent-overview .overview-stats .stat {flex-direction:row;justify-content:space-between;align-items:center}
 .parent-overview .overview-stats .stat-label {max-width:70%}
 .kids-adventures .child-nav button {font-size:.875rem;padding-inline:3px}
}
@media(prefers-reduced-motion:reduce){.starlight-public .button:hover{transform:none}}
[dir=rtl] body :is(h1,h2,h3) {letter-spacing:normal}
.simple-routine {--world:#7652b6;--adventure-ink:#292143}
.yesterday-entry {margin-block:24px;text-align:center}
.yesterday-list {display:grid;gap:14px;margin-top:20px}
.yesterday-card {display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#faf7ff;color:#332544}
.yesterday-card h3 {overflow-wrap:anywhere;font-size:1rem}
.yesterday-card p {font-size:1rem;color:#685e78}
.yesterday-card .primary {background:#ffd46c;color:#3f2e1a}
.row-body>.badge {width:fit-content;margin-top:6px}
.routine-body {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
.routine-list {display:grid;gap:10px;min-width:0}
.routine-list h2 {font-size:1.1rem;margin:0 0 4px;padding:0 4px}
.routine-row {display:flex;align-items:center;gap:12px;width:100%;padding:16px 14px;border:1px solid #e3daee;border-radius:18px;background:#fff;color:#332544;text-align:start;min-height:86px}
.routine-row.current {border:2px solid #ac90d4;background:#f7f2ff}
button.routine-row:hover {border-color:#9b77c8;background:#f8f3ff}
.routine-row.approved {background:#f2fbf5;border-color:#cbe5d3}
.routine-row.pending {background:#fffaf0;border-color:#eedfb8}
.routine-row.skipped {background:#f4f1f8}
.routine-number {display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid #cdbade;color:#705191;font-size:.875rem;font-weight:800}
.approved .routine-number {color:#217a48;background:#def2e6;border-color:#b6d9c3}
.pending .routine-number {color:#805914;background:#fff0c8;border-color:#e8d290}
.routine-picture {display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;font-size:1.6rem}
.routine-picture :is(img,.activity-picture) {max-width:44px;max-height:44px;object-fit:contain}
.routine-row-copy {display:grid;gap:4px;min-width:0;flex:1;overflow-wrap:anywhere}
.routine-row-copy strong {font-size:1rem;line-height:1.4}
.routine-row-copy small {font-size:.875rem;color:#685e78}
.routine-points {font-size:.875rem;font-weight:750;color:#7a570e;white-space:nowrap}
.simple-routine .journey-current {position:sticky;top:20px}
.simple-routine .current-picture {display:grid;place-items:center;width:128px;height:128px}
.simple-routine .current-picture :is(img,.activity-picture) {max-width:100px;max-height:100px;object-fit:contain}
.simple-routine .journey-current>.primary {width:100%}
.simple-routine .journey-rest>img {object-fit:contain}
.starlight-public .steps-grid article {background:#2c2346;border-color:#66507f;border-radius:22px;padding:24px}
body:is([data-mode=parent],[data-mode=owner]) .stars {color:#ffdc77}
body:is([data-mode=parent],[data-mode=owner]) :is(.bubble,.nav-link b) {color:#31213f}
body:is([data-mode=parent],[data-mode=owner]) .badge:not(.green):not(.orange):not(.red):not(.gray) {background:#453459;color:#eedaff}
body:is([data-mode=parent],[data-mode=owner]) .skip-link {background:#352a4f;color:white}
.starlight-public .feature-list article>span {background:#403056;color:#ffda75;border-color:#806494}
@media(max-width:760px){
 .routine-body {grid-template-columns:1fr;gap:24px}
 .simple-routine .journey-current {position:static}
 .routine-row {gap:10px;padding:14px 12px}
 .simple-routine .current-picture {display:grid;width:104px;height:104px}
}
@media(max-width:360px){.routine-picture{display:none}.routine-row{gap:8px}}
