.desk{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 12px 20px;overflow:auto}.desk__brand{text-align:center;color:var(--ink);flex-shrink:0}.desk__brand h1{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.03em}.desk__brand p{margin:4px 0 0;font-size:.78rem;color:var(--ink-soft)}.desk__phones{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;align-items:flex-start;width:100%;max-width:920px}.desk__device{display:flex;flex-direction:column;align-items:center;flex:1 1 320px;max-width:var(--phone-w)}.desk__device-label{margin:0 0 8px;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.desk__phones .phone{width:min(100%,var(--phone-w),calc((100dvh - 120px) * 402 / 874))}.phone{--bezel: 12px;--island-h: 37px;width:min(100% - 24px,var(--phone-w),calc((100dvh - 72px) * 402 / 874));aspect-ratio:402 / 874;height:auto;max-height:calc(100dvh - 72px);padding:var(--bezel);border-radius:56px;background:#1c1c1e;border:none;box-shadow:0 24px 60px #00000029,inset 0 0 0 1px #ffffff14;display:flex;flex-direction:column;overflow:hidden;position:relative;flex-shrink:0}.phone__screen{flex:1;min-height:0;min-width:0;border-radius:44px;background:var(--paper);display:flex;flex-direction:column;overflow:hidden;position:relative}.phone__island{position:absolute;top:10px;left:50%;z-index:6;width:120px;height:var(--island-h);transform:translate(-50%);border-radius:999px;background:#000;box-shadow:inset 0 0 0 1px #ffffff0f;pointer-events:none}.phone__island:before{content:"";position:absolute;top:50%;right:14px;width:11px;height:11px;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle at 35% 35%,#1a2330,#0a0a0a 70%);box-shadow:inset 0 0 0 1px #5078b440}.phone__status{flex-shrink:0;height:52px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 22px 8px;font-size:.68rem;font-weight:600;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:2}.phone__body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;background:var(--paper);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;touch-action:pan-y;padding-bottom:52px}.phone__body::-webkit-scrollbar{display:none}.phone__body.is-dragging,.phone__body.is-dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.kid-switcher,.filter-row{cursor:grab;scrollbar-width:none}.kid-switcher::-webkit-scrollbar,.filter-row::-webkit-scrollbar{display:none}.phone__nav-wrap{flex-shrink:0;padding:0 0 6px;background:var(--paper);border-top:1px solid var(--line);position:relative;z-index:4}.phone__nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:4px 2px 2px}.phone__nav button{border:none;background:transparent;color:#9a9a9a;font-size:.58rem;font-weight:600;display:grid;gap:2px;justify-items:center;padding:6px 2px;border-radius:8px;transition:color .15s var(--ease);min-width:0}.phone__nav button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.phone__nav button.is-active{color:var(--ink)}.phone__home-bar{width:128px;height:5px;margin:4px auto 2px;border-radius:999px;background:#111;opacity:.88}.screen{padding:12px 16px 18px;min-height:100%;box-sizing:border-box}.screen__head{margin-bottom:16px}.screen__eyebrow{margin:0 0 6px;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.screen__title{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:-.04em;line-height:1.15}.screen__meta{margin:6px 0 0;color:var(--ink-soft);font-size:.82rem;line-height:1.4}.screen__meta--spaced{margin-top:20px}.hero{margin:0 0 20px}.hero .screen__title{margin-bottom:14px}.kid-switcher{display:flex;gap:8px;overflow-x:auto}.kid-chip{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:500;font-size:.82rem;transition:border-color .15s var(--ease)}.kid-chip.is-active{border-color:var(--ink);background:var(--paper);color:var(--ink)}.kid-avatar{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-size:.68rem;font-weight:700;color:#fff}.kid-avatar--row{width:36px;height:36px;font-size:.78rem}.row-list{display:grid;border-top:1px solid var(--line)}.row-list--gap{border-top:none;gap:8px}.row-list--gap .row{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.row-list:not(.row-list--gap) .row:first-child{border-top:none}.row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:start;width:100%;text-align:left;padding:14px 0;border:none;border-top:1px solid var(--line);background:transparent;color:inherit}.row-list:not(.row-list--gap) .row:first-child{padding-top:0;border-top:none}.row:has(.kid-avatar--row){grid-template-columns:auto 1fr auto}.row--btn{cursor:pointer}.row__main{display:grid;gap:4px;min-width:0}.row:has(.kid-avatar--row) .row__main{grid-column:2}.row__label{font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.row__title{font-size:.92rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}.row__meta{color:var(--ink-soft);font-size:.78rem;line-height:1.35}.row__body{margin:4px 0 0;color:var(--ink-soft);font-size:.82rem;line-height:1.45}.row__badge{align-self:start;font-size:.64rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:4px 8px;border-radius:6px;border:1px solid var(--line);color:var(--ink-soft);background:transparent}.row--urgent .row__title{color:var(--danger)}.row--urgent .row__badge{border-color:var(--danger-soft);color:var(--danger);background:var(--danger-soft)}.recipe__kicker{position:sticky;top:0;z-index:1;margin:8px 0 12px;padding:8px 0;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper)}.recipe__hero{margin-top:8px}.howto__brief{margin:0;font-size:.9rem;line-height:1.45;color:var(--ink)}.howto{margin:0;padding:0 0 0 1.15rem;display:grid;gap:8px;font-size:.88rem;line-height:1.4;color:var(--ink)}.example{padding:14px 0 4px;border-top:1px solid var(--line)}.example__prompt{margin:0 0 10px;font-weight:600;font-size:1.05rem;letter-spacing:-.03em}.example__line{margin:0;font-size:.92rem;line-height:1.5;color:var(--ink)}.pass{margin-top:16px;padding:20px 18px 16px;border:1px solid var(--ink);border-radius:16px;background:var(--paper)}.pass__school{margin:0 0 10px;font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.pass__title{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:-.04em}.pass__when{margin:8px 0 0;font-size:1rem;font-weight:600}.pass__meta{margin:4px 0 0;color:var(--ink-soft);font-size:.88rem}.pass__code{height:36px;margin:18px 0 12px;background:repeating-linear-gradient(90deg,#111 0 2px,transparent 2px 5px);opacity:.85}.pass__door{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--ink-soft)}.section{margin-top:24px}.section__label{margin:0 0 10px;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.home-ask,.assistant{position:absolute;left:12px;right:12px;bottom:58px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:0;background:none;border:none;pointer-events:none}.assistant__label{margin:0 0 6px;font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.assistant__panel{pointer-events:auto;width:100%;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 16px 40px #00000024}.assistant__pill{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:999px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-size:.78rem;font-weight:600;letter-spacing:.02em;box-shadow:0 8px 24px #0000001f}.assistant--open .assistant__pill{border-color:var(--ink)}.assistant__spark{font-size:.72rem}.assistant__reply{margin:0 0 8px;font-size:.82rem;line-height:1.45;color:var(--ink-soft)}.assistant__form{display:grid;grid-template-columns:1fr auto;gap:8px}.assistant__form input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--paper);color:var(--ink)}.assistant__submit{min-width:52px;padding-inline:10px;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}.filter-row{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 12px;font-size:.76rem;font-weight:500;color:var(--ink-soft);transition:border-color .15s var(--ease),color .15s var(--ease)}.chip.is-active{border-color:var(--ink);color:var(--ink);background:var(--paper)}.btn{border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-weight:600;background:var(--paper);color:var(--ink);text-decoration:none;display:inline-block;transition:border-color .15s var(--ease),opacity .15s var(--ease)}.btn:hover{border-color:#ccc}.btn:active{opacity:.76}.btn--ghost{background:transparent}.btn--block{width:100%}.btn--small{padding:9px 12px;font-size:.8rem;border-radius:8px}.btn--solid{background:var(--ink);color:#fff;border-color:var(--ink)}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chat{display:grid;gap:8px}.bubble{max-width:88%;padding:10px 12px;border-radius:12px;font-size:.88rem;line-height:1.4}.bubble--teacher,.bubble--parent{justify-self:start;background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble--parent{justify-self:end;border-bottom-left-radius:12px;border-bottom-right-radius:4px}.bubble time{display:block;margin-top:4px;font-size:.64rem;color:var(--ink-soft)}.login{min-height:100%;display:grid;align-content:center;gap:10px;padding:28px 20px 32px;color:var(--ink);background:var(--paper)}.login__mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);margin-bottom:8px}.login__mark svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.6}.login__school{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.login h1{margin:0;font-size:1.75rem;font-weight:600;letter-spacing:-.04em;line-height:1.05}.login p{margin:0;color:var(--ink-soft);line-height:1.5;max-width:30ch}.login .btn{margin-top:12px;background:var(--ink);color:#fff;border-color:var(--ink)}@media(max-width:480px){.desk{padding:0;justify-content:stretch;background:var(--paper);overflow:auto}.desk__brand{display:none}.desk__phones{flex-direction:column;gap:32px;padding:16px 0 24px}.desk__device{max-width:none;width:100%}.desk__phones .phone{width:100%;height:100dvh;max-height:none;max-width:none;aspect-ratio:auto;padding:0;border:none;border-radius:0;box-shadow:none;background:var(--paper)}.desk__phones .phone__screen{border-radius:0}.phone__island{top:max(10px,env(safe-area-inset-top,0px))}.phone__status{height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.phone__nav-wrap{padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}}:root{--ink: #111111;--ink-soft: #6b6b6b;--paper: #fafafa;--line: #e8e8e8;--danger: #c43c3c;--danger-soft: #f8ecec;--desk: #ececec;--font-display: "Sora", "Segoe UI", sans-serif;--font-body: "Sora", "Segoe UI", sans-serif;--phone-w: 402px;--phone-h: 874px;--radius: 12px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--desk);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
