*,:before,:after{box-sizing:border-box}:root{--radius:10px;--radius-sm:7px;--glow:0;--row-h:34px;--gap:16px;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-content:Georgia, "Times New Roman", serif;--sidebar-w:288px;--bottom-nav-h:56px}[data-density=compact]{--row-h:28px;--gap:12px}html{-webkit-text-size-adjust:100%}body{background:hsl(var(--bg));color:hsl(var(--text));font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}h1,h2,.display{font-family:var(--font-content)}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1rem}p{margin:0}a{color:hsl(var(--accent-text));text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid hsl(var(--accent-text));outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:hsl(var(--text-muted))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{background:hsl(var(--sidebar-bg));border-right:1px solid hsl(var(--border));flex-direction:column;height:100dvh;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;padding:18px 20px 10px;font-size:1.125rem;font-weight:600}.nav-link{border-radius:var(--radius-sm);min-height:36px;color:hsl(var(--text));align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.nav-link[aria-current=page]{background:hsl(var(--accent-soft));color:hsl(var(--accent-text));font-weight:600}.sidebar-scroll{border-top:1px solid hsl(var(--border));flex:1;padding:0 12px 16px;overflow-y:auto}.topbar,.bottom-nav,.scrim{display:none}@media (width<=767px){.app{display:block}.sidebar{z-index:30;width:min(88vw,320px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app[data-drawer=open] .sidebar{transform:none}.app[data-drawer=open] .scrim{z-index:25;background:#0006;display:block;position:fixed;inset:0}.topbar{z-index:10;background:hsl(var(--bg));border-bottom:1px solid hsl(var(--border));align-items:center;gap:8px;height:48px;padding:0 8px;display:flex;position:sticky;top:0}.topbar .brand{padding:0}.content{padding:16px 16px calc(var(--bottom-nav-h) + 24px);gap:20px}.bottom-nav{z-index:20;height:var(--bottom-nav-h);background:hsl(var(--surface));border-top:1px solid hsl(var(--border));padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:hsl(var(--text-muted));flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:hsl(var(--accent-text));font-weight:600}}.brand{font-family:var(--font-content);letter-spacing:-.02em;color:hsl(var(--text));align-items:center;gap:10px;padding:18px 20px 12px;font-size:1.375rem;font-weight:700;text-decoration:none;display:flex}.side-actions .add-menu .btn{width:100%}.search-btn{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--surface));min-height:36px;color:hsl(var(--text-muted));cursor:pointer;text-align:left;align-items:center;gap:8px;padding:0 10px;display:flex}.search-btn span{flex:1}kbd{font:inherit;border:1px solid hsl(var(--border));background:hsl(var(--surface-2));color:hsl(var(--text-muted));border-radius:4px;padding:1px 6px;font-size:.6875rem}.fab{display:none}.bottom-nav button{cursor:pointer;background:0 0;border:0}@media (width<=767px){.bottom-nav{grid-template-columns:repeat(4,1fr)}.bottom-nav a,.bottom-nav button{color:hsl(var(--text-muted));flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.add-menu.fab{right:16px;bottom:calc(var(--bottom-nav-h) + 16px);z-index:20;display:block;position:fixed}.fab .btn{border-radius:26px;min-width:52px;min-height:52px;box-shadow:0 8px 20px #00000040}.fab .add-label{display:none}.fab .menu{top:auto;bottom:calc(100% + 8px)}}.tree-icon{color:var(--fc,hsl(var(--text-muted)))}.tree-due{background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text));border-radius:999px;margin-left:4px;padding:0 7px;font-size:.6875rem;font-weight:700}.btn{border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 14px;display:inline-flex}.btn:hover{background:hsl(var(--surface-2))}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-color:#0000;font-weight:600}.btn-primary:hover{background:hsl(var(--accent));filter:brightness(1.06)}.btn-quiet{color:hsl(var(--accent-text));background:0 0;border-color:#0000;font-weight:600}.btn-quiet:hover{background:hsl(var(--accent-soft))}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:hsl(var(--text-muted));background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:hsl(var(--surface-2));color:hsl(var(--text))}.section-label{letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--text-muted));font-size:.75rem;font-weight:600}.tree-toolbar{justify-content:space-between;align-items:center;padding:12px 0 6px;display:flex}.tree-root,.tree-children{margin:0;padding:0;list-style:none}.tree-children{border-left:1px solid hsl(var(--border));margin-left:14px;padding-left:4px}.tree-row{min-height:var(--row-h);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:2px;padding-right:4px;display:flex}.tree-row:hover{background:hsl(var(--surface-2))}.tree-row.is-selected{background:hsl(var(--accent-soft))}.tree-row.is-drop-target{outline:2px dashed hsl(var(--accent-text));outline-offset:-2px}.tree-chevron{width:22px;height:22px;color:hsl(var(--text-muted));cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;transition:transform .12s;display:grid}.tree-chevron.is-open{transform:rotate(90deg)}.tree-chevron.is-hidden{visibility:hidden}.tree-icon{width:22px;color:hsl(var(--text-muted));place-items:center;display:grid}.tree-emoji{font-size:1rem;line-height:1}.tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-left:4px;overflow:hidden}.tree-actions{gap:0;display:none}.tree-row:hover .tree-actions,.tree-row:focus-within .tree-actions{display:inline-flex}@media (hover:none){.tree-actions{display:inline-flex}}.tree-input{border:1px solid hsl(var(--accent-text));background:hsl(var(--surface));border-radius:4px;flex:1;min-width:0;height:26px;margin-left:4px;padding:0 6px}.tree-empty{color:hsl(var(--text-muted));padding:8px 4px;font-size:.875rem}.tree-rootdrop{text-align:center;border:1px dashed hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--text-muted));margin-top:8px;padding:10px;font-size:.875rem}.toasts{z-index:50;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width<=767px){.toasts{bottom:calc(var(--bottom-nav-h) + 12px)}}.toast{border-radius:var(--radius);background:hsl(var(--text));color:hsl(var(--bg));justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex;box-shadow:0 4px 16px #0003}.toast .btn-quiet{color:inherit;text-decoration:underline}.toast .btn-quiet:hover{background:hsl(var(--bg) / .15)}.empty{text-align:center;border:1px dashed hsl(var(--border));border-radius:var(--radius);flex-direction:column;align-items:center;gap:12px;padding:40px 24px;display:flex}.empty h2{font-size:1.125rem}.empty p{color:hsl(var(--text-muted));max-width:44ch}.panel{background:hsl(var(--surface));border:1px solid hsl(var(--card-border));border-radius:var(--radius);padding:18px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.fatal{max-width:520px;margin:15vh auto;padding:24px}.fatal h1{margin-bottom:8px}.breadcrumb{color:hsl(var(--text-muted));flex-wrap:wrap;align-items:center;gap:4px;font-size:.875rem;display:flex}.crumb{gap:4px;display:inline-flex}.crumb-sep{color:hsl(var(--border))}.breadcrumb [aria-current=page]{color:hsl(var(--text));font-weight:600}.head-actions{flex-wrap:wrap;gap:8px;display:flex}.title-emoji{margin-right:8px}.section-title{margin-bottom:8px}.stat{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:12px 14px}.stat dt{color:hsl(var(--text-muted));font-size:.75rem}.stat dd{margin:2px 0 0;font-size:1.375rem;font-weight:600}.list{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--surface));margin:0;padding:0;list-style:none;overflow:hidden}.list>li+li{border-top:1px solid hsl(var(--border))}.list-row{min-height:44px;color:inherit;align-items:center;gap:10px;padding:6px 12px;text-decoration:none;display:flex}a.list-row:hover{background:hsl(var(--surface-2));text-decoration:none}.list-icon{width:22px;color:hsl(var(--text-muted));place-items:center;display:grid}.list-main{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.badge,.chip{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem}.badge{background:hsl(var(--accent-soft));color:hsl(var(--accent-text));font-weight:600}.chip{background:hsl(var(--surface-2));color:hsl(var(--text-muted))}.editor{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:hsl(var(--text-muted));font-size:.8125rem;font-weight:600}.field input,.field textarea,.field select{border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background:hsl(var(--bg));resize:vertical;width:100%;padding:8px 10px}.field textarea{font-family:var(--font-content);font-size:1.0625rem;line-height:1.5}.hint{color:hsl(var(--text-muted));font-size:.8125rem}.errors{border-radius:var(--radius-sm);background:hsl(var(--err) / .12);color:hsl(var(--err));margin:0;padding:8px 12px 8px 28px;font-size:.875rem}.editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.segmented{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--surface-2));align-self:flex-start;margin:0;padding:2px;display:inline-flex}.segmented label{cursor:pointer;border-radius:4px;padding:4px 14px;font-size:.875rem}.segmented label.is-on{background:hsl(var(--surface));box-shadow:0 0 0 1px hsl(var(--border));font-weight:600}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:focus-visible){outline:2px solid hsl(var(--accent-text))}.preview{flex-direction:column;gap:8px;display:flex}.preview-card{border:1px solid hsl(var(--card-border));border-radius:var(--radius);background:hsl(var(--bg));padding:12px 14px}.card-text{font-family:var(--font-content);white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.125rem;line-height:1.55}.card-back{border-top:1px dashed hsl(var(--border));margin-top:8px;padding-top:8px}.cloze{color:hsl(var(--accent-text));font-weight:600}mark{background:hsl(var(--accent-soft));color:hsl(var(--accent-text));border-radius:3px;padding:0 3px;font-weight:600}.review{flex-direction:column;gap:18px;width:100%;max-width:720px;margin:0 auto;display:flex}.review-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.review-title{font-size:1.125rem}.review-meta{color:hsl(var(--text-muted));flex-wrap:wrap;align-items:center;gap:12px;font-size:.8125rem;display:flex}.review-meta b{color:hsl(var(--text))}.progress{background:hsl(var(--surface-2));border-radius:999px;height:4px;overflow:hidden}.progress>div{background:hsl(var(--accent));height:100%;transition:width .2s}.study-card{background:hsl(var(--surface));border:1px solid hsl(var(--card-border));border-radius:var(--radius);flex-direction:column;justify-content:center;min-height:220px;padding:28px;display:flex}.study-card .card-text{font-size:1.375rem}.study-card .card-extra{color:hsl(var(--text-muted));font-size:1rem}.review-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.btn-wide{width:100%;min-height:48px;font-size:1rem}.grades{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid}.grade{flex-direction:column;gap:2px;min-height:64px;padding:8px 4px;position:relative}.grade .interval{color:hsl(var(--text-muted));font-variant-numeric:tabular-nums;font-size:.75rem}.grade kbd{font:inherit;color:hsl(var(--text-muted));font-size:.6875rem;position:absolute;top:4px;right:6px}.grade-1{border-color:hsl(var(--err) / .5)}.grade-3{border-color:hsl(var(--ok) / .5)}.summary{flex-direction:column;gap:18px;width:100%;max-width:640px;margin:0 auto;display:flex}@media (width<=480px){.study-card{min-height:180px;padding:20px 16px}.grade{font-size:.875rem}}.calendar{width:100%;height:auto;display:block}.cal-cell{fill:hsl(var(--surface-2))}.cal-cell.lvl-1{fill:hsl(var(--accent) / .3)}.cal-cell.lvl-2{fill:hsl(var(--accent) / .55)}.cal-cell.lvl-3{fill:hsl(var(--accent) / .8)}.cal-cell.lvl-4{fill:hsl(var(--accent))}.bars{width:100%;height:auto;max-height:200px}.bar{fill:hsl(var(--accent))}.bar-val{fill:hsl(var(--text));font-variant-numeric:tabular-nums;font-size:9px}.bar-label{fill:hsl(var(--text-muted));font-size:8px}.folder-card{flex-wrap:wrap}.meter{background:hsl(var(--surface-2));border-radius:999px;flex-basis:100%;height:3px;overflow:hidden}.meter>span{background:hsl(var(--ok));height:100%;display:block}@media (width>=768px){.folder-card{flex-wrap:nowrap}.meter{flex-basis:90px}}.settings{flex-direction:column;gap:4px;display:flex}.setting-row{border-top:1px solid hsl(var(--border));grid-template-columns:200px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.settings>h2+.setting-row{margin-top:10px}.setting-label{font-size:.9375rem;font-weight:600}.setting-row>div{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.setting-row .field{width:min(100%,320px)}@media (width<=640px){.setting-row{grid-template-columns:1fr;gap:8px}}.theme-picker{flex-direction:column;gap:14px;width:100%;display:flex}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.theme-option{border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;text-align:left;align-items:center;gap:8px;min-height:36px;padding:0 10px;display:flex}.theme-option:hover{background:hsl(var(--surface-2))}.theme-option[aria-pressed=true]{border-color:hsl(var(--accent-text));box-shadow:0 0 0 1px hsl(var(--accent-text));font-weight:600}.swatch{cursor:pointer;border:1px solid #80808059;border-radius:50%;flex:none;width:16px;height:16px;padding:0;display:inline-block}.swatch[aria-pressed=true]{outline:2px solid hsl(var(--text));outline-offset:2px}.swatch-lg{cursor:default;width:28px;height:28px}.custom-color{grid-template-columns:auto 1fr 1fr;align-items:end;gap:14px;display:grid}@media (width<=640px){.custom-color{grid-template-columns:auto 1fr}.custom-color .field:last-child{grid-column:1/-1}}input[type=range]{accent-color:hsl(var(--accent));width:100%}.modal-backdrop{z-index:40;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{flex-direction:column;gap:14px;width:min(560px,100%);max-height:90vh;display:flex;overflow-y:auto}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px;display:grid}.icon-grid .icon-btn{border:1px solid #0000;width:36px;height:36px}.icon-grid .icon-btn[aria-pressed=true]{border-color:hsl(var(--accent-text));background:hsl(var(--accent-soft));color:hsl(var(--accent-text))}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn[aria-pressed=true]{border-color:hsl(var(--accent-text));box-shadow:0 0 0 1px hsl(var(--accent-text))}.st-new{--sf:var(--s-new-fill);--stx:var(--s-new-text);--ss:var(--s-new-soft)}.st-learn{--sf:var(--s-learn-fill);--stx:var(--s-learn-text);--ss:var(--s-learn-soft)}.st-review{--sf:var(--s-review-fill);--stx:var(--s-review-text);--ss:var(--s-review-soft)}.st-fail{--sf:var(--s-fail-fill);--stx:var(--s-fail-text);--ss:var(--s-fail-soft)}.st-master{--sf:var(--s-master-fill);--stx:var(--s-master-text);--ss:var(--s-master-soft)}.chip-state{white-space:nowrap;background:hsl(var(--ss));color:hsl(var(--stx));border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.chip-state:before{content:"";background:hsl(var(--sf));border-radius:50%;width:7px;height:7px}.display{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.75rem,7vw,4.5rem);font-weight:600;line-height:1}.statebar{background:hsl(var(--surface-2));border-radius:999px;height:8px;display:flex;overflow:hidden}.statebar>.seg{background:hsl(var(--sf));min-width:0;height:100%}.statebar>.seg+.seg{box-shadow:-1px 0 0 hsl(var(--surface))}.statebar-lg{height:12px}.legend{color:hsl(var(--text-muted));flex-wrap:wrap;gap:6px 14px;font-size:.8125rem;display:flex}.legend .dot{background:hsl(var(--sf));border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.legend b{color:hsl(var(--text));font-variant-numeric:tabular-nums}.ring{place-items:center;display:inline-grid;position:relative}.ring svg{transform:rotate(-90deg)}.ring .track{stroke:hsl(var(--surface-2))}.ring .value{stroke:hsl(var(--accent));stroke-linecap:round}.ring .center{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.grade{background:hsl(var(--ss));border-color:hsl(var(--sf) / .55);color:hsl(var(--text));font-weight:600}.grade:hover{background:hsl(var(--ss));border-color:hsl(var(--sf))}.grade .interval{color:hsl(var(--stx));font-weight:600}.grade-1{--sf:var(--s-fail-fill);--stx:var(--s-fail-text);--ss:var(--s-fail-soft)}.grade-2{--sf:var(--s-learn-fill);--stx:var(--s-learn-text);--ss:var(--s-learn-soft)}.grade-3{--sf:var(--s-review-fill);--stx:var(--s-review-text);--ss:var(--s-review-soft)}.grade-4{--sf:var(--s-new-fill);--stx:var(--s-new-text);--ss:var(--s-new-soft)}.fcolor{--fc:hsl(var(--fh,215) var(--fs,8%) var(--fl,42%))}.rich{overflow-wrap:anywhere}.rich img{border-radius:var(--radius-sm);cursor:zoom-in;max-width:100%;height:auto;max-height:60vh;margin:8px auto;display:block}.rich .img-missing{border:1px dashed hsl(var(--border));cursor:default;min-width:120px;min-height:60px}.rich ul,.rich ol{margin:.4em 0;padding-left:1.4em}.rich p,.rich div{margin:0}.rich u{text-underline-offset:3px;text-decoration-thickness:2px}.hl-y,.hl-g,.hl-b,.hl-p,.hl-o{color:hsl(var(--text));border-radius:3px;padding:0 2px}.hl-y{background:#fadb428c}.hl-g{background:#47d17573}.hl-b{background:#47adf573}.hl-p{background:#f471b373}.hl-o{background:#fa933880}.fc-r{color:#b81e1e}.fc-b{color:#155dc1}.fc-g{color:#197640}.fc-o{color:#b8520a}.fc-k{color:#636874}[data-mode=dark] .fc-r{color:#f47b7b}[data-mode=dark] .fc-b{color:#7eb9fc}[data-mode=dark] .fc-g{color:#64d894}[data-mode=dark] .fc-o{color:#fba356}[data-mode=dark] .fc-k{color:#afb5c0}.lightbox{z-index:60;cursor:zoom-out;background:#000000d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lightbox img{border-radius:var(--radius);background:#fff;max-width:100%;max-height:100%}.rich-field{flex-direction:column;gap:6px;display:flex}.field-label{color:hsl(var(--text-muted));font-size:.8125rem;font-weight:600}.rich-toolbar{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--surface-2));flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:flex}.tb-btn{width:30px;height:30px;color:hsl(var(--text));cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.tb-btn:hover{background:hsl(var(--surface))}.tb-sep{background:hsl(var(--border));width:1px;height:18px;margin:0 6px}.tb-icon{color:hsl(var(--text-muted));margin:0 2px}.tb-a{font-family:var(--font-content);text-align:center;width:14px;font-weight:700}.tb-swatch{border:1px solid #80808059;border-radius:50%;width:22px;height:22px;margin:0 2px}.tb-swatch.hl-y,.tb-swatch.hl-g,.tb-swatch.hl-b,.tb-swatch.hl-p,.tb-swatch.hl-o{border-radius:50%;padding:0}.fc-bg-r{background:#d32222}.fc-bg-b{background:#1a6fe6}.fc-bg-g{background:#209752}.fc-bg-o{background:#f26c0d}.fc-bg-k{background:#717784}.rich-editor{min-height:calc(var(--rows,3) * 1.6em + 16px);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background:hsl(var(--bg));overflow-wrap:anywhere;outline:none;padding:8px 10px;font-size:1.0625rem}.rich-editor:focus{border-color:hsl(var(--accent-text));box-shadow:0 0 0 1px hsl(var(--accent-text))}.rich-editor:empty:before{content:attr(data-placeholder);color:hsl(var(--text-muted));pointer-events:none}.rich-editor img{border-radius:var(--radius-sm);max-width:min(100%,420px);max-height:260px;margin:6px 0;display:block}.tb-swatch.hl-y{background:#fadb42}.tb-swatch.hl-g{background:#3bce6c}.tb-swatch.hl-b{background:#47adf5}.tb-swatch.hl-p{background:#f471b3}.tb-swatch.hl-o{background:#fa9338}.tb-swatch:hover{transform:scale(1.15)}.add-menu{display:inline-block;position:relative}.add-menu.fab{display:none}.menu{z-index:35;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--surface));flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000029}.menu button{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-height:38px;padding:0 10px;display:flex}.menu button:hover{background:hsl(var(--surface-2))}.modal-wide{width:min(760px,100%)}.browser{flex-direction:column;gap:12px;display:flex}.browser-filters{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px;display:grid}.browser-filters input,.browser-filters select,.bulk-panel input,.bulk-panel select,.tag-emoji-input,.setting-row select,.setting-row input[type=number]{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--bg));width:100%;min-height:36px;padding:0 10px}.browser-filters .field{gap:0}.browser-filters .field>span{display:none}.bulk{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--surface-2));flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.bulk-all{align-items:center;gap:8px;margin-right:auto;display:inline-flex}.bulk-panel{border:1px dashed hsl(var(--border));border-radius:var(--radius-sm);flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px;display:flex}.bulk-panel>*{flex:1;min-width:160px}.bulk-panel .btn{flex:none;min-width:0}.browse-row{grid-template-columns:auto minmax(0,1fr) auto auto auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.browse-row.is-picked{background:hsl(var(--accent-soft))}.browse-main{flex-direction:column;gap:2px;min-width:0;display:flex}.browse-text{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-content);font-size:1.0625rem;overflow:hidden}.browse-meta{align-items:center;gap:8px;font-size:.8125rem;display:flex}.browse-tags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.browse-due{text-align:right;min-width:70px;font-size:.8125rem}.pager{justify-content:center;align-items:center;gap:14px;display:flex}@media (width<=767px){.browse-row{grid-template-columns:auto minmax(0,1fr) auto auto}.browse-tags,.browse-due{display:none}}.study{flex-direction:column;gap:8px;animation:.22s both card-in;display:flex}.study-meta{flex-wrap:wrap;align-items:center;gap:10px;font-size:.8125rem;display:flex}.study .study-card{border-top:5px solid var(--fc,hsl(var(--card-border)))}.seg-progress{gap:3px;height:8px;display:flex}.seg-progress .step{background:hsl(var(--sf) / .28);border-radius:3px;flex:1;min-width:2px;transition:background .2s,transform .2s}.seg-progress .step.is-done{background:hsl(var(--sf))}.seg-progress .step.is-current{background:hsl(var(--sf));box-shadow:0 0 0 2px hsl(var(--sf) / .35);transform:scaleY(1.7)}.step-bar{background:hsl(var(--accent));border-radius:3px;height:100%;display:block}.review-meta .c-new{color:hsl(var(--s-new-text))}.review-meta .c-learn{color:hsl(var(--s-learn-text))}.review-meta .c-review{color:hsl(var(--s-review-text))}.cause{border-radius:var(--radius);background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:10px 12px;animation:.18s both card-in;display:flex}.cause-q{font-size:.875rem;font-weight:600}.cause-chip{border:1px solid hsl(var(--s-fail-fill) / .6);background:hsl(var(--surface));min-height:32px;color:hsl(var(--text));cursor:pointer;border-radius:999px;padding:0 12px;font-weight:600}.cause-chip:hover{background:hsl(var(--s-fail-fill));color:hsl(var(--surface))}.stat.st-new dd,.stat.st-review dd,.stat.st-learn dd,.stat.st-master dd{color:hsl(var(--stx))}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cause-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0;display:grid}.cause-grid .stat{border-left:5px solid hsl(var(--sf,var(--border)))}.cause-grid .stat dd{color:hsl(var(--stx,var(--text)))}.st-none{--sf:var(--border);--stx:var(--text-muted);--ss:var(--surface-2)}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.chip-filter{border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:999px;min-height:32px;padding:0 12px;font-size:.875rem;font-weight:600}.chip-filter:hover{background:hsl(var(--surface-2))}.chip-filter[aria-pressed=true]{background:hsl(var(--ss,var(--accent-soft)));border-color:hsl(var(--sf,var(--accent-text)));color:hsl(var(--stx,var(--accent-text)))}.error-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.inline-field{color:hsl(var(--text-muted));align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.inline-field select{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--surface));min-height:34px;padding:0 10px}.map{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.map-row{padding:8px 12px 8px calc(12px + var(--depth,0) * 22px);background:hsl(var(--surface));border:1px solid hsl(var(--border));border-left:5px solid var(--fc,hsl(var(--border)));border-radius:var(--radius-sm);grid-template-columns:minmax(180px,1.4fr) minmax(120px,1.2fr) 56px 120px auto;align-items:center;gap:14px;display:grid}.map-row:hover{border-color:var(--fc,hsl(var(--border)))}.map-name{align-items:center;gap:6px;min-width:0;font-weight:600;display:flex}.map-name a{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-icon{color:var(--fc,hsl(var(--text-muted)));place-items:center;width:20px;display:inline-grid}.map-pct{text-align:right;font-weight:700;font-family:var(--font-content);font-size:1.0625rem}.map-row.lvl-0 .map-pct{color:hsl(var(--text-muted))}.map-row.lvl-1 .map-pct{color:hsl(var(--s-fail-text))}.map-row.lvl-2 .map-pct{color:hsl(var(--s-learn-text))}.map-row.lvl-3 .map-pct{color:hsl(var(--s-review-text))}.map-row.lvl-4 .map-pct{color:hsl(var(--s-master-text))}.map-due{font-size:.8125rem}.map-total{margin-top:8px}@media (width<=767px){.map-row{grid-template-columns:minmax(0,1fr) 52px}.map-bar,.map-due,.map-go{display:none}}.palette-backdrop{align-items:start;padding-top:12vh}.palette{width:min(640px,100%);padding:0;animation:.16s both card-in;overflow:hidden}.palette-input{border-bottom:1px solid hsl(var(--border));color:hsl(var(--text-muted));align-items:center;gap:10px;padding:12px 16px;display:flex}.palette-input input{color:hsl(var(--text));background:0 0;border:0;outline:0;flex:1;font-size:1.0625rem}.palette-list{max-height:56vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-list ul{margin:0;padding:0;list-style:none}.palette-group{letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--text-muted));padding:8px 10px 4px;font-size:.6875rem;font-weight:700}.palette-list li[role=option]{border-radius:var(--radius-sm);cursor:pointer;align-items:baseline;gap:10px;padding:9px 10px;display:flex}.palette-list li[role=option].is-active{background:hsl(var(--accent-soft));box-shadow:inset 3px 0 0 hsl(var(--accent))}.palette-label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.palette-hint{text-overflow:ellipsis;white-space:nowrap;max-width:55%;margin-left:auto;font-size:.8125rem;overflow:hidden}.palette-empty{text-align:center;color:hsl(var(--text-muted));padding:20px}.stat[class*=st-]{border-left:5px solid hsl(var(--sf))}.stat[class*=st-] dd{color:hsl(var(--stx))}.bar.st-learn{fill:hsl(var(--s-learn-fill))}.bar.st-review{fill:hsl(var(--s-review-fill))}.bar.st-new{fill:hsl(var(--s-new-fill))}.side-foot{border:0;border-top:1px solid hsl(var(--border));color:hsl(var(--text-muted));cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;margin:0;padding:10px 16px;display:flex}.side-foot:hover{color:hsl(var(--text))}.shortcut-group{margin-top:6px}.shortcuts{flex-direction:column;gap:6px;margin:6px 0 0;display:flex}.shortcuts>div{grid-template-columns:150px 1fr;align-items:center;gap:12px;display:grid}.shortcuts dt,.shortcuts dd{margin:0}mark[class^=hl-]{font-weight:inherit}:root{--dur:.26s;--rise:12px;--ease:cubic-bezier(.2, .8, .2, 1)}[data-motion=reduced]{--dur:.12s;--rise:0px}@media (prefers-reduced-motion:reduce){[data-motion=full]{--dur:.12s;--rise:0px}}[data-motion=off] *,[data-motion=off] :before,[data-motion=off] :after{transition:none!important;animation:none!important}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise))}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(calc(var(--rise) * 1.5))}to{opacity:1;transform:none}}@keyframes unfold{0%{opacity:0;transform:translateY(calc(var(--rise) * -.6))}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ring-fill{0%{stroke-dashoffset:var(--ring-c)}to{stroke-dashoffset:var(--ring-to)}}.content>*{animation:rise var(--dur) var(--ease) both}.content>:nth-child(2){animation-delay:50ms}.content>:nth-child(3){animation-delay:.1s}.content>:nth-child(4){animation-delay:.15s}.content>:nth-child(n+5){animation-delay:.2s}.plate{animation:rise var(--dur) var(--ease) both;animation-delay:calc(var(--i,0) * 55ms)}.list>li,.map>li{animation:rise var(--dur) var(--ease) both}.list>li:nth-child(n+8),.map>li:nth-child(n+8){animation-delay:.3s}.statebar.is-animated>.seg{transform-origin:0;animation:grow calc(var(--dur) * 3) var(--ease) both;animation-delay:calc(var(--i,0) * 80ms + .12s)}.ring.is-animated .value{animation:ring-fill calc(var(--dur) * 4.5) var(--ease) both;animation-delay:.12s}.hero-row-bar>span{transform-origin:0;animation:grow calc(var(--dur) * 3) var(--ease) both;animation-delay:.2s}.tree-children{animation:unfold var(--dur) var(--ease) both}.menu,.modal,.palette{animation:pop var(--dur) var(--ease) both}.modal-backdrop{animation:fade var(--dur) ease both}.toast,.cause{animation:slide-up var(--dur) var(--ease) both}.tag,.chip-state{animation:pop var(--dur) var(--ease) both}.study{animation:rise var(--dur) var(--ease) both}.study-card .card-back{animation:slide-up calc(var(--dur) * 1.2) var(--ease) both}.grades .grade{animation:pop var(--dur) var(--ease) both}.grades .grade:nth-child(2){animation-delay:40ms}.grades .grade:nth-child(3){animation-delay:80ms}.grades .grade:nth-child(4){animation-delay:.12s}.btn,.plate,.nav-link,.tab,.tb-btn,.chip-filter{transition:background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s var(--ease), box-shadow .2s ease}.btn:active,.grade:active,.tb-btn:active{transform:scale(.96)}.grade:hover{transform:translateY(-2px)}.nav-link:hover svg{transform:scale(1.12)}.nav-link svg{transition:transform .15s var(--ease)}:root{--top:60px;--font-ui:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--spec:linear-gradient(hsl(var(--accent)), hsl(var(--accent)));--sh1:0 1px 0 #fff9 inset, 0 1px 2px #47331f0f, 0 16px 40px -24px #47331f4d;--sh2:0 2px 6px #47331f14, 0 24px 60px -20px #47331f59}[data-mode=dark]{--sh1:0 1px 0 #ffffff0d inset, 0 1px 2px #0006, 0 16px 40px -24px #000000b3;--sh2:0 2px 6px #0006, 0 24px 60px -20px #000c}.panel,.plate,.stat,.list,.hero,.folder-head,.map-row{box-shadow:var(--sh1)}.panel{border-radius:16px}.top{z-index:40;height:var(--top);background:color-mix(in srgb, hsl(var(--surface)) 90%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid hsl(var(--border));align-items:center;gap:12px;padding:0 24px;display:flex;position:sticky;top:0}.word{font-family:var(--font-display);letter-spacing:-.05em;text-transform:uppercase;color:hsl(var(--text));flex:none;align-items:center;gap:8px;font-size:20px;font-weight:800;line-height:1;text-decoration:none;display:flex}.word:hover{text-decoration:none}.word .logo .seg{transition:stroke .4s}.proj{background:hsl(var(--bg));border:1px solid hsl(var(--border));cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-width:0;max-width:220px;height:32px;padding:0 12px 0 8px;font-size:13px;display:flex}.proj i{background:var(--fc,hsl(var(--border)));border-radius:50%;flex:none;width:16px;height:16px;box-shadow:0 0 0 1px #00000026}.proj b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.top-nav{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;margin:0 4px;padding:4px 2px;display:flex;overflow-x:auto}.top-nav::-webkit-scrollbar{display:none}.top-actions{flex:none;align-items:center;gap:10px;display:flex}.ib{border:1px solid hsl(var(--border));width:32px;height:32px;color:hsl(var(--text));cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;transition:box-shadow .2s;display:inline-grid}.ib:hover:not(:disabled){box-shadow:inset 0 0 0 2px hsl(var(--text))}.ib:disabled{opacity:.3;cursor:default}.nav-pill{height:36px;color:hsl(var(--text));white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;transition:box-shadow .2s,background-color .2s;display:inline-flex}.nav-pill:hover{box-shadow:inset 0 0 0 2px hsl(var(--text));text-decoration:none}.nav-pill[aria-current=page]{background:hsl(var(--text));color:hsl(var(--bg))}.nav-pill[aria-current=page]:hover{box-shadow:inset 0 0 0 2px hsl(var(--accent))}.search-pill{border-color:hsl(var(--border));background:hsl(var(--surface));color:hsl(var(--text-muted))}.search-pill kbd{margin-left:4px}.btn{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:999px;min-height:38px;padding:0 18px;font-weight:600;transition:box-shadow .2s,background-color .2s,transform .15s}.btn:hover{box-shadow:inset 0 0 0 2px hsl(var(--text));background:hsl(var(--surface))}.btn-primary{background:hsl(var(--text));color:hsl(var(--bg));border-color:hsl(var(--text));filter:none}.btn-primary:hover{background:hsl(var(--text));box-shadow:inset 0 0 0 2px hsl(var(--accent));filter:none}.btn-primary:active{box-shadow:inset 0 0 0 3px hsl(var(--accent))}.btn-quiet{box-shadow:none;background:0 0;border-color:#0000}.btn-quiet:hover{background:hsl(var(--accent-soft));box-shadow:none}.btn-sm{min-height:30px;padding:0 12px;font-size:.8125rem}.add-menu .btn-primary{min-height:38px}.tgl{border:1px solid hsl(var(--border));background:hsl(var(--bg));cursor:pointer;border-radius:16px;flex:none;width:56px;height:32px;transition:box-shadow .2s,background-color .3s;position:relative}.tgl:hover{box-shadow:inset 0 0 0 2px hsl(var(--text))}.tgl i{background:hsl(var(--text));width:24px;height:24px;color:hsl(var(--bg));border-radius:50%;place-items:center;transition:transform .4s cubic-bezier(.3,.7,.2,1);display:grid;position:absolute;top:3px;left:3px}.tgl[aria-checked=true] i{transform:translate(24px)}.menu{box-shadow:var(--sh2);border-radius:14px}.menu-link{min-height:38px;color:inherit;border-radius:7px;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.menu-link:hover{background:hsl(var(--surface-2));text-decoration:none}.menu.menu-up{top:auto;bottom:calc(100% + 8px)}.more-menu{display:inline-block;position:relative}.drawer-scrim{z-index:50;background:#00000059;animation:.2s both fade;position:fixed;inset:0}.drawer{z-index:55;background:hsl(var(--surface));width:min(420px,100vw);box-shadow:var(--sh2);border-radius:0 26px 26px 0;flex-direction:column;animation:.4s cubic-bezier(.3,.7,.2,1) both drawer-in;display:flex;position:fixed;top:0;bottom:0;left:0}.drawer-head{justify-content:space-between;align-items:center;padding:20px 20px 10px 24px;display:flex}.drawer-head h2{letter-spacing:-.03em;font-size:1.625rem;font-weight:800}.drawer-body{flex:1;padding:0 16px 20px 20px;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(-102%)}to{transform:none}}.hintbar{z-index:45;background:color-mix(in srgb, hsl(var(--surface)) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsl(var(--border));max-width:min(560px,100vw - 32px);box-shadow:var(--sh1);pointer-events:none;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-size:13px;animation:.18s both pop;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.hintbar i{background:hsl(var(--accent));border-radius:50%;flex:none;width:8px;height:8px}.toasts{bottom:76px}@media (width<=1480px){.search-pill span,.search-pill kbd{display:none}.search-pill{justify-content:center;width:36px;padding:0}}@media (width<=1280px){.nav-pill{padding:0 10px}.top-actions .add-label{display:none}.top-actions .add-menu .btn{padding:0 12px}}@media (width<=960px){.nav-pill span{display:none}.nav-pill{padding:0 10px}.top-nav .nav-pill[aria-current=page] span{display:inline}}@media (width<=767px){.top{gap:8px;padding:0 12px}.top-nav,.top-actions .add-menu{display:none}.top-actions{margin-left:auto}.content{padding:20px 16px calc(var(--bottom-nav-h) + 40px);gap:22px}.bottom-nav{background:color-mix(in srgb, hsl(var(--surface)) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,1fr);align-items:center;display:grid}.bottom-nav .add-menu{place-items:center;display:grid;position:relative}.bottom-nav .add-menu .btn{border-radius:50%;min-width:52px;min-height:52px;margin-top:-22px;padding:0;box-shadow:0 8px 20px #00000040}.bottom-nav .add-menu .add-label{display:none}.bottom-nav .more-menu .nav-pill{height:auto;color:hsl(var(--text-muted));border:0;flex-direction:column;gap:2px;padding:6px 0;font-size:.75rem}.bottom-nav .more-menu .nav-pill span{display:inline}.bottom-nav .menu{right:0}.hintbar{bottom:calc(var(--bottom-nav-h) + 12px)}.toasts{bottom:calc(var(--bottom-nav-h) + 16px)}}.bottom-nav .add-menu .btn{box-shadow:none}.tb-hide{background:hsl(var(--text));height:30px;color:hsl(var(--bg));cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;margin-right:4px;padding:0 12px;font-size:13px;font-weight:600;transition:box-shadow .2s;display:inline-flex}.tb-hide:hover{box-shadow:inset 0 0 0 2px hsl(var(--accent))}.holes{flex-wrap:wrap;gap:6px;display:flex}.hole-chip{border:1px solid hsl(var(--s-new-fill) / .55);background:hsl(var(--s-new-soft));min-height:30px;color:hsl(var(--s-new-text));cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.875rem;display:inline-flex}.hole-chip:hover{box-shadow:inset 0 0 0 2px hsl(var(--s-new-fill))}.type-card{border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;transition:box-shadow .2s,transform .15s;display:flex;position:relative}.type-card:hover{box-shadow:inset 0 0 0 2px hsl(var(--text));transform:translateY(-1px)}.type-card input{opacity:0;pointer-events:none;position:absolute}.type-card.is-on{border-color:hsl(var(--accent));box-shadow:inset 0 0 0 2px hsl(var(--accent));background:hsl(var(--accent-soft))}.type-card:has(input:focus-visible){outline:2px solid hsl(var(--accent-text));outline-offset:2px}.type-icon{background:hsl(var(--surface-2));width:32px;height:32px;color:hsl(var(--accent-text));border-radius:10px;place-items:center;display:inline-grid}.type-card b{font-family:var(--font-display);letter-spacing:-.01em;font-size:.9375rem}.type-card small{color:hsl(var(--text-muted));font-size:.8125rem;line-height:1.3}.type-card em{color:hsl(var(--text-muted));font-size:.75rem;font-style:normal;font-family:var(--font-mono);opacity:.85}.kind-badge{background:hsl(var(--accent-soft));color:hsl(var(--accent-text));border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.mcq-options{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.mcq-row{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:8px 10px;display:grid}.mcq-row.is-correct{border-color:hsl(var(--s-review-fill));background:hsl(var(--s-review-soft))}.mcq-check{cursor:pointer;align-items:center;gap:6px;padding-top:8px;display:inline-flex}.mcq-check input{accent-color:hsl(var(--s-review-fill));width:18px;height:18px}.mcq-texts{flex-direction:column;gap:6px;display:flex}.mcq-texts input{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:8px;width:100%;min-height:34px;padding:0 10px}.mcq-why{font-size:.875rem}.mcq-tools{gap:2px;display:flex}.case-step{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.case-step-head{justify-content:space-between;align-items:center;display:flex}.occ-drop{text-align:center;border:2px dashed hsl(var(--border));color:hsl(var(--text-muted));border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:28px 18px;display:flex}.occ-wrap{flex-direction:column;gap:10px;display:flex}.occ-stage{background:hsl(var(--surface-2));touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;max-height:520px;position:relative;overflow:hidden}.occ-stage img{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.occ-shape{border:2px solid hsl(var(--accent));background:hsl(var(--accent) / .55);cursor:move;color:hsl(var(--accent-contrast));font-family:var(--font-mono);border-radius:4px;place-items:center;display:grid;position:absolute}.occ-shape.is-draft{background:hsl(var(--accent) / .25);cursor:crosshair;border-style:dashed}.occ-actions{align-items:center;gap:12px;display:flex}.occ-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.occ-list li{border:1px solid hsl(var(--border));border-radius:999px;align-items:center;gap:8px;padding:2px 4px 2px 12px;font-size:.8125rem;display:inline-flex}.todo{background:hsl(var(--s-learn-soft));color:hsl(var(--s-learn-text));border-radius:12px;margin:0;padding:10px 14px 10px 30px;font-size:.875rem}.editor-count{margin:0;font-size:.8125rem}.tf-answer{align-self:flex-start}.card-tools{gap:2px;margin-left:auto;display:inline-flex}.ct{width:30px;height:30px;color:hsl(var(--text-muted));cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background .15s,color .15s;display:inline-grid}.ct:hover{background:hsl(var(--surface-2));color:hsl(var(--text))}.ct.flag-1{color:hsl(var(--s-fail-fill))}.ct.flag-2{color:hsl(var(--s-learn-fill))}.ct.flag-3{color:hsl(var(--s-review-fill))}.ct.flag-4{color:hsl(var(--s-new-fill))}.ct.flag-6{color:hsl(var(--s-fail-fill))}.ct[class*=flag-]:not(.flag-0) svg{fill:currentColor}.grade.is-suggested{box-shadow:0 0 0 2px hsl(var(--sf));transform:translateY(-2px)}.suggest-tag{letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--stx));font-size:.6875rem;font-weight:700}.mcq-choices{flex-direction:column;gap:8px;margin-top:8px;display:flex}.mcq-choice{text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;width:100%;min-height:48px;font:inherit;border-radius:12px;align-items:center;gap:12px;padding:8px 14px;font-size:1.0625rem;transition:box-shadow .15s,background .15s,transform .15s;display:flex}.mcq-choice:hover:not(:disabled){box-shadow:inset 0 0 0 2px hsl(var(--text));transform:translate(2px)}.mcq-choice.is-picked{background:hsl(var(--accent-soft));box-shadow:inset 0 0 0 2px hsl(var(--accent))}.mcq-choice.is-right{background:hsl(var(--s-review-soft));box-shadow:inset 0 0 0 2px hsl(var(--s-review-fill))}.mcq-choice.is-wrong{background:hsl(var(--s-fail-soft));box-shadow:inset 0 0 0 2px hsl(var(--s-fail-fill))}.mcq-choice.is-missed{background:hsl(var(--s-learn-soft));box-shadow:inset 0 0 0 2px hsl(var(--s-learn-fill));border-style:dashed}.mcq-choice:disabled{cursor:default;color:inherit}.mcq-choice kbd{flex:none}.mcq-choice span{flex:1}.mcq-mark{font-weight:700;flex:none!important}.mcq-why-text{color:hsl(var(--text-muted));margin:4px 0 0 52px;font-size:.9375rem}.face-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.tf-buttons{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.tf-btn{min-height:64px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:16px;justify-content:center;align-items:center;gap:10px;font-size:1.125rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex}.tf-true{background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text));border-color:hsl(var(--s-review-fill) / .6)}.tf-false{background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));border-color:hsl(var(--s-fail-fill) / .6)}.tf-btn:hover{transform:translateY(-2px);box-shadow:0 0 0 2px}.tf-result{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.typein-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.typein-row input{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:999px;flex:1;min-width:200px;min-height:46px;padding:0 16px;font-size:1.0625rem}.typein-result{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.typed{margin:0;font-size:1.125rem}.w-bad{color:hsl(var(--s-fail-text));text-decoration:line-through}.media-image{background:hsl(var(--surface-2));border-radius:12px;width:100%;max-height:60vh;margin:8px 0;position:relative;overflow:hidden}.media-image img{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.occ-view>div{border-radius:4px;position:absolute}.occ-hide{background:hsl(var(--accent));box-shadow:0 0 0 2px hsl(var(--surface))}.occ-reveal{border:3px solid hsl(var(--s-review-fill));background:hsl(var(--s-review-fill) / .12);animation:.3s both pop}.occ-caption{margin-bottom:4px;font-weight:600}.case-card{gap:12px}.case-vignette{border-bottom:1px dashed hsl(var(--border));padding-bottom:10px}.case-history{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.case-history li{border-left:4px solid hsl(var(--s-review-fill));background:hsl(var(--s-review-soft));border-radius:0 10px 10px 0;padding:8px 12px;font-size:.9375rem}.case-history li b,.case-current>b{color:hsl(var(--text-muted));font-size:.75rem;display:block}.case-answer{color:hsl(var(--s-review-text));font-weight:600}.view-chip{border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:0 14px;font-size:.875rem;font-weight:600;transition:box-shadow .2s,background .2s;display:inline-flex}.view-chip:hover{box-shadow:inset 0 0 0 2px hsl(var(--text))}.view-chip b{opacity:.75;font-size:.75rem}.filterbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filterbar input[type=search]{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:999px;flex:1;min-width:220px;min-height:38px;padding:0 16px}.fchip-wrap{position:relative}.fchip{border:1px dashed hsl(var(--border));cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 12px 0 14px;font-size:.875rem;font-weight:600;display:inline-flex}.fchip:hover{box-shadow:inset 0 0 0 2px hsl(var(--text))}.fchip.is-active{border-style:solid;border-color:hsl(var(--accent));background:hsl(var(--accent-soft));color:hsl(var(--accent-text))}.fpop{z-index:30;border:1px solid hsl(var(--border));background:hsl(var(--surface));min-width:240px;max-height:320px;box-shadow:var(--sh2);border-radius:14px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.fpop-list{flex-direction:column;gap:6px;display:flex}.fpop-list label{cursor:pointer;align-items:center;gap:8px;min-height:30px;display:flex}.fpop-list input{accent-color:hsl(var(--accent));width:16px;height:16px}.sort-select{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:999px;min-height:36px;padding:0 12px}.pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pill-x:hover{box-shadow:inset 0 0 0 2px hsl(var(--accent))}.flagdot{background:hsl(var(--border));border-radius:50%;width:10px;height:10px;display:inline-block}.flagdot.flag-1{background:hsl(var(--s-fail-fill))}.flagdot.flag-2{background:hsl(var(--s-learn-fill))}.flagdot.flag-3{background:hsl(var(--s-review-fill))}.flagdot.flag-4{background:hsl(var(--s-new-fill))}.flagdot.flag-6{background:hsl(var(--s-fail-text));box-shadow:0 0 0 2px hsl(var(--s-fail-soft))}.flag-panel{gap:10px}.flagbtn{border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.flagbtn:hover{box-shadow:inset 0 0 0 2px hsl(var(--text))}.flagbtn .flagdot{width:16px;height:16px}.map-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}@media (width<=960px){.map-layout{grid-template-columns:1fr}}.map-main{flex-direction:column;gap:12px;min-width:0;display:flex}.map-crumbs{flex-wrap:wrap;align-items:center;gap:4px;font-size:.875rem;display:flex}.map-crumbs span{align-items:center;gap:4px;display:inline-flex}.map-crumbs button{cursor:pointer;color:hsl(var(--accent-text));background:0 0;border:0;border-radius:999px;padding:4px 8px;font-weight:600}.map-crumbs button:hover{background:hsl(var(--accent-soft))}.treemap{aspect-ratio:100/60;background:hsl(var(--surface-2));width:100%;min-height:280px;box-shadow:var(--sh1);border-radius:16px;position:relative;overflow:hidden}.tiles{position:absolute;inset:0}.tile{text-align:left;cursor:pointer;border:2px solid hsl(var(--surface));color:hsl(var(--text));background:color-mix(in srgb, var(--tc) 30%, hsl(var(--surface)));box-shadow:inset 0 4px 0 var(--tc);transition:transform .18s var(--ease,ease), box-shadow .18s, background .3s;animation:pop var(--dur) var(--ease) both;animation-delay:calc(var(--i,0) * 40ms);border-radius:10px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;padding:10px 12px;display:flex;position:absolute;overflow:hidden}.tile:hover,.tile:focus-visible{z-index:2;box-shadow:inset 0 4px 0 var(--tc), 0 6px 18px #0000002e;outline:none;transform:scale(1.012)}.tile-name{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(.8rem,1.5vw,1.15rem);font-weight:700;line-height:1.1}.tile-meta{opacity:.8;font-size:.75rem}.tile-due{background:hsl(var(--text));color:hsl(var(--bg));border-radius:999px;padding:0 7px;font-size:.6875rem;font-weight:700;position:absolute;top:14px;right:10px}.tile-go{opacity:.55;position:absolute;bottom:10px;right:10px}.tile-own{border-style:dashed;border-color:var(--tc)}.map-legend{color:hsl(var(--text-muted));align-items:center;gap:10px;font-size:.8125rem;display:flex}.ramp{border-radius:999px;flex:0 0 140px;height:10px}.ramp-mastery{background:linear-gradient(90deg, hsl(var(--s-fail-fill)), hsl(var(--s-learn-fill)), hsl(var(--s-review-fill)), hsl(var(--s-master-fill)))}.ramp-due{background:linear-gradient(90deg, hsl(var(--s-review-fill)), hsl(var(--s-learn-fill)), hsl(var(--s-fail-fill)))}.map-side{top:calc(var(--top) + 16px);position:sticky}.map-detail{flex-direction:column;gap:10px;padding:18px;display:flex}.map-detail h2{overflow-wrap:anywhere;font-size:1.25rem}.map-ranks{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=767px){.map-ranks{grid-template-columns:1fr}}.map-rank{padding:16px 18px}.map-rank ol{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.map-rank li{border-bottom:1px solid hsl(var(--border));grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:6px 0;display:grid}.rank-name{align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.rank-name i{background:var(--fc,hsl(var(--border)));border-radius:50%;flex:none;width:10px;height:10px}.rank-name a{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.builder{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}@media (width<=960px){.builder{grid-template-columns:1fr}}.builder-form{flex-direction:column;gap:18px;padding:20px;display:flex}.presets{flex-wrap:wrap;gap:6px;display:flex}.bfield{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.bfield.segmented{border:1px solid hsl(var(--border));flex-flow:wrap;align-self:flex-start;align-items:center;gap:0;padding:2px;display:inline-flex}.bfield.segmented legend{padding:0 8px}.bfield.segmented .hint{width:100%;padding:6px 10px 2px}.chips-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.check{cursor:pointer;align-items:center;gap:8px;display:flex}.check input{accent-color:hsl(var(--accent));width:18px;height:18px}.bgrid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.bgrid2 input,.bgrid2 select{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:999px;width:100%;min-height:38px;padding:0 12px}.builder-preview{top:calc(var(--top) + 16px);flex-direction:column;gap:10px;padding:22px;display:flex;position:sticky}:root{--paper-line:215 20% 50%;--on:#fff;--on-soft:#ffffffc7;--ink:var(--text);--ficha:44 60% 98%;--ficha-rule:205 55% 62%;--ficha-margin:4 70% 60%}[data-mode=dark]{--paper-line:215 20% 70%;--on:#0b0f19;--on-soft:#0b0f19b8;--ficha:220 12% 15%;--ficha-rule:205 30% 50%;--ficha-margin:4 50% 55%}html{zoom:var(--ui-scale,1)}body{background-color:hsl(var(--bg))}[data-grid=mm] body{background-image:linear-gradient(hsl(var(--paper-line) / .15) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .15) 1px, transparent 1px), linear-gradient(hsl(var(--paper-line) / .065) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .065) 1px, transparent 1px);background-position:-1px -1px;background-size:70px 70px,70px 70px,14px 14px,14px 14px}[data-mode=dark][data-grid=mm] body{background-image:linear-gradient(hsl(var(--paper-line) / .1) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .1) 1px, transparent 1px), linear-gradient(hsl(var(--paper-line) / .04) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .04) 1px, transparent 1px)}body:before{content:none}h1,h2,h3,.display{font-family:var(--font-display)}h1{letter-spacing:-.025em;font-size:clamp(2rem,4.4vw,3rem);font-weight:700;line-height:1.05}h2{letter-spacing:-.015em;font-weight:700}.eyebrow{font:600 .6875rem/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--text-muted));align-items:center;gap:10px;margin-bottom:10px;display:flex}.eyebrow:before{content:"";background:hsl(var(--accent));width:7px;height:7px;box-shadow:0 0 0 3px hsl(var(--accent) / .2);border-radius:50%}.eyebrow:after{content:"";background:hsl(var(--border));flex:0 0 56px;height:1px}.section-label{color:hsl(var(--text-muted))}.section-label:before{content:none!important}.section-title{font-family:var(--font-display);align-items:baseline;gap:10px;margin-bottom:12px;font-size:1.35rem;display:flex}.section-title:before{content:none!important}.section-title small{font:500 .75rem var(--font-mono);letter-spacing:.08em;color:hsl(var(--text-muted));text-transform:uppercase}.mono{font-family:var(--font-mono)}.top{background:color-mix(in srgb, hsl(var(--surface)) 92%, transparent);border-bottom:1px solid hsl(var(--border));box-shadow:0 1px 0 hsl(var(--bg)), 0 8px 24px -18px #0006}.top:before,.top:after{content:none!important}.word{font-family:var(--font-display);letter-spacing:-.035em;text-transform:none;font-size:1.45rem;font-weight:800}.word .logo{color:hsl(var(--text))}.proj{border-radius:8px}.stabs{background:hsl(var(--surface));border:1px solid hsl(var(--border));width:fit-content;max-width:100%;box-shadow:var(--sh1);scrollbar-width:none;border-radius:999px;gap:4px;padding:4px;display:flex;overflow-x:auto}.stabs::-webkit-scrollbar{display:none}.stab{height:36px;color:hsl(var(--text-muted));white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.stab:hover{color:hsl(var(--text));background:hsl(var(--surface-2));text-decoration:none}.stab b{font:700 .6875rem var(--font-mono);background:hsl(var(--text) / .1);border-radius:999px;padding:1px 6px}.stab[aria-current=page] b{background:hsl(var(--bg) / .2)}.hero2{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.hero2:before,.hero2:after{content:"";border:0 solid hsl(var(--text) / .35);pointer-events:none;width:14px;height:14px;position:absolute}.hero2:before{border-top-width:1.5px;border-left-width:1.5px;top:10px;left:10px}.hero2:after{border-bottom-width:1.5px;border-right-width:1.5px;bottom:10px;right:10px}.hero2-text{z-index:1;flex-direction:column;align-items:flex-start;gap:6px;max-width:62ch;display:flex;position:relative}.hero2-lead{color:hsl(var(--text-muted));max-width:56ch;margin-top:4px;font-size:1.0625rem}.hero2 .head-actions{margin-top:14px}.hero2-art{color:var(--fc,hsl(var(--accent)));opacity:.2;flex:none;height:auto;margin:-10px -6px -10px 0;transform:rotate(-6deg)}@media (width<=700px){.hero2{padding:22px 20px}.hero2-art{width:120px;height:auto;position:absolute;top:6px;right:-14px}}.page-head{align-items:center}.sello{font:700 .6875rem/1.1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.92;box-shadow:inset 0 0 0 1px hsl(var(--surface) / .7);white-space:nowrap;mix-blend-mode:multiply;border:2px solid;border-radius:5px;padding:3px 9px 2px;display:inline-block;transform:rotate(-4deg)}[data-mode=dark] .sello{mix-blend-mode:normal}.sello-ok{color:hsl(var(--s-review-text))}.sello-due{color:hsl(var(--s-fail-text))}.sello-new{color:hsl(var(--s-new-text))}.sello-off{color:hsl(var(--text-muted))}.figs{border:1px solid hsl(var(--border));background:hsl(var(--surface));box-shadow:var(--sh1);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:0;display:grid;overflow:hidden}.fig{border-right:1px dashed hsl(var(--border));flex-direction:column;gap:2px;padding:14px 18px;display:flex}.fig:last-child{border-right:0}.fig b{font:700 1.75rem/1.1 var(--font-display);letter-spacing:-.03em}.fig span{font:600 .6875rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.tag{min-height:24px;font:600 .78rem/1 var(--font-ui);white-space:nowrap;vertical-align:middle;color:color-mix(in srgb, var(--fc) 72%, hsl(var(--text)));background:color-mix(in srgb, var(--fc) 13%, hsl(var(--surface)));border:1px solid color-mix(in srgb, var(--fc) 42%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--fc) 25%, transparent);border-radius:4px;align-items:stretch;gap:0;padding:0;display:inline-flex;position:relative;-webkit-mask:radial-gradient(4px at 0,#0000 97%,#000);mask:radial-gradient(4px at 0,#0000 97%,#000)}.tag>*{align-items:center;padding:0 8px;display:inline-flex}.tag>:first-child{padding-left:11px}.tag-emoji{font-size:.95em;padding-right:0!important}.tag-group{background:var(--fc);color:var(--on);font:700 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:1;border-right:0;margin:0;padding:0 8px 0 11px!important}.tag-value{font-weight:700}.tag-count{font:600 .6875rem var(--font-mono);border-left:1px dashed color-mix(in srgb, var(--fc) 50%, transparent);opacity:.85;background:0 0;border-radius:0;margin-left:2px}.tag-x{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;align-self:center;padding:0 7px 0 0;font-size:1rem;line-height:1}.tag-x:hover{opacity:1}.tag-link{text-decoration:none;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.tag-link:hover{text-decoration:none;transform:translateY(-2px)rotate(-1deg)}.tag-box{border-radius:10px}.tag-box .tag{margin-right:0}.tag-suggest{box-shadow:var(--sh2);border-radius:12px}.tag-cloud{gap:10px 12px}.cloud-item .tag{font-size:inherit;min-height:28px}.study{background-color:hsl(var(--ficha));border:1px solid color-mix(in srgb, hsl(var(--text)) 14%, transparent);box-shadow:0 1px 0 #fff9 inset, 0 2px 4px #47331f14, 0 28px 50px -26px color-mix(in srgb, var(--fc,hsl(var(--accent))) 70%, transparent);background-image:linear-gradient(90deg, transparent 63px, hsl(var(--ficha-margin) / .65) 63px, hsl(var(--ficha-margin) / .65) 64.5px, transparent 64.5px), repeating-linear-gradient(transparent 0 35px, hsl(var(--ficha-rule) / .2) 35px 36px);background-position:0 0,0 58px;border-radius:6px 26px 6px 6px;gap:0;padding:0;position:relative;overflow:hidden}.study:before{content:"";background:hsl(var(--bg));width:18px;height:18px;box-shadow:inset 0 2px 3px #00000040, 0 220px 0 hsl(var(--bg)), 0 1px 0 #fff9;border-radius:50%;position:absolute;top:96px;left:22px}.study:after{content:"";background:linear-gradient(225deg, hsl(var(--bg)) 50%, color-mix(in srgb, hsl(var(--ficha)) 80%, hsl(var(--text) / .3)) 50%);border-bottom-left-radius:6px;width:30px;height:30px;position:absolute;top:0;right:0;box-shadow:-2px 2px 4px #0000001f}[data-mode=dark] .study{box-shadow:0 1px 0 #ffffff0a inset, 0 28px 50px -26px color-mix(in srgb, var(--fc,hsl(var(--accent))) 55%, transparent)}.study-meta{z-index:1;border-bottom:2px solid color-mix(in srgb, var(--fc,hsl(var(--text))) 55%, transparent);background:color-mix(in srgb, var(--fc,hsl(var(--border))) 9%, transparent);min-height:58px;font:500 .75rem var(--font-mono);color:hsl(var(--text-muted));letter-spacing:.04em;align-items:center;gap:10px;padding:14px 44px 12px 82px;display:flex;position:relative}.study-meta .study-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.study .study-card{border-radius:0;min-height:clamp(260px,38vh,400px);padding:34px 44px 38px 82px;position:static;overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important}.study .study-card:before{content:none}.study-card .card-text{text-align:left;letter-spacing:-.005em;font-size:clamp(1.4rem,2.8vw,2rem);line-height:36px}.study-card .card-back{border-top:2px dashed color-mix(in srgb, var(--fc,hsl(var(--text))) 50%, transparent);margin-top:18px;padding-top:18px}.study-card .card-extra{color:hsl(var(--text-muted));font-size:1.1rem;line-height:36px}@media (width<=600px){.study{background-image:linear-gradient(90deg, transparent 31px, hsl(var(--ficha-margin) / .65) 31px, hsl(var(--ficha-margin) / .65) 32.5px, transparent 32.5px), repeating-linear-gradient(transparent 0 35px, hsl(var(--ficha-rule) / .2) 35px 36px)}.study:before{content:none}.study-meta{padding:12px 40px 10px 44px}.study .study-card{padding:22px 18px 28px 44px}}.ficha-no{font:700 .6875rem var(--font-mono);letter-spacing:.1em;color:var(--fc,hsl(var(--text-muted)));white-space:nowrap;border:1px solid;border-radius:3px;padding:2px 7px}.ficha-kind{font:700 .625rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fc,hsl(var(--text-muted)));white-space:nowrap;border:2px solid;border-radius:4px;margin-left:auto;padding:2px 7px;transform:rotate(-3deg)}.today{background:radial-gradient(900px 340px at 105% -20%, hsl(var(--accent) / calc(.22 * var(--wash))), transparent 65%), linear-gradient(135deg, color-mix(in srgb, hsl(var(--accent)) calc(6% * var(--wash)), hsl(var(--surface))), hsl(var(--surface)));border:1px solid color-mix(in srgb, hsl(var(--accent)) calc(22% * var(--wash)), hsl(var(--border)));box-shadow:var(--sh1);border-radius:28px;grid-template-columns:minmax(0,1.4fr) auto minmax(220px,280px);grid-template-areas:"main ring parts""goal goal goal";align-items:center;gap:18px 32px;padding:30px 36px 26px;display:grid;position:relative;overflow:hidden}.today>*{z-index:1;position:relative}.today-main{grid-area:main}.today-ring{grid-area:ring}.today-parts{grid-area:parts}.goal{grid-area:goal}.today-art{color:hsl(var(--accent));opacity:calc(.1 * var(--wash));pointer-events:none;height:auto;top:-40px;right:-30px;transform:rotate(8deg);z-index:0!important;position:absolute!important}.today-main{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.today-main h1{color:hsl(var(--text-muted));font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:600}.today-count{margin:8px 0 14px}.today-count .display{letter-spacing:-.06em;color:hsl(var(--text));font-size:clamp(5.5rem,14vw,9rem);font-weight:800;line-height:.82}.today-count p{margin-top:10px;font-size:1.1rem;font-weight:600}.btn-lg{min-height:52px;padding:0 28px;font-size:1.0625rem}.today-ring{flex-direction:column;align-items:center;gap:8px;font-size:.8125rem;display:flex}.ring-pct{font:800 2.1rem var(--font-display);letter-spacing:-.04em}.ring-pct small{color:hsl(var(--text-muted));margin-left:1px;font-size:.5em}.today-parts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.today-parts li{background:hsl(var(--ss));border:1px solid hsl(var(--sf) / .4);border-radius:16px;align-items:center;gap:14px;padding:10px 16px;display:flex}.today-parts b{font:800 1.9rem/1 var(--font-display);letter-spacing:-.04em;color:hsl(var(--stx));min-width:2ch}.today-parts span{font:700 .6875rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--stx))}.goal{background:hsl(var(--accent) / .14);border-radius:5px;height:10px;overflow:hidden}.goal i{background:hsl(var(--accent));border-radius:5px;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1);display:block}.hero-done{margin:12px 0;font-weight:600}@media (width<=1000px){.today{grid-template-columns:1fr auto;grid-template-areas:"main ring""parts parts""goal goal";gap:18px;padding:24px 22px}.today-parts{flex-direction:row}.today-parts li{flex:1}}@media (width<=560px){.today{grid-template-columns:1fr;grid-template-areas:"main""ring""parts""goal"}.today-ring{flex-direction:row;justify-content:flex-start}.today-parts{flex-direction:column}}.sumrow{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.sum{background:hsl(var(--c) / .1);border:1px solid hsl(var(--c) / .35);color:inherit;border-radius:18px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .18s;display:flex}a.sum:hover{background:hsl(var(--c) / .18);text-decoration:none;transform:translateY(-3px)}.sum-ic{background:hsl(var(--c));color:#fff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.sum b{font:800 1.5rem/1.1 var(--font-display);letter-spacing:-.03em;display:block}.sum b small{font:600 .75rem var(--font-mono);color:hsl(var(--text-muted));letter-spacing:0}.sum span:not(.sum-ic){font:600 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.sum-acc{--c:var(--accent)}.sum-amber{--c:36 82% 46%}.sum-fire{--c:14 82% 52%}.sum-teal{--c:176 60% 36%}.sum-red{--c:2 70% 52%}.next-strip{scroll-snap-type:x proximity;gap:14px;margin:0;padding:4px 4px 14px;list-style:none;display:flex;overflow-x:auto}.next-card{scroll-snap-align:start;background:color-mix(in srgb, var(--fc) 12%, hsl(var(--surface)));border:1px solid color-mix(in srgb, var(--fc) 38%, hsl(var(--border)));box-shadow:var(--sh1);border-radius:20px;flex-direction:column;flex:0 0 236px;gap:8px;padding:16px 16px 14px;transition:transform .2s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.next-card:hover{transform:translateY(-4px)rotate(-.4deg)}.next-art{color:var(--fc);opacity:.18;pointer-events:none;height:auto;position:absolute;top:-10px;right:-14px}.next-name{font:700 1.35rem/1.1 var(--font-display);letter-spacing:-.025em;color:hsl(var(--text));overflow-wrap:anywhere;max-width:80%;text-decoration:none;position:relative}.next-name:hover{text-decoration:underline}.next-todo{font:700 .75rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--fc) 75%, hsl(var(--text)));position:relative}.next-card .muted{font-size:.75rem}.next-go{background:var(--fc);color:var(--on);border-color:#0000;align-self:flex-start;margin-top:4px}.next-go:hover{box-shadow:inset 0 0 0 2px hsl(var(--text));background:var(--fc)}.today-grid{grid-template-columns:minmax(250px,.9fr) minmax(0,1.3fr) minmax(250px,.9fr);align-items:stretch;gap:18px;display:grid}@media (width<=1100px){.today-grid{grid-template-columns:1fr 1fr}.today-grid>:nth-child(3){grid-column:1/-1}}@media (width<=640px){.today-grid{grid-template-columns:1fr}}.today-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:22px;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.today-card:before{content:"";background:linear-gradient(90deg, hsl(var(--accent) / calc(.7 * var(--wash))), transparent 70%);height:3px;position:absolute;top:0;left:0;right:0}.today-card .section-title{margin:0}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.quick{border:1.5px solid hsl(var(--sf) / .5);background:hsl(var(--ss));color:inherit;cursor:pointer;text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .2s;display:flex}.quick:hover:not(:disabled){border-color:hsl(var(--sf));transform:translateY(-3px)}.quick:disabled{opacity:.45;cursor:default}.quick b{font:800 2rem/1 var(--font-display);letter-spacing:-.04em;color:hsl(var(--stx))}.quick b small{font:600 .75rem var(--font-mono);letter-spacing:0;margin-left:3px}.quick span{font:500 .8125rem var(--font-mono);color:hsl(var(--text-muted))}.week{justify-content:space-between;align-items:flex-end;gap:8px;width:100%;height:150px;display:flex;position:relative}.week-day{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;max-width:56px;height:100%;display:flex}.week-day b{font:600 .6875rem var(--font-mono);color:hsl(var(--text-muted));height:14px}.week-day i{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:8px 8px 3px 3px;width:100%;min-height:4px;transition:height .5s cubic-bezier(.2,.8,.2,1);display:block}.week-day i.on{background:linear-gradient(180deg, hsl(var(--accent)), hsl(var(--accent) / .55));border-color:#0000}.week-day.is-today i.on{background:hsl(var(--text))}.week-day.is-today small{color:hsl(var(--text));font-weight:700}.week-day small{font:600 .6875rem var(--font-mono);color:hsl(var(--text-muted))}.week-goal{border-top:2px dashed hsl(var(--accent) / .7);pointer-events:none;height:0;position:absolute;left:0;right:0}.hero-welcome .head-actions{flex-wrap:wrap}.lib-summary{flex-direction:column;gap:14px;display:flex}.lib-state{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:16px;flex-direction:column;gap:10px;padding:16px 20px;display:flex}.fig b small{color:hsl(var(--text-muted));margin-left:2px;font-size:.9rem}.qv-row{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.qv{background:hsl(var(--surface));border:1px solid hsl(var(--border));color:inherit;border-radius:14px;flex-direction:column;gap:2px;padding:14px 16px 12px;text-decoration:none;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .2s;display:flex;position:relative;overflow:hidden}.qv:hover{border-color:hsl(var(--text));text-decoration:none;transform:translateY(-3px)}.qv:after{content:"";background:hsl(var(--c,var(--text-muted)) / .16);border-radius:50%;width:36px;height:36px;position:absolute;top:-10px;right:-10px}.qv b{font:700 1.7rem/1 var(--font-display);letter-spacing:-.03em}.qv span{font:600 .6875rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.qv-vencidas{--c:var(--s-fail-fill)}.qv-nuevas{--c:var(--s-new-fill)}.qv-aprendiendo{--c:var(--s-learn-fill)}.qv-repaso{--c:var(--s-review-fill)}.qv-dificiles{--c:var(--s-fail-fill)}.qv-marcadas{--c:var(--s-learn-fill)}.lib-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lib-bar .view-toggle{margin-top:2px}.exps{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:30px 20px;padding-top:20px;display:grid}.exp{color:inherit;animation:.5s both rise;animation-delay:calc(var(--i,0) * 60ms);flex-direction:column;text-decoration:none;display:flex;position:relative}.exp:hover{text-decoration:none}.exp-tab{z-index:1;height:23px;font:700 .6875rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--fc) 80%, hsl(var(--text)));background:color-mix(in srgb, var(--fc) 30%, hsl(var(--surface)));clip-path:polygon(0 100%,10px 0,calc(100% - 10px) 0,100% 100%);align-items:center;gap:6px;padding:0 18px;display:inline-flex;position:absolute;top:-22px;left:16px}.exp-body{background:color-mix(in srgb, var(--fc) 11%, hsl(var(--surface)));border:1px solid color-mix(in srgb, var(--fc) 38%, hsl(var(--border)));min-height:230px;box-shadow:0 1px 0 #ffffff80 inset, var(--sh1);border-radius:4px 20px 20px;flex-direction:column;flex:1;gap:12px;padding:20px 20px 16px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;display:flex;position:relative;overflow:hidden}.exp-art{color:var(--fc);opacity:.17;pointer-events:none;height:auto;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .3s;position:absolute;top:8px;right:-14px}.exp-body header{flex-direction:column;gap:4px;max-width:78%;display:flex;position:relative}.exp-name{font:700 1.55rem/1.08 var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere}.exp-meta{font:600 .6875rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--text-muted))}.exp-index{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex;position:relative}.exp-index li{align-items:baseline;gap:6px;font-size:.875rem;display:flex}.exp-index li span{text-overflow:ellipsis;white-space:nowrap;max-width:70%;overflow:hidden}.exp-index li i{border-bottom:1.5px dotted color-mix(in srgb, var(--fc) 55%, transparent);flex:1;transform:translateY(-3px)}.exp-index li b{font:600 .75rem var(--font-mono);color:hsl(var(--text-muted))}.exp-more{color:hsl(var(--text-muted));font-size:.75rem!important}.exp-body footer{align-items:center;gap:12px;margin-top:auto;padding-top:6px;display:flex;position:relative}.exp-body footer .statebar{background:hsl(var(--text) / .08);flex:1}.mark-emoji{font-size:1.05em;line-height:1}.lib-list{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.ll-row{padding:10px 16px 10px calc(16px + var(--d,0) * 22px);color:inherit;border-top:1px dashed hsl(var(--border));grid-template-columns:minmax(180px,1.4fr) minmax(80px,1fr) 56px auto;align-items:center;gap:14px;text-decoration:none;display:grid}.ll-row:first-child{border-top:0}.ll-row:hover{background:hsl(var(--surface-2));text-decoration:none}.ll-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex;overflow:hidden}.ll-dot{background:var(--fc);border-radius:50%;flex:none;width:10px;height:10px}.ll-n{text-align:right;font:600 .8125rem var(--font-mono);color:hsl(var(--text-muted))}@media (width<=700px){.ll-row{grid-template-columns:minmax(0,1fr) 44px}.ll-bar,.ll-s{display:none}}.racks{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.rack{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:16px;flex-direction:column;gap:12px;padding:16px 18px 26px;display:flex;position:relative}.rack header{justify-content:space-between;align-items:baseline;display:flex}.rack h3{font:700 1.1rem var(--font-display);letter-spacing:-.01em}.rack header small{font:600 .6875rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--text-muted))}.rack-items{flex-wrap:wrap;gap:8px 10px;display:flex}.rack:after{content:"";background:hsl(var(--text) / .1);background-image:radial-gradient(circle at 6px 3.5px, hsl(var(--surface)) 2px, transparent 2.6px);background-size:18px 7px;border-radius:4px;height:7px;position:absolute;bottom:9px;left:14px;right:14px}.metro{flex-direction:column;gap:16px;display:flex}.metro-line{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);animation:.5s both rise;animation-delay:calc(var(--i,0) * 70ms);border-radius:22px;grid-template-columns:minmax(200px,250px) minmax(0,1fr);display:grid;overflow:hidden}.metro-badge{background:color-mix(in srgb, var(--fc) 14%, hsl(var(--surface)));border-right:1px dashed color-mix(in srgb, var(--fc) 50%, transparent);color:inherit;flex-direction:column;justify-content:space-between;gap:16px;min-height:140px;padding:18px;text-decoration:none;display:flex}.metro-badge:hover{background:color-mix(in srgb, var(--fc) 22%, hsl(var(--surface)));text-decoration:none}.metro-icon{background:var(--fc);width:44px;height:44px;color:var(--on);border-radius:14px;place-items:center;display:grid}.metro-emoji{font-size:1.4rem;line-height:1}.metro-name{font:700 1.4rem/1.1 var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere}.metro-meta{font:600 .6875rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--text-muted))}.metro-track{flex-direction:column;gap:18px;min-width:0;padding:26px 22px 20px;display:flex}.metro-row{max-width:100%;padding:4px 4px 6px;overflow-x:auto}.metro-empty{color:hsl(var(--text-muted));align-self:center;margin:0}.metro-help{max-width:70ch;margin:-4px 0 6px}.stations{align-items:flex-start;margin:0;padding:0;list-style:none;display:flex;position:relative}.station{text-align:center;flex-direction:column;flex:none;align-items:center;gap:4px;width:128px;display:flex;position:relative}.station:before{content:"";background:var(--fc);z-index:0;border-radius:4px;width:100%;height:8px;position:absolute;top:24px;left:-50%;transform:translateY(-50%)}.stations>.station:first-child:before{width:50%;left:0}.stations>.station:last-child:after{content:"";background:var(--fc);border-radius:0 4px 4px 0;width:36%;height:8px;position:absolute;top:24px;left:50%;transform:translateY(-50%)}.station-dot{z-index:1;background:conic-gradient(var(--fc) var(--m,0%), hsl(var(--surface)) 0);width:48px;height:48px;box-shadow:0 0 0 4px hsl(var(--surface)), 0 0 0 7px var(--fc);border-radius:50%;place-items:center;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.station-dot:hover{text-decoration:none;transform:scale(1.18)}.station-core{background:hsl(var(--surface));width:34px;height:34px;color:var(--fc);border-radius:50%;place-items:center;display:grid}.station-due{background:hsl(var(--text));min-width:22px;height:22px;color:hsl(var(--bg));box-shadow:0 0 0 3px hsl(var(--surface));border-radius:11px;place-items:center;padding:0 6px;font-size:.6875rem;display:grid;position:absolute;top:-10px;right:-12px}.station-name{overflow-wrap:anywhere;margin-top:12px;padding:0 6px;font-size:.875rem;font-weight:700;line-height:1.15}.station-sub{color:hsl(var(--text-muted));font-size:.6875rem}.station-branch{border:1.5px solid var(--fc);min-width:38px;height:24px;color:var(--fc);font:700 .75rem var(--font-mono);cursor:pointer;background:0 0;border-radius:999px;margin-top:4px;padding:0 10px;transition:background .2s,color .2s}.station-branch:hover,.station.is-open>.station-branch{background:var(--fc);color:var(--on)}.station.is-open{z-index:3}@media (width<=767px){.metro-line{grid-template-columns:1fr}.metro-badge{border-right:0;flex-direction:row;align-items:center;min-height:0}.metro-meta{display:none}}.view-toggle{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:999px;gap:2px;padding:3px;display:inline-flex}.view-toggle button{height:30px;font:600 .8125rem var(--font-ui);color:hsl(var(--text-muted));cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;transition:background .2s,color .2s}.view-toggle button:hover{color:hsl(var(--text))}.view-toggle button[aria-pressed=true]{background:hsl(var(--text));color:hsl(var(--bg))}.gallery{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;padding-top:6px;display:grid}.gcard{cursor:pointer;min-height:176px;color:inherit;background-color:hsl(var(--ficha));border:1px solid color-mix(in srgb, hsl(var(--text)) 14%, transparent);background-image:linear-gradient(90deg, transparent 33px, hsl(var(--ficha-margin) / .6) 33px, hsl(var(--ficha-margin) / .6) 34px, transparent 34px), repeating-linear-gradient(transparent 0 23px, hsl(var(--ficha-rule) / .18) 23px 24px);animation:.4s both rise;animation-delay:calc(var(--i,0) * 25ms);background-position:0 0,0 36px;border-radius:4px 16px 4px 4px;flex-direction:column;gap:8px;padding:0 0 12px;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80,0 2px 3px #47331f14}.gcard:hover{box-shadow:0 22px 30px -18px color-mix(in srgb, var(--fc) 80%, black);transform:translateY(-5px)rotate(-.6deg)}.gcard[data-selected=true]{outline:3px solid hsl(var(--accent));outline-offset:2px}.gcard-head{border-bottom:2px solid color-mix(in srgb, var(--fc) 60%, transparent);background:color-mix(in srgb, var(--fc) 10%, transparent);align-items:center;gap:8px;min-height:36px;padding:8px 12px 7px 44px;display:flex}.gcard-head input{accent-color:var(--fc);position:absolute;top:9px;left:10px}.gcard-no{font:700 .625rem var(--font-mono);letter-spacing:.08em;color:var(--fc)}.gcard-kind{font:700 .5625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fc);border:1.5px solid;border-radius:3px;margin-left:auto;padding:1px 5px;transform:rotate(-2deg)}.gcard-q{font:1.0625rem/24px var(--font-content);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex:1;padding:6px 14px 0 44px;display:-webkit-box;overflow:hidden}.gcard-foot{color:hsl(var(--text-muted));flex-wrap:wrap;align-items:center;gap:6px;padding:0 12px 0 44px;font-size:.75rem;display:flex}.gcard-foot .num{font-family:var(--font-mono);font-size:.6875rem}.hero-folder{background:color-mix(in srgb, var(--fc) 9%, hsl(var(--surface)));border-color:color-mix(in srgb, var(--fc) 35%, hsl(var(--border)))}.hero-folder .hero2-art{opacity:.22}.hero-folder .eyebrow:before{background:var(--fc);box-shadow:0 0 0 3px color-mix(in srgb, var(--fc) 25%, transparent)}.folder-h1{overflow-wrap:anywhere;align-items:center;gap:12px;display:flex}.folder-h1 svg,.folder-h1 .mark-emoji{color:var(--fc);flex:none}.folder-progress{flex-direction:column;gap:10px;display:flex}.tabs{border-bottom:1px solid hsl(var(--border));gap:4px;display:flex}.tab{cursor:pointer;color:hsl(var(--text-muted));font-weight:700;font-family:var(--font-display);background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:1.05rem}.tab:hover{color:hsl(var(--text))}.tab[aria-selected=true]{color:hsl(var(--text));border-bottom-color:hsl(var(--text))}.exp-new{border:2px dashed hsl(var(--border));min-height:230px;color:hsl(var(--text-muted));cursor:pointer;background:0 0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:flex}.exp-new:hover{border-color:hsl(var(--text));color:hsl(var(--text));background:hsl(var(--surface) / .6)}.inside{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:18px;display:grid}.bars{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.bars li{grid-template-columns:minmax(110px,.9fr) 1.6fr 34px;align-items:center;gap:10px;font-size:.875rem;display:grid}.bars i{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:5px;height:10px;overflow:hidden}.bars u{background:var(--fc,hsl(var(--accent)));border-radius:5px;height:100%;text-decoration:none;display:block}.bars b{font:600 .8125rem var(--font-mono);text-align:right}.modal-wide{max-width:720px}.style-dlg{flex-direction:column;gap:18px;max-height:min(86vh,860px);padding-right:4px;display:flex;overflow-y:auto}.style-dlg h2{font-size:1.6rem}.style-preview{background:hsl(var(--bg));border:1px dashed hsl(var(--border));border-radius:16px;justify-content:center;padding:22px 12px 16px;display:flex}.exp-mini{width:240px;margin-top:8px}.exp-mini .exp-body{min-height:120px}.exp-mini .exp-name{max-width:70%;font-size:1.2rem}.picker{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.picker legend{align-items:baseline;gap:10px;margin-bottom:8px;padding:0;display:flex}.tint-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;display:grid}.tint{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;text-align:left;color:inherit;border-radius:12px;align-items:center;gap:9px;padding:6px 10px 6px 6px;font-size:.8125rem;font-weight:600;transition:border-color .15s,transform .15s;display:flex}.tint:hover{border-color:hsl(var(--text-muted));transform:translateY(-2px)}.tint[aria-pressed=true]{border-color:hsl(var(--text));box-shadow:0 0 0 1px hsl(var(--text))}.tint i{width:28px;height:28px;color:var(--on);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid;box-shadow:inset 0 0 0 2px #ffffff40}.tint-auto i{background:hsl(var(--surface-2));color:hsl(var(--text-muted));box-shadow:inset 0 0 0 1.5px hsl(var(--border));font:700 .75rem var(--font-mono)}.tint span{line-height:1.15}.tint-compact{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}.emoji-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.emoji-input{text-align:center;border:1.5px solid hsl(var(--border));background:hsl(var(--bg));border-radius:12px;width:64px;height:40px;font-size:1.3rem}.emoji-btn{background:hsl(var(--surface-2));cursor:pointer;border:1.5px solid #0000;border-radius:12px;width:40px;height:40px;font-size:1.25rem;transition:transform .15s}.emoji-btn:hover{transform:scale(1.15)}.emoji-btn[aria-pressed=true]{border-color:hsl(var(--text))}.art-tools{flex-wrap:wrap;gap:8px;display:flex}.art-tools input{flex:1;min-width:180px}.art-tools select{min-width:160px}.art-grid{background:hsl(var(--bg));border:1px solid hsl(var(--border));border-radius:14px;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;max-height:300px;padding:4px;display:grid;overflow-y:auto}.art-opt{cursor:pointer;color:hsl(var(--text));background:0 0;border:1.5px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;transition:background .15s,border-color .15s;display:flex}.art-opt:hover{background:hsl(var(--surface))}.art-opt[aria-pressed=true]{border-color:hsl(var(--text));background:hsl(var(--surface))}.art-opt span{text-align:center;color:hsl(var(--text-muted));text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.625rem;line-height:1.1;display:-webkit-box;overflow:hidden}.art-auto{flex-direction:row;grid-column:span 2;justify-content:center;gap:8px}.tag-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tag-tools>input{flex:1;min-width:200px;max-width:360px}.tag-new{gap:8px;margin-left:auto;display:flex}.tag-new input{width:190px}.racks-wide{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}.tag-row{border-top:1px dashed hsl(var(--border));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.tag-row-main{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.tag-row-actions{align-items:center;gap:2px;display:flex}.tag-row .tag-count{border:0;min-width:0;margin:0;padding:0;font-size:.8125rem}.filterbar.sentence{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);font-family:var(--font-display);letter-spacing:-.015em;border-radius:20px;flex-wrap:wrap;align-items:baseline;gap:8px 10px;padding:20px 24px;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:600;display:flex}.filterbar.sentence input[type=search]{font:500 .9375rem var(--font-ui);letter-spacing:0;flex:100%;order:99;margin-top:10px}.filterbar.sentence .sort-select,.filterbar.sentence .view-toggle{font:600 .8125rem var(--font-ui);letter-spacing:0;order:98;align-self:center}.fchip-wrap{align-items:baseline;gap:8px;display:inline-flex;position:relative}.f-lead{color:hsl(var(--text-muted));font-style:italic;font-weight:500}.fchip.is-blank{font:inherit;border:0;border-bottom:2.5px dashed hsl(var(--border));min-height:0;color:hsl(var(--text-muted));cursor:pointer;background:0 0;border-radius:6px 6px 0 0;padding:0 4px;transition:background .2s,color .2s}.fchip.is-blank:hover{background:hsl(var(--accent-soft));color:hsl(var(--text))}.fchip.is-blank.is-active{background:hsl(var(--text));color:hsl(var(--bg));border-bottom:0;border-radius:10px;padding:0 12px}.fchip.is-blank svg{display:none}.views{flex-wrap:wrap;gap:8px;display:flex}.view-chip{border:1px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:999px;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.view-chip:hover{border-color:hsl(var(--text))}.view-chip[aria-pressed=true]{background:hsl(var(--text));color:hsl(var(--bg));border-color:hsl(var(--text))}.view-chip b{font:700 .6875rem var(--font-mono);opacity:.75}.shorts{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.short{text-align:left;border:1.5px solid hsl(var(--border));background:hsl(var(--surface));color:inherit;cursor:pointer;box-shadow:var(--sh1);border-radius:18px;align-items:center;gap:14px;padding:14px 16px;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s;display:flex}.short:hover:not(:disabled){border-color:hsl(var(--text));transform:translateY(-4px)rotate(-.4deg)}.short:disabled{opacity:.45;cursor:default;box-shadow:none}.short-art{background:hsl(var(--accent-soft));width:56px;height:56px;color:hsl(var(--accent-text));border-radius:16px;flex:none;place-items:center;display:grid}.short-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.short-body b{font:700 1.1rem var(--font-display);letter-spacing:-.015em}.short-body small{color:hsl(var(--text-muted));font-size:.8125rem;line-height:1.25}.short-n{font:700 1.5rem var(--font-display);letter-spacing:-.03em}.builder-wrap{flex-direction:column;display:flex}.builder-steps{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (width<=960px){.builder-steps{grid-template-columns:1fr}}.bstep{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;flex-direction:column;gap:16px;margin:0;padding:18px 20px;display:flex}.bstep legend{font:700 1.2rem var(--font-display);letter-spacing:-.015em;float:none;align-items:center;gap:10px;padding:0 6px;display:flex}.bstep legend i{background:hsl(var(--text));width:28px;height:28px;color:hsl(var(--bg));font:700 .8125rem var(--font-mono);border-radius:50%;place-items:center;font-style:normal;display:grid}.bfield{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.bfield.segmented{background:0 0;border:0;flex-flow:wrap;gap:4px;padding:0;display:flex}.bfield.segmented .section-label{flex:100%}.bfield.segmented label{border:1px solid hsl(var(--border));border-radius:999px}.bfield.segmented .hint{flex:100%}.chips-row{flex-wrap:wrap;gap:6px;display:flex}.builder-bar{bottom:calc(var(--bottom-nav-h) + 8px);z-index:5;background:hsl(var(--text));color:hsl(var(--bg));box-shadow:var(--sh2);border-radius:22px;flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px;padding:14px 22px;display:flex;position:sticky}@media (width>=768px){.builder-bar{bottom:16px}}.bb-count{align-items:baseline;gap:10px;display:flex}.bb-count b{font-size:2.6rem;font-weight:800;line-height:1}.bb-count span{font:600 .875rem var(--font-mono);opacity:.8}.builder-bar p{min-width:160px;color:hsl(var(--bg) / .7);flex:1}.builder-bar .btn-primary{background:hsl(var(--bg));color:hsl(var(--text));border-color:hsl(var(--bg))}.builder-bar .btn-primary:hover{box-shadow:inset 0 0 0 2px hsl(var(--accent))}.builder-bar .btn:disabled{opacity:.4}.muted-link{color:hsl(var(--text-muted));font-size:.875rem}.pill-x{background:hsl(var(--text));min-height:28px;color:hsl(var(--bg));cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.review{gap:16px;max-width:920px;position:relative}.review:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 480px at 50% -10%, color-mix(in srgb, var(--fc,hsl(var(--accent))) 16%, transparent), transparent 70%);transition:background .6s;position:fixed;inset:0}.review-head{flex-wrap:nowrap;align-items:center;gap:14px;display:flex}.rv-exit{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));width:40px;height:40px;color:hsl(var(--text));border-radius:50%;flex:none;place-items:center;text-decoration:none;transition:box-shadow .2s;display:grid}.rv-exit:hover{box-shadow:inset 0 0 0 2px hsl(var(--text));text-decoration:none}.rv-title{flex:1;min-width:0}.rv-title .eyebrow{margin-bottom:4px}.review-title{font:700 1.5rem/1.1 var(--font-display);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rv-count{align-items:baseline;gap:4px;display:flex}.rv-count b{font:800 2rem/1 var(--font-display);letter-spacing:-.04em}.rv-count span{font:600 .875rem var(--font-mono);color:hsl(var(--text-muted))}.remain{font:500 .8125rem var(--font-mono);color:hsl(var(--text-muted));margin-top:-6px}.remain b{color:hsl(var(--text))}.seg-progress{gap:3px;height:8px}.seg-progress .step{border-radius:4px}.review-actions{gap:12px}.rv-keys{color:hsl(var(--text-muted));text-align:center;font-size:.75rem}.rv-keys kbd{font-family:var(--font-mono)}@media (width<=767px){.rv-keys{display:none}}.grades{gap:10px}.grade{background:hsl(var(--sf));min-height:84px;color:var(--on);font:700 1.05rem var(--font-display);letter-spacing:-.01em;border:0;border-radius:18px;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s}.grade:hover{background:hsl(var(--sf));box-shadow:0 16px 28px -16px hsl(var(--sf));transform:translateY(-4px)}.grade .interval{color:var(--on-soft);font-family:var(--font-mono);font-size:.75rem;font-weight:600}.grade kbd{color:var(--on-soft);border-color:var(--on-soft);background:0 0}.grade.is-suggested{box-shadow:0 0 0 3px hsl(var(--bg)), 0 0 0 6px hsl(var(--sf))}.suggest-tag{color:var(--on);letter-spacing:.1em;text-transform:uppercase;font-size:.625rem;font-weight:700}.btn-wide{border-radius:18px;min-height:58px;font-size:1.05rem}.summary{background:hsl(var(--surface));border:1px solid hsl(var(--border));width:100%;max-width:760px;box-shadow:var(--sh2);border-radius:26px;flex-direction:column;align-items:flex-start;gap:16px;margin:0 auto;padding:36px 40px;display:flex;position:relative;overflow:hidden}.summary h1{font-size:clamp(2rem,6vw,3.2rem);animation:.6s cubic-bezier(.3,1.4,.4,1) both pop}.summary-art{color:hsl(var(--accent));opacity:.14;height:auto;position:absolute;top:-10px;right:-20px;transform:rotate(10deg)}.summary .figs{width:100%}.summary .fig{animation:.5s both rise}.summary .fig:nth-child(2){animation-delay:.1s}.summary .fig:nth-child(3){animation-delay:.2s}.summary .fig:nth-child(4){animation-delay:.3s}:root{--sidebar-w:var(--sidebar-user,296px)}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);z-index:1;min-height:100dvh;transition:grid-template-columns .25s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.app[data-rail="1"]{--sidebar-w:78px}.main{min-width:0}.top{display:none}.content{flex-direction:column;gap:26px;max-width:1320px;margin:0 auto;padding:30px 32px 90px;display:flex}[data-layout=wide] .content{max-width:1640px}[data-layout=focus] .content{max-width:860px}.topbar,.scrim{display:none}.sidebar{background:hsl(var(--sidebar-bg));border-right:1px solid hsl(var(--border));z-index:30;flex-direction:column;gap:4px;height:100dvh;padding:16px 14px 12px;display:flex;position:sticky;top:0;overflow:hidden}[data-sidebar=plain] .sidebar{background:hsl(var(--bg))}[data-sidebar=accent] .sidebar{background:hsl(var(--accent-soft));border-right-color:hsl(var(--accent) / .3)}.side-top{justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 10px;display:flex}.brand{font:800 1.45rem var(--font-display);letter-spacing:-.035em;color:hsl(var(--text));align-items:center;gap:10px;min-width:0;padding:0;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand .logo{color:hsl(var(--text));flex:none}.side-actions{flex-direction:column;gap:8px;padding:0 2px 8px;display:flex}.search-btn{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));min-height:40px;color:hsl(var(--text-muted));cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-size:.9rem;transition:border-color .15s;display:flex}.search-btn:hover{border-color:hsl(var(--text))}.search-btn span{text-align:left;flex:1}.side-actions .add-menu{display:block}.side-actions .add-menu .btn{justify-content:center;width:100%;min-height:42px}.nav{flex-direction:column;gap:2px;padding:4px 0 8px;display:flex}.nav-group{flex-direction:column;display:flex}.nav-link{min-height:42px;color:hsl(var(--text));border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.nav-link svg{color:hsl(var(--text-muted));flex:none}.nav-link:hover{background:hsl(var(--text) / .06);text-decoration:none}.nav-link[aria-current=page]{background:hsl(var(--text));color:hsl(var(--bg))}.nav-link[aria-current=page] svg{color:inherit}[data-sidebar=accent] .nav-link[aria-current=page]{background:hsl(var(--accent));color:hsl(var(--accent-contrast))}.subnav{border-left:1.5px dashed hsl(var(--border));flex-direction:column;margin:2px 0 6px 22px;padding-left:14px;display:flex}.subnav-link{min-height:32px;color:hsl(var(--text-muted));border-radius:9px;align-items:center;gap:8px;padding:0 10px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.subnav-link i{background:hsl(var(--border));border-radius:50%;flex:none;width:6px;height:6px}.subnav-link:hover{color:hsl(var(--text));background:hsl(var(--text) / .05);text-decoration:none}.subnav-link[aria-current=page]{color:hsl(var(--text));font-weight:700}.subnav-link[aria-current=page] i{background:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .25)}.sidebar-scroll{border-top:1px solid hsl(var(--border));scrollbar-width:thin;flex:1;min-height:0;padding:8px 2px;overflow-y:auto}.folder-tree .tree-toolbar{padding:6px 4px 8px}.side-foot{border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:8px;padding:10px 2px 0;display:flex}.side-links{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.side-link{min-height:34px;color:hsl(var(--text-muted));font:500 .875rem var(--font-ui);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.side-link:hover{background:hsl(var(--text) / .06);color:hsl(var(--text));text-decoration:none}.side-link[aria-current=page]{color:hsl(var(--text));background:hsl(var(--text) / .07);font-weight:700}.rail-btn{flex:none}[data-rail="1"] .side-text,[data-rail="1"] .subnav,[data-rail="1"] .sidebar-scroll,[data-rail="1"] .side-actions .add-label,[data-rail="1"] .side-actions kbd{display:none}[data-rail="1"] .sidebar{align-items:center;padding-inline:10px}[data-rail="1"] .side-top{flex-direction:column;gap:10px}[data-rail="1"] .nav-link,[data-rail="1"] .side-link,[data-rail="1"] .search-btn{justify-content:center;width:46px;padding:0}[data-rail="1"] .side-actions .add-menu .btn{width:46px;padding:0}[data-rail="1"] .side-foot{border-top:0;flex-direction:column}[data-rail="1"] .side-actions{align-items:center}@media (width<=899px){.app{display:block}.sidebar{width:min(88vw,330px);height:100dvh;box-shadow:var(--sh2);z-index:70;border-radius:0 24px 24px 0;transition:transform .3s cubic-bezier(.2,.8,.2,1);position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar.is-open{transform:none}.app[data-drawer=open] .scrim{z-index:65;background:#0006;animation:.2s both fade;display:block;position:fixed;inset:0}.rail-btn{display:none}.app[data-rail="1"]{--sidebar-w:296px}[data-rail="1"] .side-text,[data-rail="1"] .subnav,[data-rail="1"] .sidebar-scroll{display:revert}[data-rail="1"] .sidebar{align-items:stretch}.topbar{z-index:40;background:color-mix(in srgb, hsl(var(--surface)) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--border));align-items:center;gap:10px;height:54px;padding:0 12px;display:flex;position:sticky;top:0}.topbar .brand{font-size:1.3rem}.topbar-gap{flex:1}.content{padding:20px 16px calc(var(--bottom-nav-h) + 40px);gap:22px}.bottom-nav{z-index:40;background:color-mix(in srgb, hsl(var(--surface)) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid hsl(var(--border));grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{color:hsl(var(--text-muted));flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:hsl(var(--accent-text));font-weight:700}.stabs{display:flex}.hintbar{bottom:calc(var(--bottom-nav-h) + 12px)}.toasts{bottom:calc(var(--bottom-nav-h) + 16px)}}@media (width>=900px){.stabs,.bottom-nav{display:none}}.ways{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.way{text-align:left;border:2px solid hsl(var(--border));background:hsl(var(--surface));box-shadow:var(--sh1);color:inherit;cursor:pointer;font:inherit;border-radius:20px;flex-direction:column;gap:6px;padding:20px;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s;display:flex;position:relative}.way-art{color:hsl(var(--accent-text));height:auto;margin-bottom:6px}.way b{font:700 1.25rem var(--font-display);letter-spacing:-.02em}.way span{color:hsl(var(--text-muted));font-size:.875rem}.way:hover{transform:translateY(-4px)}.way[aria-selected=true]{border-color:hsl(var(--text));background:hsl(var(--accent-soft))}.import-panel{flex-direction:column;align-items:flex-start;gap:18px;padding:24px;display:flex}.import-panel>*{max-width:100%}.step-box{flex-direction:column;align-items:flex-start;gap:8px;width:100%;display:flex}.step-n{font:700 1.1rem var(--font-display);align-items:center;gap:10px;display:flex}.step-n i{background:hsl(var(--text));width:26px;height:26px;color:hsl(var(--bg));font:700 .75rem var(--font-mono);border-radius:50%;place-items:center;font-style:normal;display:grid}.prompt-box{white-space:pre-wrap;font:.78rem/1.5 var(--font-mono);background:hsl(var(--bg));border:1px solid hsl(var(--border));border-radius:14px;width:100%;max-height:200px;margin:4px 0 6px;padding:14px;overflow:auto}.import-text{width:100%;font:.85rem/1.5 var(--font-mono);border-radius:14px}.import-errors{border-left:5px solid hsl(var(--s-fail-fill));background:hsl(var(--s-fail-soft));border-radius:0 12px 12px 0;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 14px;display:flex}.import-errors ul{margin:0;padding-left:18px}.import-ok{font-weight:600}.import-result{flex-direction:column;gap:10px;width:100%;display:flex}.set-block{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:22px;flex-direction:column;gap:14px;padding:22px 26px;display:flex}.set-block>header h2,.set-adv summary h2{font-size:1.5rem}.set-block>header p{margin-top:2px}.set-body{flex-direction:column;display:flex}.set-line{border-top:1px dashed hsl(var(--border));grid-template-columns:220px minmax(0,1fr);align-items:center;gap:16px;padding:14px 0;display:grid}.set-line:first-child{border-top:0}.set-line-top{align-items:start}.set-label{flex-direction:column;gap:2px;font-weight:700;display:flex}.set-label small{color:hsl(var(--text-muted));font-size:.8125rem;font-weight:500}.set-fields{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.set-fields-3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}@media (width<=700px){.set-line{grid-template-columns:1fr;gap:8px}}.set-adv summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:14px;list-style:none;display:flex}.set-adv summary::-webkit-details-marker{display:none}.set-adv summary:before{content:"▸";font-size:1.1rem;transition:transform .2s}.set-adv[open] summary:before{transform:rotate(90deg)}.tint-grid .tint i svg{color:var(--on)}input[type=search],input[type=text],input[type=number],input:not([type]),select,textarea{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));border-radius:12px;min-height:40px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:hsl(var(--text));box-shadow:0 0 0 3px hsl(var(--accent) / .25);outline:none}.field input,.field select,.field textarea{background:hsl(var(--surface))}input[type=checkbox],input[type=radio],input[type=range]{min-height:0;accent-color:hsl(var(--accent));box-shadow:none;padding:0}.ct.flag-5{color:#974ebc}.flagdot.flag-5{background:#974ebc}.tile-art{opacity:.22;pointer-events:none;height:auto;color:hsl(var(--text));position:absolute;top:8px;right:8px}.segmented button,.map-tools .segmented button{font:600 .8125rem var(--font-ui);color:hsl(var(--text-muted));cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px}.segmented button.is-on,.segmented button[aria-pressed=true]{background:hsl(var(--text));color:hsl(var(--bg))}.map-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.map-tools .segmented{border-radius:999px;padding:3px}.inline-field{align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:inline-flex}.split{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:26px;display:grid}.split-main{flex-direction:column;gap:28px;min-width:0;display:flex}.split-rail{flex-direction:column;gap:16px;display:flex;position:sticky;top:24px}@media (width<=1180px){.split{grid-template-columns:1fr}.split-rail{position:static}}.rail-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:18px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.rail-title{font:700 1.1rem var(--font-display);letter-spacing:-.01em}.mini-figs{grid-template-columns:1fr 1fr;gap:12px 10px;margin:0;display:grid}.mini-figs div{flex-direction:column;gap:1px;display:flex}.mini-figs b{font:700 1.6rem/1.1 var(--font-display);letter-spacing:-.03em}.mini-figs span{font:600 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.mastery-line{border-top:1px dashed hsl(var(--border));justify-content:space-between;align-items:baseline;padding-top:10px;font-weight:600;display:flex}.mastery-line b{font:700 1.4rem var(--font-display)}.qv-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.qv-row{border-top:1px dashed hsl(var(--border));color:inherit;align-items:center;gap:10px;padding:9px 4px;font-weight:500;text-decoration:none;display:flex}.qv-list li:first-child .qv-row{border-top:0}.qv-row:hover{background:hsl(var(--text) / .04);text-decoration:none}.qv-row i{background:hsl(var(--c,var(--text-muted)));border-radius:50%;flex:none;width:9px;height:9px}.qv-row span{flex:1}.qv-row b{font:600 .875rem var(--font-mono)}.inside{flex-direction:column;grid-template-columns:none;gap:16px;display:flex}.inside .today-card{padding:18px 20px}.hero2{padding:22px 28px}.hero2 h1{font-size:clamp(1.8rem,3.4vw,2.5rem)}.hero2-art{width:118px;height:auto;margin:-6px -2px -6px 0}.hero-folder .hero2-art{width:140px}.surf-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.surf{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;font:600 .8125rem var(--font-ui);color:inherit;text-align:left;border-radius:14px;flex-direction:column;gap:8px;padding:8px;display:flex}.surf i{border:1px solid hsl(var(--border));border-radius:9px;height:34px;display:block}.surf-paper i{background:#f8f6f2}.surf-neutral i{background:#f4f5f6}.surf-cool i{background:#f2f5f8}.surf-white i{background:#fcfcfc}.surf[aria-pressed=true]{border-color:hsl(var(--text));box-shadow:0 0 0 1px hsl(var(--text))}.study-card>.card-text:first-child:before{content:"Pregunta";font:700 .625rem/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--text-muted));margin-bottom:4px;display:block}.study[data-kind=cloze] .study-card>.card-text:first-child:before{content:"Completa"}.study[data-kind=truefalse] .study-card>.card-text:first-child:before{content:"Afirmación"}.study[data-kind=case] .study-card .case-vignette:before{content:"Caso clínico"}.study[data-kind=occlusion] .study-card>.card-text:first-child:before{content:"Imagen"}.study[data-revealed=true] .study-card>.card-text:first-child{opacity:.72;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:30px;transition:font-size .3s,opacity .3s}.study-card .card-back{border:1.5px solid color-mix(in srgb, var(--fc,hsl(var(--accent))) 45%, transparent);background:color-mix(in srgb, var(--fc,hsl(var(--accent))) 12%, hsl(var(--surface)));box-shadow:0 10px 22px -16px var(--fc,hsl(var(--accent)));transform-origin:top;border-radius:16px;margin-top:20px;padding:16px 22px 18px;line-height:1.4;animation:.4s cubic-bezier(.2,.8,.2,1) both answer-in;position:relative}.study-card .card-back:before{content:"Respuesta";background:var(--fc,hsl(var(--accent)));color:var(--on);font:700 .625rem/1.3 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;border-radius:6px;padding:2px 9px;position:absolute;top:-9px;left:16px}.study-card .card-back.card-extra{background:hsl(var(--surface-2));border-style:dashed;border-color:hsl(var(--border));box-shadow:none;color:hsl(var(--text-muted));font-size:1.05rem}.study-card .card-back.card-extra:before{content:"Nota";background:hsl(var(--text-muted))}.study-card .card-text.card-back{font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.35}@keyframes answer-in{0%{opacity:0;transform:perspective(700px)rotateX(-18deg)scaleY(.85)}to{opacity:1;transform:none}}.typein-box{flex-direction:column;gap:12px;margin-top:18px;display:flex}.typein-box input{background:hsl(var(--surface));border-width:2px;border-radius:16px;min-height:54px;padding:0 20px;font-size:1.15rem}.typein-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.typein-actions .hint{color:hsl(var(--text-muted));font-size:.8125rem}.typein-result{flex-direction:column;gap:14px;margin-top:16px;display:flex}.typein-banner{background:hsl(var(--ss));border:1.5px solid hsl(var(--sf) / .6);border-radius:14px;align-items:center;gap:14px;padding:12px 16px;display:flex}.typein-banner b{font:700 1.1rem var(--font-display);color:hsl(var(--stx));display:block}.typein-banner small{color:hsl(var(--text-muted));font-size:.8125rem}.tb-icon{background:hsl(var(--sf));width:36px;height:36px;color:var(--on);border-radius:50%;flex:none;place-items:center;display:grid}.tb-ok{--sf:var(--s-review-fill);--stx:var(--s-review-text);--ss:var(--s-review-soft)}.tb-near{--sf:var(--s-learn-fill);--stx:var(--s-learn-text);--ss:var(--s-learn-soft)}.tb-bad{--sf:var(--s-fail-fill);--stx:var(--s-fail-text);--ss:var(--s-fail-soft)}.tb-none{--sf:var(--s-new-fill);--stx:var(--s-new-text);--ss:var(--s-new-soft)}.typein-typed .typed{margin-top:4px;font-size:1.1rem}.w-ok{color:hsl(var(--s-review-text));font-weight:600}.w-bad{color:hsl(var(--s-fail-text));font-weight:600;-webkit-text-decoration:line-through wavy;text-decoration:line-through wavy}.cause{background:hsl(var(--surface));border:1.5px solid hsl(var(--s-fail-fill) / .55);box-shadow:var(--sh2);border-radius:20px;flex-direction:column;gap:12px;padding:16px 18px 12px;animation:.35s both rise;display:flex}.cause-head{flex-direction:column;gap:4px;display:flex}.cause-q{font:700 1.05rem var(--font-display)}.cause-card{color:hsl(var(--text-muted));quotes:"«" "»";text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.cause-opts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=700px){.cause-opts{grid-template-columns:1fr 1fr}}.cause-chip{text-align:left;border:1.5px solid hsl(var(--border));background:hsl(var(--bg));color:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;min-height:0;padding:11px 12px;transition:transform .15s,border-color .15s,background .15s;display:flex}.cause-chip:hover{border-color:hsl(var(--s-fail-fill));background:hsl(var(--s-fail-soft));transform:translateY(-3px)}.cause-name{font-size:.9375rem;font-weight:700}.cause-chip small{color:hsl(var(--text-muted));font-size:.75rem;line-height:1.25}.cause-foot{align-items:center;gap:12px;display:flex}.cause-timer{background:hsl(var(--surface-2));border-radius:2px;flex:1;height:4px;overflow:hidden}.cause-timer i{background:hsl(var(--s-fail-fill));height:100%;animation:14s linear forwards cause-timer;display:block}@keyframes cause-timer{0%{width:100%}to{width:0}}.rv-nav{justify-content:space-between;width:100%;display:flex}.occ-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.occ-tools{align-items:center;gap:6px;display:flex}.occ-tool{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));height:34px;font:600 .8125rem var(--font-ui);cursor:pointer;color:inherit;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.occ-tool[aria-pressed=true]{background:hsl(var(--text));color:hsl(var(--bg));border-color:hsl(var(--text))}.occ-stage{border:1.5px solid hsl(var(--border));outline:none}.occ-stage:focus-visible{border-color:hsl(var(--text));box-shadow:0 0 0 3px hsl(var(--accent) / .25)}.occ-shape{border:2px solid hsl(var(--accent));background:hsl(var(--accent) / .45);border-radius:4px;align-items:flex-start;gap:4px;padding:2px 4px;display:flex;overflow:hidden}.occ-shape.is-ellipse,.occ-view .is-ellipse{border-radius:50%}.occ-shape b{font:700 .6875rem var(--font-mono);background:hsl(var(--text));color:hsl(var(--bg));border-radius:4px;padding:0 5px;line-height:1.5}.occ-shape em{background:hsl(var(--surface));color:hsl(var(--text));text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:100%;padding:0 5px;font-size:.6875rem;font-style:normal;font-weight:600;line-height:1.5;overflow:hidden}.occ-shape.is-sel{border-color:hsl(var(--text));box-shadow:0 0 0 2px hsl(var(--bg)), 0 0 0 4px hsl(var(--text));background:hsl(var(--accent) / .6);z-index:2}.occ-handles{z-index:3;pointer-events:none;position:absolute}.occ-handles i{background:hsl(var(--bg));border:2px solid hsl(var(--text));pointer-events:auto;touch-action:none;border-radius:3px;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute}.h-nw{cursor:nwse-resize;top:0;left:0}.h-n{cursor:ns-resize;top:0;left:50%}.h-ne{cursor:nesw-resize;top:0;left:100%}.h-e{cursor:ew-resize;top:50%;left:100%}.h-se{cursor:nwse-resize;top:100%;left:100%}.h-s{cursor:ns-resize;top:100%;left:50%}.h-sw{cursor:nesw-resize;top:100%;left:0}.h-w{cursor:ew-resize;top:50%;left:0}.occ-inspector{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:14px;padding:14px 16px}.occ-insp-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.occ-num{width:110px}.occ-label{flex:1;min-width:200px}.occ-btns{flex-wrap:wrap;gap:6px;display:flex}.occ-btns .btn{gap:6px}.occ-cards{flex-direction:column;gap:8px;display:flex}.occ-list li{border-radius:999px;gap:0;padding:0}.occ-chip{cursor:pointer;height:32px;color:inherit;font:inherit;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 12px;display:inline-flex}.occ-chip[aria-pressed=true]{background:hsl(var(--text));color:hsl(var(--bg))}.occ-chip small{color:inherit;opacity:.7}.occ-mode{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;display:grid}.occ-mode legend{grid-column:1/-1;margin-bottom:6px;padding:0}@media (width<=700px){.occ-mode{grid-template-columns:1fr}}.occ-mode label{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:14px;flex-direction:column;gap:3px;padding:12px 14px;display:flex;position:relative}.occ-mode label.is-on{border-color:hsl(var(--text));box-shadow:0 0 0 1px hsl(var(--text))}.occ-mode input{opacity:0;pointer-events:none;position:absolute}.occ-mode small{color:hsl(var(--text-muted));font-size:.8125rem;line-height:1.3}.occ-ask{font:600 .9375rem var(--font-ui);color:hsl(var(--text-muted));margin:2px 0 10px;line-height:1.3}.occ-view{border:1.5px solid hsl(var(--border));border-radius:14px;max-height:460px;overflow:hidden}.occ-view>div{place-items:center;display:grid}.occ-hide{background:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--surface)), 0 0 0 5px hsl(var(--accent));z-index:2;animation:2s ease-in-out infinite pulse-hide}.occ-hide b{font:800 clamp(1rem, 3vw, 1.8rem) var(--font-display);color:hsl(var(--accent-contrast))}.occ-cover{background:hsl(var(--text) / .82)}.occ-ghost{border:2px dashed hsl(var(--text) / .35);background:0 0}.occ-reveal{border:3px solid hsl(var(--s-review-fill));background:hsl(var(--s-review-fill) / .14);z-index:2;box-shadow:0 0 0 3px hsl(var(--surface))}.occ-reveal em{background:hsl(var(--surface));color:hsl(var(--text));text-align:center;border-radius:6px;max-width:96%;padding:1px 8px;font-size:.8125rem;font-style:normal;font-weight:700;box-shadow:0 2px 8px #0003}@keyframes pulse-hide{50%{filter:brightness(1.12)}}.occ-answer{font-weight:700}.occ-answer ul{margin:0;padding-left:20px}.pano{flex-direction:column;gap:22px;display:flex}.pano-sum{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:22px;grid-template-columns:auto minmax(0,1fr) minmax(220px,300px);align-items:center;gap:26px;padding:24px 28px;display:grid}@media (width<=1000px){.pano-sum{grid-template-columns:1fr}}.pano-big{flex-direction:column;align-items:flex-start;display:flex}.pano-big b{font:800 clamp(3.6rem, 9vw, 6rem)/.9 var(--font-display);letter-spacing:-.06em}.pano-big b small{color:hsl(var(--text-muted));margin-left:2px;font-size:.45em}.pano-big span{font:600 .75rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--text-muted));margin-top:8px}.pano-text{flex-direction:column;gap:10px;min-width:0;display:flex}.pano-text p{font-size:1.0625rem;line-height:1.4}.pano-how summary{cursor:pointer;color:hsl(var(--text-muted));font-size:.875rem}.pano-how p{color:hsl(var(--text-muted));margin-top:6px;font-size:.875rem}.pano-next{background:hsl(var(--accent-soft));border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px;display:flex}.pano-next p{font-size:.9375rem}.pano-legend{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pano-legend li{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:14px;align-items:center;gap:10px;padding:10px 14px;display:flex}.pano-legend i{background:hsl(var(--lc));border-radius:50%;flex:none;width:14px;height:14px}.pano-legend div{flex-direction:column;flex:1;line-height:1.2;display:flex}.pano-legend small{color:hsl(var(--text-muted));font-size:.75rem}.pano-legend span{font:700 1.1rem var(--font-display)}.lvl-unseen{--lc:var(--s-new-fill);--lt:var(--s-new-text);--ls:var(--s-new-soft)}.lvl-weak{--lc:var(--s-fail-fill);--lt:var(--s-fail-text);--ls:var(--s-fail-soft)}.lvl-way{--lc:var(--s-learn-fill);--lt:var(--s-learn-text);--ls:var(--s-learn-soft)}.lvl-solid{--lc:var(--s-review-fill);--lt:var(--s-review-text);--ls:var(--s-review-soft)}.lvl-mastered{--lc:var(--s-master-fill);--lt:var(--s-master-text);--ls:var(--s-master-soft)}.lvl-empty{--lc:var(--border);--lt:var(--text-muted);--ls:var(--surface-2)}.lvl-chip{background:hsl(var(--ls));height:22px;color:hsl(var(--lt));font:700 .6875rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.pano-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.pano-bar .section-title{margin:0}.pano-areas{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;display:grid}@media (width<=480px){.pano-areas{grid-template-columns:1fr}}.pano-area{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.pano-area header{align-items:center;gap:14px;display:flex}.pano-art{background:color-mix(in srgb, var(--fc) 14%, hsl(var(--surface)));width:52px;height:52px;color:var(--fc);border:1px solid color-mix(in srgb, var(--fc) 35%, transparent);border-radius:14px;flex:none;place-items:center;display:grid}.pano-title{flex-direction:column;flex:1;min-width:0;display:flex}.pano-name{font:700 1.25rem var(--font-display);letter-spacing:-.02em;color:hsl(var(--text));text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.pano-name:hover{text-decoration:underline}.pano-pct{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.pano-pct b{font:800 1.9rem/1 var(--font-display);letter-spacing:-.04em}.pano-pct small{color:hsl(var(--text-muted));font-size:.55em}.pano-kids{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pano-kids li{grid-template-columns:minmax(0,1.1fr) minmax(60px,1fr) 44px auto;align-items:center;gap:10px;font-size:.875rem;display:grid}.pano-kids a{text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--text));overflow:hidden}.pano-mini{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:4px;height:8px;overflow:hidden}.pano-mini i{background:hsl(var(--lc));height:100%;display:block}.pano-kids b{font:600 .8125rem var(--font-mono);text-align:right}.pano-area footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.tags-split{grid-template-columns:minmax(0,1fr) 360px}.tag-groups{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.tag-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tag-row{border-top:1px dashed hsl(var(--border))}.tag-row:first-child{border-top:0}.tag-pick{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.tag-pick:hover{background:hsl(var(--text) / .05)}.tag-row.is-selected .tag-pick{background:hsl(var(--accent-soft));box-shadow:inset 0 0 0 1.5px hsl(var(--accent))}.tag-row.is-unused .tag{opacity:.6}.tag-detail{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;flex-direction:column;gap:16px;padding:20px;display:flex}.td-empty{text-align:left;align-items:flex-start}.td-empty b{font:700 1.2rem var(--font-display)}.td-preview{background:color-mix(in srgb, var(--fc) 8%, hsl(var(--bg)));border:1px dashed color-mix(in srgb, var(--fc) 40%, hsl(var(--border)));border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:18px;display:flex}.td-preview .tag{min-height:32px;font-size:1rem}.td-colors{grid-template-columns:repeat(8,1fr);gap:8px;display:grid}.td-dot{aspect-ratio:1;border:2px solid hsl(var(--surface));box-shadow:0 0 0 1px hsl(var(--border));cursor:pointer;border-radius:50%;min-height:0;padding:0;transition:transform .15s}.td-dot:hover{transform:scale(1.15)}.td-dot[aria-pressed=true]{box-shadow:0 0 0 2.5px hsl(var(--text))}.td-auto{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));font:700 .75rem var(--font-mono);cursor:pointer;color:inherit;border-radius:999px;grid-column:span 2}.td-auto[aria-pressed=true]{border-color:hsl(var(--text));background:hsl(var(--surface-2))}.td-stats{flex-direction:column;gap:8px;display:flex}.td-folders{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.td-folders li{grid-template-columns:minmax(0,1fr) 90px 28px;align-items:center;gap:10px;font-size:.875rem;display:grid}.td-folders a{text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--text));overflow:hidden}.td-folders i{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:4px;height:8px;overflow:hidden}.td-folders u{background:hsl(var(--accent));height:100%;text-decoration:none;display:block}.td-folders b{font:600 .8125rem var(--font-mono);text-align:right}.td-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.td-actions .btn{justify-content:center}.stats-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.stats-controls .field{min-width:220px}.stats-controls .segmented{border-radius:999px;padding:3px;display:inline-flex}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;display:grid}.stat{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:16px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat dt{font:600 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--text-muted))}.stat dd{font:700 1.6rem/1.1 var(--font-display);letter-spacing:-.03em;margin:0}.stat dd small{font:500 .75rem var(--font-mono);color:hsl(var(--text-muted));letter-spacing:0}.stat.st-new dd,.stat.st-review dd,.stat.st-learn dd,.stat.st-master dd{color:hsl(var(--stx))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;display:grid}@media (width<=520px){.stats-grid{grid-template-columns:1fr}}.stats-grid .panel,.panel{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:18px;padding:18px 20px}.act{align-items:flex-end;gap:3px;height:150px;display:flex}.act-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:3px;min-width:3px;height:100%;display:flex}.act-col i{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:4px 4px 2px 2px;width:100%;max-width:26px;display:block}.act-col i.on{background:hsl(var(--accent));border-color:#0000}.act-col b{font:600 .625rem var(--font-mono);height:12px;color:hsl(var(--text-muted))}.act-col small{font:500 .5625rem var(--font-mono);height:12px;color:hsl(var(--text-muted));white-space:nowrap}.rate-line{width:100%;height:auto}.rate-line .grid{stroke:hsl(var(--border));stroke-dasharray:3 4}.rate-line .axis{font:500 9px var(--font-mono);fill:hsl(var(--text-muted))}.rate-path{fill:none;stroke:hsl(var(--s-review-fill));stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.rate-dot{fill:hsl(var(--surface));stroke:hsl(var(--s-review-fill));stroke-width:2px}.answers{gap:3px;height:44px;margin:6px 0 10px;display:flex}.ans{background:hsl(var(--sf));min-width:30px;color:var(--on);font:700 .8125rem var(--font-mono);border-radius:10px;place-items:center;display:grid}.ans-legend{flex-wrap:wrap;gap:6px 16px;margin:0 0 8px;padding:0;font-size:.875rem;list-style:none;display:flex}.ans-legend li{align-items:center;gap:6px;display:flex}.ans-legend i{background:hsl(var(--sf));border-radius:50%;width:10px;height:10px}.modal-xl{width:100%;max-width:min(1080px,96vw)}.editor-split{box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px 28px;padding:0;display:grid}@media (width<=900px){.editor-split{grid-template-columns:1fr}}.editor-main{flex-direction:column;gap:16px;min-width:0;display:flex}.editor-side{flex-direction:column;gap:12px;display:flex;position:sticky;top:0}.editor-actions{border-top:1px dashed hsl(var(--border));grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:12px;display:flex}.editor-meta{grid-template-columns:minmax(180px,.6fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=700px){.editor-meta{grid-template-columns:1fr}}.type-pick{flex-direction:column;gap:8px;display:flex}.type-picker{flex-wrap:wrap;grid-template-columns:none;gap:6px;display:flex}.type-card{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:999px;flex-direction:row;align-items:center;gap:8px;height:38px;padding:0 14px 0 8px;transition:border-color .15s,background .15s;display:inline-flex;position:relative}.type-card:hover{border-color:hsl(var(--text))}.type-card b{font:600 .8125rem var(--font-ui);letter-spacing:0;white-space:nowrap}.type-card small,.type-card em{display:none}.type-icon{border-radius:50%;width:26px;height:26px}.type-card.is-on{background:hsl(var(--text));color:hsl(var(--bg));border-color:hsl(var(--text));box-shadow:none}.type-card.is-on .type-icon{background:hsl(var(--bg));color:hsl(var(--text))}.type-desc{color:hsl(var(--text-muted));font-size:.875rem;line-height:1.4}.type-desc b{color:hsl(var(--text))}.type-desc em{font-style:normal;font-family:var(--font-mono);margin-top:2px;font-size:.8125rem;display:block}.preview{background:hsl(var(--surface-2));border:1px dashed hsl(var(--border));border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.preview-card{background-color:hsl(var(--ficha));border:1px solid hsl(var(--border));background-image:linear-gradient(90deg, transparent 27px, hsl(var(--ficha-margin) / .6) 27px, hsl(var(--ficha-margin) / .6) 28px, transparent 28px), repeating-linear-gradient(transparent 0 25px, hsl(var(--ficha-rule) / .2) 25px 26px);box-shadow:var(--sh1);border-radius:4px 14px 4px 4px;padding:14px 16px 16px 40px;position:relative}.preview-card .card-text{font-size:1.1rem;line-height:26px}.preview-card .card-back{margin-top:14px;padding:12px 14px;font-size:1.05rem}.preview-card .card-back:before{font-size:.5625rem;top:-8px}.preview-card>.card-text:first-child:before{margin-bottom:2px}.prev-empty{color:hsl(var(--text-muted));padding:12px 4px;font-size:.9rem;font-style:italic}.prev-opts{flex-direction:column;gap:3px;margin:8px 0 0;padding-left:22px;font-size:.9375rem;display:flex}.prev-opts li.ok{color:hsl(var(--s-review-text));font-weight:700}.dots{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:10px;max-width:520px;display:grid}.dot{aspect-ratio:1;border:3px solid hsl(var(--surface));min-height:0;box-shadow:0 0 0 1px hsl(var(--border));cursor:pointer;color:inherit;border-radius:50%;padding:0;transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s}.dot:hover{transform:scale(1.14)}.dot[aria-pressed=true]{box-shadow:0 0 0 3px hsl(var(--text));transform:scale(1.08)}.dot-auto{background:hsl(var(--surface-2));font:700 .8125rem var(--font-mono);color:hsl(var(--text-muted))}.cause-unknown,.cc-unknown{--cc:214 62% 50%}.cause-confused,.cc-confused{--cc:28 80% 50%}.cause-overconfident,.cc-overconfident{--cc:282 50% 54%}.cause-misread,.cc-misread{--cc:172 58% 38%}.cause-forgot,.cc-forgot{--cc:38 80% 44%}.cc-none{--cc:215 10% 55%}.cause-chip{border-color:hsl(var(--cc) / .45);background:hsl(var(--cc) / .08)}.cause-chip svg{color:hsl(var(--cc))}.cause-chip:hover{border-color:hsl(var(--cc));background:hsl(var(--cc) / .18)}.cause-top{justify-content:space-between;align-items:center;width:100%;display:flex}.cause-top kbd{font-family:var(--font-mono)}.cause{border-color:hsl(var(--s-fail-fill) / .5);background:color-mix(in srgb, hsl(var(--s-fail-fill)) 5%, hsl(var(--surface)))}.cause-head small{font-size:.8125rem}.imp-flow{flex-direction:column;gap:16px;display:flex}.imp-step{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;flex-direction:column;gap:14px;padding:20px 24px;display:flex}.imp-step .step-n{font:700 1.2rem var(--font-display);align-items:center;gap:10px;margin:0;display:flex}.imp-body{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.imp-body>*{max-width:100%}.imp-dest{grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;width:100%;display:grid}.imp-dest .imp-tags{grid-column:1/-1}@media (width<=700px){.imp-dest{grid-template-columns:1fr}}.imp-opts{border:0;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;display:flex}.imp-opts legend{margin-bottom:6px;padding:0}.imp-kinds{flex-wrap:wrap;gap:8px;display:flex}.imp-kind{border:1.5px solid hsl(var(--border));cursor:pointer;background:hsl(var(--bg));border-radius:999px;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:.875rem;font-weight:600;display:inline-flex}.imp-kind input{opacity:0;pointer-events:none;position:absolute}.imp-kind.is-on{background:hsl(var(--text));color:hsl(var(--bg));border-color:hsl(var(--text))}.imp-kind:has(input:focus-visible){outline:2px solid hsl(var(--accent));outline-offset:2px}.imp-row{flex-wrap:wrap;gap:14px;display:flex}.imp-row .field{min-width:200px}.rank{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.rank-row{align-items:flex-start;gap:12px;display:flex}.rank-pos{background:hsl(var(--surface-2));width:26px;height:26px;font:700 .75rem var(--font-mono);color:hsl(var(--text-muted));border-radius:8px;flex:none;place-items:center;margin-top:1px;display:grid}.rank-row:first-child .rank-pos{background:var(--fc,hsl(var(--accent)));color:var(--on)}.rank-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.rank-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rank-name{color:hsl(var(--text));text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;padding:0;font-size:.9375rem;font-weight:600;text-decoration:none;overflow:hidden}a.rank-name:hover,button.rank-name:hover{text-decoration:underline}.rank-top b{font:700 .9375rem var(--font-mono);flex:none}.rank-bar{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:5px;height:9px;display:block;overflow:hidden}.rank-bar u{background:var(--fc,hsl(var(--accent)));border-radius:5px;height:100%;text-decoration:none;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.rank-main small{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.err-summary{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:22px;flex-wrap:wrap;align-items:center;gap:28px;padding:22px 26px;display:flex}.err-big{flex-direction:column;display:flex}.err-big b{font:800 clamp(3.4rem, 8vw, 5.4rem)/.9 var(--font-display);letter-spacing:-.05em;color:hsl(var(--s-fail-text))}.err-big span{font:600 .75rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--text-muted));margin-top:6px}.err-facts{flex-direction:column;flex:1;gap:12px;min-width:240px;display:flex}.err-facts p{font-size:1rem;line-height:1.5}.err-split-bar{gap:3px;height:16px;display:flex}.err-split-bar i{background:hsl(var(--cc));border-radius:8px;min-width:8px}.cause-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.ctile{text-align:left;border:1.5px solid hsl(var(--cc,var(--border)) / .4);background:hsl(var(--cc,var(--surface-2)) / .09);color:inherit;cursor:pointer;border-radius:18px;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s,background .18s;display:flex}.ctile:hover{border-color:hsl(var(--cc,var(--text)));transform:translateY(-3px)}.ctile.is-on{background:hsl(var(--cc,var(--text)) / .2);border-color:hsl(var(--cc,var(--text)));box-shadow:0 0 0 1px hsl(var(--cc,var(--text)))}.ctile-n{font:800 2.1rem/1 var(--font-display);letter-spacing:-.04em}.ctile-l{font-weight:700}.ctile small{color:hsl(var(--text-muted));font-size:.75rem;line-height:1.3}.cc-todas{--cc:215 10% 45%}.err-advice{background:hsl(var(--cc) / .1);border:1.5px dashed hsl(var(--cc) / .55);border-radius:18px;flex-direction:column;gap:6px;padding:16px 20px;display:flex}.err-advice p{font-size:1rem;line-height:1.5}.err-advice .eyebrow:before{background:hsl(var(--cc));box-shadow:0 0 0 3px hsl(var(--cc) / .25)}.err-controls{grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) minmax(150px,.6fr);align-items:end;gap:12px;display:grid}@media (width<=700px){.err-controls{grid-template-columns:1fr}}.err-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.err-list-head .section-title{margin:0}.err-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.error-row{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:16px;flex-direction:column;gap:8px;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden}.error-row:before{content:"";background:hsl(var(--cc) / .16);border-radius:50%;width:70px;height:70px;position:absolute;top:-22px;right:-22px}.error-row.is-repeat{border-color:hsl(var(--s-fail-fill) / .6)}.er-head{justify-content:space-between;align-items:center;gap:8px;display:flex;position:relative}.er-cause{background:hsl(var(--cc) / .16);height:22px;color:color-mix(in srgb, hsl(var(--cc)) 70%, hsl(var(--text)));font:700 .6875rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.er-count{font:700 .75rem var(--font-mono);color:hsl(var(--s-fail-text))}.er-text{font:1.0625rem/1.35 var(--font-content);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;display:-webkit-box;position:relative;overflow:hidden}.er-foot{justify-content:space-between;gap:8px;font-size:.75rem;display:flex}.er-path{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.er-assign{border-top:1px dashed hsl(var(--border));align-items:center;gap:6px;padding-top:8px;display:flex}.er-assign:before{content:"Causa";font:600 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted));margin-right:auto}.er-dot{border:2px solid hsl(var(--cc) / .5);cursor:pointer;background:0 0;border-radius:50%;width:20px;height:20px;min-height:0;padding:0;transition:transform .15s,background .15s}.er-dot:hover{background:hsl(var(--cc) / .35);transform:scale(1.2)}.er-dot[aria-pressed=true]{background:hsl(var(--cc));border-color:hsl(var(--cc))}:root{--wash:1}.app:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(1100px 620px at 100% -12%, hsl(var(--accent) / calc(.12 * var(--wash))), transparent 70%), radial-gradient(820px 540px at 6% 112%, hsl(var(--accent) / calc(.09 * var(--wash))), transparent 70%);position:fixed;inset:0}.main{z-index:1;position:relative}::selection{background:hsl(var(--accent) / .28)}*{scrollbar-color:hsl(var(--accent) / .4) transparent}[data-sidebar=tinted] .sidebar{background:color-mix(in srgb, hsl(var(--accent)) calc(8% * var(--wash)), hsl(var(--sidebar-bg)));border-right-color:color-mix(in srgb, hsl(var(--accent)) calc(20% * var(--wash)), hsl(var(--border)))}[data-sidebar=tinted] .nav-link[aria-current=page]{background:hsl(var(--accent));color:hsl(var(--accent-contrast));box-shadow:0 8px 18px -10px hsl(var(--accent))}[data-sidebar=tinted] .nav-link:hover{background:hsl(var(--accent) / .12)}.section-title:before{background:hsl(var(--accent));border-radius:2px;flex:none;width:9px;height:9px;margin-right:2px;display:inline-block;transform:rotate(45deg)translateY(-1px);content:""!important}.hero2{background:linear-gradient(135deg, color-mix(in srgb, hsl(var(--accent)) calc(7% * var(--wash)), hsl(var(--surface))), hsl(var(--surface)) 70%);border-color:color-mix(in srgb, hsl(var(--accent)) calc(22% * var(--wash)), hsl(var(--border)))}.hero-folder{background:linear-gradient(135deg, color-mix(in srgb, var(--fc) 14%, hsl(var(--surface))), hsl(var(--surface)) 80%)}.hero2-art{opacity:calc(.16 * var(--wash))}.btn-primary{box-shadow:0 8px 20px -10px hsl(var(--accent) / .9)}.fig b,.mini-figs b,.stat dd{color:color-mix(in srgb, hsl(var(--accent)) calc(30% * var(--wash)), hsl(var(--text)))}.tab[aria-selected=true]{border-bottom-color:hsl(var(--accent))}.stab[aria-current=page]{background:hsl(var(--accent));color:hsl(var(--accent-contrast))}.rack:after{background-color:hsl(var(--accent) / calc(.16 * var(--wash)))}.qv-row:hover{background:hsl(var(--accent) / .08)}:where(.rail-card,.set-block,.imp-step,.tag-detail,.pano-sum,.stats-grid .panel,.err-summary){position:relative;overflow:hidden}:where(.rail-card,.set-block,.imp-step,.tag-detail,.pano-sum,.stats-grid .panel,.err-summary):before{content:"";pointer-events:none;background:linear-gradient(90deg, hsl(var(--accent) / calc(.7 * var(--wash))), transparent 70%);height:3px;position:absolute;top:0;left:0;right:0}.panel:not(.editor):not(.modal){position:relative}:focus-visible{outline-color:hsl(var(--accent))}.checkbox,input[type=checkbox],input[type=radio],input[type=range]{accent-color:hsl(var(--accent))}.page-head h1,.hero2 h1{text-shadow:none}.dots-lg{max-width:560px}.dots-lg .dot{color:#fff;place-items:center;display:grid}.set-preview{border:1px dashed hsl(var(--border));background:hsl(var(--bg));border-radius:16px;flex-direction:column;gap:10px;margin-bottom:4px;padding:16px 18px;display:flex}.sp-ficha{background-color:hsl(var(--ficha));border:1px solid hsl(var(--border));background-image:linear-gradient(90deg, transparent 27px, hsl(var(--ficha-margin) / .6) 27px, hsl(var(--ficha-margin) / .6) 28px, transparent 28px);border-radius:4px 14px 4px 4px;flex-direction:column;gap:2px;padding:12px 16px 12px 44px;display:flex}.sp-ficha b{font:700 1.1rem var(--font-display)}.sp-ficha span{color:hsl(var(--text-muted));font-size:.875rem}.sp-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stats-grid-2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.stats-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1100px){.stats-grid-3{grid-template-columns:1fr 1fr}}@media (width<=760px){.stats-grid-2,.stats-grid-3{grid-template-columns:1fr}}.hard-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.hard-card{background-color:hsl(var(--ficha));border:1px solid hsl(var(--border));border-top:4px solid var(--fc,hsl(var(--s-fail-fill)));background-image:repeating-linear-gradient(transparent 0 23px, hsl(var(--ficha-rule) / .18) 23px 24px);min-height:120px;box-shadow:var(--sh1);border-radius:4px 16px 4px 4px;flex-direction:column;gap:8px;padding:14px 16px 12px;display:flex;position:relative}.hard-n{background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));font:800 1.1rem var(--font-display);border-radius:999px;align-self:flex-start;align-items:baseline;gap:4px;padding:2px 10px;display:inline-flex}.hard-n small{font:700 .625rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.hard-text{font:1.05rem/24px var(--font-content);color:hsl(var(--text));-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;text-decoration:none;display:-webkit-box;overflow:hidden}.hard-text:hover{text-decoration:underline}.hard-card .muted{font-size:.6875rem}.format-bar{z-index:4;background:hsl(var(--surface));align-items:center;gap:12px;padding:6px 0;display:flex;position:sticky;top:0}.format-bar .rich-toolbar{background:hsl(var(--surface-2));border-radius:14px;flex:1;transition:opacity .2s}.format-bar.is-idle .rich-toolbar{opacity:.55}.format-hint{color:hsl(var(--text-muted));white-space:nowrap;font-size:.75rem}@media (width<=760px){.format-hint{display:none}}.ficha-edit{flex-direction:column;gap:16px;display:flex}.ficha-edit.is-ruled{border:1px solid hsl(var(--border));background-color:hsl(var(--ficha));box-shadow:var(--sh1);background-image:linear-gradient(90deg, transparent 47px, hsl(var(--ficha-margin) / .6) 47px, hsl(var(--ficha-margin) / .6) 48.5px, transparent 48.5px);border-radius:4px 20px 4px 4px;gap:0;position:relative;overflow:hidden}.ficha-edit.is-ruled:after{content:"";background:linear-gradient(225deg, hsl(var(--surface)) 50%, color-mix(in srgb, hsl(var(--ficha)) 80%, hsl(var(--text) / .3)) 50%);width:26px;height:26px;position:absolute;top:0;right:0}.ficha-edit.is-ruled .rich-field.is-shared{gap:4px;padding:14px 22px 14px 66px;position:relative}.ficha-edit.is-ruled .rich-field.is-shared+.rich-field.is-shared{border-top:2px dashed hsl(var(--ficha-margin) / .55)}.ficha-edit.is-ruled .field-label{writing-mode:vertical-rl;width:30px;font:700 .625rem var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--ficha-margin));text-align:center;white-space:nowrap;position:absolute;top:14px;left:10px;transform:rotate(180deg)}.ficha-edit.is-ruled .rich-editor{box-shadow:none;min-height:calc(var(--rows,3) * 32px);background:0 0;background-image:repeating-linear-gradient(transparent 0 31px, hsl(var(--ficha-rule) / .2) 31px 32px);border:0;border-radius:0;padding:0;font-size:1.15rem;line-height:32px}.ficha-edit.is-ruled .rich-editor:focus{box-shadow:none;background-color:hsl(var(--accent) / .05);outline:none}.ficha-edit.is-ruled .rich-field.is-shared:focus-within .field-label{color:hsl(var(--accent-text))}.created{color:hsl(var(--s-review-text));background:hsl(var(--s-review-soft));border-radius:999px;margin-right:auto;padding:4px 12px;font-size:.875rem}.created b{font-family:var(--font-mono)}.dupe{background:hsl(var(--s-learn-soft));color:hsl(var(--s-learn-text));border:1px solid hsl(var(--s-learn-fill) / .4);border-radius:12px;padding:10px 14px;font-size:.875rem}.dupe q{font-style:italic}.ctile{background:hsl(var(--cc,var(--surface-2)) / .13)}.ctile-n{color:color-mix(in srgb, hsl(var(--cc,var(--text))) 78%, hsl(var(--text)))}.ctile.cc-todas .ctile-n{color:hsl(var(--text))}.mat-wrap{flex-wrap:wrap;align-items:center;gap:26px;display:flex}.donut{flex:none;position:relative}.donut svg{display:block}.donut-track{stroke:hsl(var(--surface-2))}.donut-seg{stroke:hsl(var(--sf));stroke-linecap:butt;transition:stroke-dasharray .6s cubic-bezier(.2,.8,.2,1)}.donut-center{flex-direction:column;justify-content:center;align-items:center;line-height:1.05;display:flex;position:absolute;inset:0}.donut-center b{font:800 2rem var(--font-display);letter-spacing:-.04em}.donut-center b small{color:hsl(var(--text-muted));font-size:.5em}.donut-center span{font:600 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--text-muted));margin-top:2px}.mat-legend{flex-direction:column;flex:1;gap:10px;min-width:200px;margin:0;padding:0;list-style:none;display:flex}.mat-legend li{align-items:center;gap:12px;display:flex}.mat-legend i{background:hsl(var(--sf));border-radius:4px;flex:none;width:12px;height:12px}.mat-legend div{flex-direction:column;flex:1;line-height:1.2;display:flex}.mat-legend small{color:hsl(var(--text-muted));font-size:.75rem}.mat-legend span{font:700 1.1rem var(--font-display)}.insight{margin-bottom:12px;font-size:1rem;line-height:1.5}.parts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.part{background:hsl(var(--surface-2));border:1.5px solid hsl(var(--border));border-radius:16px;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;display:flex;position:relative}.part.is-best{background:hsl(var(--s-review-soft));border-color:hsl(var(--s-review-fill))}.part.is-worst{background:hsl(var(--s-fail-soft));border-color:hsl(var(--s-fail-fill) / .5)}.part-ic{background:hsl(var(--surface));width:34px;height:34px;color:hsl(var(--text));border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.part b{font:800 1.8rem/1 var(--font-display);letter-spacing:-.04em}.part-name{font-weight:700}.part small{color:hsl(var(--text-muted));font-size:.6875rem}.part em{font:700 .5625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:hsl(var(--s-review-fill));color:var(--on);border-radius:999px;padding:2px 7px;font-style:normal;position:absolute;top:10px;right:10px}.fpick{flex-direction:column;gap:10px;width:100%;display:flex}.fpick-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fpick-head input{flex:1;min-width:140px}.fpick-tree,.fpick-kids{margin:0;padding:0;list-style:none}.fpick-tree{border:1.5px solid hsl(var(--border));background:hsl(var(--bg));border-radius:14px;max-height:320px;padding:6px;overflow-y:auto}.fpick-kids{border-left:1.5px dashed hsl(var(--border));margin-left:10px;padding-left:18px}.fpick-row{border-radius:10px;align-items:center;gap:2px;display:flex}.fpick-row:hover{background:hsl(var(--text) / .05)}.fpick-row.is-all{background:color-mix(in srgb, var(--fc) 12%, transparent)}.fpick-row.is-some{background:color-mix(in srgb, var(--fc) 6%, transparent)}.fpick-chev{cursor:pointer;width:24px;height:28px;color:hsl(var(--text-muted));background:0 0;border:0;flex:none;place-items:center;transition:transform .15s;display:grid}.fpick-chev.is-open{transform:rotate(90deg)}.fpick-chev.is-hidden{visibility:hidden}.fpick-check{cursor:pointer;flex:1;align-items:center;gap:9px;min-width:0;padding:6px 8px 6px 2px;font-size:.9375rem;display:flex}.fpick-check input{width:18px;height:18px;accent-color:var(--fc,hsl(var(--accent)));flex:none}.fpick-dot{background:var(--fc);border-radius:50%;flex:none;width:9px;height:9px}.fpick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.fpick-row.is-all .fpick-name,.fpick-row.is-some .fpick-name{font-weight:700}.fpick-check small{color:hsl(var(--text-muted));font-family:var(--font-mono);font-size:.75rem}.fpick-sum{color:hsl(var(--text-muted));flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;font-size:.875rem;display:flex}.fpick-none{padding:10px}.pick-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=960px){.pick-grid{grid-template-columns:1fr}}.pick-step{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;flex-direction:column;gap:14px;padding:20px 22px;display:flex}.pick-step h3{font:700 1.15rem var(--font-display);align-items:center;gap:10px;display:flex}.pick-step h3:not(:first-child){margin-top:6px}.pick-step h3 i{background:hsl(var(--text));width:26px;height:26px;color:hsl(var(--bg));font:700 .75rem var(--font-mono);border-radius:50%;place-items:center;font-style:normal;display:grid}.pick-content{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width<=520px){.pick-content{grid-template-columns:1fr}}.pick-opt{border:1.5px solid hsl(var(--border));background:hsl(var(--bg));cursor:pointer;border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;transition:border-color .15s,background .15s,transform .15s;display:flex;position:relative}.pick-opt:hover{border-color:hsl(var(--text));transform:translateY(-2px)}.pick-opt input{opacity:0;pointer-events:none;position:absolute}.pick-opt b{font-size:.9375rem}.pick-opt small{color:hsl(var(--text-muted));font-size:.75rem;line-height:1.3}.pick-opt.is-on{border-color:hsl(var(--accent));background:hsl(var(--accent-soft));box-shadow:0 0 0 1px hsl(var(--accent))}:is(.pick-opt:has(input:focus-visible),.amount:has(input:focus-visible)){outline:2px solid hsl(var(--accent));outline-offset:2px}.amounts{flex-wrap:wrap;gap:8px;display:flex}.amount{border:1.5px solid hsl(var(--border));min-width:56px;height:42px;font:700 1rem var(--font-display);cursor:pointer;background:hsl(var(--bg));border-radius:999px;justify-content:center;align-items:center;padding:0 16px;display:inline-flex;position:relative}.amount input{opacity:0;pointer-events:none;position:absolute}.amount.is-on{background:hsl(var(--text));color:hsl(var(--bg));border-color:hsl(var(--text))}.pick-toggles{flex-direction:column;gap:6px;display:flex}.pick-tags{flex-direction:column;gap:8px;display:flex}.chip-tag{border:1.5px solid hsl(var(--border));background:hsl(var(--bg));height:32px;font:600 .8125rem var(--font-ui);cursor:pointer;color:inherit;border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.chip-tag small{color:hsl(var(--text-muted));font-family:var(--font-mono)}.chip-tag[aria-pressed=true]{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-color:hsl(var(--accent))}.chip-tag[aria-pressed=true] small{color:inherit;opacity:.8}.bulk-head{flex-wrap:wrap;align-items:center;gap:14px;padding:2px 4px;display:flex}.bulk-tip{font-size:.8125rem}.bulk.is-floating{z-index:45;background:hsl(var(--text));width:min(880px,100vw - 32px);color:hsl(var(--bg));box-shadow:var(--sh2);border:0;border-radius:20px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;animation:.25s both rise;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}@media (width>=900px){.bulk.is-floating{left:calc(50% + var(--sidebar-w) / 2)}}@media (width<=899px){.bulk.is-floating{bottom:calc(var(--bottom-nav-h) + 12px)}}.bulk.is-floating .bulk-count{margin-right:auto;font-weight:600}.bulk.is-floating .bulk-count b{font-family:var(--font-mono);font-size:1.1rem}.bulk.is-floating .btn{background:hsl(var(--bg) / .12);color:hsl(var(--bg));border-color:hsl(var(--bg) / .25)}.bulk.is-floating .btn:hover{box-shadow:inset 0 0 0 2px hsl(var(--bg));background:hsl(var(--bg) / .18)}.bulk.is-floating .btn-quiet{background:0 0;border-color:#0000}.bulk.is-floating .btn-primary{background:hsl(var(--bg));color:hsl(var(--text))}.bulk.is-floating .btn-danger{background:hsl(var(--s-fail-fill));color:#fff;border-color:#0000}.bulk.is-floating .icon-btn{color:hsl(var(--bg))}.bulk.is-floating .bulk-panel{background:hsl(var(--bg));color:hsl(var(--text));border-radius:14px;flex-wrap:wrap;flex:100%;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.bulk.is-floating .bulk-panel .btn{background:hsl(var(--surface));color:hsl(var(--text));border-color:hsl(var(--border))}.bulk.is-floating .bulk-panel .btn-primary{background:hsl(var(--text));color:hsl(var(--bg))}.gcard[data-selected=true],.browse-row.is-picked{box-shadow:0 0 0 2px hsl(var(--accent))}.modal-backdrop{z-index:90}.palette-backdrop{z-index:95}.toasts{z-index:100}.hintbar{z-index:80}.menu{z-index:60}.fpop{font:500 .9375rem/1.4 var(--font-ui);letter-spacing:0;max-width:min(360px,92vw);color:hsl(var(--text));font-style:normal}.fpop-list label{font-weight:500}.tree-name,.exp-name,.pano-name,.next-name,.rank-name{text-wrap:balance}.metro-row.branch{border-left:6px solid var(--fc);border-bottom:6px solid var(--fc);background:color-mix(in srgb, var(--fc) 6%, transparent);border-radius:0 0 0 26px;margin-left:24px;padding:18px 12px 8px 20px;animation:.3s both rise;position:relative}.branch-label{font:700 .6875rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--fc) 75%, hsl(var(--text)));margin-bottom:8px;display:block}.station.is-open .station-dot{box-shadow:0 0 0 4px hsl(var(--surface)), 0 0 0 8px var(--fc)}@media (width<=1180px){.tags-split{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.set-line{grid-template-columns:minmax(0,1fr)}}.set-line>*,.split>*,.imp-dest>*,.pick-grid>*{min-width:0}.dots{max-width:100%}.restore-box{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.restore-box input[type=file]{max-width:100%}.name-ask{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 10px;display:flex}.name-ask .input{max-width:200px}.scope{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 12px;display:flex}.scope-label{text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--ink-3,0 0% 45%));font-size:.78rem}.scope-chip{border:1px solid hsl(var(--line,0 0% 80%));background:hsl(var(--surface,0 0% 100%));font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.86rem;display:inline-flex}.scope-chip small{opacity:.65}.scope-chip.is-on{background:var(--fc,hsl(var(--accent)));border-color:var(--fc,hsl(var(--accent)));color:#fff}.subjects{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.subject{border:1px solid hsl(var(--line,0 0% 85%));border-left:5px solid var(--fc,hsl(var(--accent)));background:hsl(var(--surface,0 0% 100%));color:inherit;border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;display:flex}.subject:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.subject span{opacity:.7;font-size:.8rem}.login{background:hsl(var(--bg,0 0% 98%));place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;border:1px solid hsl(var(--line,0 0% 85%));background:hsl(var(--surface,0 0% 100%));border-radius:16px;flex-direction:column;align-items:center;gap:14px;max-width:420px;padding:36px 28px;display:flex;box-shadow:0 10px 40px #00000014}.login-card h1{font-family:var(--font-display,inherit);margin:0;font-size:2rem}.login-err{color:hsl(var(--s-bad,0 70% 45%));margin:0;font-size:.9rem}.imp-rules{border:1px dashed hsl(var(--line,0 0% 80%));border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.imp-rules summary{cursor:pointer;margin:4px 0;font-size:.88rem}.sec-dot{font-weight:700}button.imp-kind{font:inherit;cursor:pointer}.modal-backdrop{justify-content:center;align-items:flex-start;padding:16px;display:flex;overflow-y:auto}.modal{max-height:none;margin:auto;overflow:visible}.modal .editor-actions{z-index:2;background:linear-gradient(transparent, hsl(var(--surface,var(--bg))) 28%);margin-top:4px;padding:12px 0 2px;position:sticky;bottom:0}.style-dlg{max-height:min(calc(86dvh / var(--ui-scale,1)), 860px)}.type-desc p{margin:0 0 6px}.type-flow{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 6px;padding:0;list-style:none;display:flex}.type-flow li{border:1px solid hsl(var(--border));background:hsl(var(--text) / .04);border-radius:6px;padding:3px 9px;font-size:.8rem}.type-flow li+li:before{content:"→";opacity:.5;margin-right:8px}.type-flow li+li{border-left-width:1px}.type-makes{color:hsl(var(--text-muted));font-size:.82rem}.rail-lead{color:hsl(var(--text-muted));margin:0 0 8px;font-size:.85rem}.rail-sub{font:700 .68rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted));margin:12px 0 2px}.qv-row span small{color:hsl(var(--text-muted));font-size:.76rem;font-weight:400;line-height:1.3;display:block}.where{border:0;gap:8px;margin:0;padding:0;display:grid}.where-opt{border:1px solid hsl(var(--border));cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr;column-gap:10px;padding:10px 12px;display:grid}.where-opt input{grid-row:span 2;align-self:center}.where-opt small{color:hsl(var(--text-muted));font-size:.8rem}.where-opt.is-on{border-color:hsl(var(--accent));background:hsl(var(--accent) / .07)}.where-preview{color:hsl(var(--text-muted));margin:0;font-size:.85rem}.sim{gap:6px;display:grid}.sim-title{font-size:.85rem;font-weight:600}.sim-line{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sim-line li{background:hsl(var(--accent) / .1);border-radius:999px;padding:4px 10px;font-size:.85rem}.sim-line li+li:before{content:"→ ";opacity:.45}.pick-n{background:hsl(var(--text) / .08);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.78rem;font-style:normal;font-weight:600}.pick-opt.is-empty{opacity:.55}.study-meta{justify-content:space-between;padding:12px 22px 10px 82px}.study-meta .study-path{flex:1;font-size:.78rem}.study-sub{z-index:1;box-sizing:content-box;align-items:center;gap:10px;min-height:36px;padding:10px 44px 0 82px;display:flex;position:relative}@media (width<=600px){.study-meta{padding:10px 14px 8px 44px}.study-sub{flex-wrap:wrap;padding:8px 18px 0 44px}}.case-pips{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.case-pips li{background:hsl(var(--text) / .14);border-radius:3px;flex:1;height:6px}.case-pips li.is-done{background:var(--fc,hsl(var(--accent)));opacity:.55}.case-pips li.is-now{background:var(--fc,hsl(var(--accent)))}.study .study-card{padding-top:12px}@media (width<=600px){.study .study-card{padding-top:8px}}.sync-banner{background:hsl(var(--s-learn-fill,38 90% 50%) / .16);border:1px solid hsl(var(--s-learn-fill,38 90% 50%) / .5);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;font-size:.9rem;display:flex}.imp-sample{border-top:1px dashed hsl(var(--border));justify-items:start;gap:8px;margin-top:28px;padding-top:16px;display:grid}.style-ex{border:1px solid hsl(var(--border));border-radius:12px;gap:10px;padding:10px 14px;display:grid}.style-ex summary{cursor:pointer;font-weight:600}.ex-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.ex-card{border:1px solid hsl(var(--border));background:hsl(var(--text) / .03);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.ex-card.is-chosen{border-color:hsl(var(--accent));background:hsl(var(--accent) / .07)}.ex-card header{justify-content:space-between;align-items:center;gap:6px;display:flex}.ex-card header em{text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--accent));font-size:.7rem;font-style:normal}.ex-when{color:hsl(var(--text-muted));margin:0;font-size:.8rem}.ex-body{flex:1;gap:6px;font-size:.88rem;display:grid}.ex-q{font-weight:600}.ex-a{border-top:1px dashed hsl(var(--border));padding-top:6px}.ex-extra{color:hsl(var(--text-muted));font-size:.8rem}.ex-opts,.ex-steps{gap:4px;margin:0;padding-left:18px;display:grid}.ex-opts li.is-ok{color:hsl(var(--s-ok,140 50% 32%));font-weight:600}.ex-opts small{color:hsl(var(--text-muted));font-weight:400}.ex-body mark{background:hsl(var(--accent) / .22);border-radius:3px;padding:0 3px}.side-sync{color:hsl(var(--text-muted));border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.74rem;text-decoration:none;display:flex}.side-sync i{background:hsl(var(--s-ok-fill,150 55% 40%));border-radius:50%;flex:none;width:8px;height:8px}.side-sync.is-syncing i{background:hsl(var(--accent));animation:1s ease-in-out infinite pulse}.side-sync.is-bad{color:hsl(var(--s-fail-fill,0 65% 45%))}.side-sync.is-bad i{background:currentColor}@keyframes pulse{50%{opacity:.3}}[data-rail="1"] .side-sync .side-text{display:none}.exam{border:1px solid hsl(var(--border));border-left:5px solid hsl(var(--accent));background:hsl(var(--text) / .03);border-radius:12px;align-items:center;gap:16px;padding:14px 18px;display:flex}.exam.is-behind{border-left-color:hsl(var(--s-learn-fill,38 90% 50%))}.exam.is-past{opacity:.75}.exam-days{justify-items:center;min-width:64px;line-height:1;display:grid}.exam-days b{font-size:2.6rem}.exam-days span{font:600 .7rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--text-muted))}.exam-body{justify-items:start;gap:4px;display:grid}.exam-body p{color:hsl(var(--text-muted));margin:0;font-size:.9rem}.exam-ask{color:hsl(var(--text-muted));margin:0;font-size:.85rem}.snap-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.snap-list li{border:1px solid hsl(var(--border));border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.85rem;display:flex}.sec-band{z-index:1;background:hsl(var(--sec));color:#fff;font:700 .72rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 22px 6px 82px;position:relative}.study[data-sec]{background-position:0 0,0 86px}@media (width<=600px){.sec-band{padding-left:44px}}.sec-chip{border-color:hsl(var(--sc))}.sec-chip[aria-pressed=true]{background:hsl(var(--sc));color:#fff}@media (width<=899px){.app[data-studying="1"] .bottom-nav{display:none}.app[data-studying="1"] .content{padding-bottom:28px}}.enarm-card{border:2px solid hsl(var(--accent));background:linear-gradient(135deg, hsl(var(--accent) / .12), hsl(var(--accent) / .03));border-radius:18px;padding:22px 26px}.enarm-text{gap:10px;max-width:760px;display:grid}.enarm-text h2{font:700 1.7rem/1.1 var(--font-display);letter-spacing:-.02em;margin:0}.enarm-text p{margin:0}.enarm-facts{color:hsl(var(--text-muted));gap:4px;margin:0;padding-left:20px;font-size:.92rem;display:grid}.other-starts{gap:10px;display:grid}.enarm-hint{justify-items:end;gap:6px;display:grid}.enarm-hint .enarm-card{justify-self:stretch}.imp-tried-note{background:hsl(var(--accent) / .12);border:1px solid hsl(var(--accent) / .45);border-radius:10px;margin:0 0 10px;padding:10px 14px;font-size:.92rem}.link-btn{font:inherit;color:hsl(var(--accent-text,var(--accent)));cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.org-block{border:1px solid hsl(var(--border));border-radius:14px;gap:12px;padding:18px;display:grid}.org-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.org-row .field{flex:220px;min-width:0}.org-many{gap:8px;display:grid}.org-bar{bottom:calc(var(--bottom-nav-h,0px) + 8px);z-index:5;background:hsl(var(--text));color:hsl(var(--bg));box-shadow:var(--sh2);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex;position:sticky}.org-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.org-actions .field span{display:none}.org-actions input{max-width:200px}.exp-name,.next-name,.metro-name,.station-name,.folder-h1,.tile-name,.map-detail h2,.rank-name,.pano-name{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.card-text,.rich{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}h1,h2,h3{text-wrap:balance}.exp-body{min-height:190px}.exp-body header{max-width:100%}.exp-name{font-size:1.5rem}.exp-name.is-long{font-size:1.28rem}.exp-name.is-xl{font-size:1.12rem;line-height:1.15}.exp-art{opacity:.13;top:6px;right:-10px}.exp-index li{align-items:flex-start}.exp-index li span{white-space:normal;text-overflow:clip;max-width:78%;line-height:1.25;overflow:visible}.exp-index li i{margin-top:.9em}.exp-index li b{padding-top:1px}@media (width<=700px){.exps{grid-template-columns:1fr}}.side-resize{cursor:col-resize;z-index:5;width:9px;position:absolute;top:0;bottom:0;right:-4px}.side-resize:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:4px}.side-resize:hover:after,.side-resize:focus-visible:after{background:hsl(var(--accent) / .6)}.sidebar{position:sticky}.side-top{padding-bottom:4px}.nav{padding:2px 0 4px}.nav-link{min-height:38px}.subnav{margin:0 0 4px 20px}.subnav-link{min-height:28px}.side-actions{padding-bottom:4px}.side-foot{padding-top:6px}.side-icons{flex-direction:row;justify-content:space-between;gap:2px}.side-icons .side-link{flex:1;justify-content:center;min-height:36px;padding:0}.sidebar-scroll{padding:6px 0 8px}.tree-row{align-items:flex-start;min-height:32px;padding-block:3px}.tree-name{white-space:normal;-webkit-line-clamp:3;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;padding-top:3px;line-height:1.25;display:-webkit-box;overflow:hidden}.tree-chevron,.tree-icon{margin-top:2px}.tree-children{margin-left:10px;padding-left:2px}@media (width<=899px){.side-resize{display:none}}.subnav{border-left:0;flex-flow:wrap;gap:4px;margin:2px 0 6px 6px;padding-left:0}.subnav-link{border:1px solid hsl(var(--border));border-radius:999px;min-height:26px;padding:0 10px;font-size:.78rem}.subnav-link i{display:none}.subnav-link[aria-current=page]{background:hsl(var(--text));color:hsl(var(--bg));border-color:hsl(var(--text))}.sel{min-width:0;max-width:100%;display:inline-block;position:relative}.field .sel,.set-fields .sel,.org-row .sel{display:block}.sel-trigger{text-align:left;width:100%;min-height:40px;font:inherit;color:hsl(var(--text));background:hsl(var(--surface));border:1.5px solid hsl(var(--border));cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.sel-trigger:hover{border-color:hsl(var(--text) / .5)}.sel-trigger[aria-expanded=true],.sel-trigger:focus-visible{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .22);outline:none}.sel-trigger[disabled]{opacity:.55;cursor:not-allowed}.sel-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sel-value.is-placeholder{color:hsl(var(--text-muted))}.sel-trigger svg{color:hsl(var(--text-muted));flex:none;transition:transform .15s}.sel-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.sel-panel{z-index:120;background:hsl(var(--surface));border:1.5px solid hsl(var(--border));border-radius:12px;flex-direction:column;width:max-content;min-width:100%;max-width:min(460px,92vw);animation:.12s both pop;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 18px 44px -12px #00000073}.sel-panel.is-up{top:auto;bottom:calc(100% + 6px)}.sel-search{border-bottom:1px solid hsl(var(--border));color:hsl(var(--text-muted));align-items:center;gap:8px;padding:8px 12px;display:flex}.sel-search input{min-width:0;font:inherit;color:hsl(var(--text));min-height:0;box-shadow:none;background:0 0;border:0;outline:0;flex:1;padding:4px 0}.sel-list{outline:0;max-height:min(340px,52vh);margin:0;padding:4px;list-style:none;overflow-y:auto}.sel-opt{padding:7px 10px 7px calc(10px + var(--d,0) * 14px);cursor:pointer;border-radius:8px;align-items:baseline;gap:10px;line-height:1.3;display:flex}.sel-opt.is-active{background:hsl(var(--accent) / .14)}.sel-opt.is-on{font-weight:700}.sel-label{overflow-wrap:break-word;flex:1;min-width:0}.sel-hint{max-width:55%;color:hsl(var(--text-muted));text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:.75rem;overflow:hidden}.sel-opt svg{color:hsl(var(--accent-text,var(--accent)));flex:none;align-self:center}.sel-none{text-align:center;color:hsl(var(--text-muted));padding:14px;font-size:.9rem}.app:before{background:radial-gradient(1100px 620px at 100% -12%, hsl(var(--accent) / calc(.12 * var(--wash))), transparent 70%), radial-gradient(820px 540px at 6% 112%, hsl(var(--accent2) / calc(.12 * var(--wash))), transparent 70%)}[data-sidebar=tinted] .sidebar{background:linear-gradient(180deg, color-mix(in srgb, hsl(var(--accent)) calc(8% * var(--wash)), hsl(var(--sidebar-bg))), color-mix(in srgb, hsl(var(--accent2)) calc(8% * var(--wash)), hsl(var(--sidebar-bg))))}.eyebrow:before{background:hsl(var(--accent2));box-shadow:0 0 0 3px hsl(var(--accent2) / .2)}.today-ring .ring .value{stroke:hsl(var(--accent2))}.today-ring .ring .track{stroke:hsl(var(--accent2) / .16)}.hero2,.today{background-image:radial-gradient(520px 240px at -5% 120%, hsl(var(--accent2) / calc(.14 * var(--wash))), transparent 70%)}.today-card:before{background:linear-gradient(90deg, hsl(var(--accent) / calc(.7 * var(--wash))), hsl(var(--accent2) / calc(.5 * var(--wash))) 70%, transparent)}.set-sec-head i,.set-nav a.is-on i{color:hsl(var(--accent2))}.set-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:28px;display:grid}.set-nav{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:18px;flex-direction:column;gap:4px;padding:10px;display:flex;position:sticky;top:18px}.set-nav a{color:inherit;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.set-nav a:hover{background:hsl(var(--text) / .06);text-decoration:none}.set-nav a.is-on{background:hsl(var(--accent) / .14)}.set-nav i{font:700 .8rem var(--font-mono);color:hsl(var(--text-muted));font-style:normal}.set-nav b{display:block}.set-nav small{color:hsl(var(--text-muted));font-size:.78rem;line-height:1.25;display:block}.set-main{flex-direction:column;gap:44px;min-width:0;display:flex}.set-sec{flex-direction:column;gap:16px;scroll-margin-top:20px;display:flex}.set-sec-head{border-bottom:2px solid hsl(var(--text));align-items:baseline;gap:16px;padding-bottom:10px;display:flex}.set-sec-head i{font:700 1.1rem var(--font-mono);font-style:normal}.set-sec-head h2{font:700 2rem/1.05 var(--font-display);letter-spacing:-.03em;margin:0}.set-sec-head p{margin:4px 0 0}.set-sec-body{flex-direction:column;gap:18px;display:flex}@media (width<=900px){.set-layout{grid-template-columns:1fr}.set-nav{z-index:20;scrollbar-width:none;border-radius:14px;flex-direction:row;padding:6px;position:sticky;top:0;overflow-x:auto}.set-nav a{flex:none;padding:8px 12px}.set-nav small{display:none}}.ret{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.ret-card{border:2px solid hsl(var(--border));cursor:pointer;background:hsl(var(--surface));border-radius:16px;flex-direction:column;gap:8px;padding:14px 16px;display:flex;position:relative}.ret-card input{opacity:0;cursor:pointer;position:absolute;inset:0}.ret-card.is-on{border-color:hsl(var(--accent));background:hsl(var(--accent) / .09);box-shadow:0 0 0 3px hsl(var(--accent) / .18)}.ret-head{justify-content:space-between;align-items:baseline;display:flex}.ret-head b{font:700 1.2rem var(--font-display)}.ret-head .num{font:700 1rem var(--font-mono);color:hsl(var(--accent-text))}.ret-text{color:hsl(var(--text-muted));font-size:.85rem}.ret-line{border-bottom:2px solid hsl(var(--border));height:38px;margin-top:6px;position:relative}.ret-line i{background:hsl(var(--accent));border-radius:50%;width:9px;height:9px;margin-left:-4px;position:absolute;bottom:-5px}.ret-line em{font:500 .62rem var(--font-mono);color:hsl(var(--text-muted));font-style:normal;position:absolute;bottom:-22px}.ret-line em:first-of-type{left:0}.ret-line em:nth-of-type(2){left:33%}.ret-line em:nth-of-type(3){left:66%}.ret-line em:nth-of-type(4){right:0}.ret-count{margin-top:22px;font-size:.88rem}.ret-count b{font-size:1.1rem}.btn-ex{gap:8px;margin-top:4px;display:grid}.btn-ex ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.btn-ex li{border:1px solid hsl(var(--border));border-left-width:5px;border-radius:12px;gap:2px;padding:10px 12px;display:grid}.btn-ex li span{font-weight:700}.btn-ex li em{font:700 1.15rem var(--font-mono);font-style:normal}.btn-ex li small{color:hsl(var(--text-muted));font-size:.75rem}.btn-ex .g1{border-left-color:hsl(var(--s-fail-fill))}.btn-ex .g2{border-left-color:hsl(var(--s-learn-fill))}.btn-ex .g3{border-left-color:hsl(var(--s-review-fill))}.btn-ex .g4{border-left-color:hsl(var(--s-new-fill))}.wash{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.wash-opt{border:2px solid hsl(var(--border));cursor:pointer;border-radius:14px;gap:4px;padding:12px 14px;display:grid;position:relative}.wash-opt input{opacity:0;cursor:pointer;position:absolute;inset:0}.wash-opt small{color:hsl(var(--text-muted));font-size:.8rem;line-height:1.3}.wash-opt.is-on{border-color:hsl(var(--accent));background:hsl(var(--accent) / .09)}.duo{gap:10px;display:grid}.dot-auto{background:linear-gradient(135deg, hsl(var(--accent)) 50%, hsl(var(--accent2)) 50%);color:#fff;font:700 .75rem var(--font-mono);place-items:center;display:grid}.ap{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:16px;grid-template-columns:110px 1fr;min-height:190px;display:grid;position:relative;overflow:hidden}.ap:before{content:"";background:radial-gradient(300px 160px at 100% 0, hsl(var(--accent) / calc(.12 * var(--wash))), transparent 70%), radial-gradient(260px 150px at 0 100%, hsl(var(--accent2) / calc(.12 * var(--wash))), transparent 70%);position:absolute;inset:0}.ap-side{background:linear-gradient(180deg, color-mix(in srgb, hsl(var(--accent)) calc(8% * var(--wash)), hsl(var(--sidebar-bg))), color-mix(in srgb, hsl(var(--accent2)) calc(8% * var(--wash)), hsl(var(--sidebar-bg))));border-right:1px solid hsl(var(--border));flex-direction:column;gap:8px;padding:12px;display:flex;position:relative}.ap-side b{font:800 .9rem var(--font-display)}.ap-side i{background:hsl(var(--text) / .12);border-radius:5px;height:9px}.ap-side i.on{background:hsl(var(--accent))}.ap-main{align-content:start;gap:10px;padding:14px;display:grid;position:relative}.ap-hero{border:1px solid color-mix(in srgb, hsl(var(--accent)) calc(22% * var(--wash)), hsl(var(--border)));background:linear-gradient(135deg, color-mix(in srgb, hsl(var(--accent)) calc(7% * var(--wash)), hsl(var(--surface))), hsl(var(--surface)) 70%);border-radius:12px;justify-items:start;gap:4px;padding:12px 14px;display:grid}.ap-hero b{font:700 1.1rem var(--font-display)}.ap-hero span{color:hsl(var(--text-muted));font-size:.75rem}.ap-hero u{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700;text-decoration:none}.ap-row{flex-wrap:wrap;gap:6px;display:flex}.ap-chip{border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:700}.ap-chip.c1{background:hsl(var(--s-new-soft));color:hsl(var(--s-new-text))}.ap-chip.c2{background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text))}.ap-chip.c3{background:hsl(var(--accent2-soft));color:hsl(var(--accent2-text))}.ap-ficha{border:1px solid hsl(var(--border));background:hsl(var(--ficha));font-size:.8rem;font-family:var(--font-content);border-radius:4px 12px 4px 4px;padding:10px 14px 10px 30px;position:relative}.ap-ficha small{font:600 .56rem var(--font-mono);letter-spacing:.12em;color:hsl(var(--text-muted));display:block}.ap-ficha:before{content:"";background:hsl(var(--ficha-margin) / .65);width:1px;position:absolute;top:0;bottom:0;left:22px}.hoy{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:26px;display:grid}.hoy-main,.hoy-rail{flex-direction:column;gap:22px;min-width:0;display:flex}.hoy-rail{position:sticky;top:18px}.today{padding:30px 34px 28px;display:block}.today-main{gap:6px;max-width:640px}.today-main .today-parts{flex-flow:wrap;gap:8px;margin:2px 0 10px}.today-main .today-parts li{flex:130px;padding:8px 14px}.today-main .today-parts b{font-size:1.5rem}.today-count .display{font-size:clamp(5rem,11vw,7.5rem)}.rail-ring{text-align:center;align-items:center}.rail-ring .goal{width:100%}.hoy-rail .sumrow{grid-template-columns:1fr 1fr;gap:10px}.hoy-rail .sumrow .sum{border-radius:14px;gap:10px;padding:11px 12px}.hoy-rail .sumrow .sum:nth-child(5){grid-column:1/-1}.hoy-rail .sum b{font-size:1.2rem}.hoy-rail .sum-ic{border-radius:10px;width:32px;height:32px}.hoy-rail .exam{flex-direction:column;align-items:flex-start;gap:8px}.hoy-rail .exam-days{grid-auto-flow:column;place-items:baseline start;gap:8px}.hoy-rail .exam-days b{font-size:2.2rem}.hoy-main .today-card{align-items:stretch}@media (width<=1180px){.hoy{grid-template-columns:1fr}.hoy-rail{grid-template-columns:1fr 1fr;gap:16px;display:grid;position:static}.hoy-rail>.sumrow,.hoy-rail>.week-card{grid-column:auto}}@media (width<=700px){.hoy-rail{grid-template-columns:1fr}.today{padding:22px 20px}}.today-main .today-parts{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.today-main .today-parts li{flex:none;gap:8px;min-width:0;padding:8px 12px}.today-main .today-parts span{letter-spacing:.08em;text-overflow:ellipsis;font-size:.6rem;overflow:hidden}@media (width<=520px){.today-main .today-parts{grid-template-columns:1fr}}.ed-head{border-bottom:2px solid hsl(var(--text));grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.ed-head h2{font:700 1.7rem/1 var(--font-display);letter-spacing:-.03em;margin:0}.ed-where{font-size:.85rem}.ed-where b{color:hsl(var(--text))}.ed-step{flex-direction:column;gap:10px;display:flex}.ed-step+.ed-step{border-top:1px dashed hsl(var(--border));padding-top:14px}.ed-step-h{font:700 .72rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--text-muted));align-items:center;gap:10px;margin:0;display:flex}.ed-step-h i{background:hsl(var(--text));width:22px;height:22px;color:hsl(var(--bg));border-radius:50%;place-items:center;font-style:normal;display:grid}.type-picker{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;display:grid}.type-card{border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;height:auto;padding:10px 12px}.type-card small{color:hsl(var(--text-muted));white-space:normal;font-size:.72rem;line-height:1.25;display:block}.type-card.is-on small{color:inherit;opacity:.8}.type-card b{white-space:normal;line-height:1.15}.ed-sections{gap:6px;display:grid}.editor-side{border:1px solid hsl(var(--border));background:hsl(var(--surface-2) / .5);border-radius:16px;padding:14px;top:8px}.ed-status{border-radius:999px;align-self:flex-start;margin:0;padding:6px 12px;font-size:.82rem;font-weight:700}.ed-status.is-ok{background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text))}.ed-status.is-todo{background:hsl(var(--s-learn-soft));color:hsl(var(--s-learn-text))}.ed-keys{color:hsl(var(--text-muted));align-self:center;margin-right:auto;font-size:.76rem}.ed-keys kbd{border:1px solid hsl(var(--border));font:600 .7rem var(--font-mono);background:hsl(var(--surface-2));border-radius:5px;padding:1px 6px}@media (width<=700px){.ed-keys{display:none}.type-picker{grid-template-columns:repeat(2,1fr)}}.batch-box{border:2px dashed hsl(var(--border));background:hsl(var(--text) / .03);border-radius:14px;gap:8px;padding:14px 16px;display:grid}.batch-box:hover{border-color:hsl(var(--accent))}.batch-sum{border:1px solid hsl(var(--border));background:hsl(var(--text) / .03);border-radius:12px;gap:8px;margin-bottom:8px;padding:12px 14px;display:grid}.batch-sum p{margin:0}.batch-files{gap:2px;max-height:260px;margin:8px 0 0;padding:0;font-size:.8rem;list-style:none;display:grid;overflow:auto}.batch-files li{border-radius:6px;justify-content:space-between;gap:12px;padding:3px 6px;display:flex}.batch-files li span{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;overflow:hidden}.batch-files em{color:hsl(var(--text-muted));flex:none;font-style:normal}.batch-files .bf-ok em{color:hsl(var(--s-review-text))}.batch-files .bf-error em{color:hsl(var(--s-fail-text))}.pulse,.trace-paper{background-color:hsl(var(--surface));background-image:linear-gradient(hsl(var(--paper-line) / .17) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .17) 1px, transparent 1px), linear-gradient(hsl(var(--paper-line) / .075) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .075) 1px, transparent 1px);background-size:28px 28px,28px 28px,7px 7px,7px 7px}.pulse-beat{fill:none;stroke:hsl(var(--sf,var(--accent)));stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.pulse-beat.g1{--sf:var(--s-fail-fill)}.pulse-beat.g2{--sf:var(--s-learn-fill)}.pulse-beat.g3{--sf:var(--s-review-fill)}.pulse-beat.g4{--sf:var(--s-new-fill)}.pulse-base{stroke:hsl(var(--text-muted) / .4);stroke-width:1px;stroke-dasharray:2 5}.pulse-beat.is-new,.pulse-beat.is-draw{stroke-dasharray:1 1;animation:.8s cubic-bezier(.35,0,.2,1) both pulse-draw}.pulse-beat.is-draw{animation-timing-function:linear}@keyframes pulse-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pulse-blink{0%,to{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}.pulse{border:1px solid hsl(var(--border));min-width:150px;box-shadow:var(--sh1);border-radius:14px;flex:0 300px;padding:7px 12px 5px;transition:border-color .5s,box-shadow .5s;position:relative;overflow:hidden}.pulse-view{justify-content:flex-end;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24%);mask-image:linear-gradient(90deg,#0000 0,#000 24%)}.pulse-svg{aspect-ratio:448/48;flex:none;width:auto;height:40px;display:block;overflow:visible}.pulse-run{filter:drop-shadow(0 0 3px hsl(var(--accent) / .3));transition:transform .6s cubic-bezier(.2,.8,.2,1)}.pulse-head{fill:hsl(var(--accent));transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 4px hsl(var(--accent)));animation:1.15s ease-in-out infinite pulse-blink}.pulse-cap{font:700 .5625rem/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--text-muted));white-space:nowrap;justify-content:space-between;gap:8px;margin-top:1px;display:flex}.pulse-rhythm{text-overflow:ellipsis;transition:color .3s;overflow:hidden}.pulse-rhythm b{color:hsl(var(--accent-text));font-weight:800}.pulse[data-rhythm=sinusal] .pulse-rhythm{color:hsl(var(--s-review-text))}.pulse[data-rhythm=esfuerzo] .pulse-rhythm,.pulse[data-rhythm=ocasional] .pulse-rhythm{color:hsl(var(--s-learn-text))}.pulse[data-rhythm=frecuente] .pulse-rhythm,.pulse[data-rhythm=marcada] .pulse-rhythm{color:hsl(var(--s-fail-text))}.pulse[data-hot="1"]{border-color:hsl(var(--accent) / .6);box-shadow:var(--sh1), 0 0 0 3px hsl(var(--accent) / .12), 0 0 30px -8px hsl(var(--accent) / .55)}.pulse[data-hot="1"] .pulse-head{animation-duration:.7s}@media (width<=1180px){.review-head{flex-wrap:wrap}.pulse{flex:1 0 100%;order:9}}.today>.heartline{z-index:0;pointer-events:none;width:min(52%,460px);height:92px;opacity:calc(.55 * var(--wash));position:absolute;top:18px;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 30% 85%,#0000)}.heartline svg{width:200%;height:100%;animation:15s linear infinite heartline-run;display:block}.heartline path{fill:none;stroke:hsl(var(--accent));stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px hsl(var(--accent) / .45))}@keyframes heartline-run{to{transform:translate(-50%)}}@media (width<=760px){.today>.heartline{width:70%;opacity:calc(.35 * var(--wash));top:10px}}[data-motion=reduced] .heartline svg{animation:none}@media (prefers-reduced-motion:reduce){[data-motion=full] .heartline svg{animation:none}}.seg-progress .step.is-done.g1{--sf:var(--s-fail-fill)}.seg-progress .step.is-done.g2{--sf:var(--s-learn-fill)}.seg-progress .step.is-done.g3{--sf:var(--s-review-fill)}.seg-progress .step.is-done.g4{--sf:var(--s-new-fill)}.seg-progress .step.is-current{animation:1.8s ease-in-out infinite step-breathe}@keyframes step-breathe{0%,to{box-shadow:0 0 0 2px hsl(var(--sf) / .35)}50%{box-shadow:0 0 0 5px hsl(var(--sf) / .12)}}.review-actions{position:relative}.rv-fly{z-index:6;pointer-events:none;background:hsl(var(--sf));color:var(--on);font:700 .8125rem/1.2 var(--font-mono);letter-spacing:.04em;white-space:nowrap;box-shadow:0 12px 24px -10px hsl(var(--sf));border-radius:999px;padding:5px 13px;animation:1.1s cubic-bezier(.2,.8,.2,1) both rv-fly;position:absolute;top:-4px;left:50%;transform:translate(-50%)}@keyframes rv-fly{0%{opacity:0;transform:translate(-50%,16px)scale(.8)}16%{opacity:1;transform:translate(-50%,-8px)scale(1.05)}70%{opacity:1;transform:translate(-50%,-38px)scale(1)}to{opacity:0;transform:translate(-50%,-58px)scale(.96)}}.grade{overflow:hidden}.grade:before{content:"";pointer-events:none;background:#ffffff42;width:34%;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;top:-30%;bottom:-30%;left:-40%;transform:rotate(18deg)translate(-160%)}.grade:hover:before{transform:rotate(18deg)translate(560%)}.trace{--stamp-at:1.9s;border:1px solid hsl(var(--border));background:hsl(var(--surface));width:100%;box-shadow:var(--sh1);animation:rise .5s var(--ease) .15s both, thunk .34s ease calc(var(--stamp-at) + .27s);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.trace-head{font:700 .625rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--text-muted));border-bottom:1px dashed hsl(var(--border));justify-content:space-between;gap:12px;padding:9px 16px;display:flex}.trace-paper{padding:12px 16px 8px}.trace-svg{width:100%;height:auto;filter:drop-shadow(0 0 2px hsl(var(--accent) / .3));display:block}.trace-svg .pulse-beat{stroke-width:2.6px}.trace-foot{border-top:1px dashed hsl(var(--border));align-items:center;gap:16px;padding:12px 16px 14px;display:flex}.trace-read{flex:1;min-width:0;font-size:.9375rem;line-height:1.45}.trace-read b{font:700 1.05rem var(--font-display);letter-spacing:-.01em}.trace-read .nowrap{white-space:nowrap;font-size:inherit;color:inherit;margin:0;display:inline}.trace-read>span:not(.nowrap){color:hsl(var(--text-muted));margin-top:3px;font-size:.875rem;display:block}.summary .fig b{white-space:nowrap}.stamp-slot{flex:none;place-items:center;width:176px;height:76px;display:grid;position:relative}.stamp{text-align:center;max-width:170px;color:hsl(var(--s-review-text));opacity:.9;mix-blend-mode:multiply;filter:url(#ink-rough);animation:stamp-in .56s cubic-bezier(.3, .9, .3, 1) var(--stamp-at) both;border:3px double;border-radius:10px;justify-items:center;gap:3px;padding:8px 16px 7px;display:grid;position:relative;transform:rotate(-9deg)}.stamp b{font:800 2.15rem/1 var(--font-display);letter-spacing:.06em}.stamp small{font:700 .5625rem var(--font-mono);letter-spacing:.2em;text-transform:uppercase}.stamp[data-long] b{letter-spacing:.04em;font-size:1.2rem;line-height:1.05}.stamp[data-tone=warn]{color:hsl(var(--s-learn-text))}.stamp[data-tone=err]{color:hsl(var(--s-fail-text))}.stamp:after{content:"";opacity:0;animation:stamp-ring .6s ease-out calc(var(--stamp-at) + .27s) both;border:2px solid;border-radius:14px;position:absolute;inset:-7px}[data-mode=dark] .stamp{mix-blend-mode:normal}@keyframes stamp-in{0%{opacity:0;transform:rotate(-9deg)scale(2.7)}48%{opacity:.95;transform:rotate(-9deg)scale(.9)}68%{transform:rotate(-9deg)scale(1.05)}to{opacity:.9;transform:rotate(-9deg)scale(1)}}@keyframes stamp-ring{0%{opacity:.7;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}@keyframes thunk{0%,to{transform:none}30%{transform:translateY(3px)scale(.994)}}.trace-head span{white-space:nowrap}@media (width<=560px){.summary{padding:26px 18px}.summary .figs{grid-template-columns:repeat(2,minmax(0,1fr))}.summary .fig{border-bottom:1px dashed hsl(var(--border))}.summary .fig:nth-child(2n){border-right:0}.summary .fig:nth-last-child(-n+2){border-bottom:0}.summary .fig b{font-size:1.5rem}.trace-head{letter-spacing:.08em;padding:9px 12px}.trace-foot{flex-direction:column;align-items:stretch;gap:4px}.stamp-slot{width:100%}}[data-motion=reduced] .pulse-beat.is-new,[data-motion=reduced] .pulse-beat.is-draw,[data-motion=reduced] .stamp,[data-motion=reduced] .stamp:after,[data-motion=reduced] .trace,[data-motion=reduced] .rv-fly,[data-motion=reduced] .pulse-head,[data-motion=reduced] .seg-progress .step.is-current{animation:none}@media (prefers-reduced-motion:reduce){[data-motion=full] .pulse-beat.is-new,[data-motion=full] .pulse-beat.is-draw,[data-motion=full] .stamp,[data-motion=full] .stamp:after,[data-motion=full] .trace,[data-motion=full] .rv-fly,[data-motion=full] .pulse-head,[data-motion=full] .seg-progress .step.is-current{animation:none}}.set-actions{gap:8px;margin-top:10px;display:flex}:root{accent-color:hsl(var(--accent));caret-color:hsl(var(--accent));scrollbar-color:hsl(var(--accent) / .4) transparent}::selection{background:hsl(var(--accent) / .3);color:inherit}h1,h2,h3,.exp-name,.hero2-lead{text-wrap:balance}p,li{text-wrap:pretty}.btn-primary{position:relative;overflow:hidden}.btn-primary:after{content:"";background:hsl(var(--accent) / .55);mix-blend-mode:overlay;pointer-events:none;width:26%;transition:transform .75s cubic-bezier(.2,.8,.2,1);position:absolute;top:-40%;bottom:-40%;left:-30%;transform:rotate(20deg)translate(-200%)}.btn-primary:hover:after{transform:rotate(20deg)translate(700%)}.logo path{stroke-dasharray:1;stroke-dashoffset:0}.logo path[pathLength]{animation:1.1s cubic-bezier(.35,0,.2,1) .15s both logo-draw}.brand:hover .logo path[pathLength],.word:hover .logo path[pathLength],.login-card .logo path[pathLength]{animation:.9s cubic-bezier(.35,0,.2,1) both logo-draw}@keyframes logo-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.login-card .logo{animation:2.4s ease-in-out 1.2s infinite logo-beat}@keyframes logo-beat{0%,to{transform:scale(1)}8%{transform:scale(1.1)}16%{transform:scale(1)}24%{transform:scale(1.06)}34%{transform:scale(1)}}[data-motion=reduced] .logo path[pathLength],[data-motion=reduced] .login-card .logo{animation:none}@media (prefers-reduced-motion:reduce){[data-motion=full] .logo path[pathLength],[data-motion=full] .login-card .logo{animation:none}}.postpone{display:inline-flex;position:relative}.postpone-pop{z-index:20;background:hsl(var(--surface));border:1px solid hsl(var(--border));min-width:170px;box-shadow:var(--sh2);animation:pop var(--dur) var(--ease) both;border-radius:14px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.postpone-pop button{height:36px;color:hsl(var(--text));font:600 .875rem var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:0 10px;display:flex}.postpone-pop button:hover{background:hsl(var(--accent-soft))}.postpone-pop kbd{font:700 .6875rem var(--font-mono);border:1px solid hsl(var(--border));color:hsl(var(--text-muted));border-radius:5px;padding:1px 6px}.badge-hard{background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));border-color:hsl(var(--s-fail-fill) / .5)}.sched-panel{align-items:center}.sched-panel>*{flex:none;min-width:0}.sched-title{font:700 .8125rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--text-muted))}.sched-opts{flex-wrap:wrap;gap:6px;display:flex}.sched-date{align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.sched-sep{flex:1}.fine{align-items:center;gap:14px;display:flex}.fine input[type=range]{flex:1;min-width:160px}.fine output{font:700 1rem var(--font-mono);text-align:right;min-width:52px;color:hsl(var(--accent-text))}.cal-prev{background:hsl(var(--surface-2));border:1px dashed hsl(var(--border));border-radius:16px;gap:10px;padding:14px 16px;display:grid}.cal-prev>b{font:700 .9375rem var(--font-display)}.cal-prev ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cal-prev li{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-left:4px solid hsl(var(--accent));border-radius:12px;gap:1px;min-width:74px;padding:8px 12px;display:grid}.cal-prev li span{font:700 .9375rem var(--font-mono);text-transform:capitalize}.cal-prev li small{color:hsl(var(--text-muted));font:600 .6875rem var(--font-mono)}.ahead{grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:4px;height:132px;padding-top:6px;display:grid}.ahead-day{grid-template-rows:16px minmax(0,1fr) 14px 14px;place-items:end center;height:100%;display:grid;position:relative}.ahead-day b{font:700 .625rem var(--font-mono);color:hsl(var(--text-muted))}.ahead-day i{background:hsl(var(--accent) / .38);width:100%;max-width:20px;transition:height .5s var(--ease);border-radius:5px 5px 2px 2px;display:block}.ahead-day.is-today i{background:hsl(var(--s-fail-fill))}.ahead-day.is-peak i{background:hsl(var(--s-learn-fill))}.ahead-day.is-exam i{background:hsl(var(--accent2));box-shadow:0 0 0 2px hsl(var(--accent2) / .3)}.ahead-day small{font:700 .625rem var(--font-mono);color:hsl(var(--text-muted))}.ahead-day em{font:500 .5625rem var(--font-mono);color:hsl(var(--text-muted));opacity:.8;font-style:normal}.ahead-day.is-today small,.ahead-day.is-today b{color:hsl(var(--s-fail-text))}.way-badge{background:hsl(var(--accent));color:hsl(var(--accent-contrast));font:800 .5625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 7px;font-style:normal}.dropzone{text-align:center;border:2.5px dashed hsl(var(--accent) / .55);background:color-mix(in srgb, hsl(var(--accent)) 5%, hsl(var(--surface)));border-radius:20px;justify-items:center;gap:10px;padding:30px 22px;display:grid}.dropzone>b{font:700 1.25rem var(--font-display);text-wrap:balance}.dropzone .dz-art{color:hsl(var(--accent));opacity:.8}.dropzone[data-busy]{opacity:.7}.dz-busy{font:600 .875rem var(--font-mono);color:hsl(var(--accent-text));animation:1.4s ease-in-out infinite step-breathe}.how{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:14px;padding:10px 14px}.how summary{cursor:pointer;font-weight:700}.how ol{gap:6px;margin:10px 0 2px;padding-left:20px;display:grid}.imp-rules{color:hsl(var(--text-muted));gap:6px;margin:0;padding-left:18px;font-size:.9rem;display:grid}.imp-rules b{color:hsl(var(--text))}.drop-veil{z-index:400;pointer-events:none;background:hsl(var(--bg) / .78);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);place-items:center;animation:.15s both fade;display:grid;position:fixed;inset:0}.drop-card{border:3px dashed hsl(var(--accent));background:hsl(var(--surface));box-shadow:var(--sh2);color:hsl(var(--accent-text));animation:pop .25s var(--ease) both;border-radius:28px;justify-items:center;gap:6px;padding:42px 54px;display:grid}.drop-card b{font:800 1.7rem var(--font-display);color:hsl(var(--text));letter-spacing:-.02em}.drop-card span{color:hsl(var(--text-muted))}.tm-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tm-show{flex-wrap:wrap;gap:6px;margin-right:auto;display:flex}.tm-show .view-chip{height:32px;padding:0 12px;font-size:.8125rem}.tm-sum{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tm-dupes{background:hsl(var(--s-learn-soft));border:1px solid hsl(var(--s-learn-fill) / .45);border-radius:16px;gap:8px;padding:14px 16px;display:grid}.tm-dupes h3{font:700 .9375rem var(--font-display);color:hsl(var(--s-learn-text));align-items:center;gap:8px;display:flex}.tm-dupes ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tm-dupes li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.tm-bulk{z-index:12;background:hsl(var(--surface));border:1.5px solid hsl(var(--accent) / .6);box-shadow:var(--sh2);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;top:8px}.tm-merge{align-items:center;gap:6px;display:inline-flex}.tm-merge input{width:190px}.tm-paint{align-items:center;gap:5px;display:inline-flex}.tm-paint .td-dot{flex:none;width:20px;height:20px}.tm-gname{height:30px;font:700 1rem var(--font-display);padding:0 10px}.tag-group-sec>header{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.tag-group-sec>header .link-btn{margin-left:0;font-size:.75rem}.tag-group-sec>header small{margin-right:auto}.tm-sections{grid-column:1/-1}.tm-sections .tag-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:18px;display:grid}.tag-row{align-items:center;gap:4px;display:flex}.tr-check{opacity:.35;cursor:pointer;flex:none;width:17px;height:17px;margin-left:6px;transition:opacity .15s}.tag-row:hover .tr-check,.tr-check:checked,.tag-row:focus-within .tr-check{opacity:1}.tag-row.is-picked{background:hsl(var(--accent) / .07);border-radius:10px}.tag-pick{flex-wrap:wrap;flex:1;justify-content:flex-start;min-width:0}.tag-pick>.muted{margin-left:auto}.tr-bar{background:hsl(var(--surface-2));width:56px;height:5px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:3px;flex:none;display:inline-flex;overflow:hidden}.tr-bar u{height:100%;text-decoration:none;display:block}.tr-bar .m,.tree-bar .m{background:hsl(var(--s-master-fill))}.tr-bar .r,.tree-bar .r{background:hsl(var(--s-review-fill))}.tr-bar .n{background:hsl(var(--s-new-fill) / .55)}.tr-due{background:hsl(var(--s-fail-soft));min-width:22px;color:hsl(var(--s-fail-text));font:700 .6875rem var(--font-mono);text-align:center;border-radius:999px;flex:none;padding:1px 7px}.tag-cloud-box{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:20px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:20px;display:flex}.cloud-tag{cursor:pointer;color:inherit;transition:transform .15s var(--ease);background:0 0;border:0;border-radius:12px;align-items:center;gap:4px;padding:3px 4px;display:inline-flex}.cloud-tag .tag{font-size:inherit;min-height:1.7em}.cloud-tag:hover{transform:translateY(-2px)rotate(-1deg)}.cloud-tag.is-selected{box-shadow:0 0 0 2px hsl(var(--accent))}.cloud-tag.is-unused{opacity:.55}.td-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.td-group .muted{flex:1 0 100%}.td-group input{flex:1;min-width:120px}.td-merge{gap:6px;display:grid}.tree-toolbar small{font:700 .6875rem var(--font-mono);opacity:.7}.tree-find{align-items:center;gap:2px;padding:0 2px 8px;display:flex}.tree-search{border:1px solid hsl(var(--border));background:hsl(var(--surface));min-width:0;height:32px;color:hsl(var(--text-muted));border-radius:10px;flex:1;align-items:center;gap:6px;padding:0 8px;transition:border-color .15s,box-shadow .15s;display:flex}.tree-search:focus-within{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .2)}.tree-search input{min-width:0;height:100%;color:hsl(var(--text));background:0 0;border:0;outline:0;flex:1;padding:0;font-size:.8125rem}.tree-search input::-webkit-search-cancel-button{display:none}.tree-find .icon-btn{flex:none}.tree-find .icon-btn.is-on,.tree-actions .icon-btn.is-on{color:hsl(var(--accent-text));background:hsl(var(--accent-soft))}.tree-pins{gap:2px;padding-bottom:4px;display:grid}.tree-sub{font:700 .625rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--text-muted));padding:6px 6px 2px}.tree-name mark{background:hsl(var(--accent) / .28);color:inherit;border-radius:3px;padding:0 1px}.tree-bar{background:hsl(var(--text) / .08);border-radius:2px;height:2px;margin:-1px 8px 3px 44px;display:flex;overflow:hidden}.tree-bar u{height:100%;text-decoration:none;display:block}.tree-children{border-left:1px dashed hsl(var(--border));position:relative}.tree-row.is-selected{box-shadow:inset 3px 0 0 hsl(var(--accent))}.duo-harm{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-width:620px;display:grid}.duo-chip{border:1.5px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;height:42px;font:600 .8125rem var(--font-ui);color:inherit;transition:transform .15s var(--ease), border-color .15s;border-radius:12px;align-items:center;gap:10px;padding:0 12px 0 8px;display:flex}.duo-chip:hover{border-color:hsl(var(--text));transform:translateY(-2px)}.duo-chip[aria-pressed=true]{border-color:hsl(var(--accent2));box-shadow:0 0 0 3px hsl(var(--accent2) / .25)}.duo-chip i{border-radius:8px;flex:none;width:30px;height:22px;box-shadow:inset 0 0 0 1px #00000026}.duo-roles{color:hsl(var(--text-muted));gap:6px;font-size:.8125rem;display:grid}.duo-roles span{align-items:center;gap:8px;display:flex}.duo-roles b{color:hsl(var(--text))}.duo-roles i{border-radius:50%;flex:none;width:14px;height:14px}.duo-roles .r1{background:hsl(var(--accent))}.duo-roles .r2{background:hsl(var(--accent2))}.duo-fine{border-top:0;grid-template-columns:120px minmax(0,1fr);padding:4px 0}[data-duo="1"]{scrollbar-color:hsl(var(--accent2) / .45) transparent}[data-duo="1"] ::selection{background:hsl(var(--accent2) / .3)}[data-duo="1"] .nav-link[aria-current=page]{box-shadow:inset 4px 0 0 hsl(var(--accent2))}[data-duo="1"] .subnav-link[aria-current=page] i,[data-duo="1"] .subnav-link:hover i{background:hsl(var(--accent2))}[data-duo="1"] .tree-row.is-selected{background:hsl(var(--accent2-soft));box-shadow:inset 3px 0 0 hsl(var(--accent2))}[data-duo="1"] .tree-name mark,[data-duo="1"] .tree-find .icon-btn.is-on{background:hsl(var(--accent2) / .28);color:hsl(var(--accent2-text))}[data-duo="1"] .tree-search:focus-within{border-color:hsl(var(--accent2));box-shadow:0 0 0 3px hsl(var(--accent2) / .2)}[data-duo="1"] .view-chip[aria-pressed=true],[data-duo="1"] .view-toggle button[aria-pressed=true]{background:hsl(var(--accent2));color:hsl(var(--accent2-contrast));border-color:hsl(var(--accent2))}[data-duo="1"] .btn-primary:hover{box-shadow:inset 0 0 0 2px hsl(var(--accent2))}[data-duo="1"] .btn-primary:after{background:hsl(var(--accent2) / .6)}[data-duo="1"] .step-bar,[data-duo="1"] .goal i,[data-duo="1"] .cal-prev li{border-left-color:hsl(var(--accent2))}[data-duo="1"] .step-bar,[data-duo="1"] .goal i{background:hsl(var(--accent2))}[data-duo="1"] .week-day i.on{background:linear-gradient(180deg, hsl(var(--accent)), hsl(var(--accent2)))}[data-duo="1"] .ahead-day i{background:hsl(var(--accent2) / .42)}[data-duo="1"] .pulse-head{fill:hsl(var(--accent2));filter:drop-shadow(0 0 4px hsl(var(--accent2)))}[data-duo="1"] .pulse{--pulse-glow:var(--accent2)}[data-duo="1"] .pulse[data-hot="1"]{border-color:hsl(var(--accent2) / .6);box-shadow:var(--sh1), 0 0 0 3px hsl(var(--accent2) / .12), 0 0 30px -8px hsl(var(--accent2) / .55)}[data-duo="1"] .heartline path{stroke:hsl(var(--accent2));filter:drop-shadow(0 0 4px hsl(var(--accent2) / .45))}[data-duo="1"] .logo path[pathLength]{stroke:hsl(var(--accent2))}[data-duo="1"] .dropzone{border-color:hsl(var(--accent2) / .55);background:color-mix(in srgb, hsl(var(--accent2)) 5%, hsl(var(--surface)))}[data-duo="1"] .drop-card{border-color:hsl(var(--accent2))}[data-duo="1"] .way[aria-selected=true]{box-shadow:inset 0 -4px 0 hsl(var(--accent2))}[data-duo="1"] .fine output{color:hsl(var(--accent2-text))}[data-duo="1"] .tag-row.is-selected .tag-pick{background:hsl(var(--accent2-soft));box-shadow:inset 0 0 0 1.5px hsl(var(--accent2))}[data-duo="1"] .cloud-tag.is-selected{box-shadow:0 0 0 2px hsl(var(--accent2))}[data-duo="1"] .tm-bulk{border-color:hsl(var(--accent2) / .6)}.art-sum{background:hsl(var(--surface-2));border:1px dashed hsl(var(--border));border-radius:14px;gap:4px;padding:12px 14px;font-size:.9rem;display:grid}.art-sugg{background:hsl(var(--accent) / .06);border:1px solid hsl(var(--accent) / .3);border-radius:14px;gap:6px;margin-bottom:8px;padding:10px 12px;display:grid}.art-grid-row{grid-template-columns:repeat(auto-fill,minmax(86px,1fr))}.art-opt{position:relative}.art-opt.is-used{opacity:.55}.art-opt.is-used[aria-pressed=true]{opacity:1}.art-dot{background:hsl(var(--s-learn-fill));color:#fff;border-radius:50%;place-items:center;width:15px;height:15px;display:grid;position:absolute;top:4px;right:4px}.art-free{margin:2px 0 8px}.tree-row{position:relative}.tree-actions{background:hsl(var(--sidebar-bg) / .95);box-shadow:-12px 0 10px -4px hsl(var(--sidebar-bg) / .95);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;padding:1px 2px;position:absolute;top:2px;right:2px}@media (hover:none){.tree-actions{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;position:static}}.gafete{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;gap:10px;padding:26px 18px 16px;display:grid;position:relative;overflow:hidden}.gafete:before{content:"";background:hsl(var(--accent));opacity:.95;height:56px;position:absolute;top:0;left:0;right:0}[data-duo="1"] .gafete:before{background:hsl(var(--accent2))}.gafete-slot{background:hsl(var(--bg));z-index:1;border-radius:999px;width:54px;height:12px;margin-left:-27px;position:absolute;top:9px;left:50%;box-shadow:inset 0 2px 3px #00000059,0 1px #fff6}.gafete-head{z-index:1;margin-top:12px;color:hsl(var(--accent-contrast));font:800 .8125rem var(--font-display);align-items:center;gap:8px;margin-inline:-4px;padding:4px 4px 0;display:flex;position:relative}.gafete-head .logo{color:inherit}.gafete-head .logo path{stroke:currentColor}.gafete-head em{font:600 .625rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-left:auto;font-style:normal}.gafete-id{z-index:1;align-items:center;gap:14px;margin-top:16px;display:flex;position:relative}.gafete-photo{width:62px;height:62px;font:800 1.9rem var(--font-display);color:hsl(var(--accent-contrast));background:hsl(var(--accent));border:3px solid hsl(var(--surface));box-shadow:0 0 0 1.5px hsl(var(--border)), 0 8px 18px -10px hsl(var(--accent));border-radius:16px;flex:none;place-items:center;display:grid}[data-duo="1"] .gafete-photo{background:hsl(var(--accent2));color:hsl(var(--accent2-contrast));box-shadow:0 0 0 1.5px hsl(var(--border)), 0 8px 18px -10px hsl(var(--accent2))}.gafete-id>div{gap:1px;min-width:0;display:grid}.gafete-name{font:800 1.35rem/1.1 var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere}.gafete-rank{font:700 .75rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--accent-text))}.gafete-no{font:600 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--text-muted))}.gafete-xp{background:hsl(var(--surface-2));height:10px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:999px;overflow:hidden}.gafete-xp i{background:hsl(var(--accent));height:100%;transition:width .8s var(--ease);background-image:repeating-linear-gradient(90deg,#0000 0 9px,#ffffff47 9px 10px);border-radius:999px;display:block}[data-duo="1"] .gafete-xp i{background-color:hsl(var(--accent2))}.gafete-next{color:hsl(var(--text-muted));font-size:.8125rem}.gafete-next b{color:hsl(var(--text))}.gafete-stats{border-top:1px dashed hsl(var(--border));grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:10px;display:grid}.gafete-stats span{border-left:1px dashed hsl(var(--border));font:600 .5625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted));gap:2px;padding:0 8px;display:grid}.gafete-stats span:first-child{border-left:0;padding-left:0}.gafete-stats b{font:800 1.2rem/1 var(--font-display);letter-spacing:-.03em;color:hsl(var(--text));text-transform:none}.gafete-link{font-size:.8125rem;font-weight:600}.body-layout{grid-template-columns:minmax(300px,440px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.body-plate{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);background-image:linear-gradient(hsl(var(--paper-line) / .14) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .14) 1px, transparent 1px), linear-gradient(hsl(var(--paper-line) / .06) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .06) 1px, transparent 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px;border-radius:26px;gap:12px;padding:40px 22px 18px;display:grid;position:relative}.body-corner{font:700 .625rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--text-muted));position:absolute;top:14px;left:18px}.body-fig{aspect-ratio:200/440;width:100%;max-width:330px;margin:0 auto;position:relative}.body-sil{width:100%;height:100%;color:hsl(var(--text) / .38);position:absolute;inset:0}.body-node{--c:var(--text-muted);z-index:2;cursor:pointer;width:46px;height:46px;color:hsl(var(--c));background:color-mix(in srgb, hsl(var(--c)) 16%, hsl(var(--surface)));border:2px solid hsl(var(--c));box-shadow:0 6px 14px -8px hsl(var(--c));transition:transform .18s var(--ease), box-shadow .18s;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.body-node.k-side{border-style:dashed;width:40px;height:40px}.body-node:hover,.body-node.is-on{box-shadow:0 0 0 4px hsl(var(--c) / .25), 0 10px 20px -8px hsl(var(--c));z-index:3;transform:translate(-50%,-50%)scale(1.14)}.body-node.is-none{--c:var(--text-muted);opacity:.55;box-shadow:none}.body-node.is-low{--c:var(--s-fail-fill)}.body-node.is-mid{--c:var(--s-learn-fill)}.body-node.is-good{--c:var(--s-review-fill)}.body-node.is-top{--c:var(--s-master-fill)}.body-node.has-due:after{content:"";border:2px solid hsl(var(--c) / .6);pointer-events:none;border-radius:50%;animation:1.8s ease-out infinite body-ping;position:absolute;inset:-7px}@keyframes body-ping{0%{opacity:.9;transform:scale(.82)}to{opacity:0;transform:scale(1.35)}}.body-due{background:hsl(var(--s-fail-fill));color:#fff;min-width:19px;height:19px;font:700 .625rem var(--font-mono);box-shadow:0 0 0 2px hsl(var(--surface));border-radius:999px;place-items:center;padding:0 5px;display:grid;position:absolute;top:-6px;right:-6px}.body-key{font:600 .625rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--text-muted));flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.body-key li{align-items:center;gap:6px;display:inline-flex}.body-key i{background:hsl(var(--c,var(--text-muted)));border-radius:50%;width:10px;height:10px}.body-key .is-low{--c:var(--s-fail-fill)}.body-key .is-mid{--c:var(--s-learn-fill)}.body-key .is-good{--c:var(--s-review-fill)}.body-key .is-top{--c:var(--s-master-fill)}.body-key .is-none i{opacity:.4}.body-side{gap:18px;min-width:0;display:grid}.body-detail{--c:var(--accent);background:hsl(var(--surface));border:1px solid hsl(var(--border));border-left:6px solid hsl(var(--c));box-shadow:var(--sh1);border-radius:20px;gap:10px;padding:18px 20px;display:grid}.body-detail.is-low{--c:var(--s-fail-fill)}.body-detail.is-mid{--c:var(--s-learn-fill)}.body-detail.is-good{--c:var(--s-review-fill)}.body-detail.is-top{--c:var(--s-master-fill)}.body-detail.is-none{--c:var(--text-muted)}.body-detail header{align-items:center;gap:12px;display:flex}.body-detail header .art{color:hsl(var(--c));flex:none}.body-detail h3{font:700 1.25rem var(--font-display);letter-spacing:-.02em}.body-lv{font:700 .6875rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--c))}.body-meter{background:hsl(var(--surface-2));height:10px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:999px;overflow:hidden}.body-meter i{background:hsl(var(--c));height:100%;transition:width .7s var(--ease);border-radius:999px;display:block}.body-folders{gap:4px;margin:0;padding:0;list-style:none;display:grid}.body-folders li{border-bottom:1px dotted hsl(var(--border));justify-content:space-between;gap:10px;padding-bottom:3px;font-size:.9rem;display:flex}.body-folders b{font:600 .8125rem var(--font-mono);color:hsl(var(--text-muted))}.body-rank ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.body-rank button{--c:var(--text-muted);width:100%;color:inherit;cursor:pointer;text-align:left;font:600 .875rem var(--font-ui);background:0 0;border:0;border-radius:12px;grid-template-columns:22px minmax(0,1fr) 90px 40px;align-items:center;gap:10px;padding:7px 10px;display:grid}.body-rank button:hover,.body-rank button[aria-pressed=true]{background:hsl(var(--c) / .1)}.body-rank button .art{color:hsl(var(--c))}.body-rank button i{background:hsl(var(--surface-2));height:7px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:4px;overflow:hidden}.body-rank button u{background:hsl(var(--c));height:100%;text-decoration:none;display:block}.body-rank button b{font:700 .8125rem var(--font-mono);text-align:right}.body-rank .is-low{--c:var(--s-fail-fill)}.body-rank .is-mid{--c:var(--s-learn-fill)}.body-rank .is-good{--c:var(--s-review-fill)}.body-rank .is-top{--c:var(--s-master-fill)}.career{gap:4px;margin-top:10px;display:grid}.career-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.medals{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.medal{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:16px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.medal-ic{background:hsl(var(--surface-2));width:46px;height:46px;color:hsl(var(--text-muted));filter:grayscale(.7);opacity:.8;border-radius:14px;flex:none;place-items:center;display:grid}.medal.is-done{border-color:hsl(var(--accent) / .55);background:color-mix(in srgb, hsl(var(--accent)) 7%, hsl(var(--surface)))}.medal.is-done .medal-ic{background:hsl(var(--accent));color:hsl(var(--accent-contrast));filter:none;opacity:1;box-shadow:0 8px 16px -10px hsl(var(--accent))}[data-duo="1"] .medal.is-done{border-color:hsl(var(--accent2) / .55)}[data-duo="1"] .medal.is-done .medal-ic{background:hsl(var(--accent2));color:hsl(var(--accent2-contrast))}.medal>div{gap:2px;min-width:0;display:grid}.medal b{font:700 .9375rem var(--font-display)}.medal small{color:hsl(var(--text-muted));font-size:.78rem;line-height:1.3}.medal-bar{background:hsl(var(--surface-2));height:5px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:3px;margin-top:4px;display:block;overflow:hidden}.medal-bar u{background:hsl(var(--accent));height:100%;text-decoration:none;display:block}.medal-n{font:700 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}@media (width<=1000px){.body-layout,.career-grid{grid-template-columns:1fr}.body-fig{max-width:300px}}.triage{gap:3px;width:100%;height:12px;margin:4px 0 8px;display:flex}.triage i{flex:var(--n,1) 1 0;background:hsl(var(--sf));min-width:6px;transition:flex .6s var(--ease);border-radius:5px}.triage i.is-empty{opacity:.25;flex:0 0 6px}.today-chips{flex-wrap:wrap;gap:8px;margin:2px 0 6px;display:flex}.chip-pill{border:1px solid hsl(var(--border));background:hsl(var(--surface));height:28px;color:hsl(var(--text));font:700 .75rem var(--font-mono);letter-spacing:.04em;transition:transform .15s var(--ease), border-color .15s;border-radius:999px;align-items:center;gap:7px;padding:0 12px;text-decoration:none;display:inline-flex}a.chip-pill:hover{border-color:hsl(var(--text));text-decoration:none;transform:translateY(-2px)}.chip-pill.is-fire{background:#e94f201a;border-color:#e94f2080}.chip-pill.is-exam{border-color:hsl(var(--accent) / .5);background:hsl(var(--accent) / .08)}.chip-pill svg{flex:none}.sumrow.vitals{border:1px solid hsl(var(--border));background-color:hsl(var(--surface));box-shadow:var(--sh1);background-image:linear-gradient(hsl(var(--paper-line) / .12) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--paper-line) / .12) 1px, transparent 1px);background-size:28px 28px;border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:14px 6px 12px;position:relative}.vitals-label{background:hsl(var(--bg));font:700 .625rem var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--text-muted));padding:0 8px;position:absolute;top:-9px;left:18px}.sumrow.vitals .sum{border:0;border-left:1px dashed hsl(var(--border));background:0 0;border-radius:0;justify-items:start;gap:2px;padding:4px 16px;display:grid}.sumrow.vitals .sum:first-of-type{border-left:0}.sumrow.vitals a.sum:hover{background:hsl(var(--c) / .08);transform:none}.sumrow.vitals .sum-ic{width:auto;height:auto;color:hsl(var(--c));background:0 0;border-radius:0;display:block}.sumrow.vitals .sum>div{gap:0;display:grid}.sumrow.vitals .sum b{font:800 1.75rem/1.05 var(--font-display);letter-spacing:-.04em;color:hsl(var(--c));white-space:nowrap}.sumrow.vitals .sum span:not(.sum-ic):not(.vitals-label){letter-spacing:.06em;line-height:1.25}.sumrow.vitals .sum b small{font:700 .6875rem var(--font-mono);letter-spacing:.04em;margin-left:2px}@media (width<=860px){.sumrow.vitals{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.sumrow.vitals .sum:nth-of-type(odd){border-left:0}.sumrow.vitals .sum:last-of-type{border-left:0;grid-column:1/-1}}.set-search{border:1px solid hsl(var(--border));background:hsl(var(--bg));height:38px;color:hsl(var(--text-muted));border-radius:12px;align-items:center;gap:8px;margin-bottom:6px;padding:0 12px;display:flex}.set-search:focus-within{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .2)}.set-search input{min-width:0;height:100%;color:hsl(var(--text));background:0 0;border:0;outline:0;flex:1;padding:0;font-size:.875rem}.set-search input::-webkit-search-cancel-button{display:none}.set-nav b{align-items:center;gap:6px;display:flex}.set-nav b svg{color:hsl(var(--accent-text));flex:none}.set-block[hidden],.set-sec[hidden]{display:none!important}.set-none{border:1px dashed hsl(var(--border));color:hsl(var(--text-muted));border-radius:16px;padding:18px 20px}@media (width<=900px){.set-search{display:none}}.career-strip{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;flex-wrap:wrap;align-items:center;gap:22px;padding:16px 20px;display:flex}.cs-rank{flex:280px;gap:5px;min-width:0;display:grid}.cs-rank .eyebrow{margin:0}.cs-rank>b{font:800 1.5rem/1.1 var(--font-display);letter-spacing:-.03em}.cs-rank small{color:hsl(var(--text-muted));font-size:.8125rem}.cs-weak{background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));border-radius:14px;align-items:center;gap:12px;padding:8px 14px;display:flex}.cs-weak>span{font:600 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;display:grid}.cs-weak b{font:700 .9375rem var(--font-display);letter-spacing:0;text-transform:none;color:hsl(var(--text))}.cs-weak small{text-transform:none;letter-spacing:0;font:600 .75rem var(--font-mono)}.sim-setup{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.sim-setup.is-solo{grid-template-columns:minmax(0,760px)}.sim-row{flex-wrap:wrap;align-items:flex-end;gap:18px 28px;display:flex}.sim-sum{background:hsl(var(--surface-2));border:1px dashed hsl(var(--border));border-radius:14px;padding:12px 14px;font-size:.9375rem}.sim-spark{width:100%;height:64px;overflow:visible}.sim-spark polyline{fill:none;stroke:hsl(var(--accent));stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.sim-spark circle{fill:hsl(var(--accent));stroke:hsl(var(--surface));stroke-width:1.5px}.sim-spark .sim-pass{stroke:hsl(var(--s-review-fill) / .7);stroke-width:1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.sim-hist-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.sim-hist-list li{border-bottom:1px dotted hsl(var(--border));grid-template-columns:54px minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:6px 0;font-size:.875rem;display:grid}.sim-hist-list b{font:800 1rem var(--font-display)}.sim-hist-list small{color:hsl(var(--text-muted))}.sim-exam{gap:16px;max-width:860px;margin:0 auto;display:grid;position:relative}.sim-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.sim-head .eyebrow{flex:100%;margin:0}.sim-count{font:800 1.9rem/1 var(--font-display);letter-spacing:-.03em}.sim-count small{font:600 .9rem var(--font-mono);color:hsl(var(--text-muted));letter-spacing:0}.sim-timer{background:hsl(var(--surface));border:1.5px solid hsl(var(--border));font:800 1.5rem var(--font-mono);letter-spacing:.02em;border-radius:999px;margin-left:auto;padding:6px 16px}.sim-timer.is-urgent{color:hsl(var(--s-fail-text));border-color:hsl(var(--s-fail-fill));background:hsl(var(--s-fail-soft));animation:1.2s ease-in-out infinite step-breathe}.sim-bar{background:hsl(var(--surface-2));height:8px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:999px;overflow:hidden}.sim-bar i{background:hsl(var(--accent));height:100%;transition:width .4s var(--ease);display:block}.sim-q{background-color:hsl(var(--ficha));border:1px solid color-mix(in srgb, hsl(var(--text)) 14%, transparent);box-shadow:var(--sh2);animation:rise var(--dur) var(--ease) both;border-radius:6px 26px 6px 6px;gap:16px;padding:28px 32px;display:grid}.sim-stem{font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.5}.sim-opts{gap:10px;display:grid}.sim-opt{text-align:left;border:1.5px solid hsl(var(--border));background:hsl(var(--surface));width:100%;color:inherit;font:500 1.0625rem/1.4 var(--font-content);cursor:pointer;transition:transform .15s var(--ease), border-color .15s, background .15s;border-radius:14px;align-items:flex-start;gap:14px;padding:13px 16px;display:flex}.sim-opt:hover{border-color:hsl(var(--text));transform:translate(3px)}.sim-opt.is-on{border-color:hsl(var(--accent));background:hsl(var(--accent) / .1);box-shadow:0 0 0 3px hsl(var(--accent) / .2)}.sim-letter{width:30px;height:30px;font:800 .875rem var(--font-mono);border:1.5px solid;border-radius:50%;flex:none;place-items:center;display:grid}.sim-opt.is-on .sim-letter{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-color:#0000}.sim-doubt kbd{font:700 .6875rem var(--font-mono);border:1px solid hsl(var(--border));border-radius:5px;padding:1px 6px}.sim-nav{justify-content:space-between;gap:10px;display:flex}.sim-map{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:18px;gap:10px;padding:14px 16px;display:grid}.sim-map ol{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sim-map li button{border:1.5px solid hsl(var(--border));background:hsl(var(--surface-2));width:34px;height:34px;color:hsl(var(--text-muted));font:700 .75rem var(--font-mono);cursor:pointer;border-radius:9px}.sim-map li button.is-done{background:hsl(var(--accent) / .18);border-color:hsl(var(--accent) / .6);color:hsl(var(--text))}.sim-map li button.is-doubt{background:hsl(var(--s-learn-soft));border-color:hsl(var(--s-learn-fill));color:hsl(var(--s-learn-text))}.sim-map li button.is-now{outline:2px solid hsl(var(--text));outline-offset:2px}.sim-confirm{z-index:90;background:hsl(var(--bg) / .8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sim-confirm>div{background:hsl(var(--surface));border:1.5px solid hsl(var(--border));max-width:460px;box-shadow:var(--sh2);animation:pop var(--dur) var(--ease) both;border-radius:22px;gap:10px;padding:24px;display:grid}.sim-confirm b{font:700 1.3rem var(--font-display)}.sim-result{gap:22px;max-width:920px;margin:0 auto;display:grid}.sim-res-head{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh2);border-radius:26px;flex-wrap:wrap;align-items:center;gap:28px;padding:26px 30px;display:flex}.sim-res-text{flex:280px;gap:6px;min-width:0;display:grid;position:relative}.sim-res-text h1{font-size:clamp(1.7rem,4vw,2.4rem)}.sim-diff{font:700 .8125rem var(--font-mono)}.sim-diff.is-up{color:hsl(var(--s-review-text))}.sim-diff.is-down{color:hsl(var(--s-fail-text))}.sim-stamp{position:absolute;top:-10px;right:0}@media (width<=700px){.sim-stamp{justify-self:start;position:static}}.sim-groups{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sim-groups li{--c:var(--s-review-fill);grid-template-columns:minmax(120px,230px) minmax(0,1fr) 54px;align-items:center;gap:12px;font-size:.9375rem;display:grid}.sim-groups li.is-low{--c:var(--s-fail-fill)}.sim-groups li.is-mid{--c:var(--s-learn-fill)}.sim-groups i{background:hsl(var(--surface-2));height:10px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:5px;overflow:hidden}.sim-groups u{background:hsl(var(--c));height:100%;text-decoration:none;display:block}.sim-groups b{font:700 .8125rem var(--font-mono);text-align:right}.sim-review{gap:10px;display:grid}.sim-rev{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:16px;padding:4px 16px 12px}.sim-rev summary{cursor:pointer;grid-template-columns:30px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 0;display:grid}.sim-rev summary>b{font:700 .8125rem var(--font-mono);color:hsl(var(--text-muted))}.sim-rev-opts{gap:6px;margin:4px 0 0;padding:0;list-style:none;display:grid}.sim-rev-opts li{border:1px solid #0000;border-radius:10px;grid-template-columns:26px minmax(0,1fr) 20px;align-items:baseline;gap:8px;padding:8px 10px;display:grid}.sim-rev-opts li.is-right{background:hsl(var(--s-review-soft));border-color:hsl(var(--s-review-fill) / .5)}.sim-rev-opts li.is-wrong{background:hsl(var(--s-fail-soft));border-color:hsl(var(--s-fail-fill) / .5)}.sim-rev-opts small{color:hsl(var(--text-muted));grid-column:2/-1;font-size:.8125rem;line-height:1.4}@media (width<=900px){.sim-setup{grid-template-columns:1fr}.sim-q{padding:20px 18px}}[data-duo="1"] .sim-bar i,[data-duo="1"] .sim-spark circle{background:hsl(var(--accent2));fill:hsl(var(--accent2))}[data-duo="1"] .sim-spark polyline{stroke:hsl(var(--accent2))}.view-banner{z-index:60;background:hsl(var(--s-learn-fill));color:#1a1205;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;font-size:.9rem;display:flex;position:sticky;top:0;box-shadow:0 4px 14px -6px #0006}.view-banner b{font-weight:800}.view-banner .btn{color:#fff;background:#1a1205;border-color:#0000}.adm-sum{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0;display:grid}.adm-sum>div{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-left:5px solid hsl(var(--accent));border-radius:16px;gap:2px;padding:12px 16px;display:grid}.adm-sum dt{font:600 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.adm-sum dd{font:800 1.9rem/1.05 var(--font-display);letter-spacing:-.04em;margin:0}.adm-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.adm-user{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;grid-template-columns:54px minmax(0,1.1fr) minmax(0,2fr) auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.adm-user.is-me{border-color:hsl(var(--accent) / .55)}.adm-av{background:hsl(var(--accent));width:54px;height:54px;color:hsl(var(--accent-contrast));font:800 1.6rem var(--font-display);border-radius:16px;place-items:center;display:grid;position:relative}.adm-on{background:hsl(var(--s-review-fill));border:2.5px solid hsl(var(--surface));border-radius:50%;width:14px;height:14px;position:absolute;bottom:-3px;right:-3px}.adm-main{gap:2px;min-width:0;display:grid}.adm-main b{font:700 1.1rem var(--font-display)}.adm-mail{font:500 .8125rem var(--font-mono);color:hsl(var(--text-muted));overflow-wrap:anywhere}.adm-me{background:hsl(var(--accent) / .15);color:hsl(var(--accent-text));font:700 .625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;margin-left:8px;padding:1px 7px;font-style:normal}.adm-stats{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px 14px;margin:0;display:grid}.adm-stats dt{font:600 .5625rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.adm-stats dd{font:700 .9375rem var(--font-display);margin:0}.adm-stats dd small{font:500 .6875rem var(--font-mono);color:hsl(var(--text-muted))}.adm-none{margin:0;font-size:.875rem}.adm-actions{text-align:right;justify-items:end;gap:4px;display:grid}@media (width<=1100px){.adm-user{grid-template-columns:54px minmax(0,1fr)}.adm-stats,.adm-none,.adm-actions{text-align:left;grid-column:1/-1;justify-items:start}}.tree-row .tree-icon.fcolor{width:24px;height:24px;color:var(--fc);background:color-mix(in srgb, var(--fc) 15%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fc) 30%, transparent);border-radius:7px}.tree-row .tree-icon.fcolor .tree-art,.tree-row .tree-icon.fcolor svg{color:var(--fc)}.tree-row.is-selected .tree-icon.fcolor{background:var(--fc);color:#fff;box-shadow:0 4px 10px -5px var(--fc)}.tree-row.is-selected .tree-icon.fcolor svg,.tree-row.is-selected .tree-icon.fcolor .tree-art{color:#fff}.tree-row .tree-name{-webkit-text-decoration-color:var(--fc);text-decoration-color:var(--fc)}li[role=treeitem].fcolor>.tree-children{border-left:2px solid color-mix(in srgb, var(--fc) 45%, transparent);border-left-style:solid}li[role=treeitem].fcolor>.tree-row:before{content:"";background:var(--fc);opacity:0;border-radius:2px;width:3px;transition:opacity .15s;position:absolute;top:7px;bottom:7px;left:-2px}li[role=treeitem].fcolor>.tree-row:hover:before{opacity:.8}.tree-root>li[role=treeitem].fcolor>.tree-row .tree-name{font-weight:650}.tree-bar u.m{background:var(--fc,hsl(var(--s-master-fill)))}[data-wash=low]{--wash:.3}[data-wash=mid]{--wash:1}[data-wash=high]{--wash:2.2}[data-wash=high] body{background-color:color-mix(in srgb, hsl(var(--accent)) 6%, hsl(var(--bg)))}[data-wash=high] .panel:not(.modal),[data-wash=high] .today-card,[data-wash=high] .set-block{border-color:color-mix(in srgb, hsl(var(--accent)) 22%, hsl(var(--border)))}[data-wash=high] .section-title,[data-wash=high] .page-head h1,[data-wash=high] .hero2 h1{color:color-mix(in srgb, hsl(var(--accent-text)) 45%, hsl(var(--text)))}[data-wash=low] :where(.rail-card,.set-block,.imp-step,.tag-detail,.pano-sum,.stats-grid .panel,.err-summary):before{opacity:.25}[data-wash=low] .app:before{opacity:.4}.mini{--wash:1;aspect-ratio:16/10;background:color-mix(in srgb, hsl(var(--accent)) calc(4% * var(--wash)), hsl(var(--bg)));border:1px solid color-mix(in srgb, hsl(var(--accent)) calc(12% * var(--wash)), hsl(var(--border)));width:100%;color:hsl(var(--text));border-radius:10px;grid-template-columns:26% 1fr;display:grid;position:relative;overflow:hidden}.mini:before{content:"";pointer-events:none;background:radial-gradient(80% 70% at 100% 0, hsl(var(--accent) / calc(.2 * var(--wash))), transparent 70%), radial-gradient(70% 60% at 0 100%, hsl(var(--accent2) / calc(.16 * var(--wash))), transparent 70%);position:absolute;inset:0}.mini-side{background:hsl(var(--sidebar-bg));border-right:1px solid hsl(var(--border));flex-direction:column;gap:4px;padding:8px 6px;display:flex;position:relative}.mini-sb-tinted .mini-side{background:color-mix(in srgb, hsl(var(--accent)) calc(10% * var(--wash)), hsl(var(--sidebar-bg)))}.mini-sb-plain .mini-side{background:hsl(var(--bg))}.mini-sb-accent .mini-side{background:hsl(var(--accent-soft));border-right-color:hsl(var(--accent) / .35)}.mini-side i{background:hsl(var(--text) / .14);border-radius:3px;height:5px;display:block}.mini-side i.on{background:hsl(var(--accent));height:8px}.mini-main{flex-direction:column;gap:6px;padding:8px;display:flex;position:relative}.mini-hero{background:linear-gradient(135deg, color-mix(in srgb, hsl(var(--accent)) calc(7% * var(--wash)), hsl(var(--surface))), hsl(var(--surface)) 70%);border:1px solid color-mix(in srgb, hsl(var(--accent)) calc(22% * var(--wash)), hsl(var(--border)));border-radius:7px;justify-items:start;gap:4px;padding:7px;display:grid}.mini-hero b{background:hsl(var(--text) / .8);border-radius:3px;width:60%;height:6px}.mini-hero i{background:hsl(var(--text-muted) / .6);border-radius:2px;width:40%;height:4px}.mini-hero u{background:hsl(var(--accent));border-radius:6px;width:34%;height:8px}.mini-bar{background:hsl(var(--surface-2));border-radius:3px;height:5px;overflow:hidden}.mini-bar i{background:hsl(var(--accent2));width:62%;height:100%;display:block}.mini-row{gap:4px;display:flex}.mini-row i{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:5px;flex:1;height:14px}.mini-split{width:100%;display:block;position:relative}.mini-split .mini-half{clip-path:polygon(62% 0,100% 0,100% 100%,38% 100%);position:absolute;inset:0}.mode-cards,.sb-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.mode-card{border:2px solid hsl(var(--border));cursor:pointer;background:hsl(var(--surface));border-radius:14px;gap:4px;padding:8px 8px 10px;transition:border-color .15s,transform .15s;display:grid;position:relative}.mode-card:hover{transform:translateY(-1px)}.mode-card input{opacity:0;cursor:pointer;position:absolute;inset:0}.mode-card b{font:700 .95rem var(--font-display);margin-top:4px}.mode-card small{color:hsl(var(--text-muted));font-size:.78rem;line-height:1.3}.mode-card.is-on,.wash-opt.is-on,.surf2.is-on{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .18)}.mode-card.is-on>b:after,.wash-opt.is-on>b:after,.surf2.is-on>span:not(.mini):after{content:" ✓";color:hsl(var(--accent-text))}:is(.mode-card:has(input:focus-visible),.wash-opt:has(input:focus-visible)){outline:2px solid hsl(var(--accent));outline-offset:2px}.wash-opt{background:hsl(var(--surface));padding:8px 8px 10px}.wash-opt .mini{margin-bottom:4px}.surf-grid:has(.surf2){grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.surf2{border:2px solid hsl(var(--border));background:hsl(var(--surface));color:inherit;font:600 .82rem var(--font-ui);text-align:left;cursor:pointer;border-radius:14px;gap:6px;padding:7px 7px 9px;display:grid}.hue-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;display:grid}.hue-opt{color:inherit;font:600 .8rem var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex}.hue-opt:hover{background:hsl(var(--surface-2))}.hue-opt i{color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid;box-shadow:inset 0 0 0 1px #0000001f}.hue-opt[aria-pressed=true]{border-color:hsl(var(--accent));background:hsl(var(--accent) / .08)}.where{border:1px dashed hsl(var(--border));border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:.82rem;display:flex}.where .btn{pointer-events:none}.where-link{color:hsl(var(--accent-text));text-underline-offset:3px;text-decoration:underline}.where-tab{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.where-check{align-items:center;gap:5px;display:inline-flex}.where-check i{background:hsl(var(--accent));width:16px;height:16px;color:hsl(var(--accent-contrast));border-radius:4px;place-items:center;font-size:.65rem;font-style:normal;display:grid}.duo-compare{grid-template-columns:1fr 1fr;gap:10px;max-width:420px;display:grid}.duo-compare>span{border:2px solid #0000;border-radius:12px;gap:4px;padding:6px;display:grid}.duo-compare>span.is-on{border-color:hsl(var(--accent) / .6)}.duo-compare small{text-align:center;color:hsl(var(--text-muted));font-weight:700}.ap-split{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.ap-controls{flex-direction:column;gap:18px;min-width:0;display:flex}.ap-sticky{gap:8px;display:grid;position:sticky;top:16px}.ap-title{font:700 .7rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--text-muted))}.ap2{gap:10px;display:grid}.ap2 .ap{grid-template-columns:82px 1fr}.ap2 .ap-side{padding:10px 8px}.ap-prog{background:hsl(var(--surface-2));height:8px;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:4px;position:relative}.ap-prog i{background:hsl(var(--accent2));border-radius:4px;width:64%;height:100%;display:block}.ap .pin{background:hsl(var(--text));width:17px;height:17px;color:hsl(var(--bg));font:700 .62rem var(--font-mono);box-shadow:0 0 0 2px hsl(var(--bg));z-index:2;border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute}.ap-hero u{position:relative}.ap .p2{top:-5px;right:-6px}.ap .p3{top:6px;right:6px}.ap .p4{bottom:8px;left:6px}.ap-side{position:relative}.ap-key{gap:6px;margin:0;padding:0;font-size:.78rem;line-height:1.3;list-style:none;display:grid}.ap-key li{align-items:flex-start;gap:8px;display:flex}.ap-key span{color:hsl(var(--text-muted))}.ap-key b{color:hsl(var(--text));display:block}.ap-key i{width:14px;height:14px;box-shadow:inset 0 0 0 1px hsl(var(--text) / .15);border-radius:4px;flex:none;margin-top:2px}.ap-key .k1{background:hsl(var(--accent))}.ap-key .k2{background:hsl(var(--accent2))}.ap-key .k3{background:hsl(var(--surface))}.ap-key .k4{background:color-mix(in srgb, hsl(var(--accent)) calc(8% * var(--wash)), hsl(var(--sidebar-bg)))}.font-sample{background:hsl(var(--surface-2));border-radius:12px;margin:4px 0 0;padding:12px 14px;font-size:1.05rem}.font-sample small{color:hsl(var(--text-muted));font-size:.78rem}.set-main{container-type:inline-size}@container (width<=860px){.ap-split{grid-template-columns:1fr}.ap-sticky{order:-1;max-width:460px;position:static}.ap-key{grid-template-columns:1fr 1fr}}.medal-board{gap:18px;display:grid}.medal-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.seg-mini{background:hsl(var(--surface-2));border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg-mini button{color:inherit;font:600 .8rem var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px}.seg-mini button.is-on{background:hsl(var(--surface));box-shadow:0 1px 3px #00000026}.tier-key{color:hsl(var(--text-muted));flex-wrap:wrap;gap:12px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.tier-key li{align-items:center;gap:5px;display:inline-flex}.tier-key i{background:var(--tc);border-radius:50%;width:12px;height:12px}.tier-key b{color:hsl(var(--text))}.t1{--tc:#c17633}.t2{--tc:#8f99a3}.t3{--tc:#dfad16}.t4{--tc:#39b3c6}.medal-group h3,.medal-near h3{font:700 1rem var(--font-display);align-items:baseline;gap:8px;margin:0 0 8px;display:flex}.medal-group h3 small{font:600 .72rem var(--font-mono);color:hsl(var(--text-muted))}.medal-near{background:color-mix(in srgb, hsl(var(--accent)) 6%, hsl(var(--surface)));border:1px dashed hsl(var(--accent) / .45);border-radius:18px;padding:12px}.medal-tier{font:700 .58rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tc)}.medal .medal-ic{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--tc) 45%, transparent)}.medal.is-done .medal-ic,[data-duo="1"] .medal.is-done .medal-ic{background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--tc) 60%, white), var(--tc) 60%, color-mix(in srgb, var(--tc) 70%, black));color:#fff;box-shadow:0 8px 18px -10px var(--tc), inset 0 0 0 2px #ffffff59}.medal.is-done,[data-duo="1"] .medal.is-done{border-color:color-mix(in srgb, var(--tc) 55%, transparent);background:color-mix(in srgb, var(--tc) 7%, hsl(var(--surface)))}.medal.is-done.t4 .medal-ic{animation:3.2s ease-in-out infinite shine}@keyframes shine{0%,to{filter:brightness()}50%{filter:brightness(1.25)saturate(1.2)}}[data-motion=off] .medal.is-done.t4 .medal-ic{animation:none}.medal.is-done .medal-n{color:var(--tc)}.next-medal ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.next-medal li{grid-template-columns:38px 1fr auto;align-items:center;gap:10px;display:grid}.next-medal .medal-ic{background:hsl(var(--surface-2));width:38px;height:38px;color:var(--tc);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--tc) 50%, transparent);border-radius:12px;place-items:center;display:grid}.next-medal li>div{gap:2px;min-width:0;display:grid}.next-medal b{font:700 .88rem var(--font-display)}.next-medal small{color:hsl(var(--text-muted));font-size:.74rem;line-height:1.25}.next-medal li>span{font:700 .8rem var(--font-mono);color:var(--tc)}.next-medal .medal-bar u{background:var(--tc)}.rx{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:20px;padding:18px 20px 16px;position:relative;overflow:hidden}.rx:after{content:"";background:radial-gradient(circle, hsl(var(--accent) / .12), transparent 70%);pointer-events:none;border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-40px}.rx-head{align-items:center;gap:14px;margin-bottom:10px;display:flex}.rx-mark{background:hsl(var(--accent));width:44px;height:44px;color:hsl(var(--accent-contrast));font:700 1.6rem var(--font-display);box-shadow:0 8px 18px -10px hsl(var(--accent));border-radius:12px;place-items:center;display:grid;transform:rotate(-4deg)}.rx-head h2{font:700 1.25rem var(--font-display);letter-spacing:-.02em;margin:0}.rx-head small{color:hsl(var(--text-muted));font-size:.8rem}.rx ol{margin:0;padding:0;list-style:none;display:grid}.rx-item{border-top:1px dashed hsl(var(--border));grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;display:grid}.rx-item>i{width:26px;height:26px;font:700 .78rem var(--font-mono);border:1.5px solid hsl(var(--text-muted) / .5);color:hsl(var(--text-muted));border-radius:50%;place-items:center;font-style:normal;display:grid}.rx-item.is-urgent>i{background:hsl(var(--s-fail-fill));color:#fff;border-color:#0000}.rx-item.is-main>i{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-color:#0000}.rx-item>div{gap:2px;display:grid}.rx-item b{font:700 .95rem var(--font-display)}.rx-item span{color:hsl(var(--text-muted));font-size:.82rem;line-height:1.35}.rx-item.is-urgent b{color:hsl(var(--s-fail-text))}@media (width<=560px){.rx-item{grid-template-columns:26px 1fr}.rx-item .btn{grid-column:2;justify-self:start}}.delta{font:700 .64rem var(--font-mono);vertical-align:1px;border-radius:999px;align-items:center;gap:1px;margin-left:6px;padding:0 5px;font-style:normal;display:inline-flex}.delta.up{background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text))}.delta.down{background:hsl(var(--s-learn-soft));color:hsl(var(--s-learn-text))}.quick.st-sim{--sf:var(--accent2);--ss:var(--accent2-soft);text-decoration:none}.quick.st-sim b{font-size:1.1rem}.quick-grid:has(.st-sim){grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.where-nav{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:700}.ap-side i.on{position:relative}.ap .p1{top:-5px;right:-8px}.ap-hero u{background:hsl(var(--text));color:hsl(var(--bg))}.mini-hero u{background:hsl(var(--text) / .85)}.hoy-main{container-type:inline-size}@container (width<=700px){.sumrow.vitals{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}.sumrow.vitals .sum:nth-of-type(3n+1){border-left:0}.sumrow.vitals .sum b{font-size:1.4rem}}@container (width<=420px){.sumrow.vitals{grid-template-columns:repeat(2,minmax(0,1fr))}.sumrow.vitals .sum{border-left:0!important}}.sumrow.vitals .delta{justify-self:start;margin:3px 0 0}.page-loading{min-height:50vh;position:relative}.page-loading:after{content:"";background:linear-gradient(90deg, transparent, hsl(var(--accent)), transparent);opacity:0;background-size:200% 100%;border-radius:2px;width:120px;height:3px;margin-left:-60px;animation:1s linear .25s infinite forwards loadline;position:absolute;top:30%;left:50%}@keyframes loadline{0%{opacity:1;background-position:100% 0}to{opacity:1;background-position:-100% 0}}.page-error{border:1px dashed hsl(var(--border));border-radius:18px;justify-items:start;gap:10px;padding:24px;display:grid}.wk{background:linear-gradient(135deg, color-mix(in srgb, hsl(var(--accent)) 8%, hsl(var(--surface))), hsl(var(--surface)) 60%);border:1px solid hsl(var(--border));box-shadow:var(--sh1);border-radius:22px;gap:14px;padding:20px 22px;display:grid}.wk-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.wk-head h2{font:700 1.3rem/1.2 var(--font-display);letter-spacing:-.02em;max-width:46ch;margin:2px 0 0}.wk-body{grid-template-columns:minmax(0,1.4fr) minmax(150px,.8fr) minmax(0,1fr);align-items:end;gap:18px;display:grid}.wk-nums{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:12px;margin:0;display:grid}.wk-nums dt{font:600 .62rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.wk-nums dd{font:800 1.45rem/1.1 var(--font-display);flex-wrap:wrap;align-items:baseline;gap:6px;margin:2px 0 0;display:flex}.wk-nums em{font:700 .66rem var(--font-mono);background:hsl(var(--surface-2));color:hsl(var(--text-muted));border-radius:999px;padding:1px 6px;font-style:normal}.wk-nums em.up{background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text))}.wk-nums em.down{background:hsl(var(--s-learn-soft));color:hsl(var(--s-learn-text))}.wk-days{grid-template-columns:repeat(7,1fr);align-items:end;gap:5px;height:90px;display:grid}.wk-days span{grid-template-rows:1fr auto;justify-items:center;gap:3px;height:100%;display:grid}.wk-days i{background:hsl(var(--text) / .12);border-radius:5px 5px 2px 2px;align-self:end;width:100%;max-width:18px}.wk-days span.on i{background:hsl(var(--accent2))}.wk-days small{font:600 .6rem var(--font-mono);color:hsl(var(--text-muted))}.wk-side{gap:8px;font-size:.84rem;display:grid}.wk-side ol{gap:3px;margin:4px 0 0;padding:0;list-style:none;display:grid}.wk-side li{justify-content:space-between;gap:8px;display:flex}.wk-side li span{color:hsl(var(--text-muted));white-space:nowrap;font-size:.76rem}.wk-weak{background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));border-radius:10px;margin:0;padding:8px 10px}@media (width<=980px){.wk-body{grid-template-columns:1fr}}:root{--sh-soft:0 1px 2px #1217210f, 0 6px 16px -10px #12172138;--sh-lift:0 2px 4px #1217210f, 0 16px 30px -18px #12172159}[data-mode=dark]{--sh-soft:0 1px 2px #0000004d, 0 8px 18px -10px #0000008c;--sh-lift:0 2px 4px #0000004d, 0 18px 34px -16px #000000b3}.hero2,.today,.wk{background-color:hsl(var(--surface))}.hero2{background-image:radial-gradient(520px 240px at -5% 120%, hsl(var(--accent2) / calc(.1 * var(--wash))), transparent 70%), linear-gradient(135deg, color-mix(in srgb, hsl(var(--accent)) calc(6% * var(--wash)), hsl(var(--surface))), hsl(var(--surface)) 70%)}.hero-folder{background-image:linear-gradient(135deg, color-mix(in srgb, var(--fc) 14%, hsl(var(--surface))), hsl(var(--surface)) 80%)}.ctile{background-color:color-mix(in srgb, hsl(var(--cc,var(--text-muted))) 12%, hsl(var(--surface)))}.ctile.is-on{background-color:color-mix(in srgb, hsl(var(--cc,var(--text-muted))) 22%, hsl(var(--surface)))}.ex-card{background-color:hsl(var(--surface))}.ex-card.is-chosen{background-color:color-mix(in srgb, hsl(var(--accent)) 8%, hsl(var(--surface)))}:where(.panel:not(.modal),.today-card,.set-block,.stat,.medal,.rail-card,.next-card,.mode-card,.wash-opt,.surf2,.gafete,.career-strip,.rx,.wk,.hero2,.today,.sumrow.vitals,.imp-step,.tag-detail,.pano-sum,.err-summary,.ret-card,.body-plate,.body-detail,.body-rank,.ctile,.quick,.ex-card){box-shadow:var(--sh-soft)}:where(.mode-card,.wash-opt,.surf2,.quick,.ctile,.next-card):hover{box-shadow:var(--sh-lift)}.exp-body{box-shadow:var(--sh-soft);backface-visibility:hidden;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s;transform:translateZ(0)}.exp:hover .exp-body{box-shadow:var(--sh-lift), 0 18px 34px -24px var(--fc);transform:translateY(-3px)}.exp{animation-fill-mode:backwards}.exp:hover .exp-art{opacity:.26;transform:translate(-4px,2px)}.exps{grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr));gap:30px 14px}.exps .exp-body{gap:10px;min-height:176px;padding:16px 16px 14px}.exps .exp-art{width:76px;right:-10px}.exps .exp-index li{font-size:.8125rem}.exps .exp-index li span{max-width:78%}.exps .exp-new{min-height:176px}@media (width<=560px){.exps{grid-template-columns:1fr}}.sel-panel.is-floating{z-index:3000;max-width:min(460px,100vw - 16px);position:fixed}.sel-panel.is-floating .sel-list{max-height:min(340px, var(--sel-max,52vh))}.sel-panel.is-floating .sel-hint{max-width:45%}.dots-xl{flex-wrap:wrap;gap:10px;display:flex}.dots-xl .dot{color:#fff;cursor:pointer;width:38px;height:38px;box-shadow:inset 0 0 0 1px #0000001f, var(--sh-soft);border:0;border-radius:50%;place-items:center;transition:transform .15s;display:grid}.dots-xl .dot:hover{transform:scale(1.08)}.dots-xl .dot[aria-pressed=true]{box-shadow:0 0 0 3px hsl(var(--surface)), 0 0 0 5px hsl(var(--text))}.duo-more{border-top:1px dashed hsl(var(--border));padding-top:8px}.duo-more summary{cursor:pointer;color:hsl(var(--text-muted));font-size:.85rem;font-weight:600}.duo-more[open]{gap:10px;display:grid}.day-wrap{align-items:flex-end;gap:14px;display:flex}.day-wrap>.today-ring{flex:none;order:0;grid-area:auto!important}.day-wrap>.week{flex:1;order:1;min-width:0;grid-column:auto!important}.day-card .today-ring{text-align:center;justify-items:center;gap:4px;font-size:.75rem;display:grid}.day-card .week{height:112px}@media (width<=380px){.day-wrap{flex-direction:column;align-items:stretch}}.rcal{gap:10px;display:grid}.rcal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.rcal-h{text-align:center;font:700 .62rem var(--font-mono);letter-spacing:.1em;color:hsl(var(--text-muted));padding-bottom:2px}.rcal-day{border:1px solid hsl(var(--border));background:hsl(var(--surface));min-height:58px;color:hsl(var(--text));cursor:pointer;text-align:left;font:inherit;border-radius:10px;grid-template-rows:auto 1fr;place-items:end start;padding:5px 7px;transition:transform .12s,box-shadow .12s;display:grid;position:relative}.rcal-day:hover{box-shadow:var(--sh-soft);transform:translateY(-1px)}.rcal-day small{font:600 .62rem var(--font-mono);color:hsl(var(--text-muted));text-transform:capitalize}.rcal-day b{font:800 1.05rem/1 var(--font-display);justify-self:end}.rcal-day em{font-size:.75rem;font-style:normal;position:absolute;top:3px;right:5px}.rcal-day.l1{background:color-mix(in srgb, hsl(var(--accent)) 12%, hsl(var(--surface)))}.rcal-day.l2{background:color-mix(in srgb, hsl(var(--accent)) 26%, hsl(var(--surface)))}.rcal-day.l3{background:color-mix(in srgb, hsl(var(--accent)) 44%, hsl(var(--surface)))}.rcal-day.l4{background:hsl(var(--accent));color:hsl(var(--accent-contrast));border-color:#0000}.rcal-day.l3 small,.rcal-day.l4 small{color:inherit;opacity:.8}.rcal-day.is-today{box-shadow:0 0 0 2px hsl(var(--text))}.rcal-day.is-exam{border:2px dashed hsl(var(--accent2))}.rcal-day.is-on{outline:2px solid hsl(var(--accent2));outline-offset:2px}.rcal-blank{min-height:44px}.rcal.is-compact .rcal-day{aspect-ratio:auto;min-height:42px;padding:4px 6px}.rcal.is-compact .rcal-day b{font-size:.95rem}.rcal-detail{background:hsl(var(--surface-2));border-radius:10px;margin:0;padding:8px 12px;font-size:.86rem}.rcal-detail b:first-letter{text-transform:uppercase}.rcal-sum{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.rcal-sum li{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.rcal-sum b{font:800 1.4rem var(--font-display)}.rcal-sum span{color:hsl(var(--text-muted));font-size:.78rem}.rcal-key{color:hsl(var(--text-muted));align-items:center;gap:4px;margin:0;padding:0;font-size:.7rem;list-style:none;display:flex}.rcal-key li{align-items:center;gap:4px;display:inline-flex}.rcal-key li:before{content:"";border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:4px;width:14px;height:14px}.rcal-key .l1:before{background:color-mix(in srgb, hsl(var(--accent)) 12%, hsl(var(--surface)))}.rcal-key .l2:before{background:color-mix(in srgb, hsl(var(--accent)) 26%, hsl(var(--surface)))}.rcal-key .l3:before{background:color-mix(in srgb, hsl(var(--accent)) 44%, hsl(var(--surface)))}.rcal-key .l4:before{background:hsl(var(--accent))}.stats{gap:12px}.stats .stat{background:hsl(var(--surface));border-radius:16px;position:relative;overflow:hidden}.stats .stat:after{content:"";background:hsl(var(--sf,var(--accent)));height:3px;position:absolute;top:0;left:0;right:0}.ptabs{z-index:5;background:hsl(var(--surface));border:1px solid hsl(var(--border));width:fit-content;max-width:100%;box-shadow:var(--sh-soft);border-radius:999px;gap:4px;margin:6px 0 2px;padding:4px;display:flex;position:sticky;top:8px;overflow-x:auto}.ptabs button{color:hsl(var(--text-muted));font:600 .9rem var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 18px}.ptabs button:hover{color:hsl(var(--text))}.ptabs button.is-on{background:hsl(var(--text));color:hsl(var(--bg))}.ptab{flex-direction:column;gap:22px;animation:.2s both fade;display:flex}.stats-controls{z-index:6;position:relative}.day-card .week{gap:4px;display:flex}.day-card .week-day{flex:1;min-width:0}.day-card .week-day i{width:100%;max-width:16px}.body-layout:has(.hosp){grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.hosp{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);border-radius:22px;gap:0;padding:0 0 14px;display:grid;position:relative;overflow:hidden}.hosp-roof{background:hsl(var(--text));color:hsl(var(--bg));flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.hosp-roof b{font:800 1.15rem var(--font-display);letter-spacing:-.01em}.hosp-roof small{font:600 .7rem var(--font-mono);opacity:.75;margin-left:auto}.hosp-cross{background:hsl(var(--s-fail-fill));color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:1.05rem;display:grid}.hosp-floor{border-bottom:4px solid color-mix(in srgb, hsl(var(--text)) 14%, hsl(var(--surface-2)));background:repeating-linear-gradient(90deg, transparent 0 46px, hsl(var(--text) / .025) 46px 47px);grid-template-columns:34px minmax(0,1fr);display:grid}.hosp-floor.is-ground{background:color-mix(in srgb, hsl(var(--s-fail-fill)) 4%, hsl(var(--surface)));border-bottom:0}.hosp-floor-n{font:800 .8rem var(--font-mono);color:hsl(var(--text-muted));background:hsl(var(--surface-2));border-right:1px solid hsl(var(--border));place-items:center;display:grid}.hosp-rooms{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:12px;display:grid}.hosp-street{background:repeating-linear-gradient(90deg, hsl(var(--text) / .25) 0 18px, transparent 18px 30px);opacity:.5;border-radius:0 0 6px 6px;height:10px;margin:0 12px}.hosp .body-key{margin-top:12px}.ward{--c:var(--text-muted);text-align:left;cursor:pointer;font:inherit;color:hsl(var(--text));background:hsl(var(--surface));border:1.5px solid color-mix(in srgb, hsl(var(--c)) 40%, hsl(var(--border)));box-shadow:var(--sh-soft);border-radius:12px;justify-items:start;gap:4px;padding:12px 12px 10px;transition:transform .15s,box-shadow .15s;display:grid;position:relative}.ward:hover{box-shadow:var(--sh-lift);transform:translateY(-2px)}.ward.is-on{outline:3px solid hsl(var(--c));outline-offset:2px}.ward.is-low{--c:var(--s-fail-fill)}.ward.is-mid{--c:var(--s-learn-fill)}.ward.is-good{--c:var(--s-review-fill)}.ward.is-top{--c:var(--s-master-fill)}.ward:not(.is-none){background:linear-gradient(180deg, color-mix(in srgb, hsl(var(--c)) 14%, hsl(var(--surface))), hsl(var(--surface)) 70%)}.ward.is-none{opacity:.62;background:hsl(var(--surface-2))}.ward-light{background:hsl(var(--c));width:10px;height:10px;box-shadow:0 0 0 3px hsl(var(--c) / .2), 0 0 12px hsl(var(--c) / .7);border-radius:50%;position:absolute;top:10px;right:10px}.ward.is-none .ward-light{box-shadow:none;opacity:.4}.ward-ic{color:hsl(var(--c))}.ward-name{font:700 .88rem/1.2 var(--font-display);padding-right:14px}.ward small{color:hsl(var(--text-muted));font-size:.7rem}.ward-meter{background:hsl(var(--text) / .1);border-radius:2px;width:100%;height:4px;overflow:hidden}.ward-meter i{background:hsl(var(--c));height:100%;display:block}.ward-wait{font:700 .62rem var(--font-mono);background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));border-radius:999px;padding:2px 7px;font-style:normal}@media (width<=1000px){.body-layout:has(.hosp){grid-template-columns:1fr}}@media (width<=480px){.hosp-rooms{grid-template-columns:1fr 1fr;gap:8px;padding:8px}.hosp-floor{grid-template-columns:26px minmax(0,1fr)}}:has(>.exps){container-type:inline-size}.exps{grid-template-columns:repeat(3,minmax(0,1fr))!important}@container (width<=640px){.exps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@container (width<=400px){.exps{grid-template-columns:1fr!important}}@media (width<=560px){.exps{grid-template-columns:1fr!important}}.exps .exp-name{font-size:1.2rem}.study-set{flex-direction:column;gap:18px;max-width:980px;display:flex}.exam-set{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.exam-count{background:hsl(var(--surface-2));text-align:center;border-radius:14px;justify-items:center;min-width:130px;padding:10px 16px;display:grid}.exam-count.is-set{background:hsl(var(--accent));color:hsl(var(--accent-contrast));box-shadow:var(--sh-soft)}.exam-count b{font:800 2rem/1 var(--font-display)}.exam-count span{font-size:.78rem}@media (width<=640px){.exam-set{grid-template-columns:1fr}}.field small.muted{font-size:.74rem}.ret2{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ret2-opt{border:2px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;box-shadow:var(--sh-soft);border-radius:14px;gap:4px;padding:12px 14px;display:grid;position:relative}.ret2-opt input{opacity:0;cursor:pointer;position:absolute;inset:0}.ret2-opt b{font:700 1rem var(--font-display)}.ret2-opt small{color:hsl(var(--text-muted));font-size:.8rem;line-height:1.3}.ret2-opt.is-on{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .18)}.ret2-opt.is-on b:after{content:" ✓";color:hsl(var(--accent-text))}@media (width<=640px){.ret2{grid-template-columns:1fr}}.ret-slider{color:hsl(var(--text-muted));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;font-size:.8rem;font-weight:600;display:grid}.ret-slider input{width:100%}.ret-say{margin:0;font-size:.98rem;line-height:1.45}.month-strip{gap:4px;display:grid}.month-days{grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;display:grid}.month-days span{background:hsl(var(--surface-2));border-radius:5px;place-items:center;height:26px;display:grid;position:relative}.month-days span.is-today{box-shadow:inset 0 0 0 2px hsl(var(--text) / .5)}.month-days span.is-rev{background:hsl(var(--accent))}.month-days span.is-rev i{background:hsl(var(--accent-contrast));border-radius:50%;width:6px;height:6px}.month-axis{font:600 .62rem var(--font-mono);color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;display:flex}.btn-ex-wrap summary{cursor:pointer;font-size:.88rem;font-weight:600}.btn-ex-wrap[open] summary{margin-bottom:8px}.set-moved{border:1px dashed hsl(var(--border));background:hsl(var(--surface));border-radius:14px;margin:0;padding:12px 16px}.hoy2{flex-direction:column;gap:20px;display:flex}.shift{background-color:hsl(var(--surface));background-image:radial-gradient(700px 300px at 100% 0, hsl(var(--accent) / calc(.1 * var(--wash))), transparent 70%), radial-gradient(500px 260px at 0 110%, hsl(var(--accent2) / calc(.08 * var(--wash))), transparent 70%);border:1px solid color-mix(in srgb, hsl(var(--accent)) 18%, hsl(var(--border)));box-shadow:var(--sh-soft);border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:26px;padding:28px 30px 24px;display:grid;position:relative;overflow:hidden}.shift>.heartline,.shift>svg:last-child{opacity:.5;pointer-events:none;width:260px;position:absolute;top:14px;right:18px}.shift-main{flex-direction:column;gap:12px;min-width:0;display:flex;position:relative}.shift-top{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.shift h1{font:700 clamp(1.8rem, 3vw, 2.4rem)/1.05 var(--font-display);letter-spacing:-.03em;margin:0}.shift-count{align-items:flex-end;gap:16px;display:flex}.shift-count .display{font:800 clamp(4rem, 8vw, 6.2rem)/.85 var(--font-display);letter-spacing:-.05em}.shift-count p{gap:2px;margin:0 0 6px;font-size:1.05rem;display:grid}.shift-track{background:hsl(var(--surface-2));border-radius:10px;gap:3px;height:30px;display:flex;overflow:hidden}.shift-track .seg-done{background:hsl(var(--s-master-fill));color:#fff;min-width:44px;font:700 .75rem var(--font-mono);justify-content:center;align-items:center;gap:4px;display:inline-flex}.shift-track .triage{flex-basis:0;gap:3px;height:100%;margin:0;display:flex}.shift-track .triage i{flex:var(--n) 1 0;border-radius:0;min-width:6px;height:100%}.shift-track .triage i.is-empty{display:none}.shift-track .seg-empty{color:hsl(var(--text-muted));margin:auto;font-size:.8rem}.shift .today-parts{flex-flow:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.shift .today-parts li{background:hsl(var(--ss,var(--surface-2)));border:1px solid hsl(var(--sf,var(--border)) / .4);border-radius:999px;flex:none;align-items:baseline;gap:6px;width:auto;padding:6px 12px;display:inline-flex}.shift .today-parts li b{font:800 1.05rem var(--font-display)}.shift .today-parts li span{font-size:.8rem;font-weight:600}.shift .today-parts li em{font:600 .66rem var(--font-mono);color:hsl(var(--text-muted));font-style:normal}.st-done{--sf:var(--s-master-fill);--ss:var(--s-master-soft)}.shift .goal{background:hsl(var(--surface-2));border-radius:4px;height:8px;position:relative}.shift .goal span{color:hsl(var(--text-muted));font-size:.7rem;position:absolute;top:10px;right:0}.shift-side{flex-direction:column;justify-content:flex-end;display:flex;position:relative}.shift-side .today-card{background:hsl(var(--surface-2) / .6);box-shadow:none;border:1px dashed hsl(var(--border))}.shift-side .quick-grid{grid-template-columns:1fr 1fr!important}@media (width<=900px){.shift{grid-template-columns:1fr;padding:22px 18px}.shift>svg:last-child{display:none}}.bento{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.bento-a{grid-column:span 2}.bento-b{grid-column:span 1}.bento-wide{grid-column:1/-1}.bento-row{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.bento-row>*{height:100%}@media (width<=1100px){.bento{grid-template-columns:1fr 1fr}.bento-a,.bento-b{grid-column:1/-1}.bento-row{grid-template-columns:1fr 1fr}}@media (width<=700px){.bento,.bento-row{grid-template-columns:1fr}}.gafete-mini{gap:10px;display:grid}.gafete-mini header{align-items:center;gap:12px;display:flex}.gafete-mini .gafete-photo{width:42px;height:42px;font-size:1.1rem}.gafete-mini header b{font:700 1.05rem var(--font-display);display:block}.gafete-mini small{color:hsl(var(--text-muted));font-size:.76rem}.gafete-mini p{margin:0;font-size:.82rem}.st-done{--stx:var(--s-master-text)}.shift .today-parts li b{min-width:0;font-size:1.05rem}.bento .ahead-card .section-title{flex-wrap:wrap}.looks{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.look{border:2px solid hsl(var(--border));background:hsl(var(--surface));color:inherit;text-align:left;font:inherit;cursor:pointer;box-shadow:var(--sh-soft);border-radius:14px;gap:3px;padding:7px 7px 10px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.look:hover{box-shadow:var(--sh-lift);border-color:hsl(var(--text) / .4);transform:translateY(-2px)}.look .mini{margin-bottom:4px}.look b{font:700 .92rem var(--font-display)}.look small{color:hsl(var(--text-muted));font-size:.74rem;line-height:1.25}.look.is-on{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .2)}.look.is-on b:after{content:" ✓";color:hsl(var(--accent-text))}.stats-say{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);border-radius:16px;margin:0;padding:14px 18px;font-size:1.05rem;line-height:1.5}.stats2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.stats2 .stat{gap:2px;padding:14px 16px;display:grid}.stats2 .stat dt{font:700 .66rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.stats2 .stat dd{font:800 1.7rem/1.1 var(--font-display);margin:0}.stats2 .stat small{color:hsl(var(--text-muted));font-size:.76rem}.ptabs button{text-align:center;border-radius:14px;gap:0;padding:7px 18px;display:grid}.ptabs button b{font:700 .9rem var(--font-ui)}.ptabs button small{opacity:.75;font-size:.68rem}.ptabs{border-radius:18px}.logo{border-radius:26%;flex:none;box-shadow:0 4px 12px -6px #0d142699}[data-mode=dark] .logo{box-shadow:0 0 0 1px #ffffff1f,0 4px 12px -6px #000}.logo .logo-beat,[data-duo="1"] .logo path[pathLength],.gafete-head .logo .logo-beat{stroke:#ff6a4d!important}.logo .logo-c,.gafete-head .logo .logo-c{stroke:#f6f0e4!important}.logo-beat{stroke-dasharray:1;stroke-dashoffset:0}[data-motion=full] .brand:hover .logo-beat{animation:1.1s cubic-bezier(.4,0,.2,1) beat-draw}@keyframes beat-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.wordmark{font-family:var(--font-display);letter-spacing:-.04em;font-weight:800}.wordmark i{color:#ff6a4d;margin:0 .01em 0 .02em;font-style:italic}.install{justify-items:start;gap:12px;display:grid}.install-head{align-items:center;gap:12px;display:flex}.install-head b{font:700 1rem var(--font-display);display:block}.install-head small{color:hsl(var(--text-muted));font-size:.82rem}.install-steps{gap:6px;margin:0;padding-left:20px;font-size:.9rem;display:grid}.install-steps svg{vertical-align:-2px}.install-ok{color:hsl(var(--s-review-text));margin:0;font-weight:600}.install-banner{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);border-radius:14px;align-items:center;gap:10px;margin:8px 12px 0;padding:8px 10px 8px 12px;font-size:.85rem;display:flex}.install-banner span{flex:1;min-width:0}@supports (padding:env(safe-area-inset-top)){.topbar{padding-top:max(10px, env(safe-area-inset-top));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.main{padding-bottom:max(24px, env(safe-area-inset-bottom))}.sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.toasts{bottom:max(20px, calc(env(safe-area-inset-bottom) + 12px))}}@media (display-mode:standalone){body{overscroll-behavior-y:none}html{-webkit-tap-highlight-color:transparent}}.ed-step-sub{font:500 .78rem var(--font-ui);letter-spacing:0;text-transform:none;color:hsl(var(--text-muted));margin-left:6px}.ficha-edit.is-cards{flex-direction:column;gap:12px;display:flex}.is-cards>.rich-field,.is-cards>fieldset,.is-cards .holes,.is-cards .occ-wrap{--tc:var(--text-muted);border:1px solid hsl(var(--border));background:hsl(var(--surface));box-shadow:var(--sh-soft);border-radius:16px;gap:8px;min-width:0;margin:0;padding:14px 16px 14px 20px;display:grid;position:relative}.is-cards>.rich-field:before,.is-cards>fieldset:before{content:"";background:hsl(var(--tc));border-radius:0 4px 4px 0;width:4px;position:absolute;top:12px;bottom:12px;left:0}.is-cards .tone-q{--tc:var(--s-new-fill)}.is-cards .tone-a{--tc:var(--s-review-fill)}.is-cards .tone-x{--tc:var(--text-muted);background:color-mix(in srgb, hsl(var(--surface-2)) 50%, hsl(var(--surface)))}.field-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:0;display:flex}.is-cards .field-label{font:700 .95rem var(--font-display);color:hsl(var(--text));letter-spacing:0;text-transform:none;writing-mode:horizontal-tb;width:auto;position:static;transform:none}.field-hint{color:hsl(var(--text-muted));font-size:.8rem}.is-cards .rich-editor{min-height:calc(var(--rows,3) * 1.6em);border:1.5px solid hsl(var(--border));background:hsl(var(--bg));border-radius:10px;padding:10px 12px;font-size:1.05rem;line-height:1.55}.is-cards .rich-editor:focus{border-color:hsl(var(--tc));box-shadow:0 0 0 3px hsl(var(--tc) / .18);outline:none}.is-cards .rich-editor:empty:before{content:attr(data-placeholder);color:hsl(var(--text-muted) / .7)}.is-cards>fieldset>legend{float:left;width:100%;margin-bottom:4px}.tf-answer{grid-template-columns:1fr 1fr;gap:10px!important;display:grid!important}.tf-answer legend{grid-column:1/-1}.tf-opt{border:2px solid hsl(var(--border));font:700 1rem var(--font-ui);cursor:pointer;background:hsl(var(--bg));border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px;display:flex;position:relative}.tf-opt input{opacity:0;cursor:pointer;position:absolute;inset:0}.tf-opt.is-true:before{content:"✓"}.tf-opt.is-false:before{content:"✗"}.tf-opt.is-true.is-on{border-color:hsl(var(--s-review-fill));background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text))}.tf-opt.is-false.is-on{border-color:hsl(var(--s-fail-fill));background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text))}.tf-opt:has(input:focus-visible){outline:2px solid hsl(var(--accent));outline-offset:2px}.is-cards .mcq-options{--tc:var(--s-review-fill)}.is-cards>p.hint{margin:-4px 4px 0}.set-sec.is-off{display:none}.set-sec{animation:.18s both fade}.set-nav a.is-on{box-shadow:inset 3px 0 0 hsl(var(--accent))}.set-nav-out{border-top:1px dashed hsl(var(--border));margin-top:6px;border-radius:0 0 12px 12px!important;padding-top:12px!important}.set-nav{box-shadow:var(--sh-soft)}.looks-tabs{margin-bottom:4px}.campus-sum{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.campus-sum>div{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);border-radius:16px;padding:12px 16px;display:grid}.campus-sum b{font:800 1.6rem var(--font-display)}.campus-sum span{color:hsl(var(--text-muted));font-size:.78rem}@media (width<=640px){.campus-sum{grid-template-columns:1fr 1fr}}.campus-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:22px;margin-top:4px;display:grid}@media (width<=1100px){.campus-layout{grid-template-columns:1fr}}.campus{background:linear-gradient(180deg, color-mix(in srgb, hsl(var(--accent)) 10%, hsl(var(--surface))) 0%, hsl(var(--surface)) 70%);border:1px solid hsl(var(--border));min-height:260px;box-shadow:var(--sh-soft);scrollbar-width:thin;border-radius:24px;align-items:flex-end;gap:14px;padding:20px 16px 26px;display:flex;position:relative;overflow-x:auto}.campus-ground{background:repeating-linear-gradient(90deg, hsl(var(--text) / .14) 0 22px, transparent 22px 34px), hsl(var(--surface-2));height:18px;position:absolute;bottom:0;left:0;right:0}.tower{z-index:1;background:hsl(var(--surface));border:1.5px solid color-mix(in srgb, var(--fc) 45%, hsl(var(--border)));box-shadow:var(--sh-lift);border-radius:14px 14px 4px 4px;flex-direction:column;flex:0 0 190px;display:flex;position:relative;overflow:hidden}.tower.is-build{opacity:.75;border-style:dashed}.tower-roof{background:var(--fc);color:#fff;align-items:center;gap:8px;padding:10px;display:flex}.tower-roof b{font:700 .86rem/1.15 var(--font-display);display:block}.tower-roof small{opacity:.9;font-size:.66rem}.tower-ic{background:#ffffff2e;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.tower-body{background:repeating-linear-gradient(90deg, transparent 0 18px, hsl(var(--text) / .03) 18px 19px);flex-direction:column;gap:4px;padding:8px;display:flex}.tower-more{color:hsl(var(--text-muted));text-align:center;font-size:.66rem}.floor{--c:var(--text-muted);border:1px solid hsl(var(--border));background:hsl(var(--bg));cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:7px;gap:3px;padding:6px 7px;transition:transform .12s,box-shadow .12s;display:grid;position:relative}.floor:hover{box-shadow:var(--sh-soft);transform:translate(2px)}.floor.is-on{outline:2px solid var(--fc);outline-offset:1px}.floor.is-low{--c:var(--s-fail-fill)}.floor.is-mid{--c:var(--s-learn-fill)}.floor.is-good{--c:var(--s-review-fill)}.floor.is-top{--c:var(--s-master-fill)}.floor-name{text-overflow:ellipsis;white-space:nowrap;padding-right:18px;font-size:.72rem;font-weight:600;line-height:1.2;overflow:hidden}.floor-win{grid-template-columns:repeat(10,1fr);gap:2px;display:grid}.floor-win i{background:hsl(var(--text) / .12);border-radius:2px;height:7px}.floor-win i.on{background:hsl(var(--c));box-shadow:0 0 6px hsl(var(--c) / .6)}.floor-wait{background:hsl(var(--s-fail-fill));color:#fff;min-width:16px;font:700 .58rem/16px var(--font-mono);text-align:center;border-radius:8px;padding:0 4px;font-style:normal;position:absolute;top:4px;right:5px}.tower-base{font:600 .66rem var(--font-mono);color:hsl(var(--text-muted));border-top:1px solid hsl(var(--border));background:hsl(var(--surface-2));padding:6px 10px}.grades{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);border-radius:16px;margin-top:12px;padding:14px}.grades ol{gap:3px;margin:6px 0 0;padding-left:18px;font-size:.84rem;display:grid}.grades li{display:list-item}.grades li span{float:right;color:hsl(var(--text-muted));font-size:.76rem}@media (width<=560px){.tower{flex-basis:160px}}.badge{--tc:160 55% 38%;background:hsl(var(--surface));box-shadow:var(--sh-lift);gap:12px;padding:30px 18px 14px;overflow:hidden}.badge.t-b{--tc:214 62% 46%}.badge.t-c{--tc:268 45% 50%}.badge.t-d{--tc:42 78% 44%}.badge:before,[data-duo="1"] .badge:before{background:linear-gradient(135deg, hsl(var(--tc)), color-mix(in srgb, hsl(var(--tc)) 60%, black));height:74px}.badge:after{content:"";background:repeating-linear-gradient(90deg, hsl(var(--tc)) 0 10px, transparent 10px 16px);opacity:.5;height:4px;position:absolute;top:74px;left:0;right:0}.badge .gafete-head{color:#fff;margin-top:8px}.badge .gafete-head span{display:grid}.badge .gafete-head b{font:800 .95rem var(--font-display)}.badge .gafete-head small{font:600 .6rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.85}.badge .gafete-id{margin-top:18px}.badge .gafete-photo,[data-duo="1"] .badge .gafete-photo{background:linear-gradient(180deg, color-mix(in srgb, hsl(var(--tc)) 22%, hsl(var(--surface))), hsl(var(--surface-2)));width:66px;height:78px;color:hsl(var(--tc));border:2px solid hsl(var(--tc));font:800 2rem var(--font-display);box-shadow:none;border-radius:12px}.badge .gafete-rank{background:hsl(var(--tc) / .14);width:fit-content;color:hsl(var(--tc));border-radius:6px;padding:2px 8px;display:inline-block}.badge-fields{border-top:1px dashed hsl(var(--border));border-bottom:1px dashed hsl(var(--border));grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;padding:10px 0;display:grid}.badge-fields dt{font:700 .56rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--text-muted))}.badge-fields dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.84rem;font-weight:700;overflow:hidden}.badge .gafete-xp i,[data-duo="1"] .badge .gafete-xp i{background-color:hsl(var(--tc))}.badge-medals{align-items:center;gap:6px;display:flex}.badge-medal{color:#fff;background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--tc) 60%, white), var(--tc) 65%);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.badge-count{font:600 .7rem var(--font-mono);color:hsl(var(--text-muted));margin-left:auto}.badge-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.barcode{color:hsl(var(--text) / .75)}.soap{background:hsl(var(--ficha,var(--surface)));border:1px solid hsl(var(--border));box-shadow:var(--sh-lift);border-radius:6px 22px 22px;gap:0;display:grid;position:relative;overflow:hidden}.soap:before{content:"";background:hsl(var(--ficha-margin,var(--s-fail-fill)) / .5);width:1px;position:absolute;top:0;bottom:0;left:62px}.soap-head{border-bottom:2px solid hsl(var(--text));flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding:18px 22px 14px 80px;display:flex}.soap-head h2{font:800 1.7rem var(--font-display);letter-spacing:-.03em;margin:2px 0 0}.soap-date{font:600 .74rem var(--font-mono);color:hsl(var(--text-muted))}.soap section{border-bottom:1px dashed hsl(var(--border));grid-template-columns:62px minmax(0,1fr);padding:14px 22px 14px 0;display:grid}.soap section:last-child{border-bottom:0}.soap section>i{width:34px;height:34px;font:800 1.1rem var(--font-display);color:#fff;background:hsl(var(--tc));border-radius:10px;justify-self:center;place-items:center;font-style:normal;display:grid}.soap-s{--tc:var(--s-new-fill)}.soap-o{--tc:var(--s-review-fill)}.soap-a{--tc:var(--s-learn-fill)}.soap-p{--tc:var(--accent)}.soap h3{font:700 1rem var(--font-display);margin:4px 0 6px}.soap p{margin:0;font-size:.98rem;line-height:1.55}.soap-vitals{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 6px;display:grid}.soap-vitals dt{font:700 .6rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--text-muted))}.soap-vitals dd{font:800 1.5rem var(--font-display);flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;display:flex}.soap-vitals em{font:700 .64rem var(--font-mono);background:hsl(var(--surface-2));color:hsl(var(--text-muted));border-radius:999px;padding:1px 6px;font-style:normal}.soap-vitals em.up{background:hsl(var(--s-review-soft));color:hsl(var(--s-review-text))}.soap-vitals em.down{background:hsl(var(--s-learn-soft));color:hsl(var(--s-learn-text))}.soap-a ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.soap-a li{padding-left:20px;line-height:1.45;position:relative}.soap-a li:before{font-weight:800;position:absolute;top:0;left:0}.soap-a li.is-good:before{content:"↑";color:hsl(var(--s-review-text))}.soap-a li.is-warn:before{content:"!";color:hsl(var(--s-fail-text))}.soap-a li.is-info:before{content:"·";color:hsl(var(--text-muted))}.soap-p ol{counter-reset:p;gap:8px;margin:0;padding:0;list-style:none;display:grid}.soap-p li{counter-increment:p;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.soap-p li:before{content:counter(p);border:1.5px solid hsl(var(--accent));width:22px;height:22px;font:700 .7rem var(--font-mono);color:hsl(var(--accent-text));border-radius:50%;place-items:center;display:grid}@media (width<=640px){.soap:before{left:46px}.soap section{grid-template-columns:46px minmax(0,1fr);padding-right:14px}.soap-head{padding-left:58px}.soap-vitals{grid-template-columns:1fr 1fr}.soap-p li{grid-template-columns:22px 1fr}.soap-p li .btn{grid-column:2;justify-self:start}}.grades .section-title{display:block}.grades .section-title small{margin:2px 0 0;display:block}.grades ol{padding:0;list-style:none}.grades li{border-bottom:1px dashed hsl(var(--border));justify-content:space-between;gap:8px;padding:3px 0;display:flex}.grades li span{float:none}.is-cards>fieldset{box-sizing:border-box;width:100%}li[role=treeitem]{position:relative}.tree-row .tree-more{opacity:0;flex:none;width:24px;height:24px;margin-left:2px;transition:opacity .12s}.tree-row:hover .tree-more,.tree-row:focus-within .tree-more,.tree-more.is-on{opacity:1}@media (hover:none){.tree-row .tree-more{opacity:.7}}.tree-row .tree-actions{display:none!important}.tree-row .tree-actions.is-open{z-index:60;background:hsl(var(--surface));border:1px solid hsl(var(--border));min-width:190px;box-shadow:var(--sh-lift);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:12px;flex-direction:column;gap:1px;padding:5px;animation:.12s both pop;position:absolute;top:calc(100% - 2px);left:auto;right:4px;display:flex!important}.tree-act{color:hsl(var(--text));font:500 .84rem var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;display:flex}.tree-act:hover,.tree-act:focus-visible{background:hsl(var(--accent) / .12)}.tree-act.is-on{color:hsl(var(--accent-text))}.tree-act.is-danger{color:hsl(var(--s-fail-text))}.tree-act.is-danger:hover{background:hsl(var(--s-fail-soft))}.tree-act svg{flex:none}.rich-toolbar{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);color:hsl(var(--text));border-radius:14px;flex-wrap:wrap;align-items:stretch;gap:4px 14px;padding:8px 12px;display:flex}.ed-step>.rich-toolbar,.format-bar>.rich-toolbar{z-index:4;position:sticky;top:0}.tb-group{gap:3px;display:grid}.tb-cap{font:700 .56rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--text-muted));align-items:center;gap:4px;display:inline-flex}.tb-row{align-items:center;gap:4px;display:flex}.rich-toolbar .tb-btn{background:hsl(var(--surface-2));width:30px;height:30px;color:hsl(var(--text));cursor:pointer;border:1px solid #0000;border-radius:8px;place-items:center;transition:transform .1s,background .1s;display:grid}.rich-toolbar .tb-btn:hover{background:hsl(var(--accent) / .15);border-color:hsl(var(--accent) / .4);transform:translateY(-1px)}.rich-toolbar .tb-swatch{border-radius:8px;width:30px;height:30px}.tb-hl-ab{font:700 .8rem var(--font-ui);color:#1b2232}.rich-toolbar .tb-fc{background:hsl(var(--surface-2))!important}.tb-fc-a{font:800 1rem var(--font-display);border-bottom:3px solid;padding:0 2px;line-height:1}.tb-help{color:hsl(var(--text-muted));align-self:center;margin-left:auto;font-size:.74rem}.rich-toolbar .tb-sep,.rich-toolbar .tb-icon{display:none}@media (width<=640px){.tb-help{display:none}.rich-toolbar{gap:6px 10px}}.feel{background:hsl(var(--surface));border:1px solid hsl(var(--border));box-shadow:var(--sh-soft);border-radius:20px;gap:12px;padding:18px 20px;display:grid}.feel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.feel-head p{max-width:60ch;margin:4px 0 0}.feel-alert{background:hsl(var(--s-fail-soft));color:hsl(var(--s-fail-text));border-radius:12px;max-width:420px;margin:0;padding:8px 12px;font-size:.85rem}.feel-tip{color:hsl(var(--text-muted));margin:0;font-size:.82rem}.feel-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.feel-row{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:12px;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.feel-name{min-width:0;display:grid}.feel-name b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.feel-name small{color:hsl(var(--text-muted));font-size:.74rem}.feel-faces{gap:2px;display:flex}.feel-faces button{cursor:pointer;filter:grayscale(.85);opacity:.55;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:1.25rem;transition:transform .12s,filter .12s,opacity .12s;position:relative}.feel-faces button:hover{filter:none;opacity:1;transform:scale(1.15)}.feel-faces button.is-on{filter:none;opacity:1;background:hsl(var(--accent) / .16);box-shadow:0 0 0 2px hsl(var(--accent))}.feel-faces button.is-real:after{content:"";background:hsl(var(--text));border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;bottom:-3px;left:50%}.feel-verdict{color:hsl(var(--text-muted));font-size:.8rem;font-weight:600}.is-match .feel-verdict{color:hsl(var(--s-review-text))}.is-over .feel-verdict{color:hsl(var(--s-fail-text))}.is-under .feel-verdict{color:hsl(var(--s-new-text))}.feel-row.is-over{border-color:hsl(var(--s-fail-fill) / .5)}@media (width<=760px){.feel-row{grid-template-columns:1fr auto}.feel-faces{grid-column:1/-1;justify-content:space-between}.feel-verdict{grid-column:1}}.hero2.hero-page{border-radius:20px;min-height:0;padding:16px 24px}.hero2.hero-page h1{margin:2px 0 0;font-size:clamp(1.5rem,2.6vw,2.05rem)}.hero2.hero-page .hero2-lead{max-width:70ch;margin:4px 0 0;font-size:.92rem}.hero2.hero-page .hero2-art{width:104px;height:auto;margin:-8px -4px -8px 0}.hero2.hero-page .head-actions{margin-top:8px}@media (width<=700px){.hero2.hero-page{padding:14px 16px}.hero2.hero-page .hero2-art{width:70px;top:4px;right:-6px}}.chip-pill.is-cont{background:hsl(var(--accent) / .12);color:hsl(var(--accent-text));border-color:hsl(var(--accent) / .35);text-overflow:ellipsis;white-space:nowrap;max-width:260px;text-decoration:none;overflow:hidden}html{scroll-behavior:smooth}[data-motion=off] html,[data-motion=off]{scroll-behavior:auto}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:hsl(var(--accent) / .35);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--accent) / .55)}.section-title{position:relative}.panel,.today-card,.set-block,.rx,.wk,.soap,.feel{transition:box-shadow .2s,border-color .2s}.panel:hover,.today-card:hover,.set-block:hover{border-color:color-mix(in srgb, hsl(var(--accent)) 22%, hsl(var(--border)))}.tree-row .tree-more{background:hsl(var(--sidebar-bg));box-shadow:-8px 0 8px -2px hsl(var(--sidebar-bg));border-radius:8px;margin:0;position:absolute;top:4px;right:2px}.tree-row:hover .tree-due,.tree-row:focus-within .tree-due{visibility:hidden}@media (hover:none){.tree-row .tree-more{box-shadow:none;background:0 0;position:static}.tree-row .tree-due{visibility:visible!important}}.rich-toolbar .tb-btn.hl-y{background:#fadb42}.rich-toolbar .tb-btn.hl-g{background:#3bce6c}.rich-toolbar .tb-btn.hl-b{background:#47adf5}.rich-toolbar .tb-btn.hl-p{background:#f471b3}.rich-toolbar .tb-btn.hl-o{background:#fa9338}.rich-toolbar .tb-btn.tb-swatch{border-radius:8px;padding:0}
