:root{--ink:#17302d;--green:#0a6757;--coral:#ff7248;--paper:#f5f4ed;--line:#dde2dd;--muted:#6d7c78}*{box-sizing:border-box}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink)}button,input,textarea,select{font:inherit}.auth-page{background:var(--paper)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-intro{position:relative;overflow:hidden;background:var(--ink);color:white;padding:45px 6vw;display:flex;flex-direction:column;justify-content:space-between}.app-logo{display:flex;align-items:center;color:white;text-decoration:none;font:800 21px Manrope}.app-logo>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--coral);color:var(--ink);margin-right:10px}.app-logo em{font-style:normal;color:var(--coral)}.auth-message{position:relative;z-index:2;max-width:650px}.kicker{color:#8dc7bb;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.auth-message h1{font:800 clamp(45px,5vw,76px)/1.04 Manrope;letter-spacing:-4px;margin:20px 0}.auth-message h1 i{font-family:Georgia,serif;font-weight:400;color:#9ad2c6}.auth-message p{color:#b7cac6;max-width:510px;font-size:17px}.auth-equation{position:relative;height:130px;opacity:.5}.auth-equation span{font:italic 35px Georgia;position:absolute}.auth-equation svg{position:absolute;width:100%;height:210px;bottom:-70px}.auth-equation path{stroke:#ff7248;stroke-width:3;fill:none}.auth-panel{display:grid;place-items:center;padding:35px}.auth-card{width:min(430px,100%)}.back-link{display:block;color:var(--muted);font-size:12px;text-decoration:none;margin-bottom:65px}.auth-card h2{font:800 39px Manrope;letter-spacing:-2px;margin:10px 0 5px}.auth-card>div>p{color:var(--muted);margin:0 0 35px}.auth-card>label{display:block;font-size:12px;font-weight:700;margin:19px 0}.auth-card input{width:100%;border:1px solid var(--line);background:white;border-radius:8px;padding:14px;outline:none;margin-top:7px}.auth-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,103,87,.08)}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:45px}.password-wrap button{position:absolute;right:7px;top:13px;border:0;background:none;color:var(--muted);cursor:pointer}.auth-options{display:flex;justify-content:space-between;font-size:11px}.auth-options a{color:var(--green)}.auth-options .check{display:flex;align-items:center;gap:6px;font-weight:400;margin:0}.check input{width:auto;margin:0}.login-button{width:100%;border:0;border-radius:8px;background:var(--coral);padding:15px 19px;font-weight:700;display:flex;justify-content:space-between;cursor:pointer;margin-top:25px}.demo-note{text-align:center!important;font-size:10px;color:var(--muted)!important}.workspace-page{height:100vh;overflow:hidden;background:#eef0eb}.workspace-header{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;justify-content:space-between;position:relative;z-index:10}.app-logo.compact{color:var(--ink);font-size:17px}.app-logo.compact>span{width:31px;height:31px;border-radius:8px}.board-title{position:absolute;left:50%;transform:translateX(-50%);text-align:center}.board-title input{display:block;border:0;text-align:center;font-weight:700;background:transparent;outline:none}.board-title span{font-size:9px;color:#78918c}.header-actions{display:flex;align-items:center;gap:9px}.share-button,.icon-button{border:0;border-radius:7px;background:var(--ink);color:white;padding:10px 14px;font-size:11px;font-weight:700;cursor:pointer}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#cde7df;font-weight:700}.mobile-assistant{display:none}.workspace{height:calc(100vh - 66px);display:grid;grid-template-columns:68px 1fr 330px}.left-rail{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:11px 7px;gap:3px;z-index:5}.tool{width:52px;min-height:50px;border:0;background:none;border-radius:8px;color:#60716d;cursor:pointer}.tool span{display:block;font-size:20px;font-family:Manrope}.tool small{font-size:9px}.tool:hover,.tool.active{background:#e5f2ed;color:var(--green)}.board-area{position:relative;min-width:0;overflow:hidden}.canvas-wrap{position:absolute;inset:0;overflow:auto;background-color:#f8f8f4;background-image:radial-gradient(#cbd2cc 1px,transparent 1px);background-size:22px 22px;touch-action:none}#whiteboard{display:block;position:absolute;inset:0;cursor:crosshair}.tool-options{position:absolute;z-index:4;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;box-shadow:0 8px 30px rgba(23,48,45,.1)}.colors{display:flex;gap:6px}.colors button{width:22px;height:22px;border:3px solid white;outline:1px solid transparent;border-radius:50%;background:var(--c);cursor:pointer}.colors button.active{outline-color:var(--c)}.divider{height:24px;width:1px;background:var(--line);margin:0 10px}.size-control{display:flex;align-items:center;gap:6px}.size-control>span{display:block;width:10px;height:10px;border-radius:50%;background:var(--ink)}.size-control input{width:75px;accent-color:var(--green)}.mini-button{border:0;background:none;font-size:19px;color:var(--ink);cursor:pointer;padding:4px 7px}.zoom-controls{position:fixed;z-index:3;bottom:18px;left:100px;background:white;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;box-shadow:0 6px 18px rgba(23,48,45,.08)}.zoom-controls button{border:0;background:none;padding:8px 11px;cursor:pointer}.zoom-controls span{font-size:10px;min-width:40px;text-align:center}.assistant-panel{background:white;border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0;z-index:6}.assistant-panel>header{padding:16px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.assistant-panel>header>div:nth-child(2){min-width:0;flex:1}.assistant-panel header strong,.assistant-panel header span{display:block}.assistant-panel header strong{font-size:13px}.assistant-panel header span{font-size:9px;color:var(--muted)}.assistant-panel header i{display:inline-block;width:6px;height:6px;background:#22a67c;border-radius:50%}.assistant-panel header button,.materials header button{border:0;background:none;font-size:20px;cursor:pointer}.assistant-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--green);color:white}.context-chip{margin:13px 14px;padding:10px;background:#eef7f3;border:1px solid #d4ebe3;border-radius:8px;display:flex;align-items:center;gap:9px}.context-chip>span{color:var(--green)}.context-chip small,.context-chip strong{display:block}.context-chip small{font-size:7px;color:var(--muted);letter-spacing:1px}.context-chip strong{font-size:10px}.chat{padding:5px 14px;overflow:auto;flex:1}.message{display:flex;gap:8px;margin:11px 0}.message p{font-size:12px;line-height:1.55;margin:0;background:#f0f2ef;padding:11px;border-radius:4px 11px 11px 11px}.message.user{justify-content:flex-end}.message.user p{background:var(--green);color:white;border-radius:11px 4px 11px 11px}.bot-dot{flex:0 0 24px;height:24px;border-radius:7px;background:#dceee8;display:grid;place-items:center;color:var(--green)}.suggestions{display:flex;gap:6px;padding:8px 14px;overflow:auto}.suggestions button{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:20px;padding:7px 9px;font-size:9px;color:var(--green);cursor:pointer}.chat-input{margin:4px 12px;display:flex;align-items:flex-end;border:1px solid var(--line);border-radius:10px;padding:7px}.chat-input textarea{border:0;resize:none;outline:none;flex:1;font-size:12px;padding:5px;max-height:80px}.chat-input button{border:0;width:29px;height:29px;border-radius:7px;background:#e8efec;cursor:pointer}.chat-input button:last-child{background:var(--coral)}.chat-input button.listening{background:#ffcbc0;animation:pulse 1s infinite}.assistant-disclaimer{text-align:center;color:var(--muted);font-size:8px;margin:5px 0 10px}.materials{display:none;position:absolute;z-index:7;inset:0 0 0 auto;width:290px;background:white;border-left:1px solid var(--line);box-shadow:-15px 0 30px rgba(23,48,45,.08)}.materials.open{display:block}.materials header{padding:18px;display:grid;grid-template-columns:1fr auto}.materials header strong,.materials header span{display:block}.materials header span{font-size:9px;color:var(--muted)}.materials header button{grid-row:1/3;grid-column:2}.material-list{padding:10px}.empty-materials{border:1px dashed #b8c5c0;border-radius:9px;padding:25px 10px;text-align:center;color:var(--muted)}.empty-materials b,.empty-materials span{display:block;font-size:11px}.empty-materials span{font-size:9px;margin-top:4px}.material-card{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:7px;margin-bottom:7px;cursor:pointer}.material-card .thumb{width:37px;height:43px;object-fit:cover;background:#f0f1ed;display:grid;place-items:center;color:var(--coral);font-weight:700;font-size:10px}.material-card div:nth-child(2){overflow:hidden;flex:1}.material-card strong,.material-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-card strong{font-size:10px}.material-card small{font-size:8px;color:var(--muted)}.toast{position:fixed;bottom:20px;left:50%;z-index:30;transform:translate(-50%,20px);background:var(--ink);color:white;padding:10px 15px;border-radius:7px;font-size:11px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes pulse{50%{transform:scale(1.08)}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}.workspace{grid-template-columns:58px 1fr}.assistant-panel{position:fixed;right:0;top:66px;bottom:0;width:min(350px,90vw);transform:translateX(105%);transition:.25s;box-shadow:-15px 0 30px rgba(23,48,45,.15)}.assistant-panel.open{transform:none}.mobile-assistant{display:block}.board-title{display:none}.left-rail{padding-inline:3px}.tool{width:48px}.share-button{display:none}}
@media(max-width:520px){.app-logo.compact{font-size:0}.workspace{grid-template-columns:52px 1fr}.tool-options{left:8px;right:8px;transform:none;overflow:auto;justify-content:flex-start}.size-control input{width:50px}.divider{margin:0 5px}.zoom-controls{left:70px}.materials{width:100%}}

/* Account, dashboard and learning history */
.auth-tabs{display:flex!important;background:#e9ece8;border-radius:8px;padding:3px;margin-bottom:28px}.auth-tabs button{flex:1;border:0;background:transparent;border-radius:6px;padding:9px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(23,48,45,.08)}.register-only{display:none!important}.register-mode .register-only{display:block!important}.dashboard-link{font-size:11px;font-weight:700;color:var(--green);text-decoration:none;margin-right:5px}
.geometry-panel{display:none;position:absolute;z-index:8;right:18px;top:75px;width:350px;background:#102c29;color:white;border-radius:14px;box-shadow:0 24px 60px rgba(10,30,28,.3);overflow:hidden}.geometry-panel.open{display:block}.geometry-panel header{padding:16px 18px;display:flex;justify-content:space-between;align-items:center}.geometry-panel header strong,.geometry-panel header span{display:block}.geometry-panel header span{font-size:9px;color:#9dbbb5}.geometry-panel header button{border:0;background:none;color:white;font-size:20px;cursor:pointer}.geometry-panel canvas{display:block;width:100%;height:270px;background:radial-gradient(circle,#21423e,#102c29)}.shape-switch{display:flex;gap:5px;padding:10px}.shape-switch button{flex:1;border:1px solid #42605c;background:transparent;color:#bdd1cd;border-radius:6px;padding:7px;font-size:9px;cursor:pointer}.shape-switch button.active{background:var(--coral);border-color:var(--coral);color:var(--ink)}.geometry-data{padding:5px 18px 17px;display:flex;justify-content:space-between;font-size:11px}.geometry-data span{color:#9dbbb5}
.dashboard-page{min-height:100vh;background:#f2f3ef}.dash-sidebar{position:fixed;inset:0 auto 0 0;width:225px;background:var(--ink);padding:25px 16px;display:flex;flex-direction:column;color:white;z-index:20}.dash-sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:55px}.dash-sidebar nav a{color:#aebfbb;text-decoration:none;padding:11px 12px;border-radius:8px;font-size:12px}.dash-sidebar nav a b{display:inline-block;width:25px;font-size:15px}.dash-sidebar nav a:hover,.dash-sidebar nav a.active{background:#29433f;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #36504c;padding-top:17px;display:flex;align-items:center;gap:9px}.sidebar-bottom>span{width:35px;height:35px;border-radius:50%;background:var(--coral);color:var(--ink);display:grid;place-items:center;font-size:10px;font-weight:800}.sidebar-bottom div{min-width:0;flex:1}.sidebar-bottom strong,.sidebar-bottom small{display:block;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom strong{font-size:11px}.sidebar-bottom small{font-size:8px;color:#9eb2ae}.sidebar-bottom button{border:0;background:none;color:#9eb2ae;cursor:pointer}.dash-main{margin-left:225px;padding:38px clamp(24px,4vw,65px) 80px}.dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.dash-header>button{display:none}.dash-header small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.dash-header h1{font:800 32px Manrope;letter-spacing:-1.5px;margin:6px 0}.dash-header h1 i{color:var(--coral);font-style:normal}.new-board,.section-top>button{background:var(--coral);color:var(--ink);border:0;border-radius:7px;padding:12px 16px;font-size:11px;font-weight:700;text-decoration:none;cursor:pointer}.dash-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}.continue-card,.streak-card{background:white;border:1px solid var(--line);border-radius:12px;padding:28px}.continue-card{display:grid;grid-template-columns:1fr 200px;overflow:hidden}.section-label{font-size:8px;letter-spacing:1.4px;font-weight:700;color:var(--green)}.continue-card h2,.dash-section h2{font:800 23px Manrope;margin:10px 0 7px}.continue-card p{color:var(--muted);font-size:12px;max-width:430px}.continue-card>a,.continue-card div>a{font-size:11px;font-weight:700;color:var(--green);text-decoration:none}.progress{margin:20px 0}.progress>span{display:block;height:5px;background:#e4e9e5;border-radius:5px}.progress>span i{display:block;width:65%;height:100%;background:var(--coral);border-radius:5px}.progress small{font-size:8px;color:var(--muted)}.mini-graph{align-self:center}.mini-graph svg{width:100%}.mini-graph path{stroke:var(--green);stroke-width:5;fill:none}.mini-graph line{stroke:#d6dfdb;stroke-width:1}.streak-card>strong{display:block;font:800 42px Manrope;margin:12px 0 0;color:var(--coral)}.streak-card>strong small{font-size:12px;color:var(--ink)}.streak-card p{font-size:10px;color:var(--muted)}.week{display:flex;justify-content:space-between;margin-top:25px}.week span{width:25px;text-align:center;color:white;background:var(--green);border-radius:12px;padding:5px 0;font-size:9px}.week span b{display:block;font-size:7px;margin-bottom:3px}.week span:nth-last-child(-n+2){background:#e6e9e5;color:#899692}.week span.today{outline:2px solid var(--coral);outline-offset:2px}.dash-section{padding-top:55px;scroll-margin-top:20px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-top h2{margin-bottom:0}.section-top p{font-size:11px;color:var(--muted)}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.note-card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.note-card>div{display:flex;justify-content:space-between}.note-card>div span{background:#e3f1ec;color:var(--green);font-size:8px;padding:4px 7px;border-radius:12px}.note-card small{color:var(--muted);font-size:8px}.note-card h3{font:700 15px Manrope;margin:17px 0 7px}.note-card p{font-size:10px;color:var(--muted);min-height:47px}.note-card footer{display:flex;align-items:center;gap:8px}.note-card footer>span{height:4px;background:#e7e9e6;flex:1}.note-card footer i{display:block;height:100%;background:var(--coral)}.note-card footer b{font-size:8px}.library-drop{border:1px dashed #aebbb6;border-radius:10px;padding:25px;text-align:center;background:rgba(255,255,255,.4)}.library-drop span,.library-drop strong,.library-drop small{display:block}.library-drop span{margin:auto auto 8px;width:31px;height:31px;background:#dbece6;color:var(--green);border-radius:8px;padding-top:5px}.library-drop strong{font-size:11px}.library-drop small{font-size:8px;color:var(--muted)}.file-table{margin-top:10px}.file-table>div{display:flex;align-items:center;gap:11px;padding:10px;background:#fff;border-bottom:1px solid var(--line)}.file-kind{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;background:#ffddd2;color:#b74425;font-size:8px;font-weight:800}.file-table>div div{flex:1}.file-table strong,.file-table small{display:block}.file-table strong{font-size:10px}.file-table small{font-size:8px;color:var(--muted)}.file-table button{border:0;background:none;cursor:pointer}.empty-library{text-align:center;color:var(--muted);font-size:10px}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plans-grid article{position:relative;background:#fff;border:1px solid var(--line);border-radius:11px;padding:24px}.plans-grid article.recommended{background:#e1f1eb;border:2px solid var(--green)}.plans-grid article>b{position:absolute;right:10px;top:10px;background:var(--green);color:#fff;font-size:7px;padding:5px;border-radius:10px}.plans-grid article>span{font:700 16px Manrope}.plans-grid h3{font:800 30px Manrope;margin:15px 0 5px}.plans-grid h3 small{font:400 9px DM Sans}.plans-grid p,.plans-grid li{font-size:10px;color:var(--muted)}.plans-grid ul{list-style:none;padding:5px 0;min-height:105px}.plans-grid li{padding:5px 0}.plans-grid li:before{content:'✓';color:var(--green);margin-right:7px;font-weight:800}.plans-grid button{width:100%;border:1px solid var(--ink);background:white;border-radius:7px;padding:10px;font-size:10px;font-weight:700}.recommended button{background:var(--green);color:#fff;border-color:var(--green)}
/* Shell panelu (sidebar, glowna kolumna, hamburger) NIE nalezy juz do tego arkusza:
   na pulpicie wlascicielem jest dashboard-responsive.css, w Bibliotece library.css.
   Oba przelaczaja uklad przy 1100px. Ten blok robil to przy 950px, wiec w pasmie
   901-950px sidebar byl przesuwany o translateX(-100%) przy left:14px, co zostawialo
   14px ciemnego paska przy lewej krawedzi, a glowna kolumna trzymala jeszcze pelny
   margines. Na pulpicie bylo to maskowane przez pozniejsze arkusze, ale w Bibliotece
   objawialo sie w pelni - razem z brakiem hamburgera. Zostaje tylko siatka notatek. */
@media(max-width:950px){.notes-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dash-main{padding:25px 16px 60px}.dash-grid,.continue-card,.plans-grid,.notes-grid{grid-template-columns:1fr}.mini-graph{display:none}.dash-header h1{font-size:24px}.geometry-panel{inset:70px 8px auto;width:auto}.dashboard-link{display:none}}
.message p{white-space:pre-wrap;min-width:0;max-width:100%;overflow-wrap:anywhere}.message.assistant{min-width:0}.message.assistant p{white-space:normal;overflow:hidden}.message .ai-heading{display:block;font-size:13px;margin:8px 0 3px}.message .ai-list-item{display:block;padding-left:12px;position:relative}.message .ai-list-item:before{content:"•";position:absolute;left:1px}.message mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 0}.message mjx-container[display="true"]{margin:.6em 0!important}.note-card details{margin:12px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0}.note-card summary{cursor:pointer;color:var(--green);font-size:9px;font-weight:700}.note-card details ul{padding-left:17px;margin:8px 0}.note-card details li{font:10px/1.5 "DM Sans";color:var(--ink);margin:4px 0}.note-card:has(details) p{min-height:auto}
.message.thinking p{display:flex;align-items:center;gap:4px;min-width:105px}.message.thinking p>span{width:6px;height:6px;border-radius:50%;background:#7180a8;animation:axioThinking 1.15s infinite ease-in-out}.message.thinking p>span:nth-child(2){animation-delay:.16s}.message.thinking p>span:nth-child(3){animation-delay:.32s}.message.thinking small{margin-left:4px;color:var(--muted);font-size:8px}@keyframes axioThinking{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.message.task-message{cursor:grab;transition:transform .18s ease,opacity .18s ease}.message.task-message:hover{transform:translateX(-2px)}.message.task-message.dragging{opacity:.48;cursor:grabbing}.task-drag-hint{display:block;margin-top:10px;padding-top:8px;border-top:1px dashed rgba(88,104,145,.25);color:#536fd4;font-size:8px;font-weight:700;letter-spacing:.15px}
.tool-section-divider{align-self:stretch;width:1px;background:linear-gradient(transparent,rgba(76,96,160,.3),transparent);margin:0 8px}.board-ai-tools{display:flex;align-items:center;gap:5px;padding:4px 5px 4px 7px;border:1px solid rgba(66,93,210,.14);border-radius:10px;background:#f3f6ff;white-space:nowrap}.tool-section-label{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,#3973ff,#8b5cf6);color:#fff;font-size:8px;font-weight:800;letter-spacing:.4px}.board-ai-tools button{border:0;border-radius:7px;background:#fff;color:#385bbd;padding:7px 8px;font-size:9px;font-weight:700;cursor:pointer;box-shadow:0 2px 7px rgba(52,75,150,.08)}.board-ai-tools button:hover{background:#e7edff}.geometry-panel canvas{cursor:grab;touch-action:none}.geometry-panel canvas:active{cursor:grabbing}
.board-ai-tools .board-check{display:flex;align-items:center;gap:5px;padding:7px 11px;background:linear-gradient(135deg,#315ff4,#704ff2);color:#fff;box-shadow:0 5px 13px rgba(67,82,218,.25);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.board-ai-tools .board-check svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.board-ai-tools .board-check:hover{background:linear-gradient(135deg,#315ff4,#704ff2);transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 7px 17px rgba(67,82,218,.32)}.board-ai-tools .board-check:active{transform:translateY(0);box-shadow:0 3px 9px rgba(67,82,218,.24)}
.context-check{margin:13px 14px;padding:10px 11px;border:1px solid #cfd8ff;border-radius:12px;background:linear-gradient(135deg,#f6f8ff,#eeecff);display:flex;align-items:center;gap:10px;color:#202b50;text-align:left;cursor:pointer;box-shadow:0 5px 16px rgba(62,76,160,.08);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.context-check:hover{transform:translateY(-1px);border-color:#8098f5;box-shadow:0 8px 20px rgba(62,76,160,.15)}.context-check-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,#315ff4,#704ff2);color:#fff}.context-check-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.context-check-copy{min-width:0;flex:1}.context-check-copy strong,.context-check-copy small{display:block}.context-check-copy strong{font-size:11px}.context-check-copy small{margin-top:2px;color:#7884a5;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-check-arrow{color:#5d70ce;font-size:17px}.geometry-panel>header strong{display:flex!important;align-items:center;gap:8px}.geometry-panel>header strong:before{content:'⬡';width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(112,224,190,.35);border-radius:7px;background:rgba(112,224,190,.1);color:#70e0be;font-size:16px}
.geometry-panel{width:410px}.geometry-toggles{display:flex;gap:5px;padding:10px 10px 0;align-items:center}.geometry-toggles button{flex:1;border:1px solid rgba(142,170,164,.3);background:rgba(255,255,255,.04);color:#9dbbb5;border-radius:7px;padding:7px 5px;font-size:8px;cursor:pointer}.geometry-toggles button.active{background:#eaf0ff;color:#315fcf;border-color:#7696ed}.geometry-angle-status,#geometry-angle-status{flex:1.25;text-align:center;color:#70e0be;font-size:8px}.geometry-panel .shape-switch{flex-wrap:wrap}.geometry-panel .shape-switch button{min-width:30%;flex:1 1 30%}
.rail-ai-tools{width:100%;margin-top:auto;padding-top:9px;border-top:1px solid rgba(85,103,158,.12);display:flex;flex-direction:column;align-items:center;gap:2px}.rail-ai-tools>span{font-size:7px;font-weight:800;letter-spacing:1.2px;color:#7884a5}.rail-ai-tools .tool{min-height:55px}.rail-ai-tools .tool small{font-size:8px}.colors{position:relative;align-items:center}.base-colors,.recent-colors{display:flex;gap:6px}.color-mini-divider{width:1px;height:20px;background:rgba(70,84,125,.18);margin:0 1px}.palette-trigger{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;padding:0!important;flex:0 0 25px!important;border:2px solid #fff!important;border-radius:8px!important;background:conic-gradient(#ff3b30,#ffcc00,#34c759,#00c7be,#3973ff,#af52de,#ff2d55,#ff3b30)!important;outline:1px solid rgba(34,43,74,.12)!important}.palette-trigger svg{display:block;width:15px;height:15px;padding:2px;border-radius:50%;background:#fff;fill:none;stroke:#29324b;stroke-width:1.7}.color-palette{display:none;position:absolute;z-index:20;top:calc(100% + 12px);left:0;width:178px;padding:10px;grid-template-columns:repeat(5,1fr);gap:8px;border:1px solid rgba(255,255,255,.95);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 16px 40px rgba(25,35,70,.2);backdrop-filter:blur(18px)}.color-palette.open{display:grid}.color-palette button{width:23px;height:23px;border-radius:50%;background:var(--c)}.color-palette .custom-color{width:25px;height:25px;grid-column:auto}.color-palette .custom-color span{width:17px;height:17px;font-size:15px;font-weight:700}

/* Keep long tutor explanations inside a scrollable conversation area. */
.assistant-panel{height:100%;min-height:0;overflow:hidden}.assistant-panel .chat{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.assistant-panel .chat::-webkit-scrollbar{width:6px}.assistant-panel .chat::-webkit-scrollbar-thumb{background:#c8d3cf;border-radius:8px}.assistant-panel .suggestions,.assistant-panel .chat-input,.assistant-panel .assistant-disclaimer{flex-shrink:0}
@media(max-width:900px){.assistant-panel{height:auto;min-height:0}}

/* Premium Numernabis identity. */
.app-logo>img{display:block;width:38px;height:38px;object-fit:cover;border-radius:11px;margin-right:11px;box-shadow:0 8px 22px rgba(18,28,55,.24)}.app-logo>b{font:800 17px Manrope;letter-spacing:2.5px}.app-logo.compact>img{width:34px;height:34px;border-radius:10px}.app-logo em{font-style:normal;color:#739cff}.week span:not(.studied){background:#e6e9e5;color:#899692}

/* Numernabis in-page dialogs replace browser prompt/confirm windows. */
.axio-dialog{width:min(520px,calc(100vw - 32px));border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:0;color:var(--ink);background:rgba(255,255,255,.94);box-shadow:0 30px 90px rgba(18,28,45,.24);backdrop-filter:blur(28px);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .2s ease,transform .2s ease}.axio-dialog[open]{opacity:1;transform:none}.axio-dialog::backdrop{background:rgba(17,22,31,.34);backdrop-filter:blur(7px)}.axio-dialog form{padding:25px}.axio-dialog header{display:flex;align-items:center;gap:13px;margin-bottom:24px}.axio-dialog header>div{flex:1}.axio-dialog header small{font-size:8px;letter-spacing:1.6px;color:var(--green);font-weight:800}.axio-dialog h2{font:800 23px/1.2 Manrope;margin:4px 0 0;letter-spacing:-.8px}.dialog-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e7f2ee;color:var(--green);font-weight:800}.dialog-icon.warning{background:#fff0eb;color:#d8522e}.dialog-close{border:0;background:#f0f2ef;border-radius:50%;width:30px;height:30px;cursor:pointer;color:var(--muted)}.axio-dialog label{display:block;font-size:10px;font-weight:700;margin:15px 0}.axio-dialog input,.axio-dialog textarea,.axio-dialog select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;background:#f8f9f7;padding:13px 14px;color:var(--ink);outline:none;resize:vertical}.axio-dialog input:focus,.axio-dialog textarea:focus,.axio-dialog select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,103,87,.1);background:#fff}.axio-dialog>form>p{font-size:12px;line-height:1.6;color:var(--muted);margin:-4px 0 22px}.axio-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.axio-dialog footer button{border:0;border-radius:10px;padding:11px 15px;font-size:10px;font-weight:700;cursor:pointer}.dialog-secondary{background:#eff1ee;color:var(--ink)}.dialog-primary{background:var(--green);color:#fff}.dialog-danger{background:#d8522e;color:#fff}.compact-dialog{width:min(440px,calc(100vw - 32px))}.modern-variant .axio-dialog{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.95)}.modern-variant .dialog-icon{background:#eaf0ff;color:#2a6df4}.modern-variant .dialog-primary{background:linear-gradient(135deg,#2a6df4,#8b5cf6)}

/* Infinite board navigation and compact centered zoom. */
.geometry-panel>header{cursor:grab;user-select:none;touch-action:none}
.geometry-panel.moving>header{cursor:grabbing}
.canvas-wrap{overflow:hidden}
#whiteboard{inset:auto;top:0;left:0;touch-action:none}
#whiteboard.hand-active{cursor:grab}
#whiteboard.hand-active.panning{cursor:grabbing}
.zoom-controls{position:absolute;z-index:5;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:4px;background:rgba(255,255,255,.94);border:1px solid rgba(221,226,221,.95);border-radius:14px;box-shadow:0 8px 24px rgba(23,48,45,.12);backdrop-filter:blur(10px)}
.zoom-controls button{width:32px;height:32px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
.zoom-controls button:hover{background:#eef5f2}
.zoom-controls span{font-size:10px;font-weight:700;min-width:48px;text-align:center;color:#61716d}
@media(max-width:520px){.zoom-controls{left:50%}}
.activity-card{min-width:0}.activity-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.total-study{min-width:82px;padding:10px;border-radius:12px;background:#f1f4ff;text-align:center}.total-study span,.total-study small{display:block}.total-study span{font:800 22px Manrope;color:#5c62ef}.total-study small{font-size:7px;color:var(--muted)}.activity-card .week{gap:6px;margin-top:18px}.activity-card .week button{flex:1;min-width:0;border:0;border-radius:11px;padding:8px 3px;background:#eef0f4;color:#8b93a6;cursor:pointer;transition:.16s}.activity-card .week button b,.activity-card .week button span{display:block}.activity-card .week button b{font-size:8px}.activity-card .week button span{margin-top:4px;font-size:7px}.activity-card .week button.studied{background:linear-gradient(145deg,#506df5,#8759f3);color:#fff}.activity-card .week button.today{outline:2px solid #ff7548;outline-offset:2px}.activity-card .week button.selected{transform:translateY(-3px);box-shadow:0 7px 16px rgba(68,83,190,.2)}.day-detail{margin-top:13px;padding:11px 13px;border-radius:11px;background:#f7f8fb}.day-detail strong,.day-detail span{display:block}.day-detail strong{font-size:10px;text-transform:capitalize}.day-detail span{margin-top:3px;color:var(--muted);font-size:8px}
