:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0a13;--sidebar:#110c19;--surface:#161020;--surface-2:#1d1529;--fill:#271e36;--fill-hover:#32284a;--separator:#261d35;--line-strong:#3e3157;--card-line:#2e2442;--text:#f0eaf7;--text-2:#c7b8dc;--text-3:#9d8fb3;--accent:#8d70b8;--accent-hover:#9d83c6;--accent-soft:#261d3b;--accent-text:#0d0a13;--link:#b8a3dc;--gold:#e5c77b;--gold-soft:#2b2416;--danger:#ff8fa3;--danger-soft:#3a1a26;--warning:#e5c77b;--warning-soft:#2b2416;--success:#7fd6ae;--success-soft:#142c26;--sos:#ff9ab4;--nox-fur:#2b2239;--nox-line:#5a4a76;--nox-ear:#8d70b8;--nox-moon:#e5c77b;--nox-eye:#c7b8dc;--nox-pupil:#0d0a13;--nox-nose:#e8a9c4;--book-1:#2e2347;--book-2:#4a3872;--book-3:#39295a;--page:#e9dcc0;--page-line:#bfae8c;--tarot:#1a1327;--popover-shadow:0 16px 40px #0009, 0 0 0 1px #c7b8dc17;--radius:14px;--radius-sm:10px;--font:"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-title:"Playfair Display", Georgia, "Times New Roman", serif;--font-display:"Cinzel", "Trajan Pro", Georgia, serif;--font-script:"Cormorant Garamond", Georgia, serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f0eaf7;--sidebar:#e8e0f2;--surface:#fff;--surface-2:#f7f3fb;--fill:#e6ddf0;--fill-hover:#dcd0ea;--separator:#e2d9ec;--line-strong:#c9bbdb;--text:#1d1428;--text-2:#4a3d5c;--text-3:#66597a;--accent:#6f52a0;--accent-hover:#604590;--accent-soft:#ece4f6;--accent-text:#fff;--link:#6f52a0;--gold:#8a6a14;--gold-soft:#f7efd9;--danger:#b4294a;--danger-soft:#fbe9ee;--warning:#7d5c06;--warning-soft:#f7efd9;--success:#1c7a52;--success-soft:#e4f4ec;--sos:#b2344f;--nox-fur:#2a2236;--nox-line:#2a2236;--nox-pupil:#1d1428;--card-line:#e2d9ec;--book-1:#3b2d5c;--book-2:#6f52a0;--book-3:#4f3b7c;--page:#f4ead3;--page-line:#c9b892;--tarot:#241a36;--popover-shadow:0 12px 32px #1d142824, 0 0 0 1px #1d14280f}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-width:320px;font:14.5px/1.5 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}body.modal-open{overflow:hidden}#root{min-height:100vh;overflow-x:clip}h1,h2,h3,h4{font-family:var(--font);color:var(--text);margin:0}h1{font-family:var(--font-title);font-size:30px;font-weight:600;line-height:1.2}h2{font-size:17px;font-weight:600;line-height:1.3}h3,h4{font-size:15px;font-weight:600}p{margin:0}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}small{font-size:13px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hint{color:var(--text-3);font-size:13px}.hint svg{vertical-align:-2px}.quiet{color:var(--text-3);padding:4px 2px;font-size:14px}.footnote{color:var(--text-3);margin-top:8px;font-size:12.5px}.lead{color:var(--text-2);max-width:70ch}.prewrap{white-space:pre-wrap}.spacer{flex:1}.late{color:var(--danger)!important}.notice{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);padding:10px 14px;font-size:14px}.warning{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);padding:10px 14px;font-size:14px;display:block}.badge{background:var(--fill);color:var(--text-2);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.nox{flex:none}.nox-body{fill:var(--nox-fur);stroke:var(--nox-line);stroke-width:1.6px}.nox-tail{stroke:var(--nox-fur)}@media (prefers-reduced-motion:no-preference){.nox.alive .nox-eyes{transform-origin:60px 57px;animation:6s infinite nox-blink}.nox.alive .nox-tail{transform-origin:80px 110px;animation:4.5s ease-in-out infinite nox-tail}}@keyframes nox-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes nox-tail{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)}}.btn{border-radius:var(--radius-sm);background:var(--fill);min-height:36px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:500;transition:background-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--fill-hover)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn svg{flex:none}.btn.small{border-radius:8px;min-height:30px;padding:5px 11px;font-size:13px}.btn.block{width:100%}.btn.primary{background:var(--accent);color:var(--accent-text);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.soft{background:var(--accent-soft);color:var(--link)}.btn.ghost{color:var(--text-2);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.btn.danger{background:var(--danger);color:#2a0d15}:root[data-theme=light] .btn.danger{color:#fff}.btn.danger-outline{color:var(--danger);background:0 0;box-shadow:inset 0 0 0 1px}.btn.sos{color:var(--sos)}.btn.is-disabled{opacity:.5;pointer-events:none}.danger-text{color:var(--danger)!important}.icon-btn{width:32px;height:32px;color:var(--text-3);border-radius:8px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--fill);color:var(--text)}.link-btn{color:var(--link);align-items:center;gap:3px;font-size:14px;font-weight:500;display:inline-flex}.link-btn:hover{text-decoration:underline}.back{margin-bottom:4px}.shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--separator);flex-direction:column;flex:none;gap:18px;width:232px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand-mark{font-family:var(--font-display);color:var(--text);align-items:center;gap:8px;padding:2px 8px;font-size:19px;font-weight:700;display:inline-flex}.sidebar nav{gap:2px;display:grid}.sidebar nav button{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:14.5px;display:flex}.sidebar nav button:hover{background:var(--fill)}.sidebar nav button.active{background:var(--accent);color:var(--accent-text);font-weight:500}.sidebar-note{color:var(--text-3);margin-top:auto;padding:0 10px;font-size:12.5px}.main-column{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid #0000;align-items:center;gap:12px;padding:10px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.topbar .brand-mark.compact{padding:0;display:none}.avatar{width:34px;height:34px;color:var(--accent-text);background:var(--accent);border-radius:50%;flex:none;place-items:center;margin-left:auto;font-size:13px;font-weight:600;display:grid}main#conteudo{flex:1}.page{align-content:start;gap:28px;width:100%;max-width:1120px;margin:0 auto;padding:12px clamp(16px,3vw,32px) 56px;display:grid}.page>section,.page section{align-content:start;gap:8px;display:grid}.page.loading{text-align:center;color:var(--text-2);place-items:center;gap:12px;padding-top:96px}.page-head,.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.page-head p{color:var(--text-2);max-width:64ch;margin-top:6px}.page-head.with-nox{align-items:center}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.detail-head h1{margin-top:6px}.detail-head p{color:var(--text-2);margin-top:4px}.bottom-nav,.more-sheet{display:none}.section-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.section-title{padding:0 2px;font-size:17px;font-weight:600}.group{background:var(--surface);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.group>li+li,.group>.row+.row{box-shadow:inset 0 1px 0 var(--separator)}.row{text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;display:flex}button.row:hover,.group button.row:hover{background:var(--surface-2)}.row-main{flex:1;gap:1px;min-width:0;display:grid}.row-main strong{overflow-wrap:anywhere;font-size:15px;font-weight:500}.row-main small{color:var(--text-3)}.row-time{width:44px;color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.row-icon{color:var(--text-3);flex:none}.row-end{text-align:right;flex:none;justify-items:end;gap:1px;display:grid}.row-end small{color:var(--text-3)}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.chevron{color:var(--text-3);flex:none}.subject-dot{background:var(--subject);border-radius:50%;flex:none;width:10px;height:10px}.row-tag{color:var(--text-3);flex:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.row-tag.tag-prova,.row-tag.tag-entrega{color:var(--text);font-weight:600}.is-muted .row-main strong{color:var(--text-3);text-decoration:line-through}.countdown{color:var(--link);white-space:nowrap;font-size:13px;font-weight:600}.score{font-variant-numeric:tabular-nums;font-weight:600}.stat-list{margin:0}.stat-list .row{justify-content:space-between;min-height:46px}.stat-list dt{color:var(--text-2);font-size:14.5px}.stat-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.stat-list select{background:var(--fill);border:0;border-radius:8px;min-height:32px;padding:4px 8px}.plain-list{color:var(--text-2);gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.plain-list svg{vertical-align:-2px;color:var(--text-3)}.panel{align-content:start;gap:8px;min-width:0;display:grid}.panel-body{background:var(--surface);border-radius:var(--radius);min-width:0;padding:14px}.panel-body>.group{border-radius:inherit;background:0 0;margin:-14px}.panel-body>.group+*{margin-top:26px}.form-group{padding:16px}.empty{border-radius:var(--radius);background:var(--surface);align-items:center;gap:16px;padding:18px;display:flex}.empty strong{font-size:15px;font-weight:600;display:block}.empty p{color:var(--text-2);max-width:58ch;margin-top:2px;font-size:14px}.empty .btn{margin-top:10px}.empty.compact{gap:12px;padding:14px 16px}.panel-body>.empty{background:0 0;padding:0}.form{gap:14px;display:grid}.form label,.inline-field{color:var(--text-2);gap:5px;font-size:13px;font-weight:500;display:grid}.form input:not([type=checkbox]):not([type=color]):not([type=file]),.form select,.form textarea,.filters select,.inline-field select,.inline-field input,.topic-row select,.topic-status select,.search-field{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:40px;color:var(--text);padding:8px 11px;font-size:15px;font-weight:400}.form textarea{resize:vertical;min-height:84px;line-height:1.5}.form input:focus,.form select:focus,.form textarea:focus,.inline-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.form input:disabled{color:var(--text-3);background:var(--surface-2)}.form input[type=file]{color:var(--text-2);font-size:14px}.form input[type=file]::file-selector-button{background:var(--fill);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:8px;margin-right:10px;padding:6px 12px;font-weight:500}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}fieldset>.btn,.form>.btn{justify-self:start}fieldset{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}legend{color:var(--text-2);margin-bottom:6px;padding:0;font-size:13px;font-weight:500}.check{cursor:pointer;grid-auto-flow:column;align-items:center;gap:10px;color:var(--text)!important;font-size:15px!important;font-weight:400!important;display:flex!important}.check input,.round-check{width:20px;height:20px;accent-color:var(--accent);flex:none}.round-check{cursor:pointer;border-radius:50%}.switch-row{align-items:flex-start!important}.switch-row span{gap:2px;display:grid}.switch-row small{color:var(--text-3)}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-actions.centered{justify-content:center}.form-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:9px 12px;font-size:14px}details.more{border-top:1px solid var(--separator);padding-top:12px}details.more>summary{cursor:pointer;color:var(--link);font-size:14px;font-weight:500;list-style-position:inside}details.more[open]{gap:12px;display:grid}.slots{gap:8px;display:grid}.slot{grid-template-columns:1.3fr 1fr 1fr 1.4fr auto;align-items:center;gap:8px;display:grid}.slot.compact{grid-template-columns:1.4fr 1fr 1fr auto}.slot label{display:contents}.swatches{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.swatch{background:var(--swatch,var(--subject));border-radius:50%;width:30px;height:30px}.swatch.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--swatch,var(--subject))}.swatch.labeled{color:#fff;border-radius:8px;width:auto;height:auto;padding:6px 12px;font-size:13px;font-weight:600}.swatch-custom{grid-auto-flow:column;align-items:center;gap:6px;font-weight:400!important;display:inline-flex!important}.swatch-custom input{cursor:pointer;background:0 0;border:0;border-radius:50%;width:30px;height:30px;padding:0}.segmented{background:var(--fill);border-radius:9px;gap:2px;max-width:100%;padding:2px;display:inline-flex}.segmented button{color:var(--text);white-space:nowrap;border-radius:7px;padding:5px 12px;font-size:13.5px;font-weight:500}.segmented button.active{background:var(--surface);font-weight:600;box-shadow:0 1px 2px #0000001f}:root:not([data-theme=light]) .segmented button.active{background:var(--fill-hover)}.tabs-scroll{scrollbar-width:none;margin:0 -4px;padding:0 4px;overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.filters,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar{justify-content:space-between}.filters select{width:auto;min-width:170px;min-height:34px;padding:5px 10px;font-size:14px}.chip{color:var(--text-3);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:13px;font-weight:500;display:inline-flex}.chip.active{color:var(--text);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong), 0 1px 2px #0000000f}.chip:not(.active) svg{opacity:.6}.inline-field{grid-auto-flow:column;align-items:center;gap:8px;display:inline-grid}.inline-field select,.inline-field input{width:auto;min-height:34px;padding:5px 10px;font-size:14px}.search-field{color:var(--text-3);align-items:center;gap:8px;min-height:36px;padding:0 10px;display:flex}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:6px 0;font-size:15px}.filters .search-field{flex:1;width:auto;min-width:200px}.scale{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scale button{background:var(--fill);border-radius:8px;width:42px;height:38px;font-weight:600}.scale button.active{background:var(--accent);color:var(--accent-text)}.scale small{color:var(--text-3);margin-left:4px}.attached{gap:4px;margin:0;padding:0;list-style:none;display:grid}.attached li{align-items:center;gap:8px;display:flex}.attached small{color:var(--text-3)}.material-links{flex-wrap:wrap;gap:4px 10px;font-weight:500;display:inline-flex}.searchbox{flex:1;max-width:520px;position:relative}.searchbox .search-field{background:var(--fill);border-color:#0000}.searchbox .search-field:focus-within{background:var(--surface)}.search-panel{z-index:40;background:var(--surface);max-height:min(70vh,540px);box-shadow:var(--popover-shadow);border-radius:14px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-panel ul{margin:8px 0 0;padding:0;list-style:none;display:grid}.search-panel li button{border-radius:9px;grid-template-columns:auto 1fr;column-gap:10px;width:100%;padding:9px 10px;display:grid}.search-panel li button:before{content:"";background:var(--subject);border-radius:50%;grid-row:span 3;width:8px;height:8px;margin-top:6px}.search-panel li button:hover{background:var(--surface-2)}.search-type{color:var(--text-3);font-size:12px}.search-panel strong{font-weight:500}.search-panel small{color:var(--text-3)}.search-snippet{color:var(--text-2);grid-column:2;font-size:13.5px}.modal-layer{z-index:100;background:#0c0d145c;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--popover-shadow);border-radius:16px;padding:20px;animation:.2s rise;overflow:auto}.modal.wide{width:min(760px,100%)}.modal>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.modal>header h2{font-size:18px}.modal-text{color:var(--text-2);margin-bottom:14px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.toast-region{z-index:200;pointer-events:none;width:min(440px,100vw - 32px);position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;color:#f2f3f6;box-shadow:var(--popover-shadow);background:#24262e;border-radius:12px;align-items:center;gap:10px;padding:10px 8px 10px 14px;font-size:14px;animation:.18s rise;display:flex}.toast span{flex:1}.toast svg:first-child{color:#8fe0b6}.toast .icon-btn{color:inherit;opacity:.7}.install-card{z-index:30;background:var(--surface);width:min(340px,100vw - 32px);box-shadow:var(--popover-shadow);border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex;position:fixed;bottom:20px;right:20px}.install-card p{color:var(--text-2);margin:2px 0 8px;font-size:13.5px}.home-head{gap:4px;display:grid}.today-date{color:var(--text-3);font-size:14px;font-weight:500}.home-head h1{max-width:26ch}.reminders .row{min-height:46px}.reminders .row-icon{color:var(--warning)}.home-columns{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);align-items:start;gap:28px;display:grid}.home-main,.home-side{gap:28px;min-width:0;display:grid}.class-row{flex-wrap:wrap}.class-row .row-actions{margin-left:auto}.week-strip{background:var(--surface);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:6px;display:grid}.week-strip button{border-radius:9px;justify-items:center;gap:1px;padding:6px 2px;display:grid}.week-strip button:hover{background:var(--surface-2)}.week-strip button small{color:var(--text-3);font-size:12px}.week-strip button strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.week-strip button.is-today strong{color:var(--accent-text);background:var(--accent);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.dots{gap:3px;min-height:6px;display:flex}.dot{background:var(--subject);border-radius:50%;width:6px;height:6px;display:inline-block}.dot.kind-prova,.dot.kind-entrega{border-radius:1px;transform:rotate(45deg)}.week-strip+.group{margin-top:8px}.task-row .row-main small{font-size:13px}.exam-row{align-items:flex-start}.exam-row .subject-dot{margin-top:6px}.exam-row .countdown{padding-top:2px}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.calendar-nav h2{margin:0 8px;font-size:20px;font-weight:700}.month{background:var(--surface);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.month-head{color:var(--text-3);text-align:right;padding:8px 8px 6px;font-size:12px;font-weight:600}.month-cell{min-width:0;min-height:108px;box-shadow:inset 1px 1px 0 var(--separator);flex-direction:column;gap:3px;padding:4px 4px 6px;display:flex}.month-cell:nth-child(7n+1){box-shadow:inset 0 1px 0 var(--separator)}.month-cell.outside{background:var(--surface-2)}.month-cell.outside .month-day{color:var(--text-3)}.month-day{font-variant-numeric:tabular-nums;border-radius:13px;align-self:flex-end;min-width:26px;height:26px;padding:0 4px;font-size:13.5px;font-weight:500}.month-day:hover{background:var(--fill)}.month-cell.today .month-day{background:var(--accent);color:var(--accent-text);font-weight:600}.month-items{gap:2px;min-width:0;display:grid}.month-item{min-width:0;color:var(--text);text-align:left;border-radius:5px;align-items:center;gap:5px;padding:1px 5px;font-size:12px;display:flex}.month-item:before{content:"";background:var(--subject);border-radius:50%;flex:none;width:7px;height:7px}.month-item svg{display:none}.month-item:hover{background:var(--fill)}.month-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-item.kind-prova,.month-item.kind-entrega{background:color-mix(in srgb, var(--subject) 18%, transparent);font-weight:600}.month-item.kind-prova:before,.month-item.kind-entrega:before{border-radius:1px;transform:rotate(45deg)}.month-item.cancelled span{color:var(--text-3);text-decoration:line-through}.month-more{color:var(--text-3);text-align:left;padding-left:5px;font-size:12px;font-weight:500}.week-columns{background:var(--surface);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.week-columns section{min-width:0;box-shadow:inset 1px 0 0 var(--separator);align-content:start;gap:8px;padding:8px 6px 12px;display:grid}.week-columns section:first-child{box-shadow:none}.week-day-head{align-items:baseline;gap:6px;padding:2px 4px;display:flex}.week-day-head small{color:var(--text-3)}.week-day-head strong{font-size:18px;font-weight:600}.week-columns section.is-today .week-day-head strong{color:var(--link)}.week-items{gap:4px;display:grid}.week-item{text-align:left;background:color-mix(in srgb, var(--subject) 14%, transparent);border-radius:7px;gap:0;min-width:0;padding:5px 7px;font-size:12.5px;display:grid}.week-item span{color:var(--text-3);font-variant-numeric:tabular-nums}.week-item strong{overflow-wrap:anywhere;font-weight:600}.week-item small{color:var(--text-2);font-size:11.5px}.week-item.kind-prova,.week-item.kind-entrega{background:color-mix(in srgb, var(--subject) 30%, transparent)}.week-item.is-muted strong{color:var(--text-3);text-decoration:line-through}.day-view{gap:22px;display:grid}.list-day{gap:6px;display:grid}.list-day h3{color:var(--text-2);padding:0 2px;font-size:14px}.date-block{flex:none;justify-items:center;width:44px;padding-top:2px;display:grid}.date-block strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1}.date-block small{color:var(--text-3);text-transform:lowercase;font-size:12px}.exam-list .row-main{gap:3px}.detail-columns{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:28px;display:grid}.detail-columns>div,.detail-columns>aside{gap:28px;min-width:0;display:grid}.prep{background:var(--surface);border-radius:var(--radius);padding:18px}.prep .group{background:var(--surface-2)}.topic-row select,.topic-status select{background:var(--fill);border:0;width:auto;min-height:32px;padding:4px 8px;font-size:13.5px}.topic-row .link-btn{font-size:13px}.origin{justify-self:start;font-size:12px;font-weight:600}.origin-prof{color:var(--success)}.origin-self{color:var(--warning)}.origin-ai{color:var(--link)}.vault-text{white-space:pre-wrap;font-size:15px}.vault-row .row-main{gap:3px}.note-block{gap:4px;padding:12px 2px 0;display:grid}.note-block p{color:var(--text-2);font-size:14px}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.subject-card{border-radius:var(--radius);background:var(--surface);position:relative}.subject-card-main{border-radius:inherit;text-align:left;gap:2px;width:100%;padding:14px;display:grid}.subject-card-main:hover{background:var(--surface-2)}.subject-icon{background:var(--subject);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;margin-bottom:8px;display:grid}.subject-icon svg{width:15px;height:15px}.subject-card-main strong{padding-right:92px;font-size:16px;font-weight:600}.subject-card-main>small{color:var(--text-3)}.subject-meta{color:var(--text-2);gap:1px;margin-top:8px;font-size:13px;display:grid}.subject-card-tools{display:flex;position:absolute;top:8px;right:8px}.subject-tag{color:var(--text-2);align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.subject-tag i{background:var(--subject);border-radius:50%;width:9px;height:9px}.subject-tag.small{font-size:13px}.subject-tag.muted{color:var(--text-3)}.lesson-list button,.occurrence{text-align:left;align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}.lesson-list button:hover,.occurrence:hover{background:var(--surface-2)}.lesson-list span:last-child{min-width:0;display:grid}.occurrence>span:nth-child(2){flex:1;min-width:0;display:grid}.lesson-list strong,.occurrence strong{font-weight:500}.lesson-list small,.occurrence small{color:var(--text-3)}.lesson-list{gap:0!important}.lesson-list li+li{box-shadow:inset 0 1px 0 var(--separator)}.status{text-align:center;border-radius:6px;flex:none;min-width:74px;padding:3px 8px;font-size:12px;font-weight:600}.status-pendente{background:var(--fill);color:var(--text-3)}.status-presente{background:var(--success-soft);color:var(--success)}.status-falta{background:var(--danger-soft);color:var(--danger)}.status-cancelada{background:var(--warning-soft);color:var(--warning)}.legacy-list{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.material-list,.vault-list,.topics,.link-list,.task-list,.checklist,.export-list{margin:0;padding:0;list-style:none;display:grid}.material-list li,.vault-list li,.topics li,.task-list li,.link-list li{align-items:center;gap:10px;padding:10px 0;display:flex}.material-list li+li,.vault-list li+li,.topics li+li,.task-list li+li,.link-list li+li{box-shadow:inset 0 1px 0 var(--separator)}.material-list li>span:nth-child(2),.vault-list li>p,.topics li>span{flex:1;min-width:0;display:grid}.vault-list li{gap:4px;display:grid}.vault-list small,.material-list small,.topics small{color:var(--text-3)}.task-list label{flex:1}.task-list span{display:grid}.task-list small{color:var(--text-3);font-size:13px}.lessons-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.lessons-layout>.panel:first-child{grid-row:span 2}.mini-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-top:8px;display:grid}.mini-month .month-head{text-align:center;padding:4px 0}.mini-month button{font-variant-numeric:tabular-nums;border-radius:9px;justify-items:center;gap:2px;padding:5px 0 4px;font-size:14px;display:grid}.mini-month button:hover{background:var(--fill)}.mini-month button.outside{color:var(--text-3);opacity:.6}.mini-month button.today{color:var(--link);font-weight:700}.mini-month button.picked{background:var(--accent);color:var(--accent-text)}.mini-month button.picked .dot{box-shadow:0 0 0 1px var(--accent-text)}.status-dot-pendente{box-shadow:inset 0 0 0 1.5px var(--subject,var(--text-3));background:0 0}.status-dot-presente{background:var(--subject,var(--success))}.status-dot-falta{background:var(--danger)}.status-dot-cancelada{background:var(--text-3);opacity:.45}.legend{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:10px;display:flex}.legend .dot{--subject:var(--accent);margin-right:-6px}.occurrence-list{margin:-14px;display:grid}.occurrence-list .occurrence+.occurrence{box-shadow:inset 0 1px 0 var(--separator)}.lesson-head{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:-6px 0 14px;font-size:14px;display:flex}.lesson-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-links>div{background:var(--surface-2);border-radius:10px;align-content:start;gap:6px;padding:12px;display:grid}.lesson-links ul{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.lesson-links li{align-items:flex-start;gap:6px;display:flex}.lesson-links li svg{color:var(--text-3);flex:none;margin-top:3px}.lesson-links .btn{justify-self:start}.ai-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:24px;display:grid}.tool-list{gap:2px;display:grid;position:sticky;top:72px}.tool{text-align:left;border-radius:9px;align-items:flex-start;gap:10px;padding:9px 10px;display:flex}.tool svg{color:var(--link);flex:none;margin-top:2px}.tool span{gap:1px;display:grid}.tool strong{font-size:14.5px;font-weight:500}.tool small{color:var(--text-3);font-size:12.5px}.tool:hover{background:var(--fill)}.tool.is-active{background:var(--surface);box-shadow:0 1px 2px #00000014}.tool.is-sos svg{color:var(--sos)}.tool-panel{background:var(--surface);border-radius:var(--radius);align-content:start;gap:16px;min-width:0;padding:20px;scroll-margin-top:72px;display:grid}.tool-panel>h2{font-size:20px;font-weight:700}.tool-panel .empty{background:var(--surface-2)}.tool-body{gap:18px;min-width:0;display:grid}.tool-body .group,.rescue .group,.plan .group{background:var(--surface-2)}.question-set,.ai-result{border-top:1px solid var(--separator);gap:14px;padding-top:18px;display:grid}.question-set>header,.ai-result>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.source-note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-2);padding:10px 12px;font-size:13.5px}.source-note strong{color:var(--text);font-weight:600}.question{grid-template-columns:26px 1fr;gap:10px;display:grid}.question-number{color:var(--text-3);font-variant-numeric:tabular-nums;padding-top:1px;font-weight:700}.question h4{font-family:var(--font);margin-bottom:10px;font-size:15.5px;font-weight:500;line-height:1.45}.options{gap:6px;display:grid}.options button{text-align:left;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);border-radius:9px;align-items:flex-start;gap:10px;padding:9px 12px;display:flex}.options button:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--accent)}.options button:disabled{cursor:default;opacity:1}.options b{color:var(--text-3);flex:none;font-weight:600}.options span{flex:1}.options em{flex:none;font-size:12px;font-style:normal;font-weight:600}.options .right{background:var(--success-soft);box-shadow:inset 0 0 0 1px var(--success)}.options .right em{color:var(--success)}.options .wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger)}.options .wrong em{color:var(--danger)}.explanation{color:var(--text-2);margin-top:8px;font-size:14px}.result-line{font-weight:500}.summary-points{gap:12px;margin:0;padding-left:20px;display:grid}.summary-points strong{font-weight:600;display:block}.summary-points p{color:var(--text)}.summary-points small{color:var(--text-3)}.summary-points [contenteditable]:focus{outline:2px solid var(--accent-soft);border-radius:4px}.gaps{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);padding:12px;font-size:14px}.gaps ul{margin:4px 0 0;padding-left:18px}.explanation-text{max-width:70ch;font-size:16px;line-height:1.6}.check-questions{gap:8px;margin:0;padding:0;list-style:none;display:grid}.check-questions li{background:var(--surface-2);border-radius:9px;gap:4px;padding:10px 12px;display:grid}.check-questions p{color:var(--text-2);font-size:14px}.flashcard-stage{justify-items:center;gap:14px;display:grid}.flashcard{text-align:center;background:var(--surface-2);width:min(520px,100%);min-height:220px;box-shadow:inset 0 0 0 1px var(--separator);border-radius:16px;place-content:center;gap:10px;padding:28px;display:grid}.flashcard strong{font-size:19px;font-weight:600;line-height:1.4}.flashcard.is-flipped strong{font-size:17px;font-weight:400}.flashcard-side{color:var(--text-3);font-size:12.5px}.flashcard small{color:var(--text-3)}.draft-card{align-items:flex-start}.draft-card .round-check{margin-top:2px}.rescue{gap:16px;display:grid}.rescue-when{color:var(--text-2);font-size:14px}.steps-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.step{grid-template-columns:28px 1fr;gap:12px;padding:14px 0;display:grid}.step+.step{border-top:1px solid var(--separator)}.step>div{gap:8px;min-width:0;display:grid}.step-mark{background:var(--fill);width:26px;height:26px;color:var(--text-2);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.step.is-done .step-mark{background:var(--success-soft);color:var(--success)}.topic-status{gap:6px;margin:0;padding:0;list-style:none;display:grid}.topic-status li{justify-content:space-between;align-items:center;gap:10px;display:flex}.plan{gap:10px;display:grid}.plan-row .row-time{width:46px}.consent{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);gap:10px;padding:14px;font-size:14px;display:grid}.record-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.audio-preview{width:100%}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.summary-grid div{background:var(--surface-2);border-radius:9px;padding:10px 12px}.summary-grid dt{color:var(--text-3);font-size:13px}.summary-grid dd{margin:2px 0 0;font-size:14px}.study-music{gap:10px;max-width:520px;display:grid}.inline-form{gap:8px;display:flex}.inline-form .search-field{background:var(--surface);flex:1}.exam-picker{grid-auto-flow:row;justify-items:start}.exam-picker select{min-width:280px;max-width:100%}.indicators .row{min-height:56px}.indicator-value{font-variant-numeric:tabular-nums;font-weight:600}.indicator .chevron{transition:transform .15s}.indicator.is-open .chevron{transform:rotate(180deg)}.indicator-detail{gap:8px;padding:2px 14px 16px;display:grid}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--separator);padding:7px 8px}.data-table th{color:var(--text-3);font-size:12.5px;font-weight:600}.data-table td:last-child{font-variant-numeric:tabular-nums}.bars{background:var(--surface);border-radius:var(--radius);margin:0;padding:14px 16px 10px}.bars figcaption{color:var(--text-3);margin-bottom:10px;font-size:13px}.bars-plot{border-bottom:1px solid var(--separator);grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:8px;height:150px;display:grid}.bar-slot{outline-offset:2px;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.bar{background:var(--accent);border-radius:4px 4px 0 0;width:min(22px,70%);min-height:2px}.bar-slot small{color:var(--text-3);white-space:nowrap;font-size:11.5px;position:absolute;bottom:-22px}.bar-tip{background:var(--text);color:var(--bg);white-space:nowrap;z-index:1;border-radius:6px;padding:2px 7px;font-size:12px;position:absolute;top:-6px}.bars-plot{margin-bottom:24px}.settings-form{gap:28px;display:grid}.save-bar{z-index:5;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex;position:sticky;bottom:12px}.save-bar .btn{box-shadow:0 4px 14px #0000001f}.settings-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;display:grid}.settings .form-group p+p,.settings .form-group p+.form-actions{margin-top:10px}.auth{background:var(--bg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-story{color:#e9eaff;background:#1d2050;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(28px,5vw,64px);display:flex}.auth-story .brand-mark{color:#fff;padding:0}.auth-story h1{color:#fff;max-width:15ch;font-size:clamp(28px,3.4vw,40px);line-height:1.12}.auth-story p{color:#c3c6ee;max-width:44ch;margin-top:14px;font-size:16px}.auth-nox{align-self:flex-start}.auth-panel{place-items:center;padding:32px 16px;display:grid}.auth-form{width:min(380px,100%)}.auth-form h2{font-size:26px;font-weight:700}.auth-form>.hint{margin-top:-8px;font-size:14px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.onboarding{gap:22px;width:min(760px,100%);margin:0 auto;padding:20px 16px 64px;display:grid}.onboarding-head{justify-content:space-between;align-items:center;display:flex}.steps{gap:10px;display:grid}.progress{background:var(--fill);border-radius:2px;height:4px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .3s;display:block}.steps ol{color:var(--text-3);flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.steps li{align-items:center;gap:5px;display:inline-flex}.steps li.current{color:var(--text);font-weight:600}.steps li.done{color:var(--success)}.onboarding-card{background:var(--surface);border-radius:16px;gap:20px;padding:clamp(18px,3vw,28px);display:grid}.onboarding-card .subject-grid{margin-bottom:12px}.onboarding-card .subject-card{background:var(--surface-2)}.onboarding-intro{align-items:center;gap:16px;display:flex}.onboarding-intro h1{font-size:clamp(22px,2.6vw,27px)}.onboarding-intro .hint{max-width:58ch;margin-top:4px;font-size:14px}.onboarding.welcome{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:100vh}.onboarding.welcome p{color:var(--text-2);max-width:46ch}.onboarding.welcome .btn{margin-top:8px}@media (width<=1080px){.home-columns,.detail-columns,.lessons-layout{grid-template-columns:1fr}.lessons-layout>.panel:first-child{grid-row:auto}.ai-layout{grid-template-columns:1fr}.tool-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));position:static}.week-columns{grid-template-columns:1fr}.week-columns section{box-shadow:inset 0 1px 0 var(--separator);grid-template-columns:64px 1fr}.week-columns section:first-child{box-shadow:none}.week-day-head{flex-direction:column;gap:0}}@media (width<=900px){.sidebar{display:none}.topbar .brand-mark.compact{display:inline-flex}.bottom-nav{z-index:50;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-top:1px solid var(--separator);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--text-3);justify-items:center;gap:2px;min-height:50px;padding:6px 2px;font-size:11px;font-weight:500;display:grid}.bottom-nav button.active{color:var(--link)}.main-column{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.more-sheet{z-index:45;display:block;position:fixed;inset:0}.more-backdrop{background:#0c0d144d;position:absolute;inset:0}.more-panel{left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--popover-shadow);border-radius:14px;padding:6px;animation:.16s rise;display:grid;position:absolute}.more-panel button{border-radius:9px;align-items:center;gap:12px;padding:13px 12px;font-size:16px;display:flex}.more-panel button svg{color:var(--link)}.more-panel button+button{box-shadow:inset 0 1px 0 var(--separator)}.more-panel button.active{color:var(--link);font-weight:600}.install-card{bottom:calc(76px + env(safe-area-inset-bottom))}.toast-region{bottom:calc(80px + env(safe-area-inset-bottom))}.settings-columns,.auth{grid-template-columns:1fr}.auth-story{gap:16px;padding-bottom:28px}.auth-story p,.auth-nox{display:none}.month-cell{min-height:72px}.month-item span{display:none}.month-items{flex-wrap:wrap;gap:3px;padding:0 3px;display:flex}.month-item{padding:0;background:0 0!important}.month-item:hover{background:0 0}.month-head{text-align:center;padding:6px 0}.month-day{align-self:center}}@media (width<=620px){h1{font-size:26px}.page{gap:24px;padding-top:6px}.quick-actions{grid-template-columns:1fr 1fr;display:grid}.quick-actions .btn{white-space:normal;text-align:center;min-height:44px;line-height:1.25}.quick-actions .btn.primary{grid-column:1/-1}.form-row,.form-row.three,.summary-grid{grid-template-columns:1fr}.slot,.slot.compact{border-bottom:1px solid var(--separator);grid-template-columns:1fr 1fr;padding-bottom:8px}.slot select{grid-column:1/-1}.lesson-links{grid-template-columns:1fr}.modal-layer{align-items:end;padding:0}.modal,.modal.wide{width:100%;max-height:92vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;animation:.22s sheet}.form-actions .btn{flex:auto}.form-actions .spacer{display:none}.filters select{flex:140px;min-width:0}.month-cell{min-height:54px}.class-row .row-actions{justify-content:flex-start;width:100%;margin-left:56px}.row-tag,.row-end small:not(:first-child){display:none}.onboarding-intro{flex-direction:column;align-items:flex-start}.tool-list{scrollbar-width:none;gap:6px;margin:0 -16px;padding:0 16px 4px;display:flex;overflow-x:auto}.tool-list::-webkit-scrollbar{display:none}.tool{background:var(--fill);border-radius:9px;flex:none;align-items:center;padding:7px 12px}.tool small{display:none}.tool.is-active{background:var(--accent);color:var(--accent-text);box-shadow:none}.tool.is-active svg{color:var(--accent-text)}.page-head.with-nox .nox,.page-head.with-nox .nox-pose{display:none}.tool-panel{padding:16px}.inline-form{flex-direction:column}.exam-picker select{width:100%;min-width:0}.exam-picker{grid-auto-flow:row;width:100%}.subject-card-main strong{padding-right:96px}.calendar-toolbar .segmented{justify-content:space-between;width:100%}.calendar-toolbar .segmented button{flex:1}}@keyframes sheet{0%{opacity:.6;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.bottom-nav,.install-card,.toast-region,.save-bar,.btn,.icon-btn,.tool-list{display:none!important}body{color:#000;background:#fff}.group,.panel-body{break-inside:avoid}}@media (width>=901px){.install-card{flex-wrap:wrap;width:208px;padding:12px;bottom:12px;left:12px;right:auto}.install-card .icon-btn{position:absolute;top:6px;right:6px}.install-card .nox{display:none}}.download-page{gap:22px;width:min(720px,100%);margin:0 auto;padding:20px 16px 64px;display:grid}.download-page>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.download-intro p{color:var(--text-2);margin-top:6px}.install-block{background:var(--surface);border-radius:var(--radius);gap:10px;padding:18px;display:grid}.install-block h2{align-items:center;gap:8px;font-size:19px;display:flex}.install-block ol{gap:6px;margin:0;padding-left:20px;display:grid}.auth-download{text-align:center;margin-top:4px}.install-block>.btn{justify-self:start}body{background-color:var(--bg);background-image:radial-gradient(1px 1px at 12% 18%,#e5c77b8c,#0000 60%),radial-gradient(1px 1px at 78% 9%,#c7b8dc80,#0000 60%),radial-gradient(1.4px 1.4px at 41% 63%,#c7b8dc59,#0000 60%),radial-gradient(1px 1px at 91% 72%,#e5c77b66,#0000 60%),radial-gradient(1px 1px at 23% 88%,#c7b8dc4d,#0000 60%);background-attachment:fixed}:root[data-theme=light] body{background-image:none}.brand-mark{font-family:var(--font-display);letter-spacing:.04em;gap:10px;font-weight:700}.sidebar .brand-mark{padding:2px 4px;font-size:21px}.sidebar-note{font-family:var(--font-script);color:var(--text-2);font-size:16px;font-style:italic}.sidebar nav button.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 2px 0 0 var(--gold)}.page-head h1,.detail-head h1,.home-head h1{text-wrap:balance}.grimiau-logo{flex:none;overflow:visible}.avatar{background:0 0;border-radius:50%;width:auto;height:auto}.avatar-img{background:var(--accent-soft);color:var(--text);letter-spacing:.02em;box-shadow:0 0 0 1.5px var(--line-strong);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;overflow:hidden}.avatar-img img{object-fit:cover;width:100%;height:100%;display:block}img.avatar-img{object-fit:cover}.welcome-screen{place-items:center;min-height:100vh;padding:32px 16px;display:grid;position:relative;overflow:hidden}.welcome-sky{pointer-events:none;background:radial-gradient(circle at 50% 38%, #8d70b829, transparent 42%), radial-gradient(1.5px 1.5px at 30% 22%, var(--gold), transparent 60%), radial-gradient(1px 1px at 68% 30%, var(--text-2), transparent 60%), radial-gradient(1.2px 1.2px at 20% 70%, var(--text-2), transparent 60%), radial-gradient(1.5px 1.5px at 82% 64%, var(--gold), transparent 60%);position:absolute;inset:0}.welcome-card{text-align:center;justify-items:center;gap:10px;width:min(460px,100%);display:grid;position:relative}.wordmark{font-family:var(--font-display);letter-spacing:.08em;margin-top:4px;font-size:clamp(40px,9vw,58px);font-weight:600}.slogan{font-family:var(--font-script);color:var(--gold);font-size:24px;font-style:italic}.welcome-text{color:var(--text-2);max-width:38ch;margin:6px 0 10px}.welcome-actions{gap:10px;width:min(300px,100%);display:grid}.welcome-actions .btn{min-height:46px;font-size:15.5px}.welcome-card .hint{margin-top:8px}.welcome-download{color:var(--link);font-size:13.5px}.auth-story{background:var(--surface);color:var(--text);border-right:1px solid var(--separator)}.auth-story .brand-mark{color:var(--text)}.auth-story h1{color:var(--text);font-family:var(--font-display);max-width:18ch;font-size:clamp(26px,3vw,36px);line-height:1.2}.auth-story p{color:var(--text-2)}.auth-form h2{font-family:var(--font-display);font-weight:600}.ritual-launch{background:var(--fill);height:34px;color:var(--text);border-radius:17px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;font-weight:500;display:inline-flex}.ritual-launch:hover{background:var(--fill-hover)}.ritual-launch svg{color:var(--gold)}.ritual-launch.is-active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.ritual-launch-time{font-variant-numeric:tabular-nums}.topbar .avatar{margin-left:0}.topbar .searchbox{min-width:0}@media (width<=900px){.topbar{gap:8px}}.transcription-chip{background:var(--surface-2);max-width:260px;height:32px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;box-shadow:inset 0 0 0 1px var(--separator);border-radius:16px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex;overflow:hidden}.transcription-chip.status-pronto{color:var(--success)}.transcription-chip.status-erro{color:var(--danger)}.pulse{background:var(--gold);border-radius:50%;flex:none;width:8px;height:8px}@media (prefers-reduced-motion:no-preference){.pulse{animation:1.4s ease-in-out infinite pulse}}@keyframes pulse{50%{opacity:.3;transform:scale(.7)}}.home-head{align-items:center;gap:14px;display:flex}.home-head h1{max-width:30ch;font-size:clamp(24px,3vw,30px)}.today-date{color:var(--text-3);font-size:13.5px}.quick-actions{margin-top:-10px}.announcement{border-radius:var(--radius);background:var(--gold-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 35%, transparent);grid-template-columns:auto 1fr auto;align-items:center;gap:12px 14px;padding:14px 16px;display:grid}.announcement-icon{color:var(--gold)}.announcement strong{display:block}.announcement p{color:var(--text-2);margin-top:2px;font-size:14px}.announcement-actions{gap:8px;display:flex}.announcement-detail{gap:12px;display:grid}.announcement-detail ul{color:var(--text-2);gap:6px;margin:0;padding-left:20px;display:grid}.observatory-stats{border-radius:var(--radius);background:var(--separator);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.observatory-stats>div{background:var(--surface);padding:12px 14px}.observatory-stats dt{color:var(--text-3);font-size:12.5px}.observatory-stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px;font-weight:600}.home .footnote{margin-top:-20px}.count-badge{background:var(--accent-soft);min-width:22px;height:22px;color:var(--text);vertical-align:2px;border-radius:11px;place-items:center;margin-left:4px;padding:0 6px;font-size:12.5px;font-weight:600;display:inline-grid}.pending-summary{margin-top:-2px}.pending-row{flex-wrap:wrap}.pending-row .row-main{min-width:140px}.pending-tag{white-space:nowrap;background:var(--fill);color:var(--text-2);border-radius:6px;padding:3px 8px;font-size:12px}.pending-vazia{background:var(--warning-soft);color:var(--warning)}.pending-revisar{background:var(--accent-soft);color:var(--link)}.pending-perdida{background:var(--danger-soft);color:var(--danger)}.ritual-invite{border-radius:var(--radius);background:var(--surface);grid-template-columns:auto 1fr;align-items:start;padding:14px;gap:10px 12px!important;display:grid!important}.ritual-invite svg{color:var(--gold);margin-top:2px}.ritual-invite p{color:var(--text-2);font-size:14px}.ritual-invite .btn{grid-column:2;justify-self:start}.horoscope{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--separator);padding:16px;display:grid;position:relative;overflow:hidden;gap:10px!important}.horoscope:after{content:"";pointer-events:none;opacity:.6;background:radial-gradient(1px 1px at 85% 18%, var(--gold), transparent 70%), radial-gradient(1px 1px at 92% 40%, var(--text-2), transparent 70%), radial-gradient(1.2px 1.2px at 74% 12%, var(--text-2), transparent 70%);position:absolute;inset:0}.horoscope-head{align-items:center;gap:12px;display:flex}.horoscope-head .link-btn{margin-left:auto;font-size:13px}.horoscope-head small{color:var(--text-3)}.horoscope-title{font-family:var(--font-display);font-size:18px;font-weight:600}.zodiac-symbol{background:var(--accent-soft);width:40px;height:40px;color:var(--gold);border-radius:50%;place-items:center;font-family:Segoe UI Symbol,Apple Symbols,Noto Sans Symbols,sans-serif;font-size:20px;display:grid}.horoscope-text{color:var(--text);font-size:14.5px;line-height:1.55}.horoscope-source{color:var(--text-3);font-size:12px}.zodiac-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.zodiac-grid button{background:var(--fill);border-radius:9px;align-items:center;gap:6px;padding:8px;font-size:13px;display:flex}.zodiac-grid button span{color:var(--gold);font-family:Segoe UI Symbol,Apple Symbols,Noto Sans Symbols,sans-serif}.zodiac-grid button:hover,.zodiac-grid button.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.ritual-panel{z-index:40;overscroll-behavior:contain;background:var(--surface);width:min(380px,100vw - 32px);max-height:calc(100vh - 88px);box-shadow:var(--popover-shadow), inset 0 0 0 1px var(--separator);border-radius:18px;gap:12px;padding:16px;display:grid;position:fixed;bottom:20px;right:20px;overflow-y:auto}.ritual-panel[hidden]{display:none}.ritual-panel,.ritual-summary{grid-template-columns:minmax(0,1fr)}.ritual-panel select{width:100%;min-width:0}.ritual-head{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:4px 10px;display:grid}.ritual-head h2{font-family:var(--font-display);font-size:16px;font-weight:600}.ritual-head p{color:var(--text-3);font-size:12.5px}.ritual-clock{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text);font-size:clamp(40px,11vw,52px);font-weight:600;line-height:1.1}.ritual-phrase{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center;min-height:3.2em;display:grid}.ritual-phrase button{font-family:var(--font-script);color:var(--text-2);white-space:normal;font-size:19px;font-style:italic;line-height:1.3}@media (prefers-reduced-motion:no-preference){.ritual-phrase{animation:.6s phrase-in}}@keyframes phrase-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ritual-subject{color:var(--text-2);gap:4px;font-size:13px;display:grid}.ritual-subject select{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-2);min-height:36px;padding:6px 10px}.ritual-controls{gap:8px;display:flex}.ritual-controls .btn{flex:1;min-height:42px}.ritual-summary{background:var(--surface-2);border-radius:12px;gap:10px;padding:12px;display:grid}.ritual-today{color:var(--text-3);text-align:center;font-size:12.5px}.ritual-section{border-top:1px solid var(--separator);gap:8px;padding-top:12px;display:grid}.ritual-section h3{color:var(--text-3);font-size:13px;font-weight:600}.ritual-music iframe{background:var(--surface-2);border:0;border-radius:12px;width:100%;display:block}.ritual-music-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ritual-music-form{gap:8px;display:grid}.ritual-music-form label{color:var(--text-2);gap:4px;font-size:13px;display:grid}.ritual-music-form input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-2);min-height:38px;padding:7px 10px}.ritual-pill{z-index:40;background:var(--surface);box-shadow:var(--popover-shadow), inset 0 0 0 1px var(--accent);font-variant-numeric:tabular-nums;border-radius:26px;align-items:center;gap:8px;padding:6px 14px 6px 8px;font-weight:600;display:inline-flex;position:fixed;bottom:20px;right:20px}.ritual-pill small{color:var(--text-3);font-weight:400}.ritual-pill.status-paused span{color:var(--text-3)}.ritual-stars{pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.ritual-stars{background:radial-gradient(2px 2px at 20% 30%, var(--gold), transparent 70%), radial-gradient(2px 2px at 75% 22%, var(--gold), transparent 70%), radial-gradient(1.6px 1.6px at 60% 55%, var(--text-2), transparent 70%), radial-gradient(2px 2px at 35% 70%, var(--gold), transparent 70%);animation:2.4s ease-out forwards stars}}@keyframes stars{0%{opacity:0;transform:translateY(8px)}25%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.transcription-status{background:var(--surface-2);border-radius:12px;gap:10px;padding:14px;display:grid}.transcription-status.compact{padding:10px 12px}.transcription-head{align-items:center;gap:12px;display:flex}.transcription-head strong{display:block}.transcription-head small{color:var(--text-3)}.transcription-status.status-pronto .transcription-head svg{color:var(--success)}.transcription-status.status-erro .transcription-head svg{color:var(--danger)}.transcription-status>p{color:var(--text-2);font-size:14px}.indeterminate{background:var(--fill);border-radius:2px;height:4px;position:relative;overflow:hidden}.indeterminate:after{content:"";border-radius:inherit;background:var(--accent);width:35%;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:no-preference){.indeterminate:after{animation:1.4s ease-in-out infinite indeterminate}}@media (prefers-reduced-motion:reduce){.indeterminate:after{opacity:.5;width:100%}}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(290%)}}.transcription-steps{color:var(--text-3);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.transcription-steps li:before{content:"○ "}.transcription-steps li.done{color:var(--success)}.transcription-steps li.done:before{content:"● "}.transcription-steps li.current{color:var(--text);font-weight:600}.transcription-steps li.current:before{content:"◐ ";color:var(--gold)}.lesson-filter{max-width:320px}.lesson-content{align-items:flex-start}.lesson-content .row-main{gap:4px;display:grid}.lesson-excerpt{color:var(--text-2);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.lesson-excerpt.is-open{-webkit-line-clamp:unset;display:block}.lesson-content-actions{flex-wrap:wrap;gap:4px 14px;display:flex}.lesson-content-actions .link-btn{font-size:13px}.deck-options{flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:13.5px;display:flex}.deck-progress{width:min(560px,100%);color:var(--text-3);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.progress-track{background:var(--fill);border-radius:3px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--gold));height:100%;transition:width .25s;display:block}.level-tag{background:var(--fill);color:var(--text-2);border-radius:6px;padding:2px 8px;font-size:12px}.level-difícil{background:var(--danger-soft);color:var(--danger)}.level-fácil{background:var(--success-soft);color:var(--success)}.flashcard{perspective:1200px;min-height:240px;box-shadow:none;background:0 0;width:min(560px,100%);padding:0;display:block}.flashcard-inner{min-height:240px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,.7,.3,1);display:grid;position:relative}.flashcard.is-flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{text-align:center;backface-visibility:hidden;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);border-radius:18px;grid-area:1/1;place-content:center;gap:10px;padding:28px;display:grid}.flashcard-face.back{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent);transform:rotateY(180deg)}.flashcard-face strong{font-size:19px;font-weight:600;line-height:1.4}.flashcard-face.back strong{font-size:17px;font-weight:400}.flashcard.is-flipped strong{font-weight:inherit;font-size:inherit}.flashcard-face.back strong{font-weight:400}@media (prefers-reduced-motion:reduce){.flashcard-inner{transition:none}}.deck-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:min(560px,100%);display:flex}.deck-grade{gap:6px;display:flex}.grade-hard{color:var(--danger)}.hint.centered{text-align:center}.cards-page .tool-panel{border-radius:var(--radius);background:var(--surface);padding:18px}.community-tools{flex-wrap:wrap;align-items:center}.community-tools .search-field{flex:220px}.post-row{align-items:center}.post-row .row-main small{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.post-category{background:var(--fill);color:var(--text-2);border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:600;display:inline-block}.post-category.cat-0{background:var(--accent-soft);color:var(--link)}.post-category.cat-1{background:var(--gold-soft);color:var(--gold)}.post-category.cat-2{background:var(--danger-soft);color:var(--danger)}.post-category.cat-3{background:var(--success-soft);color:var(--success)}.post-count{color:var(--text-3);align-items:center;gap:4px;font-size:13px;display:inline-flex}.post-detail{border-radius:var(--radius);background:var(--surface);gap:18px;padding:18px;display:grid}.post-head{grid-template-columns:auto 1fr auto;align-items:start;gap:12px;display:grid}.post-head h2{margin:6px 0 2px;font-size:20px}.post-head small{color:var(--text-3)}.post-body{font-size:15px;line-height:1.6}.comments{gap:14px;margin:0;padding:0;list-style:none;display:grid}.comment{grid-template-columns:auto 1fr auto;align-items:start;gap:10px;display:grid}.comment-meta{color:var(--text-3);font-size:13px}.comment-meta strong{color:var(--text);margin-right:4px}.comment-body{gap:4px;min-width:0;display:grid}.comment-actions{display:flex}.comment-form{border-top:1px solid var(--separator);padding-top:12px}.profile-photo{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.profile-photo>div{gap:8px;display:grid}.profile-photo .avatar-img{box-shadow:0 0 0 2px var(--accent)}.study-log .observatory-stats{margin-bottom:4px}@media (width<=900px){.ritual-panel{width:auto;left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));max-height:calc(100vh - 140px)}.ritual-pill{right:12px;bottom:calc(72px + env(safe-area-inset-bottom))}.ritual-launch-label{display:none}.ritual-launch{padding:0 10px}.transcription-chip{max-width:150px}}@media (width<=760px){.observatory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement{grid-template-columns:auto 1fr}.announcement-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=620px){.home-head .home-avatar{display:none}.zodiac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-head{grid-template-columns:auto 1fr}.post-head .page-actions{grid-column:1/-1}.deck-nav{justify-content:center}.deck-grade{order:-1;justify-content:center;width:100%}.deck-grade .btn{flex:1}.transcription-chip{display:none}}@media (width<=900px){.auth-story>.grimiau-logo:last-child{display:none}.auth-story{gap:16px;padding-bottom:24px}}.page,.tool-panel,.tool-body{grid-template-columns:minmax(0,1fr)}.toolbar .inline-field{grid-template-columns:auto minmax(0,1fr);min-width:0;max-width:100%}.toolbar .inline-field select{min-width:0;max-width:100%}.segmented{scrollbar-width:none;min-width:0;overflow-x:auto}h1{font-family:var(--font-title);letter-spacing:0;font-weight:600}.section-title{font-family:var(--font);font-size:15.5px;font-weight:600}.page{gap:24px}.group,.panel-body,.empty{background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line)}.panel-body>.group{box-shadow:none}.btn{border-radius:11px}.btn.primary,:root[data-theme=light] .btn.primary{color:#fff}.btn.soft{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--card-line)}.progress-track span{background:var(--accent)}.page-head h1,.detail-head h1{font-size:clamp(26px,3.4vw,32px)}.sidebar{gap:22px}.sidebar .brand-mark{letter-spacing:.06em;font-size:20px}.sidebar nav button{color:var(--text-2);border-radius:10px;padding:9px 12px;font-size:14.5px}.sidebar nav button svg{color:var(--text-3)}.sidebar nav button.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--card-line);font-weight:600}.sidebar nav button.active svg{color:var(--gold)}.sidebar-shortcuts{gap:0!important}.sidebar-shortcuts p{color:var(--text-3);padding:0 12px 6px;font-size:12px}.sidebar-shortcuts button{padding:6px 12px!important;font-size:13.5px!important}.sidebar-shortcuts button.current{color:var(--text)!important}.sidebar-shortcuts button.current svg{color:var(--text-2)!important}.art{display:block;overflow:visible}@media (prefers-reduced-motion:no-preference){.art-twinkle{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite twinkle}.art-flame{transform-box:fill-box;transform-origin:50% 100%;animation:2.2s ease-in-out infinite flame}.art-zzz text{animation:3.2s ease-in-out infinite zzz}.art-zzz text+text{animation-delay:.8s}.sleeping-nox .sleep-head{transform-box:fill-box;transform-origin:50% 90%;animation:4s ease-in-out infinite breathe}.art-glow{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite twinkle}.art-burst path{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite burst}.art-burst path:nth-child(2){animation-delay:.4s}.art-burst path:nth-child(3){animation-delay:.9s}.art-burst path:nth-child(4){animation-delay:1.3s}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@keyframes flame{0%,to{transform:scaleY(1)rotate(0)}30%{transform:scaleY(1.08)rotate(-3deg)}60%{transform:scaleY(.94)rotate(2deg)}}@keyframes zzz{0%{opacity:0;transform:translateY(4px)}30%,70%{opacity:.9}to{opacity:0;transform:translate(6px,-8px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.035)}}@keyframes burst{0%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(.6)}}.progress-ring{flex:none;place-items:center;display:grid;position:relative}.progress-ring svg{position:absolute;inset:0}.progress-ring span{font-family:var(--font-title);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;position:relative}@media (prefers-reduced-motion:no-preference){.progress-ring-arc{transition:stroke-dashoffset .9s cubic-bezier(.3,.7,.3,1)}}.moon-week{justify-content:space-between;gap:4px;margin:0;padding:0;list-style:none;display:flex}.moon-week li{color:var(--text-3);justify-items:center;gap:3px;font-size:11.5px;display:grid}.moon-week li.is-full{color:var(--text-2)}.welcome-screen{padding:24px 16px 40px}.welcome-sky{background:radial-gradient(circle at 50% 30%,#8d70b81a,#0000 55%)}.welcome-card{gap:6px;width:min(440px,100%)}.cover-scene{width:min(360px,92vw);height:auto;margin-bottom:-6px}.wordmark{letter-spacing:.1em;margin-top:0;font-size:clamp(38px,10vw,54px)}.welcome-subtitle{font-family:var(--font-title);color:var(--text-2);margin-top:-4px;font-size:19px;font-style:italic}.slogan{font-size:20px}.welcome-text{margin:10px 0 14px;font-size:14.5px}.auth-story{justify-content:center}.auth-story .cover-scene{width:min(340px,100%)}.auth-story h1{font-family:var(--font-title);max-width:20ch;font-weight:600}.auth-form h2{font-family:var(--font-title);font-size:26px}.home-hero{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.home-hero h1{font-size:clamp(30px,4.2vw,38px)}.home-hero p{color:var(--text-2);margin-top:4px;font-size:15px}.home-nox{flex:none;margin-bottom:-8px}.focus-card{background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:18px;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:0;display:grid;overflow:hidden}.focus-card>div{align-content:start;gap:10px;min-width:0;padding:18px 20px;display:grid}.focus-card h2{color:var(--text-3);font-size:13px;font-weight:600}.focus-progress{text-align:center;border-right:1px solid var(--card-line);justify-items:center}.focus-level{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.focus-level span{color:var(--gold);align-items:center;gap:3px;display:inline-flex}.focus-next strong{font-family:var(--font-title);align-items:center;gap:8px;font-size:21px;font-weight:600;line-height:1.25;display:flex}.focus-next p{color:var(--text-2);font-size:14.5px}.focus-next small{color:var(--text-3)}.focus-next .btn{justify-self:start;min-width:140px;margin-top:4px}.quick-actions{flex-wrap:wrap;gap:8px;margin-top:-6px;display:flex}.quick-actions .btn{box-shadow:inset 0 0 0 1px var(--card-line);background:0 0}.quick-actions .btn:hover{background:var(--fill)}.commitment-icon{background:color-mix(in srgb, var(--subject) 18%, transparent);width:34px;height:34px;color:var(--subject);border-radius:10px;flex:none;place-items:center;display:grid}.commitment.kind-prova .commitment-icon,.commitment.kind-entrega .commitment-icon{background:var(--gold-soft);color:var(--gold)}.advice{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);grid-template-columns:auto minmax(0,1fr);align-items:center;padding:16px;gap:12px!important;display:grid!important}.advice h2{font-family:var(--font-title);font-size:17px}.advice p{color:var(--text-2);margin:4px 0 10px;font-size:14px}.profile-head{align-items:center;gap:18px;display:flex}.profile-head h1{font-size:clamp(26px,4vw,32px)}.profile-head .avatar-img{box-shadow:0 0 0 2px var(--gold)}.profile-title{font-family:var(--font-title);color:var(--gold);font-size:17px;font-style:italic}.profile-head small{color:var(--text-3);margin-top:2px;display:block}.level-card{background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:18px;padding:18px;display:grid;gap:14px!important}.level-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.level-top strong{font-family:var(--font-title);font-size:22px}.level-top span{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:14px}.xp-track{background:var(--fill);border-radius:4px;height:8px;overflow:hidden}.xp-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}@media (prefers-reduced-motion:no-preference){.xp-track span{transform-origin:0;animation:1s cubic-bezier(.3,.7,.3,1) fill-in}}@keyframes fill-in{0%{transform:scaleX(0)}}.level-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.level-stats dt{color:var(--text-3);font-size:12.5px}.level-stats dd{align-items:center;gap:4px;margin:2px 0 0;font-size:16px;font-weight:600;display:flex}.level-stats dd svg{color:var(--gold)}.relics{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.relic{text-align:center;border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);justify-items:center;gap:4px;padding:14px 10px;display:grid}.relic strong{font-size:13px;font-weight:600;line-height:1.3}.relic small{color:var(--text-3);font-size:12px}.relic-medal{width:52px;height:52px;color:var(--text-3);background:var(--surface-2);box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:50%;place-items:center;display:grid;position:relative}.relic.is-unlocked .relic-medal{color:var(--gold);background:var(--gold-soft);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--gold) 60%, transparent)}.relic:not(.is-unlocked) strong{color:var(--text-2)}.relic-lock{background:var(--surface);color:var(--text-3);box-sizing:content-box;border-radius:50%;padding:2px;position:absolute;bottom:0;right:0}@media (prefers-reduced-motion:no-preference){.relic.is-unlocked .relic-medal{animation:.7s cubic-bezier(.3,.7,.3,1.4) both relic-in}}@keyframes relic-in{0%{opacity:0;transform:translateY(12px)scale(.96)}8%,88%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.ranking-optin{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);flex-wrap:wrap;justify-content:space-between;align-items:center;padding:16px;gap:12px 18px!important;display:flex!important}.ranking-optin>div{flex:280px}.ranking-optin p{color:var(--text-2);margin-top:4px;font-size:13.5px}.ranking-optin.is-on strong{color:var(--success)}.ranking-position{width:30px;font-family:var(--font-title);color:var(--text-3);text-align:center;flex:none;font-size:18px;font-weight:600}.ranking-row.place-1 .ranking-position{color:var(--gold)}.ranking-row.place-2 .ranking-position,.ranking-row.place-3 .ranking-position{color:var(--text-2)}.ranking-row.is-me{background:var(--accent-soft)}.ranking-row .row-main strong{align-items:center;gap:8px;display:flex}.ranking-row .row-end strong{font-variant-numeric:tabular-nums;font-weight:600}.ranking-row .row-end small{align-items:center;gap:3px;display:inline-flex}@media (width<=900px){.bottom-nav{background:color-mix(in srgb, var(--sidebar) 96%, transparent);border-top:1px solid var(--card-line);grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav button{color:var(--text-3)}.bottom-nav button.active{color:var(--text)}.bottom-nav button.active svg{color:var(--gold)}}@media (width<=760px){.focus-card{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.focus-card>div{padding:16px 14px}.focus-next strong{font-size:18px}.focus-next .btn{width:100%;min-width:0}.level-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-actions .btn{white-space:normal;text-align:center;min-height:44px}}@media (width<=380px){.focus-card{grid-template-columns:minmax(0,1fr)}.focus-progress{border-right:0;border-bottom:1px solid var(--card-line)}}.grimoire-search{background:var(--surface);max-width:420px}.book-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.book-item{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);align-items:center;display:flex}.book-main{text-align:left;border-radius:var(--radius);flex:1;align-items:center;gap:14px;min-width:0;padding:12px 10px 12px 14px;display:flex}.book-main:hover{background:var(--surface-2)}.book-text{flex:1;gap:5px;min-width:0;display:grid}.book-text strong{font-family:var(--font-title);font-size:17px;font-weight:600;line-height:1.25}.book-text small{color:var(--text-3);font-size:12.5px}.book-progress{color:var(--text-2);grid-template-columns:auto minmax(60px,180px);align-items:center;gap:10px;font-size:13px;display:grid}.book-progress .progress-track span,.subject-hero-progress .progress-track span{background:var(--subject)}.book-pending{background:var(--gold);border-radius:50%;flex:none;width:8px;height:8px}.book-tools{flex-direction:column;padding:4px 6px 4px 0;display:flex}.book-tools .icon-btn{width:28px;height:26px}@media (prefers-reduced-motion:no-preference){.book-main .book-cover{transform-origin:20% 100%;transition:transform .25s}.book-main:hover .book-cover{transform:rotate(-4deg)translateY(-2px)}}.subject-hero{flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center!important}.subject-hero>div:first-of-type{flex:1;min-width:0}.subject-hero .page-actions{align-self:flex-start}.subject-hero-progress{grid-template-columns:auto minmax(80px,240px);align-items:center;gap:12px;display:grid;margin-top:8px!important}.subject-hero-progress strong{color:var(--text);font-size:14px}.block-icon{background:color-mix(in srgb, var(--subject) 16%, transparent);width:36px;height:36px;color:var(--subject);border-radius:10px;flex:none;place-items:center;display:grid}.subject-blocks .row{min-height:60px}@media (width<=620px){.subject-hero{flex-wrap:wrap!important}.subject-hero .page-actions{width:100%}.book-progress{grid-template-columns:auto minmax(40px,1fr)}}.intent-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.intent{border-radius:var(--radius);background:var(--surface);width:100%;box-shadow:inset 0 0 0 1px var(--card-line);text-align:left;align-items:center;gap:14px;padding:14px 16px;display:flex}.intent:hover{background:var(--surface-2)}.intent strong{font-size:15.5px;font-weight:600}.intent small{font-size:13px}.intent-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--link);border-radius:12px;flex:none;place-items:center;display:grid}.intent.is-sos .intent-icon{background:var(--danger-soft);color:var(--sos)}.more-tools{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.more-tools button{width:100%;color:var(--text);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;display:flex}.more-tools button:hover{background:var(--surface)}.more-tools svg{color:var(--gold);flex:none}.ai-layout.single{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.tool-tabs{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.tool-tabs::-webkit-scrollbar{display:none}.tool-tabs button{color:var(--text-2);box-shadow:inset 0 0 0 1px var(--card-line);white-space:nowrap;border-radius:20px;flex:none;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.tool-tabs button.is-active{background:var(--accent);color:#fff;box-shadow:none}.tool-tabs button.is-sos:not(.is-active){color:var(--sos)}.study-ai .tool-panel{background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:18px;padding:20px}.study-ai .tool-panel h1{font-size:clamp(24px,3vw,28px)}.tool-lead{color:var(--text-2);margin:-4px 0 6px}.ai-progress{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--card-line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:16px;display:grid}.ai-progress-main{gap:8px;display:grid}.ai-progress-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ai-progress-top strong{font-family:var(--font-title);font-size:17px}.ai-progress-top span,.transcription-percent{font-family:var(--font-title);color:var(--gold);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.ai-progress small{color:var(--text-3)}.ai-progress-bar{transition:width .5s}.ai-steps{color:var(--text-3);gap:3px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.ai-steps li:before{content:"○";width:18px;display:inline-block}.ai-steps li.done{color:var(--success)}.ai-steps li.done:before{content:"✓"}.ai-steps li.current{color:var(--text);font-weight:600}.ai-steps li.current:before{content:"◌";color:var(--gold)}@media (prefers-reduced-motion:no-preference){.ai-steps li.current:before{animation:1.4s ease-in-out infinite pulse}}.transcription-status .xp-track{margin-top:2px}.consent{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--card-line);gap:8px;padding:14px 16px;display:grid}.consent strong{font-family:var(--font-title);font-size:16px}.consent p{color:var(--text-2);font-size:13.5px}.recorder{text-align:center;justify-items:center;gap:12px;padding:22px 16px;display:grid}.mic-button{background:var(--accent);color:#fff;width:96px;height:96px;box-shadow:0 0 0 10px var(--accent-soft);border-radius:50%;place-items:center;display:grid}.mic-button:disabled{background:var(--fill);color:var(--text-3);box-shadow:0 0 0 10px var(--surface-2)}.recorder-state{color:var(--danger);align-items:center;gap:8px;font-weight:600;display:inline-flex}.recorder.is-paused .recorder-state{color:var(--text-3)}.rec-dot{background:currentColor;border-radius:50%;width:10px;height:10px}@media (prefers-reduced-motion:no-preference){.recorder.is-recording:not(.is-paused) .rec-dot{animation:1.2s ease-in-out infinite pulse}.mic-button{transition:transform .2s}.mic-button:not(:disabled):hover{transform:scale(1.04)}}.recorder-clock{font-family:var(--font-title);font-variant-numeric:tabular-nums;font-size:46px;font-weight:600;line-height:1}.recorder-actions{gap:8px;display:flex}.recorder-actions .btn{min-width:120px}.saved-next{border-radius:var(--radius);background:var(--success-soft);gap:6px;padding:16px;display:grid}.saved-next p{color:var(--text-2);font-size:14px}.flashcard.tarot{aspect-ratio:2/3;width:min(300px,78vw);min-height:0;margin:0 auto}.flashcard.tarot .flashcard-inner{height:100%;min-height:0}.flashcard.tarot .flashcard-face{border-radius:16px;padding:28px 24px}.tarot-back{background:var(--tarot)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 35%, transparent)!important;place-content:stretch!important;padding:0!important}.tarot-art{width:100%;height:100%;position:absolute;inset:0}.tarot-label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:13px;font-weight:600;position:absolute;bottom:13%;left:0;right:0}.tarot-front{background:var(--surface-2)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent)!important}.tarot-frame{border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);pointer-events:none;border-radius:10px;position:absolute;inset:9px}.tarot-front .flashcard-side{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:11.5px}.tarot-front strong{font-family:var(--font-title);line-height:1.35;font-size:21px!important;font-weight:500!important}.tarot-front small{color:var(--text-3)}@media (prefers-reduced-motion:no-preference){.tarot-front strong{animation:.45s phrase-in}.flashcard.tarot .flashcard-inner{transition:transform .7s cubic-bezier(.3,.7,.2,1)}.flashcard.tarot:not(.is-flipped):hover .flashcard-inner{transform:rotateY(-8deg)translateY(-3px)}}.flashcard-stage{justify-items:center}.deck-nav{justify-content:center}.deck-arrow{width:40px;height:40px;color:var(--text-2);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:50%;font-size:24px;line-height:1}.deck-grade .btn{min-width:86px}.grade-doubt{color:var(--gold)}.level-dúvida{background:var(--gold-soft);color:var(--gold)}.question-runner{gap:12px;display:grid}.runner-head{justify-content:space-between;align-items:baseline;display:flex}.runner-head strong{font-family:var(--font-title);font-size:18px}.runner-clock{font-family:var(--font-title);color:var(--gold);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.question.solo{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--card-line);padding:18px;display:block}.question.solo h4{margin-bottom:14px;font-size:16.5px}@media (prefers-reduced-motion:no-preference){.question.solo{animation:.3s rise}}.runner-actions{justify-content:flex-end}.quiz-result{gap:14px;display:grid}.quiz-result h3{font-family:var(--font-title);font-size:22px}.quiz-result h4{font-size:15px}.quiz-score{border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:18px 28px;padding:18px;display:flex}.quiz-score dl{gap:24px;margin:0;display:flex}.quiz-score dt{color:var(--text-3);font-size:12.5px}.quiz-score dd{font-family:var(--font-title);margin:2px 0 0;font-size:24px;font-weight:600}.quiz-score dd.ok{color:var(--success)}.quiz-score dd.bad{color:var(--danger)}.review-row small+small{color:var(--text-2)}.ritual-scene{place-items:center;margin:-4px 0 -6px;display:grid}.ritual-scene .sleeping-nox{width:min(240px,70%);height:auto}.ritual-clock{font-family:var(--font-title);font-size:clamp(48px,13vw,60px);font-weight:600}.ritual-goals{justify-content:center;gap:6px;display:flex}.ritual-goals button{color:var(--text-2);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:18px;padding:6px 14px;font-size:13px;font-weight:500}.ritual-goals button.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.ritual-goal{height:4px}.ritual-head h2{font-family:var(--font-title);font-size:18px}.ritual-panel{box-shadow:var(--popover-shadow), inset 0 0 0 1px var(--card-line)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip-row .chip{border-radius:18px;padding:6px 13px}.chip-row .chip.active{background:var(--accent);color:#fff;box-shadow:none}.community-tools{gap:10px;display:grid!important}.community-tools .search-field{max-width:460px}.post-category.cat-5{background:var(--accent-soft);color:var(--text-2)}.post-category.cat-6{background:var(--gold-soft);color:var(--gold)}.settings-index{z-index:5;background:var(--bg);padding:6px 0;position:sticky;top:56px}.settings-index .chip:hover{color:var(--text);text-decoration:none}.settings section[id]{scroll-margin-top:110px}.settings-text{color:var(--text-2);gap:10px;font-size:14px;display:grid}.settings-text .btn{justify-self:start}.sky{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sidebar,.main-column{z-index:1;position:relative}.sidebar{position:sticky}.sky-star{background:var(--text-2);opacity:.35;border-radius:50%;position:absolute}.sky-star.is-gold{background:var(--gold)}.sky-mote{background:var(--gold);opacity:0;border-radius:50%;width:3px;height:3px;position:absolute;bottom:-10px}.sky-comet{opacity:0;background:linear-gradient(90deg, transparent, var(--text-2));width:90px;height:1px;position:absolute;top:12%;left:-12%;transform:rotate(-14deg)}.sky-constellation{opacity:.22;position:absolute;top:64px;right:4%}.sky-constellation polyline{fill:none;stroke:var(--text-3);stroke-width:.6px;stroke-dasharray:2 3}.sky-constellation circle{fill:var(--gold)}:root[data-theme=light] .sky-star{background:var(--accent);opacity:.18}:root[data-theme=light] .sky-mote,:root[data-theme=light] .sky-comet{display:none}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduzido]) .sky-star{animation:6s ease-in-out infinite sky-twinkle}:root:not([data-motion=reduzido]) .sky-mote{animation:28s linear infinite sky-rise}:root:not([data-motion=reduzido]) .sky-comet{animation:19s ease-in 6s infinite sky-comet}}.sky.is-paused *{animation-play-state:paused!important}@keyframes sky-twinkle{0%,to{opacity:.12}50%{opacity:.55}}@keyframes sky-rise{0%{opacity:0;transform:translate(0)}10%{opacity:.5}85%{opacity:.3}to{opacity:0;transform:translate(var(--drift,0), -105vh)}}@keyframes sky-comet{0%,94%{opacity:0;transform:translate(0)rotate(-14deg)}95%{opacity:.7}to{opacity:0;transform:translate(70vw,18vh)rotate(-14deg)}}@media (prefers-reduced-motion:no-preference){.page-enter{animation:.32s cubic-bezier(.2,.7,.3,1) page-enter}.btn,.icon-btn,.mood-card,.song-card,.shared-card{transition:transform .16s,background-color .16s,box-shadow .2s}.btn:active:not(:disabled),.icon-btn:active:not(:disabled){transform:scale(.97)}.mood-card:hover,.song-card:hover,.shared-card:hover{transform:translateY(-2px)}.toast{animation:.25s page-enter}.modal{animation:.22s cubic-bezier(.2,.7,.3,1) modal-in}}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}.celebrations{z-index:60;inset:auto 0 calc(84px + env(safe-area-inset-bottom)) 0;pointer-events:none;justify-items:center;gap:10px;display:grid;position:fixed}.xp-gain{font-variant-numeric:tabular-nums;color:var(--gold);background:var(--surface);box-shadow:var(--popover-shadow), inset 0 0 0 1px var(--gold-soft);border-radius:20px;padding:6px 14px;font-weight:700;animation:2.6s forwards xp-gain}@keyframes xp-gain{0%{opacity:0;transform:translateY(10px)}12%,75%{opacity:1;transform:none}to{opacity:0;transform:translateY(-14px)}}.relic-burst{background:var(--surface);box-shadow:var(--popover-shadow), inset 0 0 0 1px var(--gold);border-radius:16px;align-items:center;gap:12px;padding:12px 18px 12px 12px;animation:5.2s forwards relic-in;display:flex;position:relative}.relic-burst small{color:var(--text-3);font-size:12px;display:block}.relic-burst strong{font-family:var(--font-title);font-size:16px}.relic-burst-icon{width:42px;height:42px;color:var(--gold);background:var(--gold-soft);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 18px #e5c77b47}.burst{width:0;height:0;position:absolute;top:50%;left:33px}.burst i{background:var(--text-2);opacity:0;border-radius:50%;width:4px;height:4px;position:absolute}.burst i.is-gold{background:var(--gold)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduzido]) .burst i{animation:1.1s cubic-bezier(.1,.7,.3,1) forwards burst-out}:root:not([data-motion=reduzido]) .relic-burst-icon{animation:1.6s 2 relic-glow}}@keyframes burst-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--x), var(--y)) scale(.4)}}@keyframes relic-glow{50%{box-shadow:0 0 28px #e5c77b80}}@media (width>=761px){.celebrations{bottom:28px}}.recording-bar{background:var(--danger-soft);min-width:0;color:var(--text);border-radius:20px;align-items:center;gap:2px;padding:2px 4px 2px 2px;display:inline-flex}.recording-bar.is-done{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--card-line);gap:6px;padding:6px 12px;font-size:13px;font-weight:500}.recording-open{font-variant-numeric:tabular-nums;border-radius:18px;align-items:center;gap:8px;min-width:0;padding:5px 8px 5px 10px;font-size:13.5px;font-weight:600;display:inline-flex}.recording-subject{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;color:var(--text-2);font-weight:400;overflow:hidden}.recording-bar .icon-btn{width:30px;height:30px}.recording-bar .icon-btn.danger{color:var(--danger)}.rec-dot{background:var(--danger);border-radius:50%;flex:none;width:9px;height:9px}.recording-bar.is-paused .rec-dot{background:var(--text-3)}@media (prefers-reduced-motion:no-preference){.recording-bar:not(.is-paused) .rec-dot,.is-recording .rec-dot{animation:1.4s ease-in-out infinite rec-pulse}}@keyframes rec-pulse{50%{opacity:.35}}.bell{flex:none;position:relative}.bell-button{position:relative}.bell-count{min-width:17px;height:17px;color:var(--accent-text);background:var(--gold);box-shadow:0 0 0 2px var(--bg);border-radius:9px;place-items:center;padding:0 4px;font-size:10.5px;font-weight:700;line-height:1;display:grid;position:absolute;top:1px;right:0}@media (prefers-reduced-motion:no-preference){.bell-button.is-ringing svg{transform-origin:50% 10%;animation:1.1s bell-ring}}@keyframes bell-ring{15%{transform:rotate(14deg)}35%{transform:rotate(-11deg)}55%{transform:rotate(7deg)}75%{transform:rotate(-4deg)}to{transform:none}}.bell-panel{z-index:30;background:var(--surface);width:min(360px,100vw - 24px);max-height:min(70vh,520px);box-shadow:var(--popover-shadow), inset 0 0 0 1px var(--card-line);border-radius:16px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:-48px;overflow:hidden}@media (prefers-reduced-motion:no-preference){.bell-panel{animation:.18s modal-in}}.bell-panel header,.bell-panel footer{justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.bell-panel header{border-bottom:1px solid var(--separator)}.bell-panel footer{border-top:1px solid var(--separator)}.bell-panel ul{overscroll-behavior:contain;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.bell-panel li button{text-align:left;align-items:flex-start;gap:10px;width:100%;padding:10px 14px;display:flex}.bell-panel li button:hover{background:var(--surface-2)}.bell-panel li.is-read{opacity:.68}.bell-icon{width:30px;height:30px;color:var(--link);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;display:grid}.bell-icon.kind-reliquia,.bell-icon.kind-nivel{color:var(--gold);background:var(--gold-soft)}.bell-text{flex:1;gap:2px;min-width:0;display:grid}.bell-text strong{font-size:13.5px;font-weight:600}.bell-text small{color:var(--text-2);font-size:12.5px}.bell-text time{color:var(--text-3);font-size:11.5px}.bell-dot{background:var(--gold);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.bell-empty{color:var(--text-3);padding:18px 14px;font-size:13px}@media (width<=760px){.bell-panel{width:auto;position:fixed;top:58px;left:12px;right:12px}.recording-subject{display:none}.topbar{gap:6px}}.moon-page{gap:32px}.moon-phase{flex:none;display:block;overflow:visible}.moon-dark{fill:var(--fill)}.moon-lit{fill:var(--page)}.moon-rim{fill:none;stroke:var(--line-strong);stroke-width:1px}:root[data-theme=light] .moon-lit{fill:color-mix(in srgb, var(--gold) 45%, #f3d98f)}:root[data-theme=light] .moon-dark{fill:var(--fill)}.moon-phase.is-glowing{filter:drop-shadow(0 0 10px #e5c77b59)}.moon-picker{gap:18px;display:grid}.moon-hero h1{text-wrap:balance;font-size:clamp(25px,3.4vw,32px)}.moon-hero p{color:var(--text-2);max-width:62ch;margin-top:6px}.moon-hero .moon-today{width:fit-content;max-width:100%;color:var(--text);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:10px;margin-top:10px;padding:8px 12px}.mood-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.mood-card{border-radius:var(--radius);text-align:left;background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);align-content:start;justify-items:start;gap:6px;padding:14px;display:grid}.mood-card strong{font-family:var(--font-title);font-size:16.5px;font-weight:600}.mood-card em{font-family:var(--font-script);color:var(--text-2);font-size:17px;line-height:1.25}.mood-card small{color:var(--text-3);font-size:12.5px;line-height:1.45}.mood-card:hover{background:var(--surface-2)}.mood-card.is-today{box-shadow:inset 0 0 0 1px var(--line-strong)}.mood-card.is-chosen{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--gold)}.mood-card.is-chosen .moon-phase{filter:drop-shadow(0 0 8px #e5c77b59)}.mood-confirm{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--gold-soft);flex-wrap:wrap;align-items:center;gap:14px 18px;padding:16px;display:flex}.mood-confirm>div{flex:1;min-width:200px}.mood-confirm strong{font-family:var(--font-title);font-size:18px}.mood-confirm p{font-family:var(--font-script);color:var(--text-2);font-size:18px}@media (prefers-reduced-motion:no-preference){.mood-confirm{animation:.3s page-enter}:root:not([data-motion=reduzido]) .moon-phase.is-glowing{animation:3.2s ease-in-out infinite moon-glow}}@keyframes moon-glow{50%{filter:drop-shadow(0 0 16px #e5c77b80)}}.moon-section{gap:14px;display:grid}.moon-history{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.moon-calendar{gap:10px;padding:12px;display:grid}.moon-calendar .calendar-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.moon-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.moon-month .month-head{text-align:center;color:var(--text-3);padding-bottom:2px;font-size:11.5px;font-weight:600}.moon-month button{font-variant-numeric:tabular-nums;color:var(--text-2);border-radius:9px;justify-items:center;gap:3px;padding:6px 0;font-size:12px;display:grid}.moon-month button:hover:not(:disabled){background:var(--fill)}.moon-month button.outside{opacity:.4}.moon-month button:disabled{opacity:.3;cursor:default}.moon-month button.today span{color:var(--gold);font-weight:700}.moon-month button.picked{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--line-strong)}.moon-none{width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--separator);border-radius:50%;display:block}.moon-picked{color:var(--text-2);font-size:13px}.moon-stats{gap:14px;display:grid}.moon-stat{gap:8px;padding:14px;display:grid}.moon-stat h3{color:var(--text-3);font-size:13px;font-weight:600}.moon-stat h3:first-letter,.xp-summary dt:first-letter{text-transform:uppercase}.mood-bars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mood-bars li{grid-template-columns:18px minmax(0,9em) minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12.5px;display:grid}.mood-bars li>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);overflow:hidden}.mood-bar{background:var(--fill);border-radius:3px;height:6px;overflow:hidden}.mood-bar i{border-radius:inherit;background:var(--accent);height:100%;display:block}@media (prefers-reduced-motion:no-preference){.mood-bar i{transform-origin:0;animation:.6s cubic-bezier(.2,.7,.3,1) bar-grow}}@keyframes bar-grow{0%{transform:scaleX(0)}}.week-nav{color:var(--text-2);align-items:center;gap:4px;font-size:13px;display:inline-flex}.constellation-join{color:var(--text-2);padding:12px 14px;font-size:13.5px}.mood-tabs{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.mood-tabs::-webkit-scrollbar{display:none}.mood-tabs button{color:var(--text-2);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:18px;flex:none;padding:6px 12px;font-size:13px}.mood-tabs button:hover{background:var(--fill)}.mood-tabs button.active{color:var(--text);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--gold);font-weight:600}.podium-row .row-main small{color:var(--text-3)}.podium-row .badge{margin-left:6px}.podium-star{width:32px;height:32px;color:var(--text-2);background:var(--fill);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.podium-row.place-1 .podium-star{color:var(--accent-text);background:var(--gold);box-shadow:0 0 14px #e5c77b4d}.podium-row.place-2 .podium-star{color:var(--text);background:var(--line-strong)}.podium-row.place-3 .podium-star{color:var(--gold);background:var(--gold-soft)}.podium-row.is-me{background:var(--accent-soft)}.song-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.song-card{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px;display:grid}.song-card iframe{background:var(--surface-2);border:0;border-radius:12px;grid-column:1/-1;width:100%}.song-cover{width:96px;height:96px;color:var(--text-3);background:var(--fill);border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.song-cover img{object-fit:cover;width:100%;height:100%}.song-play{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:6px;right:6px}.song-cover:hover .song-play{background:var(--accent-hover)}.song-info{align-content:start;gap:2px;min-width:0;display:grid}.song-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.song-info>span:not(.song-tag),.song-info small{color:var(--text-3);font-size:12.5px}.song-info p{font-family:var(--font-script);color:var(--text-2);margin-top:4px;font-size:16px}.song-tag{width:fit-content;color:var(--gold);background:var(--gold-soft);border-radius:6px;margin-bottom:4px;padding:2px 8px;font-size:11.5px;font-weight:600}.song-actions{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px;display:flex}@media (width<=760px){.moon-history{grid-template-columns:minmax(0,1fr)}.mood-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mood-card{padding:12px}.mood-card small{display:none}}@media (width<=330px){.mood-grid{grid-template-columns:minmax(0,1fr)}}.shared-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.shared-card{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);gap:12px;padding:16px;display:grid}.shared-card.is-closed{opacity:.75}.shared-card.is-highlighted{box-shadow:inset 0 0 0 1.5px var(--gold)}.shared-card>header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.shared-card>header strong{font-family:var(--font-title);font-size:17px;display:block}.shared-card>header small{color:var(--text-3);font-size:12.5px}.shared-materials{color:var(--text-2);font-size:13.5px}.shared-mine{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;font-weight:600;display:flex}.shared-progress{align-items:center;gap:10px;display:flex}.shared-progress .xp-track{flex:1}.shared-progress small{color:var(--text-3);flex:none;font-size:12.5px}.shared-members{gap:6px;margin:0;padding:0;list-style:none;display:grid}.shared-members li{align-items:center;gap:10px;font-size:13.5px;display:flex}.shared-members li>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.member-status{background:var(--fill);color:var(--text-2);border-radius:6px;flex:none;padding:2px 8px;font-size:12px;font-weight:600}.member-status.is-doing{background:var(--accent-soft);color:var(--link)}.member-status.is-done{background:var(--success-soft);color:var(--success)}.shared-invite{background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.shared-invite code{letter-spacing:.08em;color:var(--gold);font-weight:700}.shared-invite .btn{margin-left:auto}.code-input{text-transform:uppercase;letter-spacing:.12em;font-weight:600}.notebook-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.notebook-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.notebook{gap:8px;display:grid}.notebook-toolbar{z-index:5;background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex;position:sticky;top:56px}.save-state{color:var(--text-3);align-items:center;gap:6px;margin-left:auto;padding:0 8px;font-size:12.5px;display:inline-flex}.save-state.is-saved{color:var(--success)}.save-state.is-error,.save-state.is-offline{color:var(--warning)}.save-dot{background:currentColor;border-radius:50%;width:7px;height:7px}@media (prefers-reduced-motion:no-preference){.save-state.is-saving .save-dot{animation:.9s ease-in-out infinite rec-pulse}}.notebook-page{border-radius:var(--radius);background:var(--surface);min-height:60vh;box-shadow:inset 0 0 0 1px var(--card-line);outline:none;padding:22px clamp(16px,3vw,32px);font-size:15.5px;line-height:1.7}.notebook-page:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent)}.notebook-page:empty:before{content:attr(data-placeholder);color:var(--text-3);pointer-events:none}.notebook-page h2{font-family:var(--font-title);margin:18px 0 6px;font-size:22px}.notebook-page h3{margin:14px 0 4px;font-size:17px;font-weight:600}.notebook-page p,.notebook-page div{margin:0 0 8px}.notebook-page ul,.notebook-page ol{margin:0 0 8px;padding-left:1.4em}.notebook-page blockquote{border-left:3px solid var(--gold);color:var(--text-2);margin:8px 0;padding:4px 14px;font-style:italic}.notebook-page>:first-child{margin-top:0}.notebook-count{text-align:right}.notebook-side{gap:10px;display:grid;position:sticky;top:72px}@media (width<=900px){.notebook-layout{grid-template-columns:minmax(0,1fr)}.notebook-side{position:static}}@media (width<=760px){.notebook-toolbar{top:52px}.save-state{width:100%;margin-left:0;padding:4px 6px 0}}.lesson-notebook{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.lesson-notebook>div{flex:1;min-width:200px}.lesson-notebook .hint{margin-top:2px}.record-context{background:var(--surface-2);border:0;border-radius:12px;gap:8px;padding:12px;display:grid}.record-context legend{color:var(--text-2);float:left;width:100%;margin-bottom:4px;padding:0;font-size:13px;font-weight:600}.recorded-parts{gap:8px;display:grid}.recorded-parts h3{font-size:14px;font-weight:600}.audio-parts{gap:10px;margin:0;padding:0;list-style:none;display:grid}.audio-part{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:12px;gap:8px;padding:12px;display:grid}.audio-part-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.audio-part-head small{color:var(--text-3)}.audio-part audio{width:100%}.modality-badge{letter-spacing:.03em;vertical-align:middle;color:var(--link);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--card-line);border-radius:5px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.section-actions{flex-wrap:wrap;align-items:center;gap:4px 14px;display:inline-flex}.pending-tag.pending-material{color:var(--warning);background:var(--warning-soft)}.subject-suggestions{gap:10px;display:grid}.suggestion-list .row{min-height:46px}.suggestion-name{min-width:0;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:6px 8px}.suggestion-name:hover,.suggestion-name:focus{border-color:var(--line-strong);background:var(--surface-2)}.xp-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0;display:grid}.xp-summary div{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--card-line);padding:12px 14px}.xp-summary dt{color:var(--text-3);font-size:12.5px}.xp-summary dd{font-family:var(--font-title);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:21px;font-weight:600}.xp-group-total,.xp-amount{font-variant-numeric:tabular-nums;color:var(--gold);white-space:nowrap;font-size:13.5px;font-weight:700}.xp-list .row-main small{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.ritual-panel{position:fixed}.ritual-resize{width:44px;height:16px;color:var(--text-3);cursor:nwse-resize;touch-action:none;opacity:.6;border-radius:8px;place-items:center;display:grid;position:absolute;top:4px;left:50%;transform:translate(-50%)}.ritual-resize:hover,.ritual-resize:focus-visible{opacity:1;background:var(--fill)}.ritual-panel.is-resized{width:var(--ritual-width);max-width:calc(100vw - 24px);height:var(--ritual-height);max-height:calc(100vh - 88px)}@media (width<=760px){.ritual-panel.is-resized{width:min(380px,100vw - 32px)}}@media (prefers-reduced-motion:no-preference){.flashcard-inner{transition-timing-function:cubic-bezier(.3,.7,.2,1)}}:root[data-motion=reduzido] .sky-mote,:root[data-motion=reduzido] .sky-comet,:root[data-motion=reduzido] .burst{display:none}@media (prefers-reduced-motion:reduce){.sky-mote,.sky-comet,.burst{display:none}.xp-gain,.relic-burst{opacity:1;animation:none}}@media (width<=760px){.topbar:has(.recording-bar:not(.is-done)) .searchbox{display:none}.topbar:has(.recording-bar) .recording-bar{margin-left:auto}}.spotify-dock{z-index:9;color:#fff;background:#171a3a;border:1px solid #303457;border-radius:16px;width:min(380px,100vw - 40px);position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 18px 50px #171a3a38}.spotify-dock-head{align-items:center;min-height:58px;padding:7px 9px 7px 12px;display:flex}.spotify-dock-title{color:#fff;text-align:left;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.spotify-dock-title>span{flex:1;gap:2px;min-width:0;display:grid}.spotify-dock-title strong{font-size:13px}.spotify-dock-title small{color:#c8cadb;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.spotify-dock-title>svg:last-child{transition:transform .2s}.spotify-dock.expanded .spotify-dock-title>svg:last-child{transform:rotate(90deg)}.spotify-settings{color:#d8d9e7;border:1px solid #ffffff24;border-radius:8px;padding:7px 8px;font-size:12px}.spotify-dock iframe{border:0;transition:height .2s,opacity .2s;display:block}.spotify-dock.collapsed iframe{opacity:0;pointer-events:none;height:0}.spotify-player-body{gap:9px;padding:0 10px 10px;display:grid}.spotify-player-body iframe{border-radius:11px;width:100%}.spotify-controls{background:#ffffff0a;border:1px solid #ffffff1c;border-radius:12px;align-items:center;gap:7px;padding:10px;display:flex}.spotify-controls>button{color:#f7f7fb;border-radius:50%;place-items:center;min-width:30px;min-height:30px;display:inline-grid}.spotify-controls .spotify-play{color:#171a3a;background:#fff}.spotify-volume{flex:1;align-items:center;gap:6px;min-width:80px;display:flex}.spotify-volume input{accent-color:#7de2ad;width:100%}.spotify-controls .spotify-text-action,.spotify-connect{color:#eff0f8;border:1px solid #ffffff2b;border-radius:8px;min-width:auto;min-height:30px;padding:7px 9px;font-size:12px}.spotify-connect{color:#09160d;background:#1ed760;width:100%;font-weight:750}.spotify-note,.spotify-message{color:#c8cadb;font-size:12px;line-height:1.45;display:block}.spotify-message{color:#ffe09d}.spotify-empty{color:#fff;border:1px dashed #ffffff2b;border-radius:11px;gap:4px;padding:16px;display:grid}.spotify-empty span{color:#c8cadb;font-size:12.5px}.study-music .spotify-dock{width:100%;box-shadow:none;position:static}
