:root{--font-display:"Baloo 2","Trebuchet MS",system-ui,sans-serif;--font-body:"Lexend",system-ui,-apple-system,"Segoe UI",sans-serif;--sky-1:#86c7e6;--sky-2:#c2e5ee;--sky-3:#f3edcf;--sun:#fff7d4;--sun-glow:#ffdc808c;--cloud:#fffffff0;--hill-far:#b7d5c6;--hill-mid1:#93c39c;--hill-mid2:#6fae71;--meadow-top:#80be62;--meadow-low:#4d9246;--tree:#3f7f48;--tree-light:#69a75c;--tree-far:#7cb08a;--trunk:#6e4b2e;--grass-1:#3d8742;--grass-2:#58a54c;--grass-3:#8ac766;--flower-1:#fff;--flower-2:#f2b92b;--flower-3:#f1a2b4;--mote:255,255,236;--stars-op:0;--birds-op:1;--bird:#2b3555;--ink:#1d2950;--ink-2:#4b5675;--paper:#fffaf0;--paper-line:#eadfc6;--panel:#fffaeeed;--panel-line:#1d29501a;--chip:#fffdf7;--chip-line:#e0d3b3;--chip-hover:#fff2cb;--accent:#e3a51a;--accent-deep:#9c6b04;--accent-soft:#fcebb6;--on-accent:#1d2950;--btn:#1d2950;--btn-fg:#fffaf0;--mic:#e3a51a;--mic-live:#d9482b;--mic-off:#d9d4c8;--mic-off-fg:#4b5675;--danger:#b23b2a;--ok:#2f7d4a;--on-danger:#fff;--done:#2f7d4a;--done-soft:#dcefe2;--learning:#c98a06;--learning-soft:#fcebb6;--shadow-rgb:29,41,80;--bg:#c2e5ee;--viz-a:#e3a51a;--viz-b:#4f97c9;--viz-c:#6fae71;--viz-line:#1d2950;--viz-label:#1d2950;--figure-bg:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sky-1:#0e1532;--sky-2:#2a2e5b;--sky-3:#b5776a;--sun:#f3ead2;--sun-glow:#f3ead229;--cloud:#b0a6d033;--hill-far:#45406a;--hill-mid1:#2f3e57;--hill-mid2:#24374a;--meadow-top:#254735;--meadow-low:#152a21;--tree:#183126;--tree-light:#22422f;--tree-far:#2e3c52;--trunk:#1f1a1a;--grass-1:#1b3828;--grass-2:#264e38;--grass-3:#356548;--flower-1:#d7d4e8;--flower-2:#c99a2e;--flower-3:#b9849a;--mote:255,214,110;--stars-op:1;--birds-op:0;--bird:#c3bfd6;--ink:#f4ecd8;--ink-2:#c3bfd6;--paper:#232a50;--paper-line:#3a426f;--panel:#151a34ed;--panel-line:#f4ecd81f;--chip:#29315f;--chip-line:#3e477b;--chip-hover:#343d71;--accent:#f0b62e;--accent-deep:#f6cc62;--accent-soft:#4a4230;--on-accent:#1d2950;--btn:#f0b62e;--btn-fg:#1a1f3d;--mic:#f0b62e;--mic-live:#ff7a5c;--mic-off:#3a4160;--mic-off-fg:#b9c0d8;--danger:#ff8f78;--ok:#7fd39a;--on-danger:#1d2950;--shadow-rgb:0,0,0;--bg:#1b2246;--done:#7fd39a;--done-soft:#24433a;--learning:#f0b62e;--learning-soft:#4a4230;--viz-a:#f0b62e;--viz-b:#7cc4ef;--viz-c:#7fd39a;--viz-line:#f4ecd8;--viz-label:#f4ecd8;--figure-bg:#f4ecd8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--sky-1:#0e1532;--sky-2:#2a2e5b;--sky-3:#b5776a;--sun:#f3ead2;--sun-glow:#f3ead229;--cloud:#b0a6d033;--hill-far:#45406a;--hill-mid1:#2f3e57;--hill-mid2:#24374a;--meadow-top:#254735;--meadow-low:#152a21;--tree:#183126;--tree-light:#22422f;--tree-far:#2e3c52;--trunk:#1f1a1a;--grass-1:#1b3828;--grass-2:#264e38;--grass-3:#356548;--flower-1:#d7d4e8;--flower-2:#c99a2e;--flower-3:#b9849a;--mote:255,214,110;--stars-op:1;--birds-op:0;--bird:#c3bfd6;--ink:#f4ecd8;--ink-2:#c3bfd6;--paper:#232a50;--paper-line:#3a426f;--panel:#151a34ed;--panel-line:#f4ecd81f;--chip:#29315f;--chip-line:#3e477b;--chip-hover:#343d71;--accent:#f0b62e;--accent-deep:#f6cc62;--accent-soft:#4a4230;--on-accent:#1d2950;--btn:#f0b62e;--btn-fg:#1a1f3d;--mic:#f0b62e;--mic-live:#ff7a5c;--mic-off:#3a4160;--mic-off-fg:#b9c0d8;--danger:#ff8f78;--ok:#7fd39a;--on-danger:#1d2950;--shadow-rgb:0,0,0;--bg:#1b2246;--done:#7fd39a;--done-soft:#24433a;--learning:#f0b62e;--learning-soft:#4a4230;--viz-a:#f0b62e;--viz-b:#7cc4ef;--viz-c:#7fd39a;--viz-line:#f4ecd8;--viz-label:#f4ecd8;--figure-bg:#f4ecd8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{background:linear-gradient(var(--sky-1) 50%,var(--meadow-low) 50%)}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-size:16px;line-height:1.5;overflow:hidden}button,input{font:inherit;color:inherit}img{max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scene{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky{background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 48%,var(--sky-3) 78%);position:absolute;inset:0}.stars{width:2px;height:2px;opacity:var(--stars-op);border-radius:50%;transition:opacity 1.2s;position:absolute;top:0;left:0}.stars.b{animation:4s ease-in-out infinite alternate twinkle}@keyframes twinkle{0%{opacity:calc(var(--stars-op)*.35)}to{opacity:var(--stars-op)}}.sun{left:calc(var(--sun-x,84) * 1%);top:calc(var(--sun-y,14) * 1%);aspect-ratio:1;width:clamp(64px,9vw,130px);transform:translate(-50%,-50%) scale(var(--sun-size,1));opacity:var(--sun-op,1);background:radial-gradient(circle at 42% 40%,#fff 0 20%,var(--sun) 62%);box-shadow:0 0 60px 30px var(--sun-glow),0 0 180px 90px var(--sun-glow);border-radius:50%;position:absolute}.moon{aspect-ratio:1;width:clamp(64px,9vw,130px);opacity:var(--moon-op,var(--stars-op));background:radial-gradient(circle at 42% 40%,#fff 0 20%,#f3ead2 62%);border-radius:50%;position:absolute;top:9%;right:10%;box-shadow:0 0 60px 30px #f3ead229,0 0 180px 90px #f3ead229}.mist{pointer-events:none;height:34%;opacity:var(--mist-op,0);filter:blur(8px);background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--sky-3) 55%,#fff) 55%,transparent 100%);position:absolute;bottom:22%;left:0;right:0}.cloud{background:var(--cloud);filter:blur(5px);opacity:.85;border-radius:40px;height:30px;animation:linear infinite drift;position:absolute}.cloud:before,.cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.cloud:before{aspect-ratio:1;width:56%;bottom:30%;left:14%}.cloud:after{aspect-ratio:1;width:38%;bottom:24%;right:14%}@keyframes drift{0%{transform:translate(-30vw)}to{transform:translate(130vw)}}.birds{opacity:var(--birds-op);transition:opacity 1s;position:absolute;inset:0}.bird{height:10px;animation:linear infinite fly;position:absolute}.bird svg{transform-origin:50% 60%;width:100%;height:100%;animation:.42s ease-in-out infinite alternate flap;overflow:visible}.bird path{fill:none;stroke:var(--bird);stroke-width:2.2px;stroke-linecap:round}@keyframes flap{0%{transform:scaleY(1)}to{transform:scaleY(-.45)}}@keyframes fly{0%{transform:translate(-8vw)}50%{transform:translate(50vw,-3vh)}to{transform:translate(110vw,1vh)}}.hills{position:absolute;top:0;left:0;right:0}.layer{width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.ground{background:var(--meadow-low);position:absolute;bottom:0;left:0;right:0}.sway{transform-box:fill-box;transform-origin:50% 100%;animation:6s ease-in-out infinite alternate sway}@keyframes sway{0%{transform:rotate(-1.4deg)}to{transform:rotate(1.4deg)}}canvas.grass{width:100%;height:100%;position:absolute;inset:0}canvas.fx{z-index:4;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.arya-stage{z-index:1;pointer-events:none;left:0;right:0;top:var(--stage-top,72px);height:var(--stage-h,80vh);position:fixed}.arya-stage.front{z-index:4}.arya-stage canvas,.arya-stage img.still{width:100%;height:100%;position:absolute;inset:0}.arya-stage img.still{object-fit:contain;object-position:50% 100%}.arya-stage.ground-3d .arya-shadow{display:none}.arya-hit{pointer-events:auto;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:absolute;top:0;left:0}.arya-hit:active{cursor:grabbing}.arya-hit[hidden],.arya-stage.front .arya-hit{display:none}.arya-shadow{width:calc(var(--stage-h,80vh)*.42);height:calc(var(--stage-h,80vh)*.045);transform:translate(calc(-50% + var(--arya-x,0px) + var(--shadow-dx,0) * 1px),40%) scale(calc(var(--arya-scale,1) * var(--shadow-len,1)),var(--arya-scale,1));transform-origin:50%;filter:blur(2px);background:radial-gradient(#0f23146b 0%,#0f231429 48%,#0000 72%);border-radius:50%;position:absolute;bottom:0;left:50%}.aside{z-index:3;background:var(--paper);color:var(--ink);font-family:var(--font-display);white-space:nowrap;box-shadow:0 6px 18px rgba(var(--shadow-rgb),.16);pointer-events:none;border-radius:14px 14px 14px 4px;padding:6px 12px;font-weight:600;animation:.35s cubic-bezier(.2,1.4,.4,1) pop;position:absolute}@keyframes pop{0%{opacity:0;transform:scale(.6)translateY(8px)}to{opacity:1;transform:none}}.topbar{z-index:6;left:0;right:0;top:env(safe-area-inset-top,0px);padding-block:12px 6px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));pointer-events:none;align-items:center;gap:12px;display:flex;position:fixed}.topbar>*{pointer-events:auto}.brand{font-family:var(--font-display);color:var(--ink);align-items:center;gap:6px;font-size:1.55rem;font-weight:800;line-height:1;display:flex}.brand i{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block;transform:translateY(-8px)}.top-actions{gap:8px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--panel-line);background:var(--panel);-webkit-backdrop-filter:blur(10px);cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:50%;place-items:center;transition:transform .15s;display:grid}.icon-btn:hover{transform:translateY(-1px)}.icon-btn svg{width:19px;height:19px}.icon-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.clock{white-space:nowrap;background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;border-radius:999px;flex-direction:column;justify-content:center;align-items:flex-end;height:40px;padding:0 14px;line-height:1.1;display:flex}.clock b{font-family:var(--font-display);color:var(--ink);font-size:.98rem;font-weight:700}.clock span{color:var(--ink-2);font-size:.7rem}.student-menu{min-width:0;position:relative}.student{cursor:pointer;max-width:min(30vw,320px);height:40px;color:var(--ink);background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(10px);font:inherit;text-align:left;border-radius:999px;align-items:center;gap:10px;padding:0 12px 0 4px;transition:transform .15s;display:flex}.student:hover{transform:translateY(-1px)}.student[aria-expanded=true]{border-color:var(--accent)}.avatar{background:var(--accent);width:32px;height:32px;color:var(--on-accent);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:1rem;font-weight:800;line-height:1;display:grid}.avatar.big{width:44px;height:44px;font-size:1.3rem}.student .who{flex-direction:column;min-width:0;line-height:1.15;display:flex}.student .who b{font-family:var(--font-display);font-size:.95rem;font-weight:700}.student .who span{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.chev{fill:none;width:12px;height:12px;stroke:var(--ink-2);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .2s}[aria-expanded=true]>.chev{transform:rotate(180deg)}.student-panel{z-index:6;overscroll-behavior:contain;scrollbar-width:thin;background:var(--paper);border:1px solid var(--paper-line);width:min(340px,100vw - 24px);max-height:calc(100vh - 90px);box-shadow:0 18px 40px rgba(var(--shadow-rgb),.25);border-radius:22px;flex-direction:column;gap:10px;padding:14px;animation:.2s ease-out board-in;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.student-panel .me{border-bottom:1px solid var(--panel-line);align-items:center;gap:12px;padding-bottom:10px;display:flex}.student-panel .me div{flex-direction:column;min-width:0;line-height:1.25;display:flex}.student-panel .me b{font-family:var(--font-display);color:var(--ink);font-size:1.15rem}.student-panel .me div span{color:var(--ink-2);font-size:.8rem}.student-panel .books{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.student-panel .book{border:1px solid var(--chip-line);background:var(--chip);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex}.student-panel .book:hover,.student-panel .book[aria-expanded=true]{background:var(--chip-hover)}.book-icon{background:var(--viz-b);width:30px;height:36px;color:var(--on-accent);font-family:var(--font-display);box-shadow:inset 3px 0 0 rgba(var(--shadow-rgb),.25);border-radius:4px 8px 8px 4px;flex:none;place-items:center;font-weight:800;display:grid}.book-name{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.book-name b{font-family:var(--font-display);font-size:.98rem}.book-name span{color:var(--ink-2);font-size:.75rem}.student-panel .chapters{background:var(--panel);border:1px solid var(--chip-line);border-left:3px solid var(--chip-line);border-radius:14px;flex-direction:column;gap:2px;margin:6px 0 4px 14px;padding:6px;list-style:none;display:flex}.student-panel .chapters button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:18px 22px minmax(0,1fr);align-items:start;column-gap:10px;padding:8px 10px;font-size:.9rem;line-height:1.35;display:grid}.student-panel .chapters button:hover,.student-panel .chapters button:focus-visible{background:var(--chip-hover)}.student-panel .num{min-width:20px;color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.student-panel .chapters .title{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.student-panel .chapters .num{text-align:right}.books-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lesson-legend{color:var(--ink-2);gap:10px;font-size:.72rem;display:flex}.lesson-legend>span{align-items:center;gap:4px;display:inline-flex}.lesson-mark{border:2px solid var(--chip-line);box-sizing:border-box;background:0 0;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:grid}.chapters .lesson-mark{margin-top:2px}.lesson-mark.done{background:var(--done);border-color:var(--done)}.lesson-mark.done svg{fill:none;width:10px;height:10px;stroke:var(--paper);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.lesson-mark.learning{border-color:var(--learning);background:linear-gradient(90deg,var(--learning) 50%,transparent 50%)}.lesson-legend .lesson-mark{border-width:1.5px;width:12px;height:12px}.lesson-tag{letter-spacing:.03em;border-radius:999px;padding:1px 8px;font-size:.66rem;font-weight:600;line-height:1.5;display:inline-block}.lesson-tag.done{background:var(--done-soft);color:var(--done)}.lesson-tag.learning{background:var(--learning-soft);color:var(--accent-deep)}.subject-progress{align-items:center;gap:10px;width:100%;margin-top:6px;display:flex}.subject-progress .bar{background:var(--chip-line);border-radius:3px;flex:1;height:6px;display:flex;overflow:hidden}.subject-progress .bar i{height:100%;display:block}.subject-progress .bar .done{background:var(--done)}.subject-progress .bar .learning{background:var(--learning)}.subject-progress .count{color:var(--ink-2);white-space:nowrap;font-size:.7rem}.books-loading{flex-direction:column;gap:8px;display:flex}.student-panel .book.skeleton{cursor:default;animation:1.2s ease-in-out infinite alternate shimmer}.book.skeleton .book-icon{background:var(--chip-line);box-shadow:none}.book.skeleton .book-name b,.book.skeleton .book-name span{background:var(--chip-line);border-radius:6px;height:10px;display:block}.book.skeleton .book-name b{width:45%;height:12px;margin-bottom:6px}.book.skeleton .book-name span{width:70%}@keyframes shimmer{0%{opacity:1}to{opacity:.45}}.books-failed{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.books-failed .hint{margin:0}.settings-entry{border:1px solid var(--chip-line);background:var(--chip);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:10px;margin-top:6px;padding:10px 12px;display:flex}.settings-entry:hover{background:var(--chip-hover)}.settings-entry-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-deep);border-radius:50%;flex:none;place-items:center;display:grid}.settings-entry-icon svg{width:17px;height:17px}.student-panel .logout{align-self:flex-start}.student-panel .logout svg{width:16px;height:16px}@media (max-width:1040px){.trail~.top-actions .clock{display:none}}.trail{background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:6px;margin-inline:auto;padding:6px 12px;display:flex}.stone{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;font-weight:500;display:flex}.stone b{border:2px solid var(--chip-line);background:var(--chip);border-radius:50%;width:11px;height:11px;transition:all .4s}.stone.done b{background:var(--ok);border-color:var(--ok)}.stone.now b{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent)}.stone.now{color:var(--ink);font-weight:600}.trail .path{background:repeating-linear-gradient(90deg,var(--chip-line) 0 4px,transparent 4px 7px);width:16px;height:2px}.bubble{z-index:5;background:var(--paper);border:1px solid var(--paper-line);box-shadow:0 14px 40px rgba(var(--shadow-rgb),.16);cursor:pointer;border-radius:24px;padding:14px 46px 14px 18px;animation:.35s cubic-bezier(.2,1.1,.4,1) bubbleIn;position:fixed}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:none}}.bubble .who{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);align-items:center;gap:8px;margin-bottom:2px;font-size:.7rem;font-weight:600;display:flex}.bubble .dots{gap:3px;display:inline-flex}.bubble .dots i{background:var(--accent);opacity:.3;border-radius:50%;width:5px;height:5px}.bubble.talking .dots i{animation:1s infinite dot}.bubble.talking .dots i:nth-child(2){animation-delay:.15s}.bubble.talking .dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.say{font-family:var(--font-display);color:var(--ink);text-wrap:pretty;font-size:clamp(1.12rem,1.6vw,1.45rem);font-weight:600;line-height:1.3}.say .ghost{opacity:0}.bubble{transition:opacity .5s,transform .5s}.bubble.idle{opacity:0;pointer-events:none;transform:translateY(-4px)scale(.98)}.tap-hint{color:var(--ink-2);margin-top:8px;font-size:.85rem;animation:.35s cubic-bezier(.2,1.4,.4,1) pop}.replay{cursor:pointer;width:32px;height:32px;color:var(--ink-2);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.replay:hover{background:var(--chip-hover)}.replay svg{width:17px;height:17px}.bubble:before{content:"";background:var(--paper);border:1px solid var(--paper-line);border-top:0;border-right:0;border-radius:0 0 0 6px;width:22px;height:22px;position:absolute}.bubble.top{left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px))}.bubble.top:before{bottom:-11px;left:calc(50% - 11px);transform:rotate(-45deg)}.bubble.side{transition:left .3s ease-out,top .3s ease-out,opacity .5s,transform .5s}.bubble.side:before{top:30px;left:-11px;transform:rotate(45deg)}.bubble.above{transition:left .3s ease-out,top .3s ease-out,opacity .5s,transform .5s}.bubble.above:before{left:calc(var(--tail-x,50%) - 11px);bottom:-11px;transform:rotate(-45deg)}.sheet{z-index:5;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-inner{pointer-events:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(18px)saturate(1.2);width:100%;max-width:640px;max-height:min(64vh,640px);box-shadow:0 18px 50px rgba(var(--shadow-rgb),.18);border-radius:26px;flex-direction:column;gap:12px;padding:16px;animation:.35s cubic-bezier(.2,.9,.3,1) rise;display:flex;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.reply{z-index:3;right:max(20px,env(safe-area-inset-right,0px));background:var(--accent);max-width:78%;color:var(--on-accent);box-shadow:0 6px 18px rgba(var(--shadow-rgb),.14);border-radius:18px 18px 4px;padding:8px 16px;font-weight:500;animation:.3s ease-out pop;position:fixed}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:0;font-size:.72rem;font-weight:600}.hint{color:var(--ink-2);margin:0;font-size:.84rem}.book-source{overflow-wrap:anywhere;font-weight:500}.err{color:var(--danger);margin:0;font-size:.86rem}.notice{color:var(--ink-2);background:var(--accent-soft);border-radius:12px;margin:0;padding:8px 12px;font-size:.86rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));display:grid}.chips.cards{grid-template-columns:1fr 1fr;display:grid}.chip{border:1.5px solid var(--chip-line);background:var(--chip);color:var(--ink);cursor:pointer;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:10px 18px;font-size:.97rem;font-weight:500;transition:transform .12s,background .15s,border-color .15s}.chip:hover{background:var(--chip-hover);transform:translateY(-1px)}.chip:active{transform:scale(.97)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip.ghosty{color:var(--ink-2);background:0 0;border-style:dashed}.chips.cards .chip{text-align:left;border-radius:18px;padding:14px 16px}.row{align-items:stretch;gap:10px;display:flex}.field{border:1.5px solid var(--chip-line);background:var(--chip);border-radius:16px;flex:1;align-items:center;min-width:0;transition:border-color .15s;display:flex;overflow:hidden}.field:focus-within{border-color:var(--accent)}.field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:13px 14px;font-size:1.05rem}.field .pre{color:var(--ink-2);font-variant-numeric:tabular-nums;padding-left:14px;font-weight:500}.field input[type=time]{font-variant-numeric:tabular-nums}.inline-btn{color:var(--accent-deep);cursor:pointer;background:0 0;border:0;align-self:stretch;padding:0 14px;font-size:.86rem;font-weight:600}.btn{cursor:pointer;background:var(--btn);color:var(--btn-fg);white-space:nowrap;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-weight:600;text-decoration:none;transition:transform .12s,opacity .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn svg{width:18px;height:18px}.btn.wide{width:100%}.btn.quiet{color:var(--ink-2);background:0 0;padding:10px 8px;font-weight:500}.btn.quiet:hover{color:var(--ink)}.btn.soft{background:var(--chip);color:var(--ink);border:1.5px solid var(--chip-line)}.foot{justify-content:space-between;align-items:center;gap:8px;margin-top:-2px;display:flex}.time-group{flex-direction:column;gap:8px;display:flex}.mic-row{align-items:center;gap:12px;display:flex}.mic{cursor:pointer;background:var(--mic);width:52px;height:52px;color:var(--on-accent);box-shadow:0 6px 16px rgba(var(--shadow-rgb),.18);border:0;border-radius:50%;flex:none;place-items:center;transition:transform .15s;display:grid;position:relative}.mic:hover{transform:scale(1.05)}.mic svg{width:24px;height:24px}.mic.small{width:44px;height:44px}.mic.small svg{width:20px;height:20px}.mic.live{background:var(--mic-live);color:#fff}.row .mic.small,.row .send-slot{flex:none;width:52px;height:52px;padding:0}.row .mic.small svg,.row .send-slot svg{width:22px;height:22px}.send-slot.speech-toggle.paused{background:var(--accent);color:var(--on-accent);animation:1.1s ease-in-out infinite alternate shimmer}.mic.live:after{content:"";border:3px solid var(--mic-live);opacity:.5;transform:scale(calc(1 + var(--lvl,0)*.35));border-radius:50%;transition:transform 80ms;position:absolute;inset:-6px}@property --mic-spin{syntax:"<angle>";inherits:false;initial-value:0deg}.chat-mic,.chat-mic:hover{transition:box-shadow 80ms;transform:none}.chat-mic.mic-listening{box-shadow:0 0 0 calc(3px + var(--lvl,0)*9px) color-mix(in srgb,var(--mic) 45%,transparent)}.chat-mic.mic-speaking{box-shadow:0 0 0 calc(3px + var(--out,0)*9px) color-mix(in srgb,var(--ink) 35%,transparent)}.chat-mic.mic-thinking:before{content:"";pointer-events:none;background:conic-gradient(from var(--mic-spin),var(--mic) 0 22%,transparent 0 50%,var(--mic) 0 72%,transparent 0);border-radius:50%;animation:1.4s linear infinite mic-spin;position:absolute;inset:-6px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.chat-mic.mic-muted,.chat-mic.mic-speaking-muted{background:var(--mic-off);color:var(--mic-off-fg);box-shadow:none}.chat-mic.mic-muted{animation:1.6s ease-in-out 4s infinite alternate mic-glow}.mic-tip{white-space:nowrap;background:var(--ink);color:var(--paper);pointer-events:none;box-shadow:0 6px 16px rgba(var(--shadow-rgb),.2);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:600;line-height:1;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@keyframes mic-spin{to{--mic-spin:360deg}}@keyframes mic-glow{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--mic) 0%,transparent)}to{box-shadow:0 0 0 8px color-mix(in srgb,var(--mic) 45%,transparent)}}@media (prefers-reduced-motion:reduce){.chat-mic.mic-thinking:before,.chat-mic.mic-muted{animation:none}}.mic-label{color:var(--ink-2);font-size:.88rem;line-height:1.3}.mic-label b{color:var(--ink);font-weight:600}.listening{background:var(--chip);border:1.5px solid var(--mic-live);border-radius:18px;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex}.live-text{min-width:0;font-family:var(--font-display);color:var(--ink);overflow-wrap:anywhere;flex:1;margin:0;font-size:1.15rem;font-weight:600;line-height:1.3}.live-text.placeholder{color:var(--ink-2);font-size:1rem;font-weight:500}.wave{flex:none;align-items:center;gap:3px;height:28px;display:flex}.wave i{background:var(--mic-live);width:4px;height:calc(5px + var(--h,0)*22px);border-radius:4px;transition:height 80ms}.thinking-dots{flex:none;gap:6px;display:flex}.thinking-dots i{background:var(--accent);border-radius:50%;width:9px;height:9px;animation:1s infinite dot}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}.heard{flex-direction:column;gap:10px;display:flex}.heard .quote{color:var(--ink-2);margin:0;font-size:.9rem}.heard .value{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:1.45rem;font-weight:700;line-height:1.2}.heard .actions{flex-wrap:wrap;gap:8px;display:flex}.go{position:relative;overflow:hidden}.go .bar{opacity:.5;background:currentColor;height:3px;animation:linear forwards countdown;position:absolute;bottom:0;left:0}@keyframes countdown{0%{width:0}to{width:100%}}.daymap{grid-template-columns:auto 14px 1fr;column-gap:12px;display:grid}.daymap .t{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding-block:6px;font-size:.9rem;font-weight:600}.daymap .rail{position:relative}.daymap .rail:before{content:"";background:var(--chip-line);width:2px;position:absolute;top:0;bottom:0;left:6px}.daymap .rail:after{content:"";background:var(--chip);border:2px solid var(--ink-2);border-radius:50%;width:10px;height:10px;position:absolute;top:12px;left:2px}.daymap .rail.arya:after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.daymap .ev{padding-block:6px;font-size:.94rem}.daymap .ev.arya{font-weight:600}.daymap .ev small{color:var(--ink-2);font-size:.8rem;font-weight:400;display:block}.daymap .ev.block{background:var(--accent-soft);border-radius:10px;margin-block:2px;padding-inline:10px}.story{gap:10px;display:grid}@media (min-width:700px){.story{grid-template-columns:1fr 1fr}}.story section{border:1px solid var(--panel-line);background:var(--chip);border-radius:16px;min-width:0;padding:10px 14px}.story header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.story h3{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:700}.story dl{grid-template-columns:minmax(80px,auto) 1fr;gap:2px 12px;margin:0;font-size:.9rem;display:grid}.story dt{color:var(--ink-2)}.story dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-width:0;margin:0;font-weight:500}.edit{color:var(--accent-deep);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 6px;font-size:.85rem;font-weight:600}.edit:hover{background:var(--chip-hover)}.login h1,.done h2{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:800;line-height:1.05}.login h1{font-size:clamp(1.7rem,3vw,2.3rem)}.done h2{font-size:clamp(1.5rem,2.6vw,2rem)}.login .lede{color:var(--ink-2);margin:0}.login form{flex-direction:column;gap:8px;display:flex}.login label{color:var(--ink-2);font-size:.8rem;font-weight:600}.seg{background:var(--chip);border:1px solid var(--chip-line);border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.seg button{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 10px;font-weight:600;transition:background .15s,color .15s}.seg button[aria-selected=true]{background:var(--btn);color:var(--btn-fg)}.login .switch{text-align:center}.link{font:inherit;color:var(--accent-deep);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.next-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.next-list li{grid-template-columns:76px 1fr;gap:10px;font-size:.92rem;display:grid}.next-list b{font-variant-numeric:tabular-nums;color:var(--accent-deep)}.actions{flex-wrap:wrap;gap:8px;display:flex}.toast{left:50%;top:calc(70px + env(safe-area-inset-top,0px));z-index:9;background:var(--btn);color:var(--btn-fg);box-shadow:0 10px 30px rgba(var(--shadow-rgb),.25);border-radius:999px;padding:10px 18px;font-weight:500;animation:.3s rise;position:fixed;transform:translate(-50%)}.voices{flex-direction:column;gap:8px;display:flex}@media (max-width:760px){.clock{height:36px;padding:0 10px}.clock span,.trail~.top-actions .clock{display:none}.student{justify-content:center;width:36px;height:36px;padding:0}.student .who,.student>.chev{display:none}.brand{font-size:1.35rem}.trail{gap:4px;padding:5px 9px}.stone span{display:none}.trail .path{width:6px}.icon-btn{width:36px;height:36px}.top-actions{gap:6px}.bubble{border-radius:22px;padding:12px 42px 12px 16px}.sheet-inner{border-radius:24px;max-height:58vh;padding:14px}.chips.cards{grid-template-columns:1fr}.chip{padding:9px 15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.cloud,.bird{display:none}}.board-wrap{z-index:3;pointer-events:none;flex-direction:column;display:flex;position:fixed}.board-wrap.wide{--board-w:clamp(360px,44vw,600px);left:calc(50% - var(--board-w) / 2);width:var(--board-w);top:84px}.board-wrap.narrow{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));top:var(--stage-top,72px)}.board{pointer-events:auto;background:var(--panel);border:1px solid var(--panel-line);max-height:100%;box-shadow:0 18px 40px rgba(var(--shadow-rgb),.18);-webkit-backdrop-filter:blur(12px);border-radius:24px;flex-direction:column;gap:12px;padding:14px 16px 16px;animation:.35s ease-out board-in;display:flex;position:relative;overflow:hidden}.board>*{flex-shrink:0}.board header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.board .kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0;font-size:.7rem;font-weight:600}.board h2{font-family:var(--font-display);color:var(--ink);margin:2px 0 0;font-size:1.35rem;font-weight:700;line-height:1.2}.icon-btn.small{width:32px;height:32px;color:var(--ink-2);flex:none;font-size:1.2rem;line-height:1}.board-formula{text-align:center;background:var(--accent-soft);color:var(--ink);border-radius:16px;padding:10px 12px;font-size:1.3rem;overflow-x:auto}.tex.block{max-width:100%;display:block}.board-formula .katex-display{margin:0}.board-visual{background:var(--chip);border:1px solid var(--chip-line);border-radius:16px;padding:6px;position:relative}.board-visual svg{width:100%;height:auto;max-height:min(300px,36vh);display:block}.board-visual .ghost{stroke-dasharray:5 6}.board-visual .viz-a{fill:var(--viz-a)}.board-visual .viz-b{fill:var(--viz-b)}.board-visual .viz-c{fill:var(--viz-c)}.board-visual .viz-line{stroke:var(--viz-line);stroke-width:2.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.board-visual .viz-dot{fill:var(--viz-line)}.board-visual .viz-text{fill:var(--viz-label);font-family:var(--font-body);font-size:16px;font-weight:500}.board-visual .viz-text.big{font-family:var(--font-display);font-size:22px;font-weight:700}.board-visual .slice{stroke:var(--chip);stroke-width:1px}.board-drawing .draft{fill:none;stroke:var(--viz-line);stroke-width:3px;stroke-linecap:round;opacity:.35;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.6s ease-in-out infinite alternate sk-draw}.sketch .sk{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .45s}.sketch .sk.on{opacity:1}.sketch .sk-fill{stroke:none}.sketch .sk-line,.sketch .sk-head,.sketch .sk-tick{fill:none;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.sketch .sk-head{stroke-width:2.8px}.sketch .sk-coil{stroke-width:3.4px}.sketch .sk-angle{stroke-width:3px}.sketch .sk-dashed{stroke-dasharray:.035 .03}.sketch .sk-f-a{fill:var(--viz-a)}.sketch .sk-f-b{fill:var(--viz-b)}.sketch .sk-f-c{fill:var(--viz-c)}.sketch .sk-f-line{fill:var(--viz-line)}.sketch .sk-f-soft{fill:color-mix(in srgb,var(--viz-b) 16%,transparent)}.sketch .sk-s-a{stroke:var(--viz-a)}.sketch .sk-s-b{stroke:var(--viz-b)}.sketch .sk-s-c{stroke:var(--viz-c)}.sketch .sk-s-line{stroke:var(--viz-line)}.sketch .sk-s-soft{stroke:color-mix(in srgb,var(--viz-line) 45%,transparent)}.sketch .sk-text{font-family:var(--font-body),"Noto Sans Math","Segoe UI Symbol","Apple Symbols",sans-serif;paint-order:stroke;stroke:var(--chip);stroke-width:4px;stroke-linejoin:round;font-weight:600}.sketch .sk-text.big{font-family:var(--font-display);font-weight:700}.sketch .sk-angle-text{fill:var(--viz-a)}.sketch .sk-bar{opacity:.9}.sketch .sk.m-draw .sk-line{stroke-dasharray:1;stroke-dashoffset:1px}.sketch .sk.m-draw.on .sk-line{animation:1.3s ease-in-out forwards sk-draw}.sketch .sk.m-draw .sk-fill{opacity:0;transition:opacity .6s .8s}.sketch .sk.m-draw.on .sk-fill{opacity:1}@keyframes sk-draw{to{stroke-dashoffset:0}}.sketch .sk.m-grow{transform:scale(.2)}.sketch .sk.m-grow.on{animation:.7s cubic-bezier(.3,1.5,.5,1) forwards sk-grow}@keyframes sk-grow{0%{transform:scale(.2)}to{transform:scale(1)}}.sketch .sk.m-pulse.on{animation:1.6s ease-in-out infinite sk-pulse}@keyframes sk-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.sketch .sk.m-spin.on{animation:4s linear infinite sk-spin}@keyframes sk-spin{to{transform:rotate(360deg)}}.sketch .sk[style*=--mx].on{animation:1.8s cubic-bezier(.4,0,.2,1) .3s forwards sk-move}@keyframes sk-move{to{transform:translate(var(--mx),var(--my))}}.sketch .sk-flowing{fill:none;stroke:var(--viz-a);stroke-width:3.4px;stroke-linecap:round;stroke-dasharray:3 15;opacity:0}.sketch .sk.on .sk-flowing{opacity:1;animation:1s linear infinite sk-flow}@keyframes sk-flow{to{stroke-dashoffset:-18px}}.sketch .sk.m-jiggle.on .sk-dot{transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite alternate sk-jiggle}@keyframes sk-jiggle{0%{transform:translate(-1.6px,1px)}50%{transform:translate(1.4px,-1.6px)}to{transform:translate(-.6px,1.8px)}}@media (prefers-reduced-motion:reduce){.sketch .sk,.sketch .sk *{stroke-dashoffset:0!important;transition:none!important;animation:none!important}.sketch .sk-flowing{display:none}}.board-visual #missing{fill:var(--viz-a);font-family:var(--font-display);font-size:56px;font-weight:800}.replay-scene{margin:0 0 0 auto;padding:4px 8px;font-size:.8rem;display:block}.board-figure{border:1px solid var(--chip-line);background:var(--figure-bg);border-radius:16px;margin:0;padding:0;overflow:hidden}.board-figure img{object-fit:contain;max-width:100%;height:auto;margin:0 auto;display:block}.board-figure figcaption{color:var(--ink-2);background:var(--chip);padding:8px 12px;font-size:.82rem}.board-steps{counter-reset:step;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.board-steps li{counter-increment:step;background:var(--chip);border:1px solid var(--chip-line);color:var(--ink);opacity:0;border-radius:14px;padding:8px 12px 8px 40px;font-size:.95rem;line-height:1.4;animation:.45s ease-out forwards step-in;position:relative}.board-steps li:before{content:counter(step);background:var(--accent);width:22px;height:22px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid;position:absolute;top:8px;left:10px}.board-steps .tex.block{margin-top:4px;display:block;overflow-x:auto}.board-steps .katex-display{text-align:left;margin:2px 0 0}.board-steps.synced li{animation-duration:.3s}.board-steps.synced li:before{content:attr(data-n)}.board-steps.synced li.past{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;padding-block:5px;font-size:.85rem;overflow:hidden}.board-steps.synced li.past:before{background:var(--chip-line);width:20px;height:20px;color:var(--ink);top:5px}.board-steps.synced li.now{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.board-formula{transition:box-shadow .3s}.board-formula.pointed{box-shadow:0 0 0 3px var(--accent)}.board-question{background:var(--accent-soft);border:2px dashed var(--accent);color:var(--ink);border-radius:16px;padding:12px 14px;animation:.35s ease-out step-in}.board-question p{font-family:var(--font-display);margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.board-question .kicker{font-family:var(--font-body);margin-bottom:2px;font-size:.7rem}.board-choices{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.board-choices .chip{min-height:44px;font-size:1rem;font-weight:600}.pointer{z-index:2;pointer-events:none;width:0;height:0;transition:transform .6s cubic-bezier(.3,.7,.2,1);position:absolute;top:0;left:0}.pointer svg{filter:drop-shadow(0 2px 4px rgba(var(--shadow-rgb),.4));position:absolute;top:6px;left:6px;overflow:visible}.pointer svg path{fill:var(--accent);stroke:var(--paper);stroke-width:2.5px;stroke-linejoin:round}.pointer i{border:3px solid var(--accent);border-radius:50%;width:40px;height:40px;animation:1.4s ease-out infinite point-pulse;position:absolute;top:-20px;left:-20px}@keyframes point-pulse{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.25)}}@keyframes board-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.board,.board-steps li,.board-question,.book.skeleton{opacity:1;animation:none}.pointer{transition:none}.pointer i{opacity:0;animation:none}}@media (max-width:760px){.board{gap:10px;padding:12px}.board h2{font-size:1.15rem}.board header .kicker,.board-steps.synced li.past{display:none}}.memory-dialog{flex-direction:column;display:flex;position:relative}.memory-tabs{background:var(--chip);border:1px solid var(--chip-line);border-radius:999px;gap:6px;margin:0;padding:4px;display:flex}.memory-tabs [role=tab]{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-weight:600;display:inline-flex}.memory-tabs [role=tab][aria-selected=true]{background:var(--accent);color:var(--on-accent)}.memory-tabs .count,.memory-group h3 .count{background:var(--chip-line);min-width:22px;color:var(--ink);border-radius:999px;padding:1px 7px;font-size:.72rem}.memory-tabs [aria-selected=true] .count{color:var(--on-accent);background:#ffffff8c}.memory-body{padding:14px 0 8px}.memory-note{color:var(--ink-2);margin:0 0 12px;font-size:.85rem;line-height:1.45}.memory-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.memory-item{background:var(--chip);border:1px solid var(--chip-line);border-radius:16px;flex-direction:column;gap:6px;padding:12px 14px;display:flex;position:relative}.memory-item.current{border-color:var(--accent)}.memory-meta{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;display:flex}.memory-text{color:var(--ink);margin:0;font-size:.92rem;line-height:1.45}.memory-item:not(.fact) .memory-meta{padding-right:76px}.memory-chips{flex-wrap:wrap;gap:6px;display:flex}.memory-chips span{background:var(--paper);border:1px solid var(--chip-line);border-radius:999px;padding:2px 9px;font-size:.72rem}.memory-sub{color:var(--ink-2);margin:0;font-size:.8rem;line-height:1.4}.memory-sub b{color:var(--ink)}.memory-sub.ok b{color:var(--done)}.memory-sub.practice b{color:var(--accent-deep)}.memory-item.learned .memory-meta{padding-right:0}.memory-learned-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.memory-learned-body{flex-direction:column;gap:6px;display:flex}.memory-learned-body ul{color:var(--ink);flex-direction:column;gap:4px;margin:0;padding-left:1.1em;font-size:.9rem;line-height:1.45;display:flex}@media (max-width:440px){.memory-tabs [role=tab]{white-space:nowrap;gap:4px;padding:8px 6px;font-size:.82rem}.memory-tabs .count{min-width:18px;padding:1px 5px}}@media (max-width:360px){.memory-tabs .count{display:none}}.memory-delete{border:1px solid var(--chip-line);background:var(--paper);color:var(--danger);font:inherit;cursor:pointer;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;position:absolute;top:10px;right:10px}.memory-delete:disabled{opacity:.5;cursor:default}.live-dot{background:var(--mic-live);border-radius:50%;width:7px;height:7px;margin-right:6px;animation:.9s ease-in-out infinite alternate shimmer;display:inline-block}.memory-group{margin-bottom:14px}.memory-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:8px;margin:4px 0 8px;font-size:.72rem;display:flex}.memory-row-actions{align-items:center;gap:12px;display:inline-flex}.memory-row-actions .link{font-size:.78rem}.memory-item.editing{gap:10px}.memory-field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.memory-field textarea,.memory-field select{font:inherit;color:var(--ink);background:var(--paper);border:1.5px solid var(--chip-line);resize:vertical;border-radius:12px;padding:8px 10px;font-size:.92rem}.memory-field textarea:focus,.memory-field select:focus{border-color:var(--accent);outline:none}.memory-item.editing .memory-row-actions{justify-content:flex-end}.memory-item.editing .btn{padding:8px 16px}.memory-item.skeleton{min-height:84px;animation:1.2s ease-in-out infinite alternate shimmer}.memory-item.skeleton b,.memory-item.skeleton span{background:var(--chip-line);border-radius:6px;height:10px;display:block}.memory-item.skeleton b{width:40%}.memory-item.skeleton span{width:85%}.memory-item.skeleton span+span{width:60%}.memory-empty{text-align:center;margin:18px 0}.memory-dialog>footer{border-top:1px solid var(--panel-line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;display:flex}.memory-notice{color:var(--ink-2);font-size:.8rem}.danger-text{color:var(--danger)!important}.btn.danger{background:var(--danger);color:var(--on-danger)}.memory-confirm{z-index:40;background:var(--paper);border:1px solid var(--paper-line);width:min(440px,100% - 32px);box-shadow:0 0 0 100vmax rgba(var(--shadow-rgb),.35),0 20px 50px rgba(var(--shadow-rgb),.4);border-radius:22px;padding:20px;animation:.15s ease-out fade-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.memory-confirm h3{font-family:var(--font-display);margin:0 0 6px;font-size:1.15rem}.memory-confirm p{color:var(--ink-2);margin:0 0 14px;font-size:.88rem;line-height:1.45}.memory-confirm-actions{justify-content:flex-end;gap:10px;display:flex}@media (max-width:760px){.memory-dialog>footer{flex-direction:column-reverse;align-items:stretch}}.settings-layer{z-index:30;place-items:center;display:grid;position:fixed;inset:0}.settings-backdrop{background:rgba(var(--shadow-rgb),.5);-webkit-backdrop-filter:blur(4px);position:absolute;inset:0}.settings-sheet{background:var(--paper);border:1px solid var(--paper-line);width:min(1080px,100% - 48px);height:min(880px,100% - 48px);box-shadow:0 30px 80px rgba(var(--shadow-rgb),.4);color:var(--ink);border-radius:28px;flex-direction:column;animation:.22s ease-out board-in;display:flex;position:relative;overflow:hidden}.settings-top{border-bottom:1px solid var(--panel-line);align-items:center;gap:14px;padding:16px 20px 16px 24px;display:flex}.settings-title{flex-direction:column;flex:1;min-width:0;display:flex}.settings-title h2{font-family:var(--font-display);margin:0;font-size:1.5rem;line-height:1.15}.settings-title span{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.settings-close{flex:none;order:2}.settings-close svg{width:18px;height:18px}.settings-body{flex:1;grid-template-columns:270px minmax(0,1fr);min-height:0;display:grid}.settings-nav{border-right:1px solid var(--panel-line);background:var(--panel);flex-direction:column;gap:6px;padding:16px 14px;display:flex}.settings-nav [role=tab]{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:16px;align-items:center;gap:12px;padding:12px;transition:background .15s;display:flex}.settings-nav [role=tab]:hover{background:var(--chip-hover)}.settings-nav [role=tab][aria-selected=true]{background:var(--chip);box-shadow:inset 3px 0 0 var(--accent)}.settings-nav-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-deep);border-radius:12px;flex:none;place-items:center;display:grid}.settings-nav-icon svg{width:19px;height:19px}.settings-nav-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.settings-nav-text b{font-size:.95rem}.settings-nav-text small{color:var(--ink-2);font-size:.75rem}.settings-main{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:24px 30px 32px;overflow-y:auto}.settings-section-head h3{font-family:var(--font-display);margin:0;font-size:1.35rem;line-height:1.2}.settings-section-head p{color:var(--ink-2);margin:4px 0 18px;font-size:.88rem;line-height:1.45}.settings-empty{text-align:center;margin:28px 0}.reports-split{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:18px;display:grid}.report-days{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;position:sticky;top:0}.report-day{border:1px solid var(--chip-line);background:var(--chip);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:16px;gap:2px;padding:12px 14px;transition:background .15s,border-color .15s;display:grid}.report-day:hover{background:var(--chip-hover)}.report-day[aria-current=true]{border-color:var(--accent);background:var(--chip-hover)}.report-day b{font-size:.95rem}.report-day>span{color:var(--ink-2);font-size:.75rem}.report-day .report-badge{background:var(--chip-line);color:var(--ink-2);border-radius:999px;justify-self:start;margin-top:4px;padding:1px 8px;font-size:.66rem;font-weight:600}.report-day .report-badge.sent{background:var(--done-soft);color:var(--done)}.report-day .report-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.report-day .report-badges .report-badge{margin-top:0}.report-day .report-badge.marks{background:var(--accent-soft);color:var(--accent-deep)}.report-day.skeleton{min-height:68px;animation:1.2s ease-in-out infinite alternate shimmer}.report-day.skeleton b,.report-day.skeleton span{background:var(--chip-line);border-radius:6px;height:10px;display:block}.report-day.skeleton b{width:50%}.report-day.skeleton span{width:75%;margin-top:6px}.report-reader{border:1px solid var(--chip-line);background:var(--chip);border-radius:22px;padding:20px}.report-reader-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.report-reader-head>div{flex:1;min-width:0}.report-reader-head h4{font-family:var(--font-display);margin:0;font-size:1.2rem;line-height:1.2}.report-reader-head span{color:var(--ink-2);font-size:.8rem}.report-copy{flex:none;padding:8px 14px;font-size:.85rem}.report-back{display:none}.report-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--paper-line);border-radius:16px;flex-direction:column;gap:3px;min-width:0;padding:12px 14px;display:flex}.stat-card.marks{flex-direction:row;grid-column:1/-1;align-items:center;gap:16px;padding:14px 18px}.stat-card.marks>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stat-ring{flex:none;width:64px;height:64px;transform:rotate(-90deg)}.stat-ring circle{fill:none;stroke-width:3.6px}.stat-ring .track{stroke:var(--chip-line)}.stat-ring .fill{stroke:var(--done);stroke-linecap:round;transition:stroke-dasharray .6s ease-out}.stat-card.fair .stat-ring .fill{stroke:var(--learning)}.stat-card.low .stat-ring .fill{stroke:var(--danger)}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:.68rem;font-weight:600;line-height:1.3}.stat-value{font-family:var(--font-display);color:var(--ink);white-space:nowrap;font-size:1.45rem;line-height:1.1}.stat-value.big{font-size:2rem}.stat-value small{color:var(--ink-2);font-size:.9rem;font-weight:600}.stat-note{color:var(--ink-2);font-size:.75rem;line-height:1.35}.stat-chip{background:var(--chip-line);color:var(--ink-2);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:.68rem;font-weight:600}.stat-chip.verdict{flex:none;align-self:center;padding:5px 12px;font-size:.8rem}.stat-chip.good{background:var(--done-soft);color:var(--done)}.stat-chip.fair{background:var(--learning-soft);color:var(--accent-deep)}.stat-chip.low{background:var(--chip-line);color:var(--danger)}.stat-bar{background:var(--chip-line);border-radius:3px;height:5px;margin-top:4px;display:block;overflow:hidden}.stat-bar i{background:var(--done);border-radius:3px;height:100%;display:block}@media (max-width:480px){.report-stats{grid-template-columns:1fr 1fr}.report-stats .stat-card:last-child{grid-column:1/-1}.stat-card.marks{flex-wrap:wrap}}.report-bubble{white-space:pre-wrap;color:var(--ink);background:var(--paper);border:1px solid var(--paper-line);border-radius:18px 18px 18px 4px;max-width:680px;padding:16px 18px;font-size:.95rem;line-height:1.6}.report-bubble b{font-weight:700}.report-foot{margin:12px 0 0;font-size:.8rem}@media (max-width:760px){.settings-layer{place-items:stretch stretch}.settings-sheet{border:0;border-radius:0;width:100%;height:100%;animation:.22s ease-out rise}.settings-top{padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px 18px}.settings-title h2{font-size:1.3rem}.settings-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--panel-line);flex-direction:row;gap:6px;padding:8px 12px;overflow-x:auto}.settings-nav [role=tab]{border-radius:999px;flex:1;justify-content:center;gap:8px;padding:9px 10px}.settings-nav [role=tab][aria-selected=true]{box-shadow:inset 0 0 0 2px var(--accent)}.settings-nav-icon{border-radius:9px;width:28px;height:28px}.settings-nav-icon svg{width:16px;height:16px}.settings-nav-text small{display:none}.settings-nav-text b{white-space:nowrap;font-size:.86rem}.settings-main{padding:16px 16px calc(28px + env(safe-area-inset-bottom,0px))}.reports-split{grid-template-columns:1fr}.report-days{position:static}.reports-section:not(.reading) .report-reader,.reports-section.reading .report-days,.reports-section.reading .settings-section-head{display:none}.report-back{justify-content:flex-start;align-self:flex-start;margin:-4px 0 6px;padding:6px 0;display:inline-flex}.report-reader{border-radius:18px;padding:16px}.report-reader-head{flex-wrap:wrap}.report-reader-head .report-back{flex-basis:100%}}.rest-card{flex-wrap:wrap;align-items:center;gap:14px;padding:6px 4px;display:flex}.rest-icon{background:var(--viz-b);width:52px;height:52px;color:var(--on-accent);border-radius:16px;flex:none;place-items:center;display:grid}.rest-icon svg{width:28px;height:28px}.rest-text{flex-direction:column;flex:1;gap:2px;min-width:180px;line-height:1.35;display:flex}.rest-text b{font-family:var(--font-display);color:var(--ink);font-size:1.15rem}.rest-text span{color:var(--ink-2);font-size:.88rem}.rest-timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.5rem;font-weight:700}.rest-card .btn{flex:none}@media (max-width:520px){.rest-card .btn{flex:1}}.call-card{z-index:8;left:50%;top:calc(66px + env(safe-area-inset-top,0px));background:var(--paper);border:1.5px solid var(--accent);width:min(480px,100% - 24px);box-shadow:0 14px 40px rgba(var(--shadow-rgb),.22);border-radius:22px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;animation:.35s cubic-bezier(.3,.7,.2,1.2) call-in;display:flex;position:fixed;transform:translate(-50%)}.call-pulse{background:var(--mic-live);width:14px;height:14px;box-shadow:0 0 0 0 var(--mic-live);border-radius:50%;flex:none;animation:1.4s ease-out infinite call-ring}.call-text{flex-direction:column;flex:1;gap:2px;min-width:180px;line-height:1.35;display:flex}.call-text b{font-family:var(--font-display);color:var(--ink);font-size:1.05rem}.call-text span{color:var(--ink-2);font-size:.88rem}.call-actions{gap:8px;margin-left:auto;display:flex}.call-actions .btn{padding:9px 16px}@media (max-width:520px){.call-actions,.call-actions .btn{flex:1}}@keyframes call-in{0%{opacity:0;transform:translate(-50%,-12px)scale(.96)}}@keyframes call-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--mic-live) 60%,transparent)}to{box-shadow:0 0 0 14px #0000}}@media (prefers-reduced-motion:reduce){.call-card,.call-pulse{animation:none}}.device-calls{background:var(--accent-soft);color:var(--ink);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.device-calls.on{background:var(--done-soft)}.device-calls p{flex:1;min-width:200px;margin:0;font-size:.85rem;line-height:1.4}.device-calls .btn{padding:8px 16px}.device-calls-note{color:var(--ink-2);flex-basis:100%;margin:0;font-size:.8rem}.device-calls-icon{background:var(--paper);width:36px;height:36px;color:var(--accent-deep);border-radius:12px;flex:none;place-items:center;display:grid}.device-calls.on .device-calls-icon{color:var(--done)}.device-calls-icon svg{width:20px;height:20px}.routine-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.routine{background:var(--chip);border:1px solid var(--chip-line);border-radius:16px;transition:opacity .2s}.routine.open{border-color:var(--accent)}.routine.off .routine-main{opacity:.55}.routine-head{align-items:center;gap:10px;padding-right:12px;display:flex}.routine-main{min-width:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:16px;flex:1;align-items:center;gap:12px;padding:12px 4px 12px 14px;display:flex}.routine-time{width:78px;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);flex:none;font-size:1.02rem}.routine-name{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.routine-name b{font-size:.95rem}.routine-name span{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.routine-status{background:var(--paper);color:var(--ink-2);border-radius:999px;flex:none;padding:3px 8px;font-size:.7rem;font-weight:700}.routine-status.ok{background:var(--done-soft);color:var(--done)}.routine-status.warn{background:var(--accent-soft);color:var(--accent-deep)}.routine-status.live{background:var(--mic-live);color:var(--on-danger)}.routine-edit{flex-direction:column;gap:10px;padding:0 14px 14px;display:flex}.routine-fields{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.routine-actions{flex-wrap:wrap}.memory-field input{font:inherit;color:var(--ink);background:var(--paper);border:1.5px solid var(--chip-line);border-radius:12px;padding:8px 10px;font-size:.92rem}.memory-field input:focus{border-color:var(--accent);outline:none}.days-picker{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.days-picker legend{color:var(--ink-2);margin-bottom:4px;padding:0;font-size:.75rem}.days-modes,.days-week{flex-wrap:wrap;gap:6px;display:flex}.days-picker button{font:inherit;border:1.5px solid var(--chip-line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:.8rem}.days-week button{width:38px;padding:6px 0}.days-picker button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.days-picker:disabled{opacity:.6}.schedule-add,.new-reminder{margin-top:12px}.schedule-section footer{min-height:28px;padding-top:10px}.switch{cursor:pointer;flex:none;width:44px;height:26px;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch span{background:var(--chip-line);pointer-events:none;border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch span:after{content:"";background:var(--paper);width:20px;height:20px;box-shadow:0 1px 3px rgba(var(--shadow-rgb),.3);border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--ok)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.switch input:disabled+span{opacity:.6}.test-panel{z-index:6;left:12px;top:calc(env(safe-area-inset-top,0px) + 64px);background:var(--paper);border:1.5px solid var(--paper-line);width:min(270px,100vw - 24px);max-height:calc(100vh - 150px);color:var(--ink);border-radius:16px;padding:10px 12px;position:fixed;overflow:auto}.test-panel section+section{margin-top:8px}.test-panel .label{margin:0 0 4px;font-size:.78rem}.test-panel .chips{gap:6px}.test-panel .chip{border-radius:12px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;font-size:.8rem;line-height:1.2;display:flex}.test-panel .chip small{color:var(--ink-2);font-size:.7rem}.test-panel .chip[aria-pressed=true] small{color:inherit}.test-panel .hint{margin:8px 0 0;font-size:.68rem}.admin{--cy-bg:#000;--cy-panel:#171717;--cy-panel-2:#262626;--cy-line:#404040;--cy-line-2:#262626;--cy-ink:#fafafa;--cy-ink-2:#a3a3a3;--cy-ink-3:#737373;--cy-hot:#f97316;--cy-hot-2:#ea580c;--cy-bad:#ef4444;--cy-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--cy-bg);color:var(--cy-ink);font-family:var(--cy-mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:13px;line-height:1.5;display:flex;position:fixed;inset:0}.admin *{box-sizing:border-box}.admin .lucide{flex:none;width:16px;height:16px}.cy-wait{color:var(--cy-ink-2);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:auto;display:flex}.cy-pulse{background:var(--cy-ink);border-radius:50%;flex:none;width:8px;height:8px;animation:2s infinite cy-pulse;display:inline-block}@keyframes cy-pulse{50%{opacity:.3}}.cy-side{background:var(--cy-panel);border-right:1px solid var(--cy-line);flex-direction:column;flex:none;gap:24px;width:272px;padding:16px;transition:width .3s,padding .3s;display:flex;overflow-y:auto}.cy-logo{justify-content:space-between;align-items:center;gap:8px;min-height:40px;display:flex}.cy-logo b{color:var(--cy-hot);letter-spacing:.14em;font-size:1.05rem;font-weight:700;display:block}.cy-logo small{color:var(--cy-ink-3);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.68rem;display:block}.cy-collapse .lucide{transition:transform .3s;transform:rotate(180deg)}.cy-side nav{gap:6px;display:grid}.cy-side nav button{width:100%;color:var(--cy-ink-2);font:inherit;letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;padding:11px 12px;font-size:.78rem;font-weight:500;display:flex}.cy-side nav button:hover{color:var(--cy-ink);background:var(--cy-panel-2)}.cy-side nav button.on{background:var(--cy-hot);color:#fff}.cy-side nav .lucide{width:18px;height:18px}.cy-side nav i{background:var(--cy-panel-2);min-width:20px;color:var(--cy-hot);text-align:center;border-radius:999px;margin-left:auto;padding:0 6px;font-size:.68rem;font-style:normal}.cy-side nav button.on i{color:#fff;background:#00000040}.cy-sys{background:var(--cy-panel-2);border:1px solid var(--cy-line);border-radius:4px;margin-top:auto;padding:14px;font-size:.7rem}.cy-sys>div{letter-spacing:.1em;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cy-sys.warn .cy-pulse{background:var(--cy-hot)}.cy-sys.warn>div{color:var(--cy-hot)}.cy-sys.bad .cy-pulse{background:var(--cy-bad)}.cy-sys.bad>div{color:var(--cy-bad)}.cy-sys dl{color:var(--cy-ink-3);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.cy-sys dd{color:var(--cy-ink-2);text-align:right;margin:0}.cy-scrim{display:none}@media (min-width:821px){.admin.collapsed .cy-side{width:68px;padding:16px 10px}.admin.collapsed .cy-logo{justify-content:center}.admin.collapsed .cy-logo-text,.admin.collapsed .cy-side nav span,.admin.collapsed .cy-side nav i,.admin.collapsed .cy-sys{display:none}.admin.collapsed .cy-collapse .lucide{transform:none}.admin.collapsed .cy-side nav button{justify-content:center;padding:11px}}.cy-main{flex-direction:column;flex:1;min-width:0;display:flex}.cy-top{background:var(--cy-panel-2);border-bottom:1px solid var(--cy-line);flex:none;align-items:center;gap:12px;height:64px;padding:0 24px;display:flex}.cy-crumb{min-width:0;color:var(--cy-ink-2);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.78rem;overflow:hidden}.cy-crumb b{color:var(--cy-hot);font-weight:500}.cy-top-r{color:var(--cy-ink-3);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:14px;font-size:.7rem;display:flex}.cy-icon{width:34px;height:34px;color:var(--cy-ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:inline-grid;position:relative}.cy-icon:hover{color:var(--cy-hot);background:#ffffff0a}.cy-icon:disabled{opacity:.45;cursor:default}.cy-bell i{background:var(--cy-hot);color:#fff;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-style:normal;line-height:16px;position:absolute;top:1px;right:0}.cy-menu{display:none}.cy-body{flex:1;min-height:0;padding:24px;overflow:auto}.cy-alert{border:1px solid var(--cy-bad);background:#ef444414;border-left-width:3px;border-radius:4px;margin-bottom:16px;padding:10px 14px}.cy-alert b{color:var(--cy-bad);letter-spacing:.1em;margin-right:8px}.cy-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.cy-head h1{letter-spacing:.12em;margin:0;font-size:1.45rem;font-weight:700}.cy-head p{color:var(--cy-ink-2);margin:2px 0 0;font-size:.8rem}.cy-note{color:var(--cy-ink-3);margin:0;font-size:.76rem}.cy-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;display:grid}.cy-panel{background:var(--cy-panel);border:1px solid var(--cy-line);border-radius:6px;grid-column:span 12;min-width:0;padding:18px}.cy-panel.s4{grid-column:span 4}.cy-panel.s5{grid-column:span 5}.cy-panel.s7{grid-column:span 7}.cy-panel.s8{grid-column:span 8}.cy-panel h3{color:var(--cy-ink-2);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;font-size:.76rem;font-weight:500;display:flex}.cy-panel h3 small{color:var(--cy-ink-3);letter-spacing:.04em;text-transform:none;align-items:center;gap:6px;font-size:.68rem;display:flex}.cy-panel h3 .cy-btn{margin-left:auto}.cy-stat{grid-column:span 3;justify-content:space-between;align-items:center;gap:12px;display:flex}.cy-stat>div{min-width:0}.cy-stat p{color:var(--cy-ink-2);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem}.cy-stat b{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.25;display:block}.cy-stat small{color:var(--cy-ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;display:block;overflow:hidden}.cy-stat .lucide{width:30px;height:30px}.cy-stat.warn b,.cy-stat.warn .lucide{color:var(--cy-hot)}.cy-stat.bad b,.cy-stat.bad .lucide{color:var(--cy-bad)}.cy-dot{background:var(--cy-ink-3);border-radius:50%;flex:none;width:8px;height:8px}.cy-dot.ok{background:var(--cy-ink)}.cy-dot.warn{background:var(--cy-hot)}.cy-dot.bad{background:var(--cy-bad)}.cy-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cy-list li{background:var(--cy-panel-2);border-radius:4px;align-items:center;gap:10px;padding:8px 10px;display:flex}.cy-list li>div{flex:1;min-width:0}.cy-list b{font-size:.78rem;font-weight:500;display:block}.cy-list small{color:var(--cy-ink-3);overflow-wrap:anywhere;font-size:.68rem;display:block}.cy-list em{color:var(--cy-ink-3);white-space:nowrap;font-size:.68rem;font-style:normal}.cy-log{gap:8px;max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.cy-log li{border-left:2px solid var(--cy-ink-2);border-radius:0 4px 4px 0;padding:6px 10px;font-size:.72rem}.cy-log li:hover{background:var(--cy-panel-2)}.cy-log li.warn{border-color:var(--cy-hot)}.cy-log li.bad{border-color:var(--cy-bad)}.cy-log time{color:var(--cy-ink-3)}.cy-log p{overflow-wrap:anywhere;margin:0}.cy-log b{color:var(--cy-hot);font-weight:500}.cy-orb{width:104px;height:104px;margin:4px auto 16px;position:relative}.cy-orb i{border:1px solid var(--cy-ink);border-radius:50%;position:absolute}.cy-orb i:first-child{opacity:.6;border-width:2px;animation:3s infinite cy-pulse;inset:0}.cy-orb i:nth-child(2){opacity:.4;inset:9px}.cy-orb i:nth-child(3){opacity:.2;inset:19px}.cy-orb:before,.cy-orb:after{content:"";background:var(--cy-ink);opacity:.3;position:absolute}.cy-orb:before{height:1px;top:50%;left:0;right:0}.cy-orb:after{width:1px;top:0;bottom:0;left:50%}.cy-orb.busy i{border-color:var(--cy-hot)}.cy-orb.busy i:first-child{animation-duration:1.2s}.cy-term{color:var(--cy-ink-3);font-size:.72rem}.cy-term p{color:var(--cy-ink-2);overflow-wrap:anywhere;margin:0 0 2px}.cy-term p:first-child{color:var(--cy-ink-3)}.cy-term b{color:var(--cy-ink);font-weight:500}.cy-term .hot{color:var(--cy-hot)}.cy-term .bad{color:var(--cy-bad)}.cy-chart{padding:0 0 4px 36px;position:relative}.cy-chart svg{border:1px solid var(--cy-line-2);background-image:linear-gradient(var(--cy-line-2) 1px,transparent 1px),linear-gradient(90deg,var(--cy-line-2) 1px,transparent 1px);background-size:12.5% 16.666%;width:100%;height:200px;display:block}.cy-chart polyline{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke}.cy-chart .hot{stroke:var(--cy-hot)}.cy-chart .dash{stroke:var(--cy-ink);stroke-dasharray:5 5;opacity:.75}.cy-chart .area{fill:#f973161a;stroke:none}.cy-y{width:30px;height:200px;color:var(--cy-ink-3);text-align:right;flex-direction:column;justify-content:space-between;font-size:.66rem;display:flex;position:absolute;top:0;left:0}.cy-x{color:var(--cy-ink-3);justify-content:space-between;margin-top:6px;font-size:.66rem;display:flex}.cy-key{background:var(--cy-hot);width:14px;height:2px;margin-left:6px;display:inline-block}.cy-key.dash{background:repeating-linear-gradient(90deg,var(--cy-ink) 0 4px,transparent 4px 7px)}.cy-kv{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:.78rem;display:grid}.cy-kv dt{color:var(--cy-ink-3);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding-top:1px;font-size:.68rem}.cy-kv dt.bad{color:var(--cy-bad)}.cy-kv dd{overflow-wrap:anywhere;margin:0}.cy-btn{border:1px solid var(--cy-hot);background:var(--cy-hot);color:#fff;font:inherit;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px 14px;font-size:.72rem;font-weight:600;display:inline-flex}.cy-btn:hover{background:var(--cy-hot-2);border-color:var(--cy-hot-2)}.cy-btn:disabled{opacity:.45;cursor:not-allowed}.cy-btn.ghost{border-color:var(--cy-line);color:var(--cy-ink-2);background:0 0}.cy-btn.ghost:hover{border-color:var(--cy-hot);color:var(--cy-hot)}.cy-btn.ghost.danger:hover{border-color:var(--cy-bad);color:var(--cy-bad)}.cy-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.cy-table+.cy-form{margin-top:16px}.cy-form label{gap:4px;min-width:150px;display:grid}.cy-form label.grow{flex:1}.cy-form label span{color:var(--cy-ink-3);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem}.cy-form .cy-note{flex-basis:100%}.admin select,.admin input{border:1px solid var(--cy-line);background:var(--cy-panel-2);height:36px;color:var(--cy-ink);font:inherit;border-radius:4px;padding:0 10px;font-size:.78rem}.admin select:focus,.admin input:focus{outline:1px solid var(--cy-hot);border-color:var(--cy-hot)}.cy-badge{color:var(--cy-ink-2);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:#73737338;border-radius:3px;padding:2px 8px;font-size:.64rem;display:inline-block}.cy-badge.ok{color:var(--cy-ink);background:#ffffff24}.cy-badge.warn{color:var(--cy-hot);background:#f973162e}.cy-badge.bad{color:var(--cy-bad);background:#ef44442e}td.num .cy-badge{margin-left:8px}.cy-table{overflow-x:auto}.cy-table table{border-collapse:collapse;width:100%;font-size:.76rem}.cy-table th{border-bottom:1px solid var(--cy-line);color:var(--cy-ink-3);letter-spacing:.12em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 12px;font-size:.66rem;font-weight:500}.cy-table td{border-bottom:1px solid var(--cy-line-2);vertical-align:top;padding:10px 12px}.cy-table tbody tr:not(.missing):hover td{background:#ffffff06}.cy-table td.num{font-variant-numeric:tabular-nums}.cy-table .nowrap{white-space:nowrap}.cy-table td.note{max-width:360px;color:var(--cy-ink-2);overflow-wrap:anywhere}.cy-table td.note i{color:var(--cy-hot);font-style:normal}.cy-table td.when{color:var(--cy-ink-3);white-space:nowrap}.cy-table td.hot{color:var(--cy-hot)}.cy-table tr.missing td{background:var(--cy-panel-2);border-left:2px solid var(--cy-hot);padding:12px 14px}.cy-table tr.missing p{color:var(--cy-ink-2);margin:0 0 8px;font-size:.72rem}.cy-table tr.missing p b{color:var(--cy-hot);letter-spacing:.12em;margin-right:6px;font-weight:500}.cy-table tr.missing ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cy-table tr.missing li{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cy-table tr.missing li>span:first-child{flex:1;min-width:220px}.cy-table tr.missing a{color:var(--cy-hot);text-underline-offset:3px}.cy-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cy-chips li{border:1px solid var(--cy-line);background:var(--cy-panel-2);white-space:nowrap;border-radius:3px;padding:3px 10px;font-size:.72rem}.cy-chips b{color:var(--cy-hot);margin-left:4px;font-weight:600}@media (max-width:1100px){.cy-stat{grid-column:span 6}.cy-panel.s4,.cy-panel.s5,.cy-panel.s7,.cy-panel.s8{grid-column:span 12}}@media (max-width:820px){.cy-side{z-index:30;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.admin.nav-open .cy-side{transform:none}.admin.nav-open .cy-scrim{z-index:20;background:#0009;display:block;position:fixed;inset:0}.cy-collapse{display:none}.cy-menu{display:inline-grid}.cy-top{padding:0 10px}.cy-hide-sm{display:none}.cy-body{padding:16px}.cy-grid{gap:12px}}@media (max-width:520px){.cy-stat{grid-column:span 12}}@media (prefers-reduced-motion:reduce){.admin *,.admin :before,.admin :after{transition:none!important;animation:none!important}}
