/* SmartSpark: shared controls, distinct age-appropriate learning spaces. */
:root{--ink:#183044;--muted:#526679;--line:#d8e3e9;--navy:#10283b;--action:#096e91;--surface:#fff;--shadow-soft:0 4px 20px #17364d06;--shadow-raised:0 12px 32px #17364d10;--radius-card:20px;--focus:#996100}
body{font-size:16px;line-height:1.55;text-rendering:optimizeLegibility}html{scroll-padding-top:calc(var(--app-header-height,80px) + 24px)}
h1,h2,h3{text-wrap:balance}h1{line-height:1.16;letter-spacing:-1.1px}h2{line-height:1.3;letter-spacing:-.45px}p{line-height:1.6}.muted{color:var(--muted)}
.button{min-height:44px;background:var(--action);border-radius:12px;font-size:14px;padding:10px 16px;font-weight:700;transition:background-color .16s,box-shadow .16s;color:#fff}.button.secondary{background:#fff;color:var(--ink);border:1px solid #bccdd8;box-shadow:none}.button.soft{background:#e8f3f7;color:#086283}.button.danger{background:#ab2438;color:#fff}.button.small{min-height:40px;font-size:13px}.text-button{color:var(--action);min-height:28px;line-height:1.5}.danger-text{color:#a62537}.button:hover:not(:disabled){box-shadow:0 3px 10px #102a4018}.button:active:not(:disabled){filter:brightness(.95)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.main:focus{outline:none}.system-icon{width:20px;height:20px;flex-shrink:0;display:block}.system-label{min-width:0}.skip-link{position:fixed;left:16px;top:8px;z-index:2000;transform:translateY(-160%);background:#fff;color:#16374b;border:2px solid var(--action);border-radius:10px;padding:12px 18px;font-weight:700}.skip-link:focus{transform:translateY(0)}
.app-shell .topbar,.explorer>.topbar,#owner-app>.topbar{position:sticky;top:0;min-height:76px;padding:12px 28px;background:#fffffff7;border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none;z-index:60}.topbar .button{min-height:44px;font-size:13px}.topbar .header-brand{font-size:22px;letter-spacing:-.85px}.topbar .header-brand img{width:38px;height:38px;border-radius:12px}.topbar .crumb{font-size:12px;letter-spacing:.15px}.header-child{font-size:12px}.header-child select{min-height:44px;border-color:#bdceda;background:#f5f9fb;font-size:14px}.topbar .date{font-size:12px;color:var(--muted)}.topbar .top-actions{gap:8px}.sidebar-toggle{display:grid;place-items:center;width:44px}.sidebar{background:#112c40!important;border-right:1px solid #ffffff16}.sidebar .eyebrow{color:#adbecb!important}.nav button{min-height:46px;border-radius:10px;font-size:14px;color:#bacbd7;gap:12px}.nav button.active{background:#224a60;color:#e4f7ff;box-shadow:inset 3px 0 #65d1ed}.sidebar-bottom button{display:flex;gap:10px;align-items:center;min-height:44px;font-size:13px}.profile-chip{background:#1b3b51;border-radius:14px}.profile-chip small{color:#b1c8d8}
.main{max-width:1440px;padding:24px 32px 40px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px;box-shadow:var(--shadow-soft)}.grid-main,.two-cols,.stack{gap:24px}.section-head{margin-bottom:18px;align-items:center}.section-head h2{font-size:21px}.section-head p,.card>.muted{font-size:14px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--action);font-weight:800}.hero,.page-hero{margin-bottom:26px}.hero h1,.page-hero h1{font-size:clamp(28px,2.8vw,38px)}.hero p,.page-hero p{font-size:15px;color:var(--muted);max-width:720px;margin-top:10px}.badge{font-size:11px;letter-spacing:.4px;padding:5px 9px;border-radius:7px}.badge.green{background:#e2f2e9;color:#236649}.badge.orange{background:#fff0cf;color:#825114}.empty{padding:26px 20px;background:#f8fafb;border:1px dashed #c8d7df;border-radius:14px;font-size:14px;color:#52697b}.footer-note{font-size:12px;color:#52697b;opacity:1}.entry-card{padding:18px 0}.entry-card p{font-size:15px}.notice{font-size:14px;line-height:1.6;border-radius:13px;padding:15px 17px}
.role-banner{border-radius:14px;padding:12px 16px;margin-bottom:20px}.role-banner b{font-size:14px}.role-label{font-size:11px}.parent-shell .main{background:linear-gradient(#f5f7f900,#f7f9fa)}.parent-shell .role-parent{padding:0 0 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:22px}.parent-shell .role-parent b{font-size:13px}.parent-steps{gap:12px;margin-bottom:24px}.parent-steps>button{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:none;display:grid;grid-template-columns:34px minmax(0,1fr);gap:5px 14px}.parent-steps>button>span{grid-column:1;grid-row:1/4;border-radius:50%;background:#e5f3ed}.parent-steps strong,.parent-steps small,.parent-steps em{grid-column:2}.parent-steps strong{font-size:16px}.parent-steps small{font-size:13px;color:#526679}.parent-steps em{font-size:12px;color:var(--action);font-style:normal}.parent-shell .vault-stats>.card{background:#fff;padding:16px 18px}.parent-shell .vault-stats .stat-label{font-size:11px}.parent-shell .vault-stats .stat-foot{font-size:12px}.parent-shell .vault-stats .stat-number{font-size:28px}.family-card{background:linear-gradient(135deg,#102d43,#1d435b);border:1px solid #284b60}.family-card p,.family-card small{color:#d6e5ed}.family-card .progress{height:18px!important;border-width:1px;margin:16px 0 10px}.family-card .progress i{min-height:18px;box-shadow:none}
.scholar-shell .role-banner{background:color-mix(in srgb,var(--blue) 9%,white);border-color:color-mix(in srgb,var(--blue) 20%,white)}.cosmic-mission{border:1px solid #234f71;border-radius:28px;padding:30px 36px;box-shadow:0 12px 32px #1b355211;background:radial-gradient(ellipse at 85% 30%,color-mix(in srgb,var(--blue) 65%,transparent),transparent 60%),linear-gradient(125deg,#101e37,#183852)}.cosmic-mission h1{font-size:clamp(30px,3vw,44px);line-height:1.14;letter-spacing:-1.3px}.cosmic-mission .mission-intro>p{font-size:15px;color:#d5e5f0;max-width:480px}.cosmic-mission .eyebrow{color:#d1d1ff}.cosmic-mission .light-button{background:#fff;color:#213d5a}.cosmic-mission .hero-secondary{background:#ffffff10;border:1px solid #ffffff40;color:#f3f8ff}.cosmic-mission .planet-reward{flex-basis:300px;min-width:250px}.reward-orbit{border:0;background:transparent;padding:0;backdrop-filter:none}.reward-orbit .eyebrow{font-size:11px;letter-spacing:1.6px}.planet-scene{width:205px}.reward-orbit h2{font-size:18px;margin-top:9px}.reward-orbit .orbit-caption{font-size:12px;color:#d0e0ee}.reward-orbit .orbit-points{font-size:14px}.flight-stats{gap:12px;margin:20px 0}.flight-stat{border-radius:18px;padding:18px 18px 14px;box-shadow:none}.flight-stat:hover{transform:none;box-shadow:var(--shadow-soft)}.stat-copy strong{font-size:32px;letter-spacing:-1px}.stat-copy b{font-size:14px}.stat-copy small{font-size:12px;color:#466075}.stat-emblem{font-size:29px}.mission-stars,.streak-track,.shield-cells,.discovery-sparks{margin-top:12px}.scholar-shell .quest-grid{gap:12px;margin-bottom:24px}.scholar-shell .quest-card{padding:18px;border-radius:18px;border-top-width:3px}.scholar-shell .quest-card>h2{font-size:17px}.scholar-shell .quest-card>p{font-size:13px}.scholar-shell .quest-card>b{font-size:12px}.next-stop{padding:16px;gap:14px;border-radius:15px}.next-stop small{font-size:12px}.next-stop b{font-size:16px}.next-stop em{font-size:12px}.ready-to-launch{padding:24px 18px}.compact-universe .constellation{min-height:240px;max-height:300px}.waypoint-card h3{font-size:18px}.waypoint-kicker{font-size:11px}.journey-stop{min-height:165px}.week-count span{font-size:14px!important;padding:12px!important;min-width:85px}.week-count span.done{border-style:solid;border-color:#79b49a;color:#195b40;background:#e8f6ee}
.explorer-world{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 65%,#fffdf6),#fffdf6)!important}.explorer .main{max-width:1120px;padding-top:20px}.explorer .role-banner{background:#fff6d9;border-color:#ead69c}.explorer-hero{background:radial-gradient(ellipse at 60% 0,#fff6cf,transparent 70%),#edf6ed;border:1px solid #cde3d0;border-radius:28px;margin:16px 0;padding:26px 24px 14px}.explorer-hero h1{font-family:ui-rounded,'SF Pro Rounded',system-ui,sans-serif;font-size:36px;line-height:1.2;color:#255b4b;letter-spacing:-.8px}.explorer-hero p{font-size:16px;color:#446e58}.explorer-hero .eyebrow{font-size:11px;color:#47715b}.garden-friends{font-size:40px;margin-top:10px;letter-spacing:10px}.explorer-missions{gap:16px;margin-top:18px}.explorer-missions>button{border-width:1px;box-shadow:0 4px 0 #dcd5ed;border-radius:20px;padding:20px}.explorer-missions small{font-size:13px;line-height:1.5}.explorer-missions b{font-size:18px}.explorer .explore-grid{gap:16px}.explorer .explore-button{border:2px solid #cbdedc;box-shadow:0 5px 0 #d6e8df;min-height:180px;border-radius:24px;padding:24px 16px;font-size:20px;line-height:1.35}.explorer .explore-button:nth-child(2){background:#eef5ff;border-color:#c9ddf0;box-shadow:0 5px 0 #d7e7f4}.explorer .explore-button:nth-child(3){background:#fff0f4;border-color:#ebcfdb;box-shadow:0 5px 0 #f0dbe4}.explorer .explore-button:nth-child(4){background:#eff9ee;border-color:#c6e1c3}.explorer .explore-button small{font-size:12px;color:#526b5c;line-height:1.5}.explorer .explore-button>span{font-size:44px;margin-bottom:16px}.explorer .garden-heading{font-size:23px;margin-top:30px!important;margin-bottom:18px}.explorer .sticker-card{border:1px solid #e5d6a8;background:#fffdf5}.explorer .sticker-card p{font-size:14px}.sticker-garden{gap:18px}.discovery-story p{font-size:16px}.explorer .button{min-height:48px;font-size:14px}
label{font-size:14px;color:var(--ink)}input,select,textarea{border-color:#aabfce;border-radius:11px;font-size:16px;line-height:1.5}input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:44px}textarea{line-height:1.65}.form-error{font-size:14px;color:#8d2033;background:#fff0f2}.form-actions{gap:10px;border-top:1px solid var(--line);padding-top:18px}.form-actions .button{min-height:44px}.draft-answer-note{color:#6b4c17;background:#fff3d3;font-size:14px}.rich-hint{font-size:13px}.rich-counter{font-size:12px}.rich-field .ql-toolbar button{min-width:36px;min-height:36px!important}.rich-field .rich-controls{background:#f5f8fb}.answer-pane .rich-surface{box-shadow:none}.answer-preview,.feedback-preview{border-radius:15px}.answer-preview{border:1px solid #d7dcec;background:#f5f5fd}.feedback-preview{border:1px solid #d2e6d7;background:#f0f8f2}.question-rich{font-size:16px}.question-rich p{line-height:1.7}.question-pane{background:#f4f8fb;border-color:#d6e3eb}
dialog{border-radius:24px;border:1px solid #cbdbe5;box-shadow:0 24px 90px #08233740;max-height:90dvh}dialog::backdrop{background:#0a233a9c;backdrop-filter:blur(3px)}.modal-head{background:white;border-bottom:1px solid var(--line);padding:20px 24px}.modal-head h2{font-size:23px;line-height:1.3}.modal-head .close{width:44px;height:44px;min-width:44px;border-radius:12px;background:#edf3f7;color:var(--ink)}.modal-body{padding:24px}.modal-body .button{scroll-margin-block:24px}.settings-profile{padding:22px;border:1px solid var(--line);border-radius:16px;margin:18px 0;background:#fbfcfd}.settings-profile h3{font-size:18px}.settings-profile .form-grid{gap:16px}
.family-chat{border-radius:22px;border-color:#cbdce5;box-shadow:var(--shadow-soft)}.conversation-list{background:#f2f6f9}.conversation-list button{min-height:56px;border:1px solid transparent}.conversation-list button.selected{background:#e0eff3;border-color:#bdd8df;color:#18546a}.chat-heading{background:#fff;padding:18px 22px}.chat-heading small{font-size:12px}.chat-history{background:radial-gradient(circle at 10% 20%,#e8f1ec,transparent 45%),#f5f8f6;padding:22px}.chat-bubble{padding:13px 17px;border:1px solid #e0e8e4;box-shadow:0 2px 5px #173c2d05}.chat-bubble.mine{background:#e0f3e8;border-color:#c8e4d4}.chat-bubble p{font-size:15px;line-height:1.6}.chat-meta{font-size:11px}.chat-meta button{min-height:26px;padding:2px 6px}.chat-compose small{font-size:12px}.emoji-row button{min-width:36px;min-height:36px}.chat-compose{border-top:1px solid #dbe6e0;background:#fff}
#owner-app{background:#f5f7f9;min-height:100dvh}#owner-app>.topbar{gap:20px}#owner-app .brand{color:var(--ink);text-decoration:none}.owner-main{max-width:1320px}.owner-main .hero{align-items:flex-start}.owner-main .hero h1{font-size:36px}.owner-main .hero p{font-size:15px}.owner-main>.notice{background:#edf3f7;color:#3e596e;border:1px solid #cfdee7}.owner-main .card{padding:24px}.owner-filters{background:#f5f8fa;border-radius:14px;padding:16px;gap:16px}.owner-main table{width:100%;border-collapse:collapse}.owner-main th{font-size:11px;letter-spacing:.8px;text-transform:uppercase;background:#f4f7f9;color:#526679;padding:14px 12px}.owner-main td{padding:18px 12px;font-size:14px;border-bottom:1px solid #e2e9ee}.owner-main td:first-child{min-width:150px}.owner-main .owner-action.danger{background:#fff;color:#9e2c3d;border:1px solid #e6bec5}.owner-main .owner-action.danger:hover{background:#fff2f3}.owner-main .badge{font-size:12px;letter-spacing:0;text-transform:capitalize}.owner-main .owner-action{font-size:13px;min-height:40px}.owner-main td .inline-row{gap:8px}.owner-main tbody tr:hover{background:#fafcfd}
@media(max-width:1100px){.main{padding:22px 24px 32px}.parent-steps>button{padding:16px;gap:5px 10px}.parent-steps strong{font-size:15px}.cosmic-mission{padding:26px}.cosmic-mission .planet-reward{flex-basis:270px;min-width:230px}.topbar .crumb{display:none}.owner-main td{padding:14px 10px}}
@media(max-width:760px){body{font-size:16px}.main{padding:18px 16px 30px}.app-shell .topbar,.explorer>.topbar,#owner-app>.topbar{padding:10px 14px!important;gap:8px;min-height:66px}.topbar .header-brand{font-size:20px}.topbar .header-brand img{width:34px;height:34px}.topbar .top-actions{gap:6px}.parent-shell .topbar .top-actions{gap:5px}.parent-shell .top-actions>button:not(.updates-button){width:40px;min-width:40px;min-height:44px}.topbar [data-action=settings] .system-label,.topbar [data-action=switch] .system-label{display:none}.topbar [data-action=settings]::before,.topbar [data-action=switch]::before{display:none!important}.topbar [data-action=settings],.topbar [data-action=switch]{font-size:13px!important}.system-icon{width:20px;height:20px}.header-child select{font-size:13px}.card{padding:20px;border-radius:18px}.grid-main,.two-cols,.stack{gap:18px}.hero h1,.page-hero h1{font-size:29px}.hero p,.page-hero p{font-size:15px}.hero,.page-hero{margin-bottom:22px}.section-head h2{font-size:21px}.role-banner{gap:10px;padding:12px}.role-banner b{font-size:14px}.role-label{font-size:11px}.role-banner .inline-row{gap:8px}.role-banner .button{min-height:44px;font-size:13px}.parent-shell .role-parent{padding:0 0 12px;margin-bottom:20px}.parent-steps{gap:10px}.parent-steps>button{padding:18px;grid-template-columns:34px minmax(0,1fr)}.parent-steps strong{font-size:16px}.parent-steps small{font-size:13px}.parent-shell .vault-stats>.card{padding:12px 10px}.parent-shell .vault-stats .stat-label{font-size:10px}.parent-shell .vault-stats .stat-foot{font-size:11px}.parent-shell .vault-stats .stat-number{font-size:26px}.cosmic-mission{padding:24px 21px;border-radius:24px;gap:22px}.cosmic-mission h1{font-size:32px!important}.cosmic-mission .planet-reward{flex:auto;min-width:0;width:100%;border-top:1px solid #ffffff26;padding-top:18px}.reward-orbit{display:grid;grid-template-columns:140px minmax(0,1fr);gap:4px 14px;text-align:left;align-items:center}.reward-orbit>.eyebrow{grid-column:1/-1;margin:0 0 6px;font-size:10px}.reward-orbit .planet-scene{grid-column:1;grid-row:2/5;width:140px}.reward-orbit h2{grid-column:2;font-size:17px;margin:0;align-self:end}.reward-orbit .orbit-points,.reward-orbit .orbit-caption{grid-column:2;margin:0;font-size:12px}.reward-orbit .orbit-percentage{font-size:16px;bottom:0;padding:6px 9px;min-width:72px}.reward-orbit .orbit-percentage b{font-size:18px}.reward-orbit .orbit-percentage span{font-size:8px}.flight-stats{gap:10px;margin:16px 0}.flight-stat{padding:16px 13px}.stat-copy strong{font-size:30px}.stat-copy b{font-size:13px}.stat-copy small{font-size:12px}.scholar-shell .quest-card{padding:17px}.scholar-shell .quest-card>p{font-size:13px}.scholar-shell .quest-card>b{font-size:12px}.week-count{gap:8px}.week-count span{font-size:13px!important;padding:10px!important}.explorer-hero{padding:24px 16px 14px}.explorer-hero h1{font-size:31px!important}.explorer-hero .eyebrow{font-size:10px}.garden-friends{font-size:35px;letter-spacing:7px}.explorer-missions>button{padding:18px}.explorer .explore-grid{gap:14px}.explorer .explore-button{font-size:18px;min-height:175px;padding:22px 14px}.explorer .explore-button small{font-size:12px}.explorer .explore-button>span{font-size:40px}.explorer .top-actions .button{min-height:44px;font-size:13px}.modal-head{padding:17px}.modal-body{padding:18px}.modal-head h2{font-size:21px}.rich-field .ql-toolbar button{width:38px!important;height:38px!important;min-height:38px!important}.rich-hint{font-size:12px}.form-actions{gap:8px}.form-actions .button{flex:1;padding:11px 12px;min-width:95px}.settings-profile{padding:17px}.chat-compose{padding:14px}.chat-heading{padding:14px}.chat-history{padding:16px}.chat-bubble{max-width:94%;padding:12px 14px}.chat-compose small{font-size:11px}.chat-bubble p{font-size:15px}.owner-main .hero h1{font-size:30px}.owner-main .card{padding:16px}.owner-filters{padding:14px}.owner-main .table-scroll{overflow:visible}.owner-main table,.owner-main tbody,.owner-main tr,.owner-main td{display:block;width:100%}.owner-main thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.owner-main tbody tr{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;background:#fff}.owner-main td{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border:0;font-size:14px;max-width:none!important;min-width:0!important;white-space:normal}.owner-main td::before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--muted);flex-shrink:0}.owner-main td:last-child{display:block;padding-top:12px;border-top:1px solid var(--line);margin-top:8px}.owner-main td:last-child::before{display:none}.owner-main td .inline-row{display:flex;flex-wrap:wrap;gap:8px}.owner-main .owner-action{flex:1;min-height:44px}.owner-main .hero>.badge{display:inline-flex;margin-top:14px}#owner-app .topbar{height:auto;flex-wrap:wrap}#owner-app .topbar .brand{font-size:19px!important}#owner-app .topbar .top-actions{margin-left:auto}.footer-note{font-size:12px}}
@media(max-width:370px){.reward-orbit{grid-template-columns:120px minmax(0,1fr);gap:4px 10px}.reward-orbit .planet-scene{width:120px}.reward-orbit h2{font-size:15px}.topbar .header-brand{font-size:18px}.main{padding-inline:12px}.parent-shell .header-child{min-width:70px}.topbar .top-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(hover:hover){.parent-steps>button:hover,.next-stop:hover,.quest-card:hover{border-color:var(--action);box-shadow:var(--shadow-soft);transform:none}.explorer-missions>button:hover,.explore-button:hover{filter:brightness(.98);transform:none}}
