[data-app]{--app-canvas:#f3f4f6;--app-surface:#fff;--app-surface-2:#f8f9fb;--app-sunken:#eef0f3;--app-line:#0f121814;--app-line-strong:#0f121824;--app-text:#0f1217;--app-text-2:#4a5160;--app-text-3:#737a88;--app-accent:#e2551f;--app-accent-strong:#c4461a;--app-accent-soft:#e2551f1a;--app-ring:#e2551f52;--app-good:#11a06e;--app-good-soft:#11a06e1f;--app-warn:#c97d06;--app-warn-soft:#d98a0b24;--app-bad:#c63d3d;--app-bad-soft:#c63d3d1a;--app-radius-sm:10px;--app-radius:14px;--app-radius-lg:18px;--app-shadow-1:0 1px 2px #0f12180d;--app-shadow-2:0 1px 2px #0f12180a, 0 12px 32px -16px #0f12182e;--app-shadow-3:0 2px 6px #0f12180f, 0 28px 70px -24px #0f121857;--rail-bg:#0b0d11;--rail-bg-2:#12151b;--rail-text:#a3a9b5;--rail-text-dim:#6c7380;--rail-text-strong:#f5f6f8;--rail-line:#ffffff12;--rail-hover:#ffffff0d;--rail-active:#ffffff17;--rail-glow:#e2551f38;--parchment:#fff;--parchment-deep:#f3f4f6;--ink-text:#0f1217;--ink-text-dim:#0f12189e;--line-dark:#0f12181a;--background:#f3f4f6;background:var(--app-canvas);color:var(--app-text)}[data-brand=lyceum] [data-app]{--app-canvas:#f4f4f1;--parchment-deep:#f4f4f1;--background:#f4f4f1;--app-accent:#a8831a;--app-accent-strong:#8c6c12;--app-accent-soft:#a8831a1f;--app-ring:#a8831a57;--rail-bg:#0a0d13;--rail-bg-2:#111622;--rail-glow:#c9a22733}[data-app] .font-serif,[data-brand=lyceum] [data-app] .font-serif{font-family:var(--font-sora), "Segoe UI", Arial, sans-serif;letter-spacing:-.022em;font-weight:650}body:has([data-app]):after{display:none}body:has([data-app]){background:var(--app-canvas,#f3f4f6)}@layer components{.ui-btn{min-height:2.5rem;font-family:var(--font-manrope), "Segoe UI", Arial, sans-serif;letter-spacing:-.005em;text-transform:none;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.05rem;font-size:14px;font-weight:650;line-height:1.1;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.ui-btn:focus-visible{box-shadow:0 0 0 3px var(--app-ring,#e2551f52);outline:none}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn-primary{background:var(--app-text,#0f1217);color:#fff;box-shadow:0 1px 2px #0f12183d,inset 0 1px #ffffff17}.ui-btn-primary:hover:not(:disabled){background:#232832}.ui-btn-accent{background:var(--app-accent,#e2551f);color:#fff;box-shadow:0 1px 2px #0f121833,inset 0 1px #ffffff29}.ui-btn-accent:hover:not(:disabled){background:var(--app-accent-strong,#c4461a)}.ui-btn-secondary{background:var(--app-surface,#fff);color:var(--app-text,#0f1217);border-color:var(--app-line-strong,#0f121824);box-shadow:var(--app-shadow-1,0 1px 2px #0f12180d)}.ui-btn-secondary:hover:not(:disabled){background:var(--app-surface-2,#f8f9fb);border-color:#0f12183d}.ui-btn-ghost{color:var(--app-text-2,#4a5160);background:0 0}.ui-btn-ghost:hover:not(:disabled){background:var(--app-sunken,#eef0f3);color:var(--app-text,#0f1217)}.ui-btn-danger{color:var(--app-bad,#c63d3d);background:0 0}.ui-btn-danger:hover:not(:disabled){background:var(--app-bad-soft,#c63d3d1a)}.ui-btn-sm{min-height:2rem;padding:0 .8rem;font-size:13px}.ui-btn-lg{min-height:3rem;padding:0 1.4rem;font-size:15px}.ui-btn-icon{width:2.5rem;padding:0}.ui-btn-sm.ui-btn-icon{width:2rem}.ui-action{min-height:2rem;font-family:var(--font-manrope), sans-serif;letter-spacing:0;text-transform:none;color:var(--app-text-2,#4a5160);border-radius:8px;align-items:center;gap:.35rem;padding:0 .6rem;font-size:13px;font-weight:650;transition:background-color .15s,color .15s;display:inline-flex}.ui-action:hover{background:var(--app-sunken,#eef0f3);color:var(--app-text,#0f1217)}.ui-action-danger{color:var(--app-text-3,#737a88)}.ui-action-danger:hover{background:var(--app-bad-soft,#c63d3d1a);color:var(--app-bad,#c63d3d)}.ui-tabs{border:1px solid var(--app-line-strong,#0f121824);background:var(--app-surface,#fff);box-shadow:var(--app-shadow-1);border-radius:999px;flex-wrap:wrap;gap:2px;padding:4px;display:inline-flex}.ui-tab{min-height:2rem;font-family:var(--font-manrope), sans-serif;color:var(--app-text-2,#4a5160);border-radius:999px;align-items:center;gap:.4rem;padding:0 1rem;font-size:13.5px;font-weight:600;transition:color .15s,background-color .15s;display:inline-flex}.ui-tab:hover{color:var(--app-text,#0f1217)}.ui-tab:focus-visible{box-shadow:0 0 0 2px var(--app-ring);outline:none}.ui-tab[aria-pressed=true],.ui-tab[aria-selected=true],.ui-tab[data-active=true]{background:var(--app-text,#0f1217);color:#fff}@media (pointer:coarse){.ui-btn-sm,.ui-action,.ui-tab{min-height:2.5rem}.ui-btn-sm.ui-btn-icon{width:2.5rem}}.ui-input{border-radius:var(--app-radius-sm,10px);border:1px solid var(--app-line-strong,#0f121824);background:var(--app-surface,#fff);width:100%;min-width:0;min-height:2.625rem;color:var(--app-text,#0f1217);font-family:var(--font-manrope), sans-serif;padding:.55rem .875rem;font-size:14px;font-weight:500;line-height:1.45;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 1px #0f121808}.ui-input::placeholder{color:var(--app-text-3,#737a88);font-weight:400}.ui-input:hover{border-color:#0f12183d}.ui-input:focus{border-color:var(--app-accent,#e2551f);box-shadow:0 0 0 3px var(--app-accent-soft,#e2551f1a);outline:none}select.ui-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%237b8290' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.25rem}textarea.ui-input{min-height:5.5rem}.ui-card{background:var(--app-surface,#fff);border:1px solid var(--app-line,#0f121814);border-radius:var(--app-radius-lg,18px);box-shadow:var(--app-shadow-1,0 1px 2px #0f12180d)}.ui-card-lift{transition:box-shadow .2s,border-color .2s,transform .2s}.ui-card-lift:hover{box-shadow:var(--app-shadow-2);border-color:var(--app-line-strong);transform:translateY(-1px)}.ui-label{font-family:var(--font-manrope), sans-serif;color:var(--app-text-2,#4a5160);font-size:13px;font-weight:600}.ui-eyebrow{font-family:var(--font-manrope), sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--app-text-3,#737a88);font-size:11px;font-weight:700;line-height:1.2}.ui-title{font-family:var(--font-sora), sans-serif;letter-spacing:-.022em;color:var(--app-text,#0f1217);font-weight:650}.ui-muted{color:var(--app-text-2,#4a5160)}.ui-faint{color:var(--app-text-3,#737a88)}.ui-num{font-variant-numeric:tabular-nums}.ui-badge{min-height:1.375rem;font-family:var(--font-manrope), sans-serif;letter-spacing:0;text-transform:none;background:var(--app-sunken,#eef0f3);color:var(--app-text-2,#4a5160);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:0 .55rem;font-size:12px;font-weight:650;line-height:1;display:inline-flex}.ui-badge-accent{background:var(--app-accent-soft);color:var(--app-accent-strong)}.ui-badge-good{background:var(--app-good-soft);color:#0b7a53}.ui-badge-warn{background:var(--app-warn-soft);color:#8a5406}.ui-badge-bad{background:var(--app-bad-soft);color:var(--app-bad)}.ui-kbd{border:1px solid var(--app-line-strong,#0f121824);background:var(--app-surface-2,#f8f9fb);min-width:1.35rem;height:1.35rem;font-family:var(--font-manrope), sans-serif;color:var(--app-text-3,#737a88);border-radius:6px;justify-content:center;align-items:center;padding:0 .32rem;font-size:11px;font-weight:700;display:inline-flex}.ui-divide>*+*{border-top:1px solid var(--app-line,#0f121814)}.app-rail{background:radial-gradient(120% 50% at 0% 0%, var(--rail-glow) 0%, transparent 60%), linear-gradient(180deg, var(--rail-bg-2) 0%, var(--rail-bg) 40%);color:var(--rail-text);border-right:1px solid var(--rail-line)}.app-rail-item{width:100%;min-height:1.8rem;color:var(--rail-text);text-align:left;border-radius:8px;align-items:center;gap:.65rem;padding:0 .7rem;font-size:13px;font-weight:550;transition:background-color .15s,color .15s;display:flex;position:relative}.app-rail-item:hover{background:var(--rail-hover);color:var(--rail-text-strong)}.app-rail-item:focus-visible{box-shadow:0 0 0 2px var(--app-ring);outline:none}.app-rail-item[aria-current=page]{background:var(--rail-active);color:var(--rail-text-strong);font-weight:650;box-shadow:inset 0 1px #ffffff0d}.app-rail-item[aria-current=page]:before{content:"";background:var(--app-accent);width:3px;box-shadow:0 0 12px var(--app-accent);border-radius:0 3px 3px 0;position:absolute;top:24%;bottom:24%;left:-.75rem}.app-rail-group{letter-spacing:.1em;text-transform:uppercase;color:var(--rail-text-dim);padding:0 .7rem .15rem;font-size:10px;font-weight:700;line-height:1.4}@media (pointer:coarse){.app-rail-item{min-height:2.6rem;font-size:14.5px}}.app-topbar{-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--app-line,#0f121814);background:#fffc}.app-crumb{color:var(--app-text-3);transition:color .15s}a.app-crumb:hover,button.app-crumb:hover{color:var(--app-text)}@keyframes app-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.app-enter{animation:.28s cubic-bezier(.2,.8,.2,1) backwards app-enter}@keyframes app-pop{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:none}}.app-pop{animation:.18s cubic-bezier(.2,.8,.2,1) both app-pop}@keyframes app-drawer-in{0%{opacity:.4;transform:translate(28px)}to{opacity:1;transform:none}}.app-drawer{animation:.24s cubic-bezier(.2,.8,.2,1) both app-drawer-in}@media (prefers-reduced-motion:reduce){.app-enter,.app-pop,.app-drawer{animation:none}.ui-card-lift:hover,.ui-btn:active:not(:disabled){transform:none}}}.app-rail-nav[data-overflow=true]{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}html:has([data-app]){scrollbar-gutter:stable}[data-app] button[aria-controls=lyceum-guide-panel]{display:none}@keyframes guide-flash{0%,to{box-shadow:0 0 #0000}15%,75%{box-shadow:0 0 0 3px var(--app-accent,#b5462f), 0 0 0 9px var(--app-accent-soft,#b5462f2e)}}.guide-flash{animation:2.3s both guide-flash}@media (prefers-reduced-motion:reduce){.guide-flash{outline:3px solid var(--app-accent,#b5462f);outline-offset:4px;animation:none}}
