.planner-app.app{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf9f4;--bg-deep:#f3f1e8;--panel:#fdfcf8;--panel-2:#f1efe4;--border:#e4e0d1;--border-soft:#ebe8dc;--text:#37332a;--muted:#8a8577;--faint:#b3ae9f;--accent:#3c6db5;--accent-strong:#305a99;--accent-soft:#4c7dc421;--on-accent:#fff;--danger:#c94a3f;--danger-soft:#c94a3f1f;--hover:#483e260f;--hover-strong:#483e261a;--shadow:0 8px 30px #5a503724;--shadow-soft:0 2px 14px #5a503717;--overlay:#3c362866;--font-ui:"P22 Mackinac Pro", Charter, serif;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--radius:12px;--ease-pop:cubic-bezier(.2, .9, .3, 1.2);--ease-soft:cubic-bezier(.25, .8, .25, 1)}:root[data-theme=dark] .planner-app.app{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#262624;--bg-deep:#1f1e1b;--panel:#30302e;--panel-2:#393937;--border:#3e3e3b;--border-soft:#34342f;--text:#e8e6e0;--muted:#9d9a92;--faint:#6f6c64;--accent:#5c8fd6;--accent-strong:#7aa6e0;--accent-soft:#5c8fd629;--danger:#e0655a;--danger-soft:#e0655a24;--hover:#fff1;--hover-strong:#ffffff1a;--shadow:0 8px 30px #00000059;--shadow-soft:0 2px 16px #00000047;--overlay:#0f0e0c99}.planner-app.app,.planner-app.app *{box-sizing:border-box}.planner-app.app{z-index:60;font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .3s var(--ease-soft), color .3s var(--ease-soft);flex-direction:column;font-size:14px;line-height:1.45;display:flex;position:fixed;inset:0}.planner-app .brand{cursor:default;justify-content:center;align-items:center;display:inline-flex}.planner-app .logo-mark{color:var(--accent);transition:transform .4s var(--ease-pop);justify-content:center;align-items:center;line-height:1;display:inline-flex}.planner-app .logo-mark svg{display:block}.planner-app .logo-dot{transform-box:fill-box;transform-origin:50%}.planner-app .brand:hover .logo-mark{transform:translateY(-2px)}.planner-app .brand:hover .logo-dot{animation:planner-dot-pulse .6s var(--ease-pop)}@keyframes planner-dot-pulse{0%{transform:scale(1)}45%{transform:scale(1.5)}to{transform:scale(1)}}.planner-app .spacer{flex:1}.planner-app .body{flex:1;min-height:0;display:flex}.planner-app .rail{border-right:1px solid var(--border);background:var(--bg-deep);flex-direction:column;align-items:center;gap:10px;width:64px;padding:14px 0;display:flex}.planner-app .rail-spacer{flex:1}.planner-app .rail-sep{background:var(--border);width:26px;height:1px;margin:2px 0}.planner-app .rail-btn{border-radius:var(--r-md);width:40px;height:40px;color:var(--muted);cursor:pointer;transition:background .15s var(--ease-soft), color .15s, border-color .15s, transform .15s var(--ease-pop);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;line-height:1;text-decoration:none;display:flex}.planner-app .rail-btn:hover{background:var(--hover);color:var(--text);transform:translateY(-2px)}.planner-app .rail-btn:active{transform:scale(.94)}.planner-app .rail-btn svg{transition:transform .2s var(--ease-pop)}.planner-app .rail-btn:hover svg{transform:scale(1.12)}.planner-app .rail-btn[title=Settings]:hover svg{transform:rotate(35deg)}.planner-app .add-btn{border-color:var(--border);background:var(--panel);color:var(--text);font-size:24px}.planner-app .add-btn:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.planner-app .rail-btn.icon-btn{font-size:inherit;padding:0}.planner-app .main{flex:1;min-width:0;padding:16px 20px;overflow:auto}.planner-app .calendar{height:100%;animation:planner-step-in .35s var(--ease-pop);flex-direction:column;display:flex}.planner-app .cal-head{justify-content:space-between;align-items:baseline;display:flex}.planner-app .cal-head h1{letter-spacing:-.01em;margin:0 0 12px;font-size:22px;font-weight:600}.planner-app .cal-nav{gap:6px;display:flex}.planner-app .cal-weekdays{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:repeat(7,1fr);padding:0 0 6px;font-size:11.5px;display:grid}.planner-app .cal-weekdays span{padding-left:8px}.planner-app .cal-grid{flex-direction:column;flex:1;min-height:0;display:flex}.planner-app .cal-week{flex:1;grid-template-columns:repeat(7,1fr);column-gap:6px;min-height:0;display:grid;position:relative}.planner-app .cal-spans{z-index:1;pointer-events:none;grid-template-columns:repeat(7,1fr);grid-auto-rows:18px;gap:2px 6px;display:grid;position:absolute;top:24px;left:0;right:0}.planner-app .span-bar{pointer-events:auto;color:#fff;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;transition:filter .12s ease, transform .12s var(--ease-pop);border:none;border-radius:5px;margin:0 2px;padding:1px 8px;font-family:inherit;font-size:11.5px;overflow:hidden}.planner-app .span-bar:hover{filter:brightness(1.08);transform:translateY(-1px)}.planner-app .span-bar.done{opacity:.45;text-decoration:line-through}.planner-app .span-bar.cont-l{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.planner-app .span-bar.cont-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.planner-app .cal-cell{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);cursor:pointer;flex-direction:column;gap:2px;min-height:84px;padding:4px 6px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.planner-app .cal-cell:hover{border-color:var(--faint);box-shadow:var(--shadow-soft)}.planner-app .cal-cell.dim{opacity:.5;background:0 0}.planner-app .cal-cell.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.planner-app .cal-daynum{color:var(--muted);font-size:12px}.planner-app .today .cal-daynum{color:var(--accent);font-weight:700}.planner-app .pill{color:#fff;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;transition:transform .12s var(--ease-pop), filter .12s ease;border:none;border-radius:5px;padding:2px 6px;font-family:inherit;font-size:11.5px;overflow:hidden}.planner-app .pill.done{opacity:.45;text-decoration:line-through}.planner-app .pill:hover{filter:brightness(1.1);transform:translateY(-1px)}.planner-app .cal-cell:after{content:"click to open";color:var(--faint);opacity:0;pointer-events:none;font-size:10px;font-style:italic;transition:opacity .15s;position:absolute;bottom:3px;right:5px}.planner-app .cal-cell:has(.pill:hover):after{opacity:1}.planner-app .pill-more{color:var(--muted);padding-left:6px;font-size:11px}.planner-app .dots{flex-wrap:wrap;align-items:center;gap:3px;padding:2px;display:flex}.planner-app .dot{cursor:pointer;width:8px;height:8px;transition:transform .12s var(--ease-pop);border-radius:50%;flex:none}.planner-app .dot:hover{transform:scale(1.35)}.planner-app .dot.long{border-radius:4px/50%;width:18px}.planner-app .dots.mini{justify-content:center;gap:2px;padding:1px 0 0}.planner-app .dots.mini .dot{width:5px;height:5px}.planner-app .dots.mini .dot.long{border-radius:2.5px/50%;width:11px}.planner-app .year-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:14px;display:grid;overflow:auto}.planner-app .ym h4{margin:0 0 4px;font-size:12.5px;font-weight:600}.planner-app .ym-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.planner-app .ym-cell{background:var(--panel);border:1px solid var(--border);cursor:pointer;text-align:center;min-height:26px;color:var(--muted);transition:border-color .13s, transform .13s var(--ease-pop);border-radius:4px;padding:1px;font-size:9.5px;overflow:hidden}.planner-app .ym-cell:hover{border-color:var(--faint);transform:translateY(-1px)}.planner-app .ym-cell.dim{opacity:.4;background:0 0;border-color:#0000}.planner-app .ym-cell.today{border-color:var(--accent);color:var(--accent);font-weight:700}.planner-app .docket{border-left:1px solid var(--border);background:var(--bg-deep);width:280px;animation:planner-slide-in .3s var(--ease-soft);padding:14px 16px;overflow-y:auto}.planner-app .docket-head{justify-content:space-between;align-items:center;display:flex}.planner-app .docket-head h2{margin:0;font-size:16px;font-weight:600}.planner-app .docket-day h3{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:16px 0 6px;font-size:11.5px;font-weight:600}.planner-app .docket-group{margin-bottom:6px}.planner-app .docket-item{border-radius:var(--r-sm);cursor:pointer;animation:planner-row-in .25s var(--ease-soft);align-items:center;gap:8px;margin:0 -6px;padding:4px 6px;font-size:14px;transition:background .13s;display:flex}.planner-app .docket-item:hover{background:var(--hover)}.planner-app .docket-item.done .docket-title{color:var(--muted);text-decoration:line-through}.planner-app .docket-title{flex:1;min-width:0;transition:color .13s}.planner-app .docket-title:hover{color:var(--accent)}.planner-app .docket-del{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex:none;margin-left:auto;padding:2px 4px;font-size:13px;line-height:1;transition:opacity .12s,color .12s}.planner-app .docket-item:hover .docket-del{opacity:1}.planner-app .docket-del:hover{color:var(--danger)}.planner-app .swatch{border-radius:3px;flex:none;width:9px;height:9px}.planner-app .docket-peek{border:1px solid var(--border);background:var(--bg-deep);border-radius:var(--r-sm) 0 0 var(--r-sm);cursor:pointer;width:24px;color:var(--muted);border-right:none;flex-direction:column;align-self:center;align-items:center;gap:6px;padding:10px 0;font-family:inherit;transition:color .15s,border-color .15s,background .15s;display:flex}.planner-app .docket-peek:hover{color:var(--text);border-color:var(--faint);background:var(--panel-2)}.planner-app .docket-peek-ic{font-size:14px;line-height:1}.planner-app .docket-peek-label{writing-mode:vertical-rl;letter-spacing:.08em;font-size:11px}.planner-app .groups-panel{border-right:1px solid var(--border);background:var(--bg-deep);width:220px;animation:planner-slide-in .3s var(--ease-soft);flex-direction:column;gap:4px;padding:14px;display:flex;overflow-y:auto}.planner-app .groups-head{justify-content:space-between;align-items:center;display:flex}.planner-app .groups-head h2{margin:0;font-size:16px;font-weight:600}.planner-app .group-row{border-radius:var(--r-sm);align-items:center;gap:8px;margin:0 -6px;padding:4px 6px;font-size:14px;transition:background .13s;display:flex}.planner-app .group-row:hover{background:var(--hover)}.planner-app .group-row.active{background:var(--accent-soft)}.planner-app .group-name{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:0;display:flex}.planner-app .group-name:hover{color:var(--accent)}.planner-app .group-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 6px;font-size:10px}.planner-app .group-add{gap:6px;margin-top:6px;display:flex}.planner-app .group-import{margin-top:8px}.planner-app .groups-peek{border:1px solid var(--border);background:var(--bg-deep);border-radius:0 var(--r-sm) var(--r-sm) 0;cursor:pointer;width:24px;color:var(--muted);border-left:none;flex-direction:column;align-self:center;align-items:center;gap:6px;padding:10px 0;font-family:inherit;transition:color .15s,border-color .15s,background .15s;display:flex}.planner-app .groups-peek:hover{color:var(--text);border-color:var(--faint);background:var(--panel-2)}.planner-app .day-picker{gap:3px;display:inline-flex}.planner-app .day-chip{border:1px solid var(--border);background:var(--panel);width:26px;height:26px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;font-size:12px}.planner-app .day-chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.planner-app .meeting-row{flex-wrap:wrap}.planner-app .btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;transition:background .15s, border-color .15s, color .15s, transform .15s var(--ease-pop);border-radius:999px;padding:6px 14px;font-family:inherit;font-size:13.5px}.planner-app .btn:hover{border-color:var(--faint)}.planner-app .btn:active{transform:scale(.96)}.planner-app .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.planner-app .btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.planner-app .btn.danger{color:var(--danger);border-color:var(--danger-soft);background:var(--panel)}.planner-app .btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.planner-app .btn:disabled{opacity:.45;cursor:default}.planner-app .btn:disabled:hover{border-color:var(--border);transform:none}.planner-app .icon-btn{cursor:pointer;color:var(--muted);border-radius:var(--r-sm);transition:background .13s, color .13s, transform .13s var(--ease-pop);background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:15px}.planner-app .icon-btn:hover{background:var(--hover);color:var(--text)}.planner-app .icon-btn:active{transform:scale(.92)}.planner-app .overlay{background:var(--overlay);z-index:10;animation:planner-fade-in .18s var(--ease-soft);justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.planner-app .modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(640px,94vw);max-width:94vw;max-height:82vh;box-shadow:var(--shadow);animation:planner-modal-pop .22s var(--ease-pop);padding:18px 20px;overflow-y:auto}.planner-app .modal.wide{width:min(720px,94vw)}.planner-app .modal-head{justify-content:space-between;align-items:center;display:flex}.planner-app .modal-head h2{letter-spacing:-.01em;margin:0 0 10px;font-size:18px;font-weight:600}.planner-app .form{flex-direction:column;gap:10px;display:flex}.planner-app .form h3{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 0;font-size:12px}.planner-app .input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);padding:8px 11px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.planner-app .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.planner-app .title-input{font-size:16px}.planner-app .row{align-items:center;gap:8px;display:flex}.planner-app .timefield{flex:1;min-width:0;position:relative}.planner-app .timefield .input{box-sizing:border-box;width:100%}.planner-app .time-pop{z-index:20;animation:planner-menu-pop .16s var(--ease-pop);position:absolute;top:calc(100% + 6px);left:0;right:0}.planner-app .time-strip{scrollbar-width:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow);gap:2px;padding:6px;display:flex;overflow-x:auto}.planner-app .time-strip::-webkit-scrollbar{display:none}.planner-app .time-chip{color:var(--text);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;flex:none;padding:4px 8px;font-size:13px;transition:background .12s,color .12s}.planner-app .time-chip:hover{background:var(--hover);color:var(--accent)}.planner-app .time-chip.active{background:var(--accent);color:#fff}.planner-app .time-bubble{background:var(--text);width:fit-content;color:var(--bg);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);margin:6px auto 0;padding:3px 12px;font-size:12px;position:relative}.planner-app .time-bubble:before{content:"";background:var(--text);width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.planner-app .grow{flex:1;min-width:0}.planner-app .check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.planner-app .same-day-check{white-space:nowrap;color:var(--muted);flex:none;font-size:13px}.planner-app .field{flex-direction:column;gap:6px;font-size:14px;display:flex}.planner-app .muted{color:var(--muted);font-size:13px}.planner-app .empty{color:var(--muted);font-size:14px;font-style:italic}.planner-app .type-row{flex-wrap:wrap;gap:6px;display:flex}.planner-app .type-chip{cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);transition:background .14s, border-color .14s, color .14s, transform .14s var(--ease-pop);border-radius:999px;padding:5px 13px;font-family:inherit;font-size:13px}.planner-app .type-chip:hover{border-color:var(--faint)}.planner-app .type-chip:active{transform:scale(.96)}.planner-app .type-chip.active{background:var(--chip);border-color:var(--chip);color:#fff}.planner-app .matrix-wrap{overflow-x:auto}.planner-app .matrix{border-collapse:collapse;width:100%;font-size:13px}.planner-app .matrix th,.planner-app .matrix td{text-align:center;border-bottom:1px solid var(--border-soft);padding:5px 8px}.planner-app .matrix thead th{color:var(--faint);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.planner-app .matrix tbody th{text-align:left;white-space:nowrap;font-weight:500}.planner-app .matrix tbody th .swatch{vertical-align:baseline;margin-right:2px;display:inline-block}.planner-app .matrix .input{padding:2px 4px;font-size:12.5px}.planner-app .matrix-del{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:10px}.planner-app .matrix-del:hover{color:var(--danger)}.planner-app .tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:14px;display:flex}.planner-app .tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 13px;font-family:inherit;font-size:14px;transition:color .13s,border-color .13s}.planner-app .tab:hover{color:var(--text)}.planner-app .tab.active{color:var(--text);border-bottom-color:var(--accent)}.planner-app .connection{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.planner-app .connection p{margin:4px 0 0}.planner-app.app input[type=color]{cursor:pointer;background:0 0;border:none;width:30px;height:30px;padding:0}.planner-app.app input[type=range],.planner-app.app input[type=checkbox]{accent-color:var(--accent)}.planner-app.app ::-webkit-scrollbar{width:8px;height:8px}.planner-app.app ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.planner-app.app ::-webkit-scrollbar-thumb:hover{background:var(--faint)}.planner-app.app ::-webkit-scrollbar-track{background:0 0}@keyframes planner-fade-in{0%{opacity:0}}@keyframes planner-modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes planner-menu-pop{0%{opacity:0;transform:translateY(-5px)scale(.96)}}@keyframes planner-step-in{0%{opacity:0;transform:translateY(12px)scale(.995)}}@keyframes planner-slide-in{0%{opacity:0;transform:translate(14px)}}@keyframes planner-row-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.planner-app.app *,.planner-app.app :before,.planner-app.app :after{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (max-width:720px){.planner-app .rail{display:none}.planner-app .rail.mobile-open{z-index:903;width:84px;box-shadow:var(--shadow);padding:14px 6px;display:flex;position:fixed;inset:0 auto 0 0}.planner-app .groups-panel,.planner-app .docket{z-index:903;width:min(300px,84vw);box-shadow:var(--shadow);position:fixed;top:0;bottom:0}.planner-app .groups-panel{border-right:1px solid var(--border);left:0}.planner-app .docket{right:0}.planner-app .main{padding:12px 10px}.planner-app .cal-head{flex-wrap:wrap;align-items:center;row-gap:8px}.planner-app .cal-head h1{flex:auto;margin:0;padding-left:44px;font-size:17px}.planner-app .cal-views{order:3}.planner-app .cal-head+.cal-weekdays,.planner-app .cal-head+.day-view{margin-top:10px}}.planner-app .cal-views{border:1px solid var(--border);background:var(--panel);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.planner-app .cal-view-btn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 12px;font-size:13px;transition:background .13s,color .13s}.planner-app .cal-view-btn:hover{color:var(--text);background:var(--hover)}.planner-app .cal-view-btn.active{background:var(--accent);color:var(--on-accent)}.planner-app .cal-view-more{padding:4px 9px;font-weight:700}.planner-app .day-view{flex-direction:column;gap:6px;max-width:640px;display:flex}.planner-app .day-item{text-align:left;border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);font:inherit;color:inherit;cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:border-color .13s,transform .13s;display:flex}.planner-app .day-item:hover{border-color:var(--faint);transform:translateY(-1px)}.planner-app .day-item.done .day-item-title{color:var(--muted);text-decoration:line-through}.planner-app .day-item .swatch{width:11px;height:11px}.planner-app .day-item-time{color:var(--muted);flex:none;font-size:12.5px}.planner-app .day-item-title{flex:1;min-width:0}.planner-app .day-item-type{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-size:11px}.planner-app .day-add{align-self:flex-start;margin-top:6px}.planner-app .dot.done{opacity:.45;position:relative}.planner-app .dot.done:after{content:"";border-top:1.5px solid var(--text);position:absolute;top:50%;left:-2px;right:-2px;transform:rotate(-45deg)}.planner-app .all-row{font-weight:600}.planner-app .all-row input[type=checkbox]{opacity:.4}.planner-app .group-dots{color:var(--muted)}.planner-app .group-dots:hover{color:var(--text)}.planner-app .time-chip-min{min-width:44px}.planner-app .colorfield{display:inline-flex;position:relative}.planner-app .color-swatch-btn{border:1px solid var(--border);cursor:pointer;border-radius:8px;width:28px;height:28px}.planner-app .color-pop{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.planner-app .color-grid{grid-template-columns:repeat(6,24px);gap:6px;display:grid}.planner-app .color-cell{cursor:pointer;border:1px solid #00000026;border-radius:7px;width:24px;height:24px;transition:transform .1s}.planner-app .color-cell:hover{transform:scale(1.12)}.planner-app .color-cell.active{outline:2px solid var(--accent);outline-offset:1px}.planner-app .color-hex{width:100%;font-size:12.5px}.planner-app .niceselect{position:relative}.planner-app .niceselect-btn{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.planner-app .niceselect-caret{color:var(--muted);font-size:11px}.planner-app .niceselect-pop{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);min-width:100%;box-shadow:var(--shadow);flex-direction:column;max-height:260px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.planner-app .niceselect-opt{font:inherit;color:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:7px 12px;font-size:13.5px}.planner-app .niceselect-opt:hover{background:var(--hover)}.planner-app .niceselect-opt.active{background:var(--accent-soft);color:var(--accent-strong)}
.cm-root{--bg:#faf9f4;--bg-deep:#f3f1e8;--panel:#f3f1e8;--panel-2:#f1efe4;--card:#fdfcf8;--ink:#37332a;--text:#37332a;--dim:#8a8577;--muted:#8a8577;--faint:#b3ae9f;--line:#e4e0d1;--border:#e4e0d1;--border-soft:#ebe8dc;--accent:#a87c24;--accent-strong:#8f6a1c;--accent-soft:#d9a03f26;--accent-ink:#fff;--on-accent:#fff;--done:#3fa8601f;--done-line:#9cb88f;--danger:#c94a3f;--danger-soft:#c94a3f1f;--hover:#483e260f;--hover-strong:#483e261a;--shadow:0 8px 30px #5a503724;--shadow-soft:0 2px 14px #5a503717;--overlay:#3c362866;--serif:"P22 Mackinac Pro", Charter, serif;--font-ui:"P22 Mackinac Pro", Charter, serif;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--ease-pop:cubic-bezier(.2, .9, .3, 1.2);--ease-soft:cubic-bezier(.25, .8, .25, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-ui);color:var(--text);background:var(--bg);z-index:60;-webkit-font-smoothing:antialiased;transition:background .3s var(--ease-soft), color .3s var(--ease-soft);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}:root[data-theme=dark] .cm-root{--bg:#262624;--bg-deep:#1f1e1b;--panel:#1f1e1b;--panel-2:#393937;--card:#30302e;--ink:#e8e6e0;--text:#e8e6e0;--dim:#9d9a92;--muted:#9d9a92;--faint:#6f6c64;--line:#3e3e3b;--border:#3e3e3b;--border-soft:#34342f;--accent:#d9a03f;--accent-strong:#e6b25a;--accent-soft:#d9a03f29;--done:#2c352a;--done-line:#5d7a52;--danger:#e0655a;--danger-soft:#e0655a24;--hover:#fff1;--hover-strong:#ffffff1a;--shadow:0 8px 30px #00000059;--shadow-soft:0 2px 16px #00000047;--overlay:#0f0e0c99;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.cm-titlebar{z-index:20;letter-spacing:-.01em;pointer-events:none;animation:cm-step-in .5s var(--ease-pop);align-items:center;gap:9px;font-size:16px;font-weight:700;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.cm-brand-sub{color:var(--dim);margin-left:2px;font-size:13px;font-weight:400}@media (max-width:1700px){.cm-brand-sub{display:none}}.cm-toprail{z-index:20;align-items:flex-start;gap:10px;display:flex;position:absolute;top:14px;right:16px}.cm-rail{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:cm-step-in .5s var(--ease-pop);flex-direction:column;align-items:center;gap:8px;padding:8px;display:flex}.cm-rail-gap{background:var(--line);width:22px;height:1px;margin:1px 0}.cm-icon-btn{width:36px;height:36px;color:var(--text);cursor:pointer;transition:background .15s var(--ease-soft), border-color .15s, color .15s, transform .15s var(--ease-pop);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.cm-icon-btn:hover{background:var(--hover);border-color:var(--line)}.cm-icon-btn:disabled{opacity:.35;cursor:default}.cm-icon-btn:disabled:hover{background:0 0;border-color:#0000}.cm-icon-btn:disabled:hover .cm-ic,.cm-icon-btn:disabled:active{transform:none}.cm-icon-btn:active{transform:scale(.92)}.cm-icon-btn .cm-ic,.cm-icon-btn .appbar-ic{transition:transform .25s var(--ease-pop)}.cm-icon-btn:hover .cm-ic,.cm-icon-btn:hover .appbar-ic{transform:scale(1.14)rotate(-4deg)}.cm-rail-reg{color:var(--accent)}.cm-rail-reg:hover{background:var(--accent-soft);border-color:var(--accent)}.logo-mark{color:var(--accent);justify-content:center;align-items:center;line-height:0;display:inline-flex}.logo-mark svg{display:block}.logo-mark .cm-node{transform-box:fill-box;transform-origin:50%}.cm-brandrow:hover .logo-mark .cm-node{animation:cm-node-pop .45s var(--ease-pop) both}.cm-brandrow:hover .logo-mark .cm-n2{animation-delay:.1s}.cm-brandrow:hover .logo-mark .cm-n3{animation-delay:.2s}@keyframes cm-node-pop{0%{transform:scale(1)}45%{transform:scale(1.4)}to{transform:scale(1)}}.cm-btn{font-family:var(--font-ui);border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;transition:background .15s var(--ease-soft), border-color .15s, color .15s, box-shadow .15s, transform .15s var(--ease-soft);border-radius:999px;align-items:center;gap:6px;padding:7px 15px;font-size:13.5px;font-weight:500;display:inline-flex}.cm-btn:hover{border-color:var(--faint);background:var(--panel-2)}.cm-btn:active{transform:scale(.96)}.cm-btn:disabled{opacity:.45;cursor:default}.cm-btn:disabled:active{transform:none}.cm-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cm-btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.cm-btn-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.cm-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.cm-btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.cm-x{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:2px 6px;font-size:18px;line-height:1;transition:background .13s,color .13s}.cm-x:hover{color:var(--text);background:var(--hover)}.cm-body{flex:1;min-height:0;display:flex}.cm-body.sb-collapsed .sidebar{width:0;padding:0}.cm-canvas-wrap{flex:1;min-width:0;display:flex;position:relative}.cm-canvas{-webkit-user-select:none;user-select:none;flex:1;padding:120px 280px 280px 260px;overflow:auto}.cm-board{margin:0 auto;position:relative}.cm-edges{pointer-events:none;position:absolute;inset:0;overflow:visible}.cm-edge{fill:none;stroke:var(--line);stroke-width:1.5px;transition:stroke .25s var(--ease-soft)}.cm-edge-done{stroke:var(--done-line)}.cm-levellabel{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;padding-right:14px;font-size:11px;position:absolute;transform:translate(-100%)}.cm-card{box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;width:200px;height:92px;box-shadow:var(--shadow-soft);transition:box-shadow .18s var(--ease-soft), border-color .18s, background .25s var(--ease-soft), transform .18s var(--ease-pop);-webkit-user-select:none;user-select:none;padding:10px 12px;position:absolute}.cm-card:hover{border-color:var(--accent);box-shadow:0 8px 22px var(--accent-soft);transform:translateY(-2px)}.cm-card:active{transform:translateY(0)scale(.98)}.cm-card-done{background:var(--done);border-color:var(--done-line)}.cm-card-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-soft)}.cm-card-current .cm-card-check{color:var(--accent)}.cm-card-locked{opacity:.6}.cm-card-head{justify-content:space-between;align-items:baseline;display:flex}.cm-card-code{letter-spacing:.01em;font-size:13px;font-weight:700}.cm-card-check{color:var(--done-line);transition:color .2s var(--ease-soft);animation:cm-check-pop .35s var(--ease-pop);font-weight:700;display:inline-block}@keyframes cm-check-pop{0%{opacity:0;transform:scale(.4)}}.cm-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.cm-card-meta{color:var(--dim);margin-top:4px;font-size:11px}.cm-viewtoggle{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:999px;gap:6px;padding:5px;display:flex}.cm-connections-btn{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.cm-marquee{z-index:15;pointer-events:none;background:var(--accent-soft);border:1px solid var(--accent);border-radius:3px;position:absolute}.cm-card-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), var(--shadow-soft)}.cm-selectbar{z-index:20;background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:cm-step-in .25s var(--ease-pop);border-radius:999px;align-items:center;gap:6px;padding:6px 8px 6px 14px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.cm-selectcount{color:var(--dim);margin-right:4px;font-size:12.5px}.cm-ctxmenu{z-index:90;position:fixed}.cm-blank{text-align:center;max-width:460px;animation:cm-step-in .4s var(--ease-pop);margin:auto;padding:24px}.cm-blank h1{letter-spacing:-.02em;margin-bottom:10px;font-size:30px;font-weight:700}.cm-blank p{color:var(--dim);font-size:14.5px;line-height:1.55}.cm-blank-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.cm-empty-hint{color:var(--dim);flex-direction:column;gap:8px;margin-top:28px;font-size:13px;display:flex}@keyframes cm-step-in{0%{opacity:0;transform:translateY(14px)scale(.99)}}.cm-input{font-family:var(--font-ui);box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);width:100%;color:var(--text);outline:none;margin-bottom:7px;padding:8px 11px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.cm-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cm-select-wrap{display:inline-block;position:relative}.cm-select{appearance:none;cursor:pointer;width:auto;margin:0;padding-right:30px}.cm-select-chev{pointer-events:none;color:var(--dim);position:absolute;top:50%;right:10px;transform:translateY(-50%)rotate(90deg)}.cm-textarea{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);width:100%;color:var(--text);resize:vertical;outline:none;margin-bottom:8px;padding:9px 11px;font-family:Fira Code,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;transition:border-color .15s,box-shadow .15s}.cm-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cm-checkline{align-items:center;gap:7px;margin:4px 0 8px;font-size:13px;display:flex}.cm-checkline input{accent-color:var(--accent)}.cm-error{color:var(--danger);margin-top:8px;font-size:13px}.cm-editpanel .cm-btn{justify-content:center;width:100%}.cm-bignum{letter-spacing:-.02em;font-size:34px;font-weight:700}.cm-bignum-sub{color:var(--dim);margin-left:6px;font-size:15px;font-weight:400}.cm-progress{background:var(--hover);border-radius:999px;height:6px;margin:10px 0 6px;overflow:hidden}.cm-progress-fill{background:var(--accent);height:100%;transition:width .4s var(--ease-soft);border-radius:999px}.cm-statline{color:var(--dim);font-size:12px}.cm-reqgroup{margin-bottom:12px;font-size:12.5px}.cm-reqgroup-title{text-transform:capitalize;margin-bottom:4px;font-weight:600}.cm-reqgroup ul{margin:0;padding:0 0 0 2px;list-style:none}.cm-reqgroup li{padding:1.5px 0}.cm-dim{color:var(--dim)}.cm-donemsg{font-size:13.5px}.cm-overlay{z-index:50;background:var(--overlay);animation:cm-fade-in .18s var(--ease-soft);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes cm-fade-in{0%{opacity:0}}.cm-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);width:min(620px,100vw - 40px);max-height:min(78vh,720px);box-shadow:var(--shadow);animation:cm-modal-pop .22s var(--ease-pop);flex-direction:column;display:flex}@keyframes cm-modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}.cm-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.cm-modal-head h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.cm-modal-body{padding:18px 20px;overflow-y:auto}.cm-step{margin-bottom:20px}.cm-steplabel{color:var(--dim);margin-bottom:8px;font-size:13px;font-weight:600}.cm-setrow{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:13px 2px;display:flex}.cm-setrow:last-child{border-bottom:none}.cm-setname{font-size:14px;font-weight:600}.cm-setdesc{color:var(--dim);margin-top:2px;font-size:12.5px}.cm-switch input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.cm-detail-name{letter-spacing:-.01em;font-size:17px;font-weight:700}.cm-detail-meta{color:var(--dim);text-transform:capitalize;margin-top:2px;font-size:12.5px}.cm-detail-desc{margin:12px 0;font-size:13.5px;line-height:1.5}.cm-detail-fields{grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0 4px;font-size:13px;display:grid}.cm-detail-fields dt{color:var(--dim);white-space:nowrap;font-weight:600}.cm-detail-fields dd{margin:0}.cm-detail-controls{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.cm-statuslabel{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:4px 0 6px;font-size:11.5px;font-weight:600}.cm-statusseg{gap:6px;display:flex}.cm-statusseg .cm-btn{flex:1;justify-content:center}.cm-root ::-webkit-scrollbar{width:8px;height:8px}.cm-root ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.cm-root ::-webkit-scrollbar-thumb:hover{background:var(--faint)}.cm-root ::-webkit-scrollbar-track{background:0 0}.cm-root{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.cm-railcol{flex-direction:column;align-items:center;gap:8px;display:flex}.cm-degreechips{animation:cm-step-in .4s var(--ease-pop);flex-direction:column;align-items:center;gap:6px;display:flex}.cm-degreechip{border:1px solid var(--line);background:var(--card);width:34px;height:34px;color:var(--text);font-family:var(--font-ui);cursor:pointer;transition:background .15s var(--ease-soft), border-color .15s, transform .15s var(--ease-pop);border-radius:10px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.cm-degreechip:hover{border-color:var(--faint)}.cm-degreechip:active{transform:scale(.9)}.cm-degreechip-on{color:#3a3113;background:#f5d247;border-color:#d9b425}.cm-modal-wide{width:min(760px,100vw - 40px)}.cm-tabs{gap:6px;margin-bottom:16px;display:flex}.cm-enrollcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.cm-enroll-college{font-size:15px;font-weight:700}.cm-enroll-programs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cm-chip{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;display:inline-flex}.cm-chip-minor{background:var(--hover);border-color:var(--line)}.cm-chip-x{cursor:pointer;color:var(--dim);background:0 0;border:none;padding:0 1px;font-size:13px;line-height:1}.cm-chip-x:hover{color:var(--danger)}.cm-chipinput{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);flex-wrap:wrap;align-items:center;gap:5px;min-height:24px;padding:6px 8px;display:flex}.cm-chipinput:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cm-chipinput-field{min-width:140px;color:var(--text);font-family:var(--font-ui);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.cm-instgrid{flex-wrap:wrap;gap:6px;display:flex}.cm-inst{padding:5px 11px;font-size:12.5px}.cm-aprow{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;margin-bottom:4px;padding:5px 2px;font-size:13px;display:flex}.cm-linkbtn{cursor:pointer;text-align:left;color:var(--accent);font-family:var(--font-ui);background:0 0;border:none;padding:2px 0;font-size:12.5px}.cm-linkbtn:hover{text-decoration:underline}.cm-fullpanel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);width:min(1240px,100vw - 40px);height:min(88vh,900px);box-shadow:var(--shadow);animation:cm-modal-pop .22s var(--ease-pop);flex-direction:column;display:flex}.cm-opt-body{flex:1;padding:16px 20px;overflow-y:auto}.cm-opt-hint{margin:0 0 14px;font-size:12.5px;line-height:1.5}.cm-opt-params{color:var(--dim);align-items:center;gap:14px;margin-left:auto;margin-right:14px;font-size:12px;display:flex}.cm-opt-params label{align-items:center;gap:6px;display:flex}.cm-opt-num{width:58px;margin:0;padding:5px 8px}.cm-opt-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:900px){.cm-opt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.cm-opt-grid{grid-template-columns:minmax(0,1fr)}}.cm-sem{background:var(--bg-deep);border:1px solid var(--border-soft);border-radius:var(--r-md);min-height:120px;padding:10px}.cm-sem-head{text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.cm-sem-block{text-align:left;color:#fff;cursor:pointer;width:100%;font-family:var(--font-ui);transition:transform .13s var(--ease-pop), box-shadow .13s;background:#3d6fb4;border:1px solid #2f5e9e;border-radius:8px;margin-bottom:6px;padding:6px 9px;display:block;position:relative}.cm-sem-block:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3d6fb466}.cm-sem-block:active{transform:scale(.97)}.cm-sem-locked{box-shadow:0 0 0 2px #f5d247}.cm-sem-code{font-size:12px;font-weight:700;display:block}.cm-sem-name{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;display:block;overflow:hidden}.cm-sem-pin{font-size:10px;position:absolute;top:4px;right:6px}.cm-sem-empty{color:var(--faint);text-align:center;padding:12px 0;font-size:12px}.cm-sugcard{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);margin-bottom:8px;overflow:hidden}.cm-sugcard-head{cursor:pointer;width:100%;font-family:var(--font-ui);color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.cm-sugcard-head:hover{background:var(--hover)}.cm-sug-name{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.cm-sug-votes{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:700}.cm-sug-chev{color:var(--faint)}.cm-sugcard-body{border-top:1px solid var(--border-soft);padding:4px 14px 14px}.cm-sugfield{margin-top:10px}.cm-sugfield-label{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin-bottom:4px;font-size:11.5px;font-weight:600;display:flex}.cm-sugfield-row{gap:8px;display:flex}.cm-sug-alts{flex-direction:column;margin-top:3px;display:flex}@media (max-width:720px){.cm-titlebar{display:none}.cm-toprail{flex-direction:column;align-items:flex-end;gap:8px;top:10px;right:10px}.cm-rail{flex-direction:row;padding:4px 6px}.cm-rail-gap{width:1px;height:22px;margin:0 1px}.cm-viewtoggle{gap:3px;padding:4px}.cm-viewtoggle .cm-btn{padding:5px 10px;font-size:12px}.cm-degreechips{flex-flow:wrap;justify-content:flex-end}.cm-canvas{padding:108px 30px 140px 70px}}
.lx-app{--paper:#faf9f4;--paper-raised:#fdfcf8;--paper-sunken:#f1efe4;--ink:#37332a;--ink-soft:#8a8577;--ink-faint:#b3ae9f;--line:#e4e0d1;--line-strong:#d9d3c1;--accent:#b0486b;--accent-strong:#97385a;--accent-soft:#d1698c21;--green:#3fa860;--green-soft:#3fa86021;--amber:#a87c24;--amber-soft:#d9a03f24;--red:#c94a3f;--red-soft:#c94a3f1f;--primary-hover:#2b2820;--heat-1:#d9e4d3;--heat-2:#a9c49e;--heat-3:#74a068;--heat-4:#4c7a42;--hover:#483e260f;--overlay:#3c362866;--shadow:0 8px 30px #5a503724;--shadow-soft:0 2px 14px #5a503717;--radius:8px;--radius-lg:12px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--ease-pop:cubic-bezier(.2, .9, .3, 1.2);--ease-soft:cubic-bezier(.25, .8, .25, 1);--bg-deep:var(--paper-sunken);--border:var(--line-strong);--border-soft:var(--line);--panel:var(--paper-raised);--text:var(--ink);--muted:var(--ink-soft);--faint:var(--ink-faint);--hover-strong:var(--accent-soft);--danger:var(--red);--danger-soft:var(--red-soft);--font-ui:"P22 Mackinac Pro", Charter, serif;--font-body:var(--font-ui);--font-display:var(--font-ui);--font-alt:var(--font-ui);z-index:60;transition:grid-template-columns .3s var(--ease-soft);background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;grid-template-columns:290px 1fr;font-size:15px;line-height:1.5;display:grid;position:fixed;inset:0;overflow:hidden}.lx-app.sb-collapsed{grid-template-columns:0 1fr}:root[data-theme=dark] .lx-app{--paper:#262624;--paper-raised:#30302e;--paper-sunken:#1f1e1b;--ink:#e8e6e0;--ink-soft:#9d9a92;--ink-faint:#6f6c64;--line:#3e3e3b;--line-strong:#4a4a46;--accent:#d1698c;--accent-strong:#dd7d9c;--accent-soft:#d1698c29;--green:#4ade80;--green-soft:#4ade8029;--amber:#d9a03f;--amber-soft:#d9a03f2e;--red:#e0655a;--red-soft:#e0655a29;--primary-hover:#d8d5cd;--heat-1:#30402d;--heat-2:#3d5836;--heat-3:#547a43;--heat-4:#74a068;--hover:#fff1;--overlay:#0f0e0c99;--shadow:0 8px 30px #00000059;--shadow-soft:0 2px 16px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lx-app,.lx-app *{box-sizing:border-box}.lx-main{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-width:0;height:100%;overflow-y:auto}.lx-main::-webkit-scrollbar{width:9px;height:9px}.lx-main::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--paper);border-radius:6px}.lx-main::-webkit-scrollbar-track{background:0 0}.lx-main-inner{max-width:880px;margin:0 auto;padding:40px 32px 96px}.lx-sb-count{color:var(--ink-faint);font-size:11.5px}.lx-streak{color:var(--ink-soft);padding:8px 12px;font-size:12.5px}.lx-streak b{color:var(--accent);font-weight:600}@media (max-width:720px){.lx-app,.lx-app.sb-collapsed{grid-template-columns:1fr}.lx-main-inner{padding:60px 16px 96px}}.lx-btn{font-family:var(--font-body);border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);cursor:pointer;transition:border-color .12s, background .12s, transform .1s var(--ease-pop);border-radius:999px;padding:7px 16px;font-size:14px}.lx-btn:hover{border-color:var(--ink-faint)}.lx-btn:active{transform:scale(.96)}.lx-mc-option{border-radius:var(--radius-lg)}.lx-btn:disabled{opacity:.45;cursor:default}.lx-btn--primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.lx-btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.lx-btn--accent{background:var(--accent);border-color:var(--accent);color:#fff}.lx-btn--ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.lx-btn--ghost:hover{background:var(--paper-sunken);border-color:#0000}.lx-btn--danger{color:var(--red)}.lx-input,.lx-textarea,.lx-select{font-family:var(--font-body);border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);outline:none;width:100%;padding:8px 12px;font-size:15px}.lx-input:focus,.lx-textarea:focus{border-color:var(--accent)}.lx-textarea{resize:vertical;min-height:120px;line-height:1.6}.lx-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.lx-card--flat{box-shadow:none}.lx-card--click{cursor:pointer;transition:border-color .16s, transform .16s var(--ease-pop), box-shadow .16s}.lx-card--click:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.lx-card--click:active{transform:translateY(-1px)scale(.99)}.lx-h1{font-family:var(--font-display);margin:0 0 6px;font-size:28px;font-weight:600}.lx-h2{font-family:var(--font-display);margin:0 0 12px;font-size:19px;font-weight:600}.lx-muted{color:var(--ink-soft);font-size:14px}.lx-faint{color:var(--ink-faint);font-size:13px}.lx-row{align-items:center;gap:10px;display:flex}.lx-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.lx-stack{flex-direction:column;gap:14px;display:flex}.lx-bar{background:var(--paper-sunken);border-radius:2px;height:4px;overflow:hidden}.lx-bar>div{background:var(--green);border-radius:2px;height:100%;transition:width .3s}.lx-heatmap{grid-template-rows:repeat(7,12px);grid-auto-flow:column;gap:2px;width:max-content;display:grid}.lx-heatcell{background:var(--paper-sunken);border-radius:2px;width:12px;height:12px}.lx-heatcell[data-level="1"]{background:var(--heat-1)}.lx-heatcell[data-level="2"]{background:var(--heat-2)}.lx-heatcell[data-level="3"]{background:var(--heat-3)}.lx-heatcell[data-level="4"]{background:var(--heat-4)}.lx-termrow{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.4fr 32px;align-items:start;gap:10px;padding:8px 0;display:grid}.lx-termrow .lx-input{background:0 0;border-color:#0000;padding:6px 8px}.lx-termrow .lx-input:hover{background:var(--paper-sunken)}.lx-termrow .lx-input:focus{background:var(--paper-raised);border-color:var(--accent)}.lx-termrow .lx-term-remove:hover{color:var(--red);background:var(--red-soft)}.lx-session{max-width:620px;margin:0 auto}.lx-progress{align-items:center;gap:12px;margin-bottom:24px;display:flex}.lx-progress .lx-bar{flex:1}.lx-flashcard{text-align:center;cursor:pointer;min-height:280px;font-size:24px;font-family:var(--font-display);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:40px;display:flex}.lx-flashcard--back{font-family:var(--font-body);color:var(--ink-soft);font-size:19px}.lx-mc-option{text-align:left;width:100%;padding:12px 16px;font-size:15px}.lx-mc-option[data-state=correct]{border-color:var(--green);background:var(--green-soft)}.lx-mc-option[data-state=wrong]{border-color:var(--red);background:var(--red-soft)}.lx-mc-key{width:20px;color:var(--ink-faint);font-size:13px;display:inline-block}.lx-feedback{min-height:26px;margin-top:10px;font-size:14px}.lx-feedback[data-kind=correct]{color:var(--green)}.lx-feedback[data-kind=close]{color:var(--amber)}.lx-feedback[data-kind=wrong]{color:var(--red)}.lx-matchgrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.lx-matchtile{text-align:center;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-height:84px;padding:10px;font-size:14px;transition:opacity .25s,border-color .1s,background .1s;display:flex}.lx-matchtile[data-state=selected]{border-color:var(--accent);background:var(--accent-soft)}.lx-matchtile[data-state=matched]{opacity:0;pointer-events:none}.lx-matchtile[data-state=miss]{border-color:var(--red);background:var(--red-soft)}.lx-score{font-family:var(--font-display);text-align:center;margin:24px 0 6px;font-size:42px}.lx-kbd{color:var(--ink-faint);border:1px solid var(--line);background:var(--paper-sunken);border-radius:4px;padding:1px 5px;font-size:11px}.lx-quiz-types{flex-wrap:wrap;gap:8px 18px;display:flex}.lx-quiz-review{flex-direction:column;margin-top:12px;display:flex}.lx-quiz-review-row{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:10px 0;font-size:14px;display:flex}.lx-quiz-review-row:last-child{border-bottom:none}.lx-quiz-mark{color:var(--red);font-weight:600}.lx-quiz-review-row[data-ok] .lx-quiz-mark{color:var(--green)}.lx-modes{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.lx-mode-card{text-align:center;padding:22px 12px}.lx-mode-card .lx-h2{margin-bottom:4px}@media (max-width:560px){.lx-matchgrid{grid-template-columns:repeat(2,1fr)}.lx-termrow{grid-template-columns:1fr}}.lx-overlay{z-index:100;background:var(--overlay,#0f0e0c80);animation:lx-fade-in .18s var(--ease-soft);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lx-modal{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);width:min(440px,100vw - 48px);box-shadow:var(--shadow);animation:lx-modal-pop .22s var(--ease-pop);padding:22px}@keyframes lx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lx-modal-pop{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:none}}.lx-session .lx-card{animation:lx-slide-in .28s var(--ease-pop) both}.lx-flashcard{transition:transform .3s var(--ease-soft)}.lx-flashcard:active{transform:scale(.99)}.lx-mc-option[data-state=correct]{animation:lx-pop .4s var(--ease-pop)}.lx-mc-option[data-state=wrong],.lx-matchtile[data-state=miss]{animation:lx-shake .4s var(--ease-soft)}.lx-feedback[data-kind=correct]{animation:lx-pop .4s var(--ease-pop)}.lx-feedback[data-kind=wrong]{animation:lx-shake .4s var(--ease-soft)}@keyframes lx-slide-in{0%{opacity:0;transform:translateY(10px)}}@keyframes lx-pop{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes lx-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}
