.canopy-app{z-index:60;--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);position:fixed;inset:0;overflow:hidden}:root[data-theme=dark] .canopy-app{--bg:#262624;--bg-deep:#1f1e1b;--panel:#30302e;--panel-2:#393937;--border:#3e3e3b;--border-soft:#34342f;--text:#e8e6e0;--muted:#9d9a92;--faint:#6f6c64;--accent:#3fa860;--accent-soft:#3fa86029;--danger:#e0655a;--danger-soft:#e0655a24;--hover:#fff1;--hover-strong:#ffffff1a;--shadow:0 8px 30px #00000059;--overlay:#0f0e0c99;--canvas-dot:#ffffff12;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light] .canopy-app{--bg:#faf9f4;--bg-deep:#f3f1e8;--panel:#fdfcf8;--panel-2:#f1efe4;--border:#e4e0d1;--border-soft:#ebe8dc;--text:#37332a;--muted:#8a8577;--faint:#b3ae9f;--accent:#2f8f50;--accent-soft:#2f8f5021;--danger:#c94a3f;--danger-soft:#c94a3f1f;--hover:#483e260f;--hover-strong:#483e261a;--shadow:0 8px 30px #5a503724;--overlay:#3c362866;--canvas-dot:#483e261a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.canopy-app,.canopy-app *{box-sizing:border-box;margin:0;padding:0}.canopy-app,.canopy-app{height:100%}.canopy-app{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);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:14px;line-height:1.45}.canopy-app input,.canopy-app textarea{-webkit-user-select:text;user-select:text}.canopy-app img,.canopy-app a{-webkit-user-drag:none}.canopy-app button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.canopy-app button:disabled{cursor:default;opacity:.45}.canopy-app input,.canopy-app textarea{font:inherit;color:inherit}.canopy-app .app{height:100vh;transition:grid-template-columns .3s var(--ease-soft);grid-template-columns:290px 1fr;display:grid;overflow:hidden}.canopy-app .app.sb-collapsed{grid-template-columns:0 1fr}.canopy-app .main{flex-direction:column;min-width:0;height:100vh;display:flex}.canopy-app .sidebar{min-width:0;padding:12px 0 12px 12px;overflow:hidden}.canopy-app .sb-reveal{z-index:40;animation:canopy-fade-in .25s var(--ease-soft);position:fixed;top:18px;left:14px}.canopy-app .logo-mark{color:var(--accent);justify-content:center;align-items:center;line-height:1;display:inline-flex}.canopy-app .new-btn{border-radius:var(--r-md);color:var(--accent);transition:background .15s var(--ease-soft), transform .15s var(--ease-soft);align-items:center;gap:8px;margin:0 4px 8px;padding:8px 12px;font-size:14px;display:flex}.canopy-app .new-btn svg{transition:transform .35s var(--ease-pop)}.canopy-app .home-btn{border-radius:var(--r-md);color:var(--muted);transition:background .15s var(--ease-soft), color .15s;align-items:center;gap:8px;margin:0 4px 2px;padding:8px 12px;font-size:14px;display:flex}.canopy-app .home-btn:hover{background:var(--hover);color:var(--text)}.canopy-app .home-btn.active{background:var(--hover-strong);color:var(--text)}.canopy-app .sb-section{color:var(--faint);letter-spacing:.04em;justify-content:space-between;align-items:center;padding:10px 12px 6px;font-size:11.5px;display:flex}.canopy-app .sb-section .icon-btn{width:22px;height:22px}.canopy-app .board-item{border-radius:var(--r-sm);transition:background .13s var(--ease-soft);align-items:center;padding-right:2px;display:flex;position:relative}.canopy-app .board-item[draggable=true]{cursor:default}.canopy-app .board-glyph{flex-shrink:0;font-size:13px;line-height:1}.canopy-app .board-count{color:var(--faint);flex-shrink:0;font-size:11px}.canopy-app .board-group{border-radius:var(--r-sm);border:1px dashed #0000;margin-bottom:2px;transition:border-color .15s,background .15s}.canopy-app .board-group.drop-hint{border-color:var(--accent);background:var(--accent-soft)}.canopy-app .folder-head{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--muted);align-items:center;gap:6px;padding:6px 8px;font-size:13px;transition:background .13s;display:flex;position:relative}.canopy-app .folder-head:hover{background:var(--hover)}.canopy-app .fold-chev{opacity:.6;transition:transform .2s var(--ease-pop);flex-shrink:0}.canopy-app .fold-chev.open{transform:rotate(90deg)}.canopy-app .group-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.canopy-app .group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.canopy-app .group-kids{padding-left:14px}.canopy-app .folder-head .board-dots{position:static}.canopy-app .folder-head:hover .board-dots{opacity:1}.canopy-app .icon-btn svg{transition:transform .2s var(--ease-pop)}.canopy-app .icon-btn:hover svg{transform:scale(1.12)}.canopy-app .theme-ico{animation:canopy-spin-in .4s var(--ease-pop);display:inline-flex}@keyframes canopy-spin-in{0%{opacity:0;transform:rotate(-120deg)scale(.5)}}.canopy-app .icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--muted);transition:background .13s var(--ease-soft), color .13s, transform .13s;justify-content:center;align-items:center;display:inline-flex}.canopy-app .icon-btn.on{background:var(--accent-soft);color:var(--accent)}.canopy-app .pill-btn{border:1px solid var(--border);background:var(--panel);transition:background .15s, transform .15s var(--ease-soft), border-color .15s;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:13px;display:inline-flex}.canopy-app .pill-btn:hover{background:var(--panel-2)}.canopy-app .pill-btn:active{transform:scale(.96)}.canopy-app .pill-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.canopy-app .pill-btn.accent:hover{filter:brightness(1.07)}.canopy-app .pill-btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.canopy-app .pill-btn.small{padding:4px 10px;font-size:12px}.canopy-app .pick{transition:background .12s var(--ease-soft);border-radius:6px}.canopy-app .pick:hover{background:var(--hover-strong)}.canopy-app .menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);min-width:190px;box-shadow:var(--shadow);transform-origin:top;animation:canopy-menu-pop .16s var(--ease-pop);z-index:50;padding:5px}@keyframes canopy-menu-pop{0%{opacity:0;transform:translateY(-5px)scale(.96)}}.canopy-app .overlay{background:var(--overlay);z-index:100;animation:canopy-fade-in .18s var(--ease-soft);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes canopy-fade-in{0%{opacity:0}}.canopy-app .modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(560px,100vw - 48px);box-shadow:var(--shadow);animation:canopy-modal-pop .22s var(--ease-pop);max-height:88vh;padding:24px;overflow-y:auto}@keyframes canopy-modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}.canopy-app .modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.canopy-app .modal-head h2{font-size:21px;font-weight:600}.canopy-app .modal-sub{color:var(--muted);margin-bottom:14px;font-size:13.5px}.canopy-app .field-label{color:var(--text);margin:12px 0 6px;font-size:13px;display:block}.canopy-app .text-input{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.canopy-app .text-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.canopy-app .text-input.area{resize:vertical;min-height:120px}.canopy-app .text-input.canopy-shake{border-color:var(--danger);animation:.4s canopy-shake}@keyframes canopy-shake{20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.canopy-app .modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.canopy-app .share-row{gap:10px;display:flex}.canopy-app .share-row .text-input{color:var(--muted);flex:1;font-size:12.5px}.canopy-app .swatches{gap:8px;display:flex}.canopy-app .swatch{opacity:.55;width:22px;height:22px;transition:transform .15s var(--ease-pop), opacity .15s, box-shadow .15s;border-radius:50%}.canopy-app .swatch:hover{opacity:1;transform:scale(1.2)}.canopy-app .swatch.on{opacity:1;box-shadow:0 0 0 2px var(--panel), 0 0 0 3.5px currentColor;transform:scale(1.1)}.canopy-app .swatch.none{border:1.5px dashed var(--faint);background:0 0!important}.canopy-app .emoji-row{flex-wrap:wrap;gap:4px;display:flex}.canopy-app .emoji-pick{border-radius:var(--r-sm);width:34px;height:34px;transition:background .12s, transform .13s var(--ease-pop);font-size:18px}.canopy-app .emoji-pick:hover{background:var(--hover-strong);transform:scale(1.12)}.canopy-app .emoji-pick.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.canopy-app .type-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.canopy-app .type-opt{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);color:var(--muted);transition:border-color .14s, background .14s, color .14s, transform .15s var(--ease-pop);flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;font-size:12.5px;display:flex}.canopy-app .type-opt:hover{border-color:var(--faint);transform:translateY(-2px)}.canopy-app .type-opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.canopy-app .todo-edit-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.canopy-app .todo-edit-row .text-input{flex:1;padding:7px 10px}.canopy-app .board-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 18px 10px;display:grid}.canopy-app .sb-collapsed .board-head{padding-left:56px}.canopy-app .bh-left{align-items:center;gap:8px;min-width:0;display:flex}.canopy-app .board-title{white-space:nowrap;max-width:100%;color:var(--text);align-items:center;gap:8px;padding:5px 9px;font-size:15px;display:flex;overflow:hidden}.canopy-app .board-title .bt-emoji{font-size:16px}.canopy-app .board-title-name{text-overflow:ellipsis;overflow:hidden}.canopy-app .bh-right{justify-content:flex-end;align-items:center;gap:8px;display:flex;position:relative}.canopy-app .advwrap{position:relative}.canopy-app .adv-menu{position:absolute;top:36px;right:0}.canopy-app .bh-center{justify-content:center;display:flex}.canopy-app .modes{background:var(--panel);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex;position:relative}.canopy-app .mode-btn{z-index:1;width:44px;height:32px;color:var(--muted);transition:color .18s, transform .15s var(--ease-soft);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.canopy-app .mode-btn:hover{color:var(--text)}.canopy-app .mode-btn:active{transform:scale(.93)}.canopy-app .mode-btn.on{color:var(--text)}.canopy-app .mode-thumb{background:var(--hover-strong);width:44px;height:32px;transition:transform .22s var(--ease-pop);border-radius:999px;position:absolute;top:3px;left:3px}.canopy-app .mode-thumb.pos2{transform:translate(46px)}.canopy-app .searchwrap{flex:1;max-width:320px;position:relative}.canopy-app .search-box{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;transition:border-color .15s;display:flex}.canopy-app .search-box:focus-within{border-color:var(--accent)}.canopy-app .search-box input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.canopy-app .search-box input::placeholder{color:var(--faint)}.canopy-app .search-pop{z-index:60;max-height:320px;position:absolute;top:38px;left:0;right:0;overflow-y:auto}.canopy-app .search-hit{border-radius:var(--r-sm);text-align:left;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:8px 10px;transition:background .11s;display:flex}.canopy-app .search-hit:hover{background:var(--hover)}.canopy-app .sh-title{align-items:center;gap:7px;max-width:100%;font-size:13.5px;display:flex}.canopy-app .sh-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canopy-app .sh-board{color:var(--faint);font-size:11.5px}.canopy-app .stage{flex:1;min-height:0;position:relative;overflow:hidden}.canopy-app .canvas-viewport{background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1px);cursor:default;touch-action:none;background-size:24px 24px;position:absolute;inset:0;overflow:hidden}.canopy-app .canvas-viewport.panning{cursor:grabbing}.canopy-app .canvas-layer{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.canopy-app .ccard{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);cursor:default;width:240px;animation:canopy-card-in .3s var(--ease-pop);transition:box-shadow .18s var(--ease-soft), border-color .15s;padding:12px 13px;position:absolute;box-shadow:0 2px 10px #0000001f}@keyframes canopy-card-in{0%{opacity:0;transform:translateY(10px)scale(.94)}}.canopy-app .ccard.dragging{cursor:grabbing;transition:none;animation:none;transform:scale(1.035);box-shadow:0 16px 40px #0000004d}.canopy-app .ccard.selected{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent), 0 2px 10px #0000001f}.canopy-app .ccard.flash{animation:canopy-flash-pulse .9s var(--ease-soft)}@keyframes canopy-flash-pulse{0%{background:var(--accent-soft);box-shadow:0 0 0 5px var(--accent-soft)}60%{box-shadow:0 0 #0000}to{background:var(--panel)}}.canopy-app .ccard.type-section{box-shadow:none;background:0 0;border:none;width:auto;min-width:200px;padding:6px 10px}.canopy-app .ccard.type-section.selected{box-shadow:0 0 0 1.5px var(--accent);border-radius:var(--r-sm);border:none}.canopy-app .ccard.type-section.dragging{box-shadow:none}.canopy-app .section-text{letter-spacing:.01em;white-space:nowrap;font-size:24px;font-weight:700}.canopy-app .card-top{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.canopy-app .card-favicon{border-radius:4px;flex-shrink:0;width:18px;height:18px;margin-top:1px}.canopy-app .card-favicon.fallback{background:var(--hover-strong);color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.canopy-app .card-title2{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.canopy-app .card-pin{color:var(--accent);flex-shrink:0;margin-top:2px;display:inline-flex}.canopy-app .card-url{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;font-size:11.5px;overflow:hidden}.canopy-app .card-notes{color:var(--muted);-webkit-line-clamp:6;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.canopy-app .card-notes p{margin:0 0 2px}.canopy-app .card-notes ul{margin:0 0 2px 16px}.canopy-app .card-notes li{margin:0}.canopy-app .card-chips{flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;display:flex}.canopy-app .kind-chip{letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;line-height:1;display:inline-flex}.canopy-app .tag-chip{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:10.5px;line-height:1}.canopy-app .card-color-bar{border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.canopy-app .card-open-btn{width:24px;height:24px;color:var(--faint);background:var(--panel);opacity:0;border-radius:6px;justify-content:center;align-items:center;transition:opacity .13s,background .13s,color .13s;display:inline-flex;position:absolute;top:8px;right:8px}.canopy-app .ccard:hover .card-open-btn,.canopy-app .org-card:hover .card-open-btn{opacity:1}.canopy-app .card-open-btn:hover{background:var(--accent-soft);color:var(--accent)}.canopy-app .todo-list{flex-direction:column;gap:4px;display:flex}.canopy-app .todo-row{text-align:left;align-items:flex-start;gap:8px;width:100%;font-size:13px;display:flex}.canopy-app .todo-row .sel-box{margin-top:1.5px}.canopy-app .todo-row.done .todo-text{color:var(--faint);text-decoration:line-through}.canopy-app .todo-text{flex:1;line-height:1.35}.canopy-app .todo-more{color:var(--faint);margin-top:3px;font-size:11.5px}.canopy-app .todo-progress{background:var(--hover-strong);border-radius:2px;height:3px;margin:8px 0 2px;overflow:hidden}.canopy-app .todo-progress>div{background:var(--accent);height:100%;transition:width .3s var(--ease-soft);border-radius:2px}.canopy-app .sel-box{border:1.5px solid var(--faint);width:17px;height:17px;transition:background .12s, border-color .12s, transform .12s var(--ease-pop);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.canopy-app .sel-box:hover{border-color:var(--text)}.canopy-app .sel-box:active{transform:scale(.88)}.canopy-app .sel-box.on{background:var(--accent);border-color:var(--accent);color:#fff;animation:canopy-check-pop .25s var(--ease-pop)}@keyframes canopy-check-pop{0%{transform:scale(.6)}}.canopy-app .canvas-tools{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow);z-index:10;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:14px;right:14px}.canopy-app .zoom-label{text-align:center;min-width:46px;color:var(--muted);border-radius:6px;padding:5px 2px;font-size:12px;transition:background .12s}.canopy-app .zoom-label:hover{background:var(--hover);color:var(--text)}.canopy-app .tools-sep{background:var(--border);width:1px;height:18px;margin:0 3px}.canopy-app .select-bar{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);z-index:20;animation:canopy-menu-pop .18s var(--ease-pop);border-radius:999px;align-items:center;gap:10px;padding:7px 8px 7px 14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.canopy-app .sel-count{color:var(--muted);font-size:13px}.canopy-app .canvas-add{z-index:10;position:absolute;bottom:14px;left:14px}.canopy-app .fab{background:var(--accent);color:#fff;box-shadow:var(--shadow);transition:transform .15s var(--ease-pop), filter .15s;border-radius:999px;align-items:center;gap:7px;padding:10px 16px;font-size:14px;display:inline-flex}.canopy-app .fab:hover{filter:brightness(1.07);transform:translateY(-2px)}.canopy-app .fab:active{transform:scale(.95)}.canopy-app .fab svg{transition:transform .35s var(--ease-pop)}.canopy-app .fab:hover svg{transform:rotate(90deg)}.canopy-app .canvas-hint{text-align:center;color:var(--faint);pointer-events:none;font-size:12px;font-style:italic;position:absolute;bottom:16px;left:0;right:0}.canopy-app .struct{flex:1;min-height:0;padding:4px 18px 40px;overflow-y:auto}.canopy-app .struct-tools{background:var(--bg);z-index:5;flex-wrap:wrap;align-items:center;gap:8px;padding:2px 0 14px;display:flex;position:sticky;top:0}.canopy-app .view-toggle{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);gap:2px;padding:2px;display:inline-flex}.canopy-app .view-toggle .icon-btn{border-radius:6px;width:26px;height:24px}.canopy-app .view-toggle .icon-btn.on{background:var(--hover-strong);color:var(--text)}.canopy-app .dropdown{display:inline-flex;position:relative}.canopy-app .dd-btn{background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:6px;padding:5px 9px;font-size:12px;transition:border-color .13s,color .13s;display:inline-flex}.canopy-app .dd-btn:hover{border-color:var(--faint);color:var(--text)}.canopy-app .dd-btn.filtering{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.canopy-app .dd-menu{z-index:55;max-height:260px;position:absolute;top:32px;left:0;overflow-y:auto}.canopy-app .org-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.canopy-app .org-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);text-align:left;cursor:pointer;animation:canopy-card-in .3s var(--ease-pop);transition:border-color .15s, transform .2s var(--ease-pop), box-shadow .2s;padding:13px 14px;position:relative;overflow:hidden}.canopy-app .org-card:hover{border-color:var(--faint);box-shadow:var(--shadow);transform:translateY(-2px)}.canopy-app .org-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.canopy-app .card-updated{color:var(--faint);margin-top:8px;font-size:11.5px}.canopy-app .org-list{flex-direction:column;display:flex}.canopy-app .org-row{border-bottom:1px solid var(--border-soft);border-radius:var(--r-sm);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:10px;transition:background .12s;display:flex}.canopy-app .org-row:hover{background:var(--hover)}.canopy-app .org-row.selected{background:var(--accent-soft)}.canopy-app .row-icon{color:var(--muted);flex-shrink:0;justify-content:center;width:18px;display:inline-flex}.canopy-app .row-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.canopy-app .row-sub{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;font-size:12px;overflow:hidden}.canopy-app .row-updated{color:var(--faint);flex-shrink:0;margin-left:auto;font-size:12px}.canopy-app .row-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.canopy-app .struct-empty,.canopy-app .canvas-empty{color:var(--faint);text-align:center;animation:canopy-fade-in .4s var(--ease-soft);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.canopy-app .canvas-empty{pointer-events:none;position:absolute;inset:0}.canopy-app .empty-mark{opacity:.6;animation:canopy-hero-spin .9s var(--ease-pop);font-size:40px}@keyframes canopy-hero-spin{0%{transform:rotate(-180deg)scale(0)}}.canopy-app .empty-title{color:var(--muted);font-size:17px}.canopy-app .empty-hint{max-width:340px;font-size:13px;font-style:italic}.canopy-app .canvas-empty .pill-btn{pointer-events:auto}.canopy-app .home{flex:1;min-height:0;padding:20px 26px 60px;overflow-y:auto}.canopy-app .home-inner{max-width:980px;margin:0 auto}.canopy-app .hero-title{animation:canopy-step-in .5s var(--ease-pop);align-items:center;gap:12px;margin:18px 0 4px;font-size:32px;font-weight:500;display:flex}@keyframes canopy-step-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.canopy-app .hero-mark{animation:canopy-hero-spin .9s var(--ease-pop);font-size:28px}.canopy-app .home-sub{color:var(--muted);animation:canopy-step-in .55s var(--ease-pop);margin-bottom:26px;font-size:14px}.canopy-app .home-sect{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;margin:26px 0 12px;font-size:12px}.canopy-app .stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.canopy-app .stat-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);animation:canopy-step-in .4s var(--ease-pop);padding:14px 16px}.canopy-app .stat-num{color:var(--accent);font-size:26px;font-weight:700;line-height:1.1}.canopy-app .stat-label{color:var(--muted);margin-top:2px;font-size:12.5px}.canopy-app .home-boards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.canopy-app .home-board{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);text-align:left;animation:canopy-card-in .3s var(--ease-pop);transition:border-color .15s, transform .2s var(--ease-pop), box-shadow .2s;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.canopy-app .home-board:hover{border-color:var(--faint);box-shadow:var(--shadow);transform:translateY(-2px)}.canopy-app .hb-top{align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.canopy-app .hb-emoji{font-size:17px}.canopy-app .hb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canopy-app .hb-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.canopy-app .hb-meta{color:var(--faint);gap:10px;margin-top:2px;font-size:11.5px;display:flex}.canopy-app .hb-group{border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:10px}.canopy-app .recent-list{flex-direction:column;display:flex}.canopy-app .toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);z-index:200;animation:canopy-toast-in .3s var(--ease-pop);pointer-events:none;border-radius:999px;padding:9px 18px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes canopy-toast-in{0%{opacity:0;transform:translate(-50%)translateY(14px)scale(.9)}}.canopy-app ::-webkit-scrollbar{width:8px;height:8px}.canopy-app ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.canopy-app ::-webkit-scrollbar-thumb:hover{background:var(--faint)}.canopy-app ::-webkit-scrollbar-track{background:0 0}@media (max-width:720px){.canopy-app .app,.canopy-app .app.sb-collapsed{grid-template-columns:1fr}.canopy-app .board-head,.canopy-app .sb-collapsed .board-head{flex-wrap:wrap;row-gap:8px;padding:14px 12px 8px 56px;display:flex}}
.meridian-app{z-index:60;--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);--up:#3fa860;--up-soft:#3fa86029;position:fixed;inset:0;overflow:hidden}:root[data-theme=dark] .meridian-app{--bg:#262624;--bg-deep:#1f1e1b;--panel:#30302e;--panel-2:#393937;--border:#3e3e3b;--border-soft:#34342f;--text:#e8e6e0;--muted:#9d9a92;--faint:#6f6c64;--accent:#4aafc2;--accent-soft:#4aafc229;--danger:#e0655a;--danger-soft:#e0655a24;--hover:#fff1;--hover-strong:#ffffff1a;--shadow:0 8px 30px #00000059;--overlay:#0f0e0c99;--navy:#1a212c;--navy-2:#212a38;--navy-border:#2a3546;--navy-text:#dfe6ee;--navy-muted:#8da0b6;--navy-faint:#5c6b7e;--navy-hover:#7ab0d41a;--navy-hover-strong:#7ab0d429;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light] .meridian-app{--bg:#faf9f4;--bg-deep:#f3f1e8;--panel:#fdfcf8;--panel-2:#f1efe4;--border:#e4e0d1;--border-soft:#ebe8dc;--text:#37332a;--muted:#8a8577;--faint:#b3ae9f;--accent:#1f93a8;--accent-soft:#1f93a821;--danger:#c94a3f;--danger-soft:#c94a3f1f;--hover:#483e260f;--hover-strong:#483e261a;--shadow:0 8px 30px #5a503724;--overlay:#3c362866;--navy:#223950;--navy-2:#2b4763;--navy-border:#33506e;--navy-text:#edf2f7;--navy-muted:#a7bacd;--navy-faint:#74889d;--navy-hover:#ffffff14;--navy-hover-strong:#ffffff24;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.meridian-app,.meridian-app *{box-sizing:border-box;margin:0;padding:0}.meridian-app,.meridian-app{height:100%}.meridian-app{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);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:14px;line-height:1.45}.meridian-app input,.meridian-app textarea{-webkit-user-select:text;user-select:text}.meridian-app img,.meridian-app a{-webkit-user-drag:none}.meridian-app button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.meridian-app button:disabled{cursor:default;opacity:.45}.meridian-app input,.meridian-app textarea,.meridian-app select{font:inherit;color:inherit}.meridian-app .app{height:100vh;transition:grid-template-columns .3s var(--ease-soft);grid-template-columns:290px 1fr;display:grid;overflow:hidden}.meridian-app .app.sb-collapsed{grid-template-columns:0 1fr}.meridian-app .main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow-y:auto}.meridian-app .sidebar{min-width:0;padding:12px 0 12px 12px;overflow:hidden}.meridian-app .sidebar-inner{background:var(--navy);border:1px solid var(--navy-border);border-radius:var(--r-xl);width:266px;height:100%;color:var(--navy-text);transition:transform .3s var(--ease-soft), opacity .3s var(--ease-soft), background .3s var(--ease-soft);flex-direction:column;padding:12px 10px;display:flex}.meridian-app .sb-reveal{z-index:40;animation:meridian-fade-in .25s var(--ease-soft);position:fixed;top:18px;left:14px}.meridian-app .brand-name{letter-spacing:.01em;font-weight:500}.meridian-app .logo-mark{color:var(--accent);justify-content:center;align-items:center;line-height:1;display:inline-flex}.meridian-app .sidebar .icon-btn{color:var(--navy-muted)}.meridian-app .sidebar .icon-btn:hover{background:var(--navy-hover);color:var(--navy-text)}:root[data-theme=light] .meridian-app .sidebar-inner .new-btn{color:#6fd3e6}.meridian-app .new-btn:hover{background:var(--navy-hover)}.meridian-app .new-btn svg{transition:transform .35s var(--ease-pop)}.meridian-app .sb-section{color:var(--navy-faint);letter-spacing:.06em;text-transform:uppercase;padding:10px 12px 6px;font-size:11.5px}.meridian-app .nav-list{padding:0 4px}.meridian-app .nav-item{border-radius:var(--r-sm);width:100%;color:var(--navy-muted);text-align:left;transition:background .13s var(--ease-soft), color .13s;align-items:center;gap:9px;padding:7px 9px;font-size:13.5px;display:flex;position:relative}.meridian-app .nav-item:hover{background:var(--navy-hover);color:var(--navy-text)}.meridian-app .nav-item.active{background:var(--navy-hover-strong);color:var(--navy-text)}.meridian-app .nav-item.active:before{content:"";background:var(--accent);width:3px;animation:meridian-fade-in .2s var(--ease-soft);border-radius:3px;position:absolute;top:8px;bottom:8px;left:-4px}.meridian-app .nav-glyph{color:var(--navy-faint);transition:color .13s;display:inline-flex}.meridian-app .nav-glyph svg{transition:transform .2s var(--ease-pop)}.meridian-app .nav-item:hover .nav-glyph svg{transform:scale(1.15)translateY(-1px)}.meridian-app .nav-list .nav-item:last-child:hover .nav-glyph svg{transform:scale(1.12)rotate(30deg)}.meridian-app .nav-item:hover .nav-glyph,.meridian-app .nav-item.active .nav-glyph{color:var(--accent)}.meridian-app .nav-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px}:root[data-theme=light] .meridian-app .sidebar-inner .nav-badge{color:#6fd3e6;background:#6fd3e624}.meridian-app .course-list{flex:1;min-height:40px;padding:0 4px;overflow-y:auto}.meridian-app .sb-empty{color:var(--navy-faint);padding:8px 10px;font-size:12.5px}.meridian-app .course-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.meridian-app .nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.meridian-app .nav-pct{color:var(--navy-faint);flex-shrink:0;font-size:11.5px}.meridian-app .sb-foot{border-top:1px solid var(--navy-border);margin-top:8px;padding:10px 6px 2px}.meridian-app .theme-btn{border-radius:var(--r-sm);color:var(--navy-muted);align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;transition:background .15s;display:flex}.meridian-app .theme-btn:hover{background:var(--navy-hover);color:var(--navy-text)}.meridian-app .icon-btn svg{transition:transform .2s var(--ease-pop)}.meridian-app .icon-btn:hover svg{transform:scale(1.12)}.meridian-app .theme-ico{animation:meridian-spin-in .4s var(--ease-pop);display:inline-flex}@keyframes meridian-spin-in{0%{opacity:0;transform:rotate(-120deg)scale(.5)}}.meridian-app .icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--muted);transition:background .13s var(--ease-soft), color .13s, transform .13s;justify-content:center;align-items:center;display:inline-flex}.meridian-app .pill-btn{border:1px solid var(--border);background:var(--panel);transition:background .15s, transform .15s var(--ease-soft), border-color .15s;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:13px;display:inline-flex}.meridian-app .pill-btn:hover{background:var(--panel-2)}.meridian-app .pill-btn:active{transform:scale(.96)}.meridian-app .pill-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.meridian-app .pill-btn.accent:hover{filter:brightness(1.07)}.meridian-app .pill-btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.meridian-app .pill-btn.small{padding:4px 10px;font-size:12px}.meridian-app .pill-btn.ghost{background:0 0}.meridian-app .pill-btn.ghost:hover{background:var(--hover)}.meridian-app .pick{transition:background .12s var(--ease-soft);border-radius:6px}.meridian-app .pick:hover{background:var(--hover-strong)}.meridian-app .menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);min-width:190px;box-shadow:var(--shadow);transform-origin:top;animation:meridian-menu-pop .16s var(--ease-pop);z-index:50;padding:5px}@keyframes meridian-menu-pop{0%{opacity:0;transform:translateY(-5px)scale(.96)}}.meridian-app .overlay{background:var(--overlay);z-index:100;animation:meridian-fade-in .18s var(--ease-soft);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes meridian-fade-in{0%{opacity:0}}.meridian-app .modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(560px,100vw - 48px);max-height:88vh;box-shadow:var(--shadow);animation:meridian-modal-pop .22s var(--ease-pop);padding:24px;overflow-y:auto}.meridian-app .modal.wide{width:min(860px,100vw - 48px)}@keyframes meridian-modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}.meridian-app .modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.meridian-app .modal-head h2{font-size:21px;font-weight:600}.meridian-app .modal-sub{color:var(--muted);margin-bottom:14px;font-size:13.5px}.meridian-app .field-label{color:var(--text);margin:12px 0 6px;font-size:13px;display:block}.meridian-app .text-input{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.meridian-app .text-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.meridian-app .text-input.area{resize:vertical;min-height:130px;font-family:Fira Code,ui-monospace,Menlo,monospace;font-size:12.5px}.meridian-app .text-input.small{border-radius:var(--r-sm);padding:6px 9px;font-size:13px}.meridian-app .text-input.num{text-align:right;width:76px}.meridian-app .text-input.meridian-shake{border-color:var(--danger);animation:.4s meridian-shake}@keyframes meridian-shake{20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.meridian-app .modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.meridian-app .field-row{gap:12px;display:flex}.meridian-app .field-row>*{flex:1;min-width:0}.meridian-app .dropdown{display:inline-flex;position:relative}.meridian-app .dd-btn{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:6px;padding:6px 10px;font-size:13px;transition:border-color .13s,color .13s;display:inline-flex}.meridian-app .dd-btn:hover{border-color:var(--faint)}.meridian-app .dd-btn .chev{color:var(--faint);transition:transform .2s var(--ease-pop)}.meridian-app .dd-btn .chev.open{transform:rotate(90deg)}.meridian-app .dd-menu{z-index:60;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.meridian-app .sel-box{border:1.5px solid var(--faint);width:17px;height:17px;transition:background .12s, border-color .12s, transform .12s var(--ease-pop);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.meridian-app .sel-box:hover{border-color:var(--text)}.meridian-app .sel-box:active{transform:scale(.88)}.meridian-app .sel-box.on{background:var(--accent);border-color:var(--accent);color:#fff}.meridian-app .check-row{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.meridian-app .seg{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:3px;display:inline-flex;position:relative}.meridian-app .seg-btn{z-index:1;color:var(--muted);white-space:nowrap;transition:color .18s, transform .15s var(--ease-soft);border-radius:999px;padding:5px 14px;font-size:12.5px;position:relative}.meridian-app .seg-btn:hover{color:var(--text)}.meridian-app .seg-btn:active{transform:scale(.95)}.meridian-app .seg-btn.on{color:var(--text)}.meridian-app .seg-thumb{background:var(--hover-strong);transition:left .22s var(--ease-pop), width .22s var(--ease-pop);border-radius:999px;position:absolute;top:3px;bottom:3px}.meridian-app .seg.accent .seg-thumb{background:var(--accent-soft)}.meridian-app .seg.accent .seg-btn.on{color:var(--accent)}.meridian-app ::-webkit-scrollbar{width:8px;height:8px}.meridian-app ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.meridian-app ::-webkit-scrollbar-thumb:hover{background:var(--faint)}.meridian-app ::-webkit-scrollbar-track{background:0 0}.meridian-app .page{width:min(1060px,100%);animation:meridian-step-in .35s var(--ease-pop);margin:0 auto;padding:26px 28px 80px}@keyframes meridian-step-in{0%{opacity:0;transform:translateY(16px)scale(.99)}}.meridian-app .page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.meridian-app .page-title{letter-spacing:.005em;font-size:27px;font-weight:600}.meridian-app .page-sub{color:var(--muted);margin-bottom:22px;font-size:13.5px}.meridian-app .page-actions{align-items:center;gap:8px;display:flex}.meridian-app .sb-collapsed .page{padding-top:26px}.meridian-app .topbar{align-items:center;gap:8px;min-height:20px;padding:14px 18px 0;display:flex}.meridian-app .sect-title{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;margin:26px 0 10px;font-size:12px}.meridian-app .empty-hint{border:1px dashed var(--border);border-radius:var(--r-lg);text-align:center;color:var(--muted);padding:34px 24px;font-size:13.5px}.meridian-app .empty-hint .big{color:var(--text);margin-bottom:6px;font-size:17px}.meridian-app .empty-hint .pill-btn{margin-top:14px}.meridian-app .hero-band{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);border:1px solid var(--navy-border);border-radius:var(--r-xl);color:var(--navy-text);margin-bottom:22px;padding:22px 24px 20px}.meridian-app .hero-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;display:grid}.meridian-app .stat{min-width:0}.meridian-app .stat-label{color:var(--navy-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}.meridian-app .stat-value{font-variant-numeric:tabular-nums;color:var(--navy-text);font-size:34px;font-weight:700;line-height:1.15}.meridian-app .stat-value .unit{color:var(--navy-muted);margin-left:3px;font-size:15px;font-weight:400}.meridian-app .stat-sub{color:var(--navy-faint);font-size:12px}.meridian-app .stat-accent .stat-value{color:#6fd3e6}.meridian-app .delta{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-size:12px;display:inline-flex}.meridian-app .delta.up{color:var(--up);background:var(--up-soft)}.meridian-app .delta.down{color:var(--danger);background:var(--danger-soft)}.meridian-app .delta.flat{color:var(--muted);background:var(--hover)}.meridian-app .delta-flash{animation:meridian-flash-pulse .9s var(--ease-soft)}@keyframes meridian-flash-pulse{0%{box-shadow:0 0 0 4px var(--accent-soft)}to{box-shadow:0 0 #0000}}.meridian-app .meridian-val-flash{animation:meridian-val-flash .8s var(--ease-soft)}@keyframes meridian-val-flash{0%{color:var(--accent)}}.meridian-app .card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.meridian-app .card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;transition:border-color .15s, transform .2s var(--ease-pop), box-shadow .2s;padding:16px 16px 14px;position:relative;overflow:hidden}.meridian-app button.card{width:100%;display:block}.meridian-app .card.lift:hover{border-color:var(--faint);box-shadow:var(--shadow);transform:translateY(-2px)}.meridian-app .card-stripe{width:4px;position:absolute;top:0;bottom:0;left:0}.meridian-app .course-head{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.meridian-app .course-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15.5px;font-weight:600;overflow:hidden}.meridian-app .level-tag{background:var(--accent-soft);color:var(--accent);letter-spacing:.03em;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px}.meridian-app .level-tag.regular{background:var(--hover);color:var(--muted)}.meridian-app .course-meta{color:var(--faint);margin-bottom:12px;font-size:12px}.meridian-app .course-grade-row{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.meridian-app .grade-big{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.meridian-app .grade-letter{border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);margin-left:8px;padding:3px 9px;font-size:15px;font-weight:700;display:inline-block;transform:translateY(-3px)}.meridian-app .impact-note{color:var(--muted);min-height:17px;margin-top:10px;font-size:12px}.meridian-app .impact-note b{font-weight:600}.meridian-app .spark{display:block;overflow:visible}.meridian-app .spark path,.meridian-app .spark polyline{transition:d .3s var(--ease-soft)}.meridian-app .chart-row{grid-template-columns:3fr 2fr;gap:14px;display:grid}@media (max-width:900px){.meridian-app .chart-row{grid-template-columns:1fr}}.meridian-app .chart-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px}.meridian-app .chart-title{color:var(--muted);margin-bottom:10px;font-size:13px}.meridian-app .chart-svg{width:100%;height:auto;display:block}.meridian-app .chart-svg text{font-family:var(--font-ui)}.meridian-app .tbl-wrap{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.meridian-app .tbl{border-collapse:collapse;width:100%;font-size:13.5px}.meridian-app .tbl th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);background:var(--panel-2);border-bottom:1px solid var(--border);padding:9px 12px;font-size:11.5px;font-weight:500}.meridian-app .tbl td{border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums;padding:8px 12px}.meridian-app .tbl tr:last-child td{border-bottom:none}.meridian-app .tbl tbody tr{animation:meridian-row-in .25s var(--ease-soft);transition:background .12s}.meridian-app .tbl tbody tr:hover{background:var(--hover)}@keyframes meridian-row-in{0%{opacity:0;transform:translateY(4px)}}.meridian-app .tbl .num{text-align:right}.meridian-app .tbl .dim{color:var(--faint)}.meridian-app tr.dropped td{opacity:.45;text-decoration:line-through}.meridian-app tr.dropped td:last-child,.meridian-app tr.dropped td .icon-btn{text-decoration:none}.meridian-app tr.hyp-row td{background:var(--accent-soft)}.meridian-app .tag-mini{background:var(--hover);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:10px;display:inline-block}.meridian-app .tag-mini.extra{background:var(--up-soft);color:var(--up)}.meridian-app .tag-mini.hyp{background:var(--accent-soft);color:var(--accent)}.meridian-app .cell-input{text-align:right;background:0 0;border:1px solid #0000;border-radius:6px;outline:none;width:64px;padding:3px 6px;transition:border-color .13s,background .13s}.meridian-app .cell-input:hover{border-color:var(--border)}.meridian-app .cell-input:focus{border-color:var(--accent);background:var(--panel-2)}.meridian-app .cat-strip{flex-wrap:wrap;gap:10px;margin:14px 0 18px;display:flex}.meridian-app .cat-chip{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex:1;min-width:150px;padding:10px 13px}.meridian-app .cat-chip-top{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:3px;font-size:12px;display:flex}.meridian-app .cat-pct{font-variant-numeric:tabular-nums;font-size:19px;font-weight:600}.meridian-app .cat-bar{background:var(--hover);border-radius:4px;height:4px;margin-top:7px;overflow:hidden}.meridian-app .cat-bar i{background:var(--accent);height:100%;transition:width .4s var(--ease-soft);border-radius:4px;display:block}.meridian-app .wt-row{align-items:center;gap:10px;padding:6px 0;display:flex}.meridian-app .wt-row .text-input{flex:1}.meridian-app .wt-sum{align-items:center;gap:10px;margin-top:8px;font-size:13px;display:flex}.meridian-app .wt-sum .ok{color:var(--up)}.meridian-app .wt-sum .bad{color:var(--danger)}.meridian-app .wi-banner{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);align-items:center;gap:12px;margin-bottom:18px;padding:13px 16px;transition:background .3s,border-color .3s;display:flex}.meridian-app .wi-banner.on{border-color:var(--accent);background:var(--accent-soft)}.meridian-app .wi-banner .grow{flex:1;font-size:13.5px}.meridian-app .wi-banner .hint{color:var(--muted);font-size:12.5px}.meridian-app .wi-toggle{background:var(--hover-strong);border-radius:999px;flex-shrink:0;width:44px;height:25px;transition:background .2s;position:relative}.meridian-app .wi-toggle.on{background:var(--accent)}.meridian-app .wi-toggle i{width:19px;height:19px;transition:transform .22s var(--ease-pop);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.meridian-app .wi-toggle.on i{transform:translate(19px)}.meridian-app .diff-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:20px;display:grid}.meridian-app .diff-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px}.meridian-app .diff-card.changed{border-color:var(--accent);animation:meridian-flash-pulse .9s var(--ease-soft)}.meridian-app .diff-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;font-size:13px;font-weight:600;overflow:hidden}.meridian-app .diff-vals{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.meridian-app .diff-real{color:var(--muted);font-size:14px}.meridian-app .diff-arrow{color:var(--faint);font-size:12px}.meridian-app .diff-hyp{font-size:19px;font-weight:700}.meridian-app .solver-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.meridian-app .solver-out{border-radius:var(--r-md);background:var(--panel-2);animation:meridian-step-in .3s var(--ease-pop);margin-top:14px;padding:12px 14px;font-size:13.5px}.meridian-app .solver-out .huge{font-variant-numeric:tabular-nums;font-size:27px;font-weight:700}.meridian-app .solver-out.good{background:var(--up-soft);color:var(--up)}.meridian-app .solver-out.bad{background:var(--danger-soft);color:var(--danger)}.meridian-app .range-bar{background:var(--hover);border-radius:6px;height:8px;margin:16px 2px 6px;position:relative}.meridian-app .range-fill{background:var(--accent-soft);border:1px solid var(--accent);border-radius:6px;position:absolute;top:0;bottom:0}.meridian-app .range-marker{background:var(--accent);border-radius:2px;width:2.5px;height:16px;position:absolute;top:-4px}.meridian-app .range-labels{color:var(--faint);justify-content:space-between;font-size:11.5px;display:flex}.meridian-app .conn-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.meridian-app .conn-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;transition:border-color .15s, transform .2s var(--ease-pop);padding:18px 16px 16px;position:relative}.meridian-app .conn-card:hover{border-color:var(--faint);transform:translateY(-2px)}.meridian-app .conn-logo{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:10px;font-size:17px;font-weight:800;display:flex}.meridian-app .conn-name{font-size:14.5px;font-weight:600}.meridian-app .conn-desc{color:var(--muted);margin-top:3px;font-size:12.5px}.meridian-app .soon-tag{letter-spacing:.05em;text-transform:uppercase;background:var(--hover);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:10px;position:absolute;top:12px;right:12px}.meridian-app .csv-preview{max-height:260px;overflow:auto}.meridian-app .import-err{color:var(--danger);margin-top:8px;font-size:12.5px}.meridian-app .tool-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:14px;display:grid}.meridian-app .tool-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px}.meridian-app .tool-title{align-items:center;gap:9px;margin-bottom:4px;font-size:15px;font-weight:600;display:flex}.meridian-app .tool-title .nav-glyph{color:var(--accent)}.meridian-app .tool-sub{color:var(--muted);margin-bottom:12px;font-size:12.5px}.meridian-app .inline-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meridian-app .inline-fields label{color:var(--muted);font-size:12.5px}.meridian-app .mini-row{align-items:center;gap:8px;padding:4px 0;display:flex}.meridian-app .scale-tbl td,.meridian-app .scale-tbl th{padding:5px 10px}.meridian-app .prog-track{background:var(--hover);border-radius:6px;height:10px;margin:10px 0 6px;overflow:hidden}.meridian-app .prog-fill{background:linear-gradient(90deg, var(--accent), #6fd3e6);height:100%;transition:width .5s var(--ease-soft);border-radius:6px;width:0}.meridian-app .honor-yes{color:var(--up);font-weight:600}.meridian-app .honor-no{color:var(--muted)}.meridian-app .solve-check{background:var(--up-soft);width:26px;height:26px;color:var(--up);animation:meridian-solve-pop .45s var(--ease-pop);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}@keyframes meridian-solve-pop{0%{transform:scale(0)rotate(-90deg)}}.meridian-app .set-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:13px 2px;display:flex}.meridian-app .set-row:last-child{border-bottom:none}.meridian-app .set-label{font-size:14px}.meridian-app .set-help{color:var(--faint);max-width:420px;font-size:12px}.meridian-app .swatches{flex-wrap:wrap;gap:8px;display:flex}.meridian-app .swatch{opacity:.55;width:22px;height:22px;transition:transform .15s var(--ease-pop), opacity .15s, box-shadow .15s;border-radius:50%}.meridian-app .swatch:hover{opacity:1;transform:scale(1.2)}.meridian-app .swatch.on{opacity:1;box-shadow:0 0 0 2px var(--panel), 0 0 0 3.5px currentColor;transform:scale(1.1)}@media (max-width:720px){.meridian-app .app,.meridian-app .app.sb-collapsed{grid-template-columns:1fr}.meridian-app .page{padding:16px 16px 80px}.meridian-app .page-head{padding-left:44px}}
.tempo-app{z-index:60;--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);position:fixed;inset:0;overflow:hidden}:root[data-theme=dark] .tempo-app{--bg:#262624;--bg-deep:#1f1e1b;--panel:#30302e;--panel-2:#393937;--border:#3e3e3b;--border-soft:#34342f;--text:#e8e6e0;--muted:#9d9a92;--faint:#6f6c64;--accent:#8f6fd8;--accent-soft:#8f6fd829;--danger:#e0655a;--danger-soft:#e0655a24;--hover:#fff1;--hover-strong:#ffffff1a;--shadow:0 8px 30px #00000059;--overlay:#0f0e0c99;--good:#3fa860;--good-soft:#3fa86029;--water:#5a8fd8;--water-soft:#5a8fd82e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light] .tempo-app{--bg:#faf9f4;--bg-deep:#f3f1e8;--panel:#fdfcf8;--panel-2:#f1efe4;--border:#e4e0d1;--border-soft:#ebe8dc;--text:#37332a;--muted:#8a8577;--faint:#b3ae9f;--accent:#7c5cc4;--accent-soft:#7c5cc421;--danger:#c94a3f;--danger-soft:#c94a3f1f;--hover:#483e260f;--hover-strong:#483e261a;--shadow:0 8px 30px #5a503724;--overlay:#3c362866;--good:#2f8f50;--good-soft:#2f8f5024;--water:#4a86d8;--water-soft:#4a86d824;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.tempo-app,.tempo-app *{box-sizing:border-box;margin:0;padding:0}.tempo-app,.tempo-app{height:100%}.tempo-app{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);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:14px;line-height:1.45}.tempo-app input,.tempo-app textarea{-webkit-user-select:text;user-select:text}.tempo-app img,.tempo-app a{-webkit-user-drag:none}.tempo-app button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.tempo-app button:disabled{cursor:default;opacity:.45}.tempo-app input,.tempo-app textarea{font:inherit;color:inherit}.tempo-app .app{height:100vh;transition:grid-template-columns .3s var(--ease-soft);grid-template-columns:290px 1fr;display:grid;overflow:hidden}.tempo-app .app.sb-collapsed{grid-template-columns:0 1fr}.tempo-app .main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow-y:auto}.tempo-app .sidebar{min-width:0;padding:12px 0 12px 12px;overflow:hidden}.tempo-app .sb-reveal{z-index:40;animation:tempo-fade-in .25s var(--ease-soft);position:fixed;top:18px;left:14px}.tempo-app .new-btn svg{transition:transform .35s var(--ease-pop)}.tempo-app .sb-scroll{flex:1;padding:0 4px;overflow-y:auto}.tempo-app .nav-item{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--muted);transition:background .13s var(--ease-soft), color .13s;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex;position:relative}.tempo-app .nav-item:hover{background:var(--hover);color:var(--text)}.tempo-app .nav-item svg{transition:transform .2s var(--ease-pop)}.tempo-app .nav-item:hover svg{transform:scale(1.15)translateY(-1px)}.tempo-app .nav-settings:hover svg{transform:scale(1.12)rotate(30deg)}.tempo-app .nav-item.active{background:var(--hover-strong);color:var(--text)}.tempo-app .nav-item.active .nav-ico{color:var(--accent)}.tempo-app .nav-ico{color:var(--faint);transition:color .13s;display:inline-flex}.tempo-app .nav-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px}.tempo-app .subj-row{border-radius:var(--r-sm);transition:background .13s var(--ease-soft);align-items:center;display:flex;position:relative}.tempo-app .subj-row:hover{background:var(--hover)}.tempo-app .subj-main{text-align:left;flex:1;align-items:center;gap:9px;min-width:0;padding:7px 10px;font-size:13.5px;display:flex}.tempo-app .subj-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.tempo-app .subj-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tempo-app .subj-mins{color:var(--faint);flex-shrink:0;font-size:11.5px}.tempo-app .subj-dots{opacity:0;margin-right:4px;transition:opacity .13s}.tempo-app .subj-row:hover .subj-dots,.tempo-app .subj-row .subj-dots:focus-visible{opacity:1}.tempo-app .subj-menu{z-index:30;position:absolute;top:34px;right:4px}.tempo-app .icon-btn svg{transition:transform .2s var(--ease-pop)}.tempo-app .icon-btn:hover svg{transform:scale(1.12)}.tempo-app .theme-ico{animation:tempo-spin-in .4s var(--ease-pop);display:inline-flex}@keyframes tempo-spin-in{0%{opacity:0;transform:rotate(-120deg)scale(.5)}}.tempo-app .icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--muted);transition:background .13s var(--ease-soft), color .13s, transform .13s;justify-content:center;align-items:center;display:inline-flex}.tempo-app .pill-btn{border:1px solid var(--border);background:var(--panel);transition:background .15s, transform .15s var(--ease-soft), border-color .15s, filter .15s;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:13px;display:inline-flex}.tempo-app .pill-btn:hover{background:var(--panel-2)}.tempo-app .pill-btn:active{transform:scale(.96)}.tempo-app .pill-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.tempo-app .pill-btn.accent:hover{filter:brightness(1.07);background:var(--accent)}.tempo-app .pill-btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.tempo-app .pill-btn.small{padding:4px 10px;font-size:12px}.tempo-app .pill-btn.ghost-accent{border-color:var(--accent);color:var(--accent);background:0 0}.tempo-app .pill-btn.ghost-accent:hover{background:var(--accent-soft)}.tempo-app .pick{transition:background .12s var(--ease-soft);border-radius:6px}.tempo-app .pick:hover{background:var(--hover-strong)}.tempo-app .menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);min-width:190px;box-shadow:var(--shadow);transform-origin:top;animation:tempo-menu-pop .16s var(--ease-pop);z-index:50;padding:5px}@keyframes tempo-menu-pop{0%{opacity:0;transform:translateY(-5px)scale(.96)}}.tempo-app .overlay{background:var(--overlay);z-index:100;animation:tempo-fade-in .18s var(--ease-soft);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes tempo-fade-in{0%{opacity:0}}.tempo-app .modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(560px,100vw - 48px);box-shadow:var(--shadow);animation:tempo-modal-pop .22s var(--ease-pop);max-height:88vh;padding:24px;overflow-y:auto}@keyframes tempo-modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}.tempo-app .modal.wide{width:min(840px,100vw - 48px)}.tempo-app .modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.tempo-app .modal-head h2{font-size:21px;font-weight:600}.tempo-app .modal-sub{color:var(--muted);margin-bottom:14px;font-size:13.5px}.tempo-app .field-label{color:var(--text);margin:12px 0 6px;font-size:13px;display:block}.tempo-app .text-input{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.tempo-app .text-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tempo-app .text-input.area{resize:vertical;min-height:120px}.tempo-app .text-input.small{padding:6px 10px;font-size:13px}.tempo-app .text-input.num{text-align:center;width:76px}.tempo-app .text-input.tempo-shake{border-color:var(--danger);animation:.4s tempo-shake}@keyframes tempo-shake{20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.tempo-app .modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.tempo-app .field-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.tempo-app .field-row>div{min-width:0}.tempo-app .swatches{gap:8px;margin-top:4px;display:flex}.tempo-app .swatch{opacity:.55;width:22px;height:22px;transition:transform .15s var(--ease-pop), opacity .15s, box-shadow .15s;border-radius:50%}.tempo-app .swatch:hover{opacity:1;transform:scale(1.2)}.tempo-app .swatch.on{opacity:1;box-shadow:0 0 0 2px var(--panel), 0 0 0 3.5px currentColor;transform:scale(1.1)}.tempo-app .toggle{background:var(--panel-2);border:1px solid var(--border);width:38px;height:22px;transition:background .2s var(--ease-soft), border-color .2s;border-radius:999px;flex-shrink:0;position:relative}.tempo-app .toggle .toggle-knob{background:var(--muted);width:16px;height:16px;transition:transform .2s var(--ease-pop), background .2s;border-radius:50%;position:absolute;top:2px;left:2px}.tempo-app .toggle.on{background:var(--accent);border-color:var(--accent)}.tempo-app .toggle.on .toggle-knob{background:#fff;transform:translate(16px)}.tempo-app .toggle:active .toggle-knob{transform:scale(.9)}.tempo-app .toggle.on:active .toggle-knob{transform:translate(16px)scale(.9)}.tempo-app .view{width:100%;max-width:980px;animation:tempo-step-in .35s var(--ease-pop);flex:1;margin:0 auto;padding:26px 28px 60px}@keyframes tempo-step-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.tempo-app .view-head{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.tempo-app .view-title{font-size:24px;font-weight:600}.tempo-app .view-sub{color:var(--muted);font-size:13px}.tempo-app .view-head-right{align-items:center;gap:8px;margin-left:auto;display:flex}.tempo-app .card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .15s, transform .2s var(--ease-pop);padding:18px}.tempo-app .card.hoverable:hover{border-color:var(--faint);transform:translateY(-2px)}.tempo-app .card-title{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:12px;font-size:12px;display:flex}.tempo-app .card-title svg{opacity:.8}.tempo-app .empty-hint{color:var(--faint);padding:10px 2px;font-size:13px;font-style:italic}.tempo-app .seg{background:var(--panel);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex;position:relative}.tempo-app .seg-btn{z-index:1;color:var(--muted);transition:color .18s, transform .15s var(--ease-soft);white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:12.5px;position:relative}.tempo-app .seg-btn:hover{color:var(--text)}.tempo-app .seg-btn:active{transform:scale(.95)}.tempo-app .seg-btn.on{color:var(--text)}.tempo-app .seg-thumb{background:var(--hover-strong);transition:left .22s var(--ease-pop), width .22s var(--ease-pop);border-radius:999px;position:absolute;top:3px;bottom:3px}.tempo-app .timer-stage{flex-direction:column;align-items:center;padding-top:8px;display:flex}.tempo-app .phase-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:inline-flex}.tempo-app .phase-label.focus{color:var(--accent)}.tempo-app .phase-label.break{color:var(--good)}.tempo-app .ring-wrap{margin:10px 0 4px;position:relative}.tempo-app .ring-wrap svg{display:block}.tempo-app .ring-track{stroke:var(--border)}.tempo-app .ring-bar{stroke:var(--accent);transform-origin:50%;transition:stroke-dashoffset .6s linear,stroke .4s;transform:rotate(-90deg)}.tempo-app .ring-bar.break{stroke:var(--good)}.tempo-app .ring-center{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.tempo-app .time-big{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:64px;font-weight:500;line-height:1}.tempo-app .time-task{color:var(--muted);border-radius:999px;align-items:center;gap:7px;max-width:200px;padding:4px 10px;font-size:12.5px;transition:background .13s;display:inline-flex}.tempo-app .time-task:hover{background:var(--hover);color:var(--text)}.tempo-app .time-task .subj-dot{width:8px;height:8px}.tempo-app .time-task span.lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tempo-app .timer-done-pulse{animation:tempo-flash-pulse .9s var(--ease-soft);border-radius:50%}@keyframes tempo-flash-pulse{0%{background:var(--accent-soft);box-shadow:0 0 0 12px var(--accent-soft)}60%{background:var(--accent-soft);box-shadow:0 0 #0000}to{background:0 0}}.tempo-app .session-dots{gap:8px;margin:14px 0 4px;display:flex}.tempo-app .sess-dot{background:var(--border);width:9px;height:9px;transition:background .3s, transform .3s var(--ease-pop);border-radius:50%}.tempo-app .sess-dot.done{background:var(--accent);transform:scale(1.15)}.tempo-app .sess-dot.now{box-shadow:0 0 0 3px var(--accent-soft);background:var(--accent)}.tempo-app .timer-controls{align-items:center;gap:14px;margin-top:18px;display:flex}.tempo-app .big-play{background:var(--accent);color:#fff;width:64px;height:64px;box-shadow:var(--shadow);transition:transform .18s var(--ease-pop), filter .15s;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tempo-app .big-play:hover{filter:brightness(1.08);transform:scale(1.05)}.tempo-app .big-play:active{transform:scale(.92)}.tempo-app .side-ctl{border:1px solid var(--border);background:var(--panel);width:42px;height:42px;color:var(--muted);transition:background .15s, color .15s, transform .15s var(--ease-pop);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tempo-app .side-ctl:hover{background:var(--panel-2);color:var(--text)}.tempo-app .side-ctl:active{transform:scale(.9)}.tempo-app .preset-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;display:flex}.tempo-app .preset-chip{border:1px solid var(--border);background:var(--panel);color:var(--muted);transition:border-color .15s, color .15s, background .15s, transform .13s var(--ease-pop);border-radius:999px;padding:6px 14px;font-size:12.5px}.tempo-app .preset-chip:hover{border-color:var(--faint);color:var(--text)}.tempo-app .preset-chip:active{transform:scale(.95)}.tempo-app .custom-durations{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:10px;display:flex}.tempo-app .custom-field{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.tempo-app .custom-field .num{width:62px}.tempo-app .custom-suffix{color:var(--faint);font-size:11.5px}.tempo-app .preset-chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tempo-app .preset-sub{color:var(--faint);font-size:10px;display:block}.tempo-app .timer-below{grid-template-columns:1fr 1fr;gap:16px;width:100%;margin-top:30px;display:grid}@media (max-width:760px){.tempo-app .timer-below{grid-template-columns:1fr}}.tempo-app .quick-toggles{flex-direction:column;gap:12px;display:flex}.tempo-app .qt-row{align-items:center;gap:10px;font-size:13.5px;display:flex}.tempo-app .qt-row .qt-ico{color:var(--muted);display:inline-flex}.tempo-app .qt-row .qt-label{flex:1}.tempo-app .queue-list{flex-direction:column;gap:6px;display:flex}.tempo-app .queue-item{border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--panel-2);animation:tempo-step-in .3s var(--ease-pop);align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.tempo-app .queue-item.done{opacity:.5}.tempo-app .queue-item.now{border-color:var(--accent);background:var(--accent-soft)}.tempo-app .queue-mins{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.tempo-app .task-list{flex-direction:column;gap:6px;display:flex}.tempo-app .task-row{border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--panel);transition:border-color .15s, transform .2s var(--ease-pop), opacity .3s;animation:tempo-step-in .3s var(--ease-pop);align-items:center;gap:10px;padding:9px 10px;display:flex}.tempo-app .task-row:hover{border-color:var(--border)}.tempo-app .task-row.done{opacity:.55}.tempo-app .task-row.done .task-name{text-decoration:line-through}.tempo-app .task-check{border:1.6px solid var(--faint);color:#fff;width:20px;height:20px;transition:background .15s, border-color .15s, transform .2s var(--ease-pop);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tempo-app .task-check:hover{border-color:var(--accent)}.tempo-app .task-check.on{background:var(--good);border-color:var(--good);animation:tempo-solve-pop .45s var(--ease-pop)}@keyframes tempo-solve-pop{0%{transform:scale(0)rotate(-90deg)}}.tempo-app .task-body{flex:1;min-width:0}.tempo-app .task-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.tempo-app .task-meta{color:var(--faint);align-items:center;gap:8px;font-size:11.5px;display:flex}.tempo-app .pom-tally{align-items:center;gap:3px;display:inline-flex}.tempo-app .pom-pip{background:var(--border);border-radius:50%;width:7px;height:7px;transition:background .3s}.tempo-app .pom-pip.full{background:var(--accent)}.tempo-app .pom-pip.extra{background:var(--good)}.tempo-app .task-acts{opacity:0;align-items:center;gap:2px;transition:opacity .15s;display:flex}.tempo-app .task-row:hover .task-acts{opacity:1}.tempo-app .task-target-btn{border:1px solid var(--border);color:var(--faint);border-radius:999px;padding:3px 9px;font-size:11px;transition:color .13s,border-color .13s,background .13s}.tempo-app .task-target-btn:hover{color:var(--accent);border-color:var(--accent)}.tempo-app .task-target-btn.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.tempo-app .wt-badge{background:var(--hover);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:10px}.tempo-app .plan-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:16px;display:grid}@media (max-width:860px){.tempo-app .plan-grid{grid-template-columns:1fr}}.tempo-app .stack{flex-direction:column;gap:16px;display:flex}.tempo-app .alloc-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:7px 4px;font-size:13.5px;display:flex}.tempo-app .alloc-row:last-child{border-bottom:none}.tempo-app .alloc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.tempo-app .alloc-mins{font-variant-numeric:tabular-nums;color:var(--text);font-weight:500}.tempo-app .alloc-bar-track{background:var(--panel-2);border-radius:999px;flex:1.2;height:7px;overflow:hidden}.tempo-app .alloc-bar{background:var(--accent);height:100%;transition:width .5s var(--ease-soft);border-radius:999px}.tempo-app .pct-input{text-align:center;width:58px}.tempo-app .pct-total{margin-top:10px;font-size:12.5px}.tempo-app .pct-total.bad{color:var(--danger)}.tempo-app .pct-total.ok{color:var(--good)}.tempo-app .stepper{align-items:center;gap:2px;display:inline-flex}.tempo-app .stepper .val{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-size:13.5px}.tempo-app .stepper .icon-btn{width:24px;height:24px}.tempo-app .toolbox-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:700px){.tempo-app .toolbox-grid{grid-template-columns:1fr}}.tempo-app .tool-card{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--panel-2);transition:border-color .15s, transform .2s var(--ease-pop);padding:14px}.tempo-app .tool-card:hover{border-color:var(--border);transform:translateY(-2px)}.tempo-app .tool-name{align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:500;display:flex}.tempo-app .tool-name svg{color:var(--accent)}.tempo-app .tool-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:12.5px;display:flex}.tempo-app .tool-row .text-input{background:var(--panel)}.tempo-app .tool-out{border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);animation:tempo-fade-in .25s var(--ease-soft);margin-top:8px;padding:8px 12px;font-size:14px;font-weight:500}.tempo-app .tool-out.multi{flex-direction:column;gap:3px;font-size:13px;font-weight:400;display:flex}.tempo-app .well-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}@media (max-width:860px){.tempo-app .well-grid{grid-template-columns:1fr}}.tempo-app .water-wrap{align-items:center;gap:20px;display:flex}.tempo-app .glass{flex-shrink:0}.tempo-app .glass .water-fill{transition:height .6s var(--ease-soft), y .6s var(--ease-soft)}.tempo-app .water-count{font-size:30px;font-weight:600;line-height:1}.tempo-app .water-sub{color:var(--muted);margin-top:3px;font-size:12.5px}.tempo-app .water-btns{gap:8px;margin-top:12px;display:flex}.tempo-app .habit-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:10px 8px;display:flex}.tempo-app .habit-row:last-child{border-bottom:none}.tempo-app .habit-check{border:1.6px solid var(--faint);color:#fff;width:26px;height:26px;transition:background .15s, border-color .15s, transform .2s var(--ease-pop);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tempo-app .habit-check:hover{border-color:var(--accent);transform:scale(1.08)}.tempo-app .habit-check.on{background:var(--accent);border-color:var(--accent);animation:tempo-solve-pop .45s var(--ease-pop)}.tempo-app .habit-name{flex:1;font-size:13.5px}.tempo-app .habit-row .done-name{color:var(--muted)}.tempo-app .streak-chip{color:var(--muted);background:var(--hover);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;display:inline-flex}.tempo-app .streak-chip.hot{color:#d9a13f;background:#d9a13f24}.tempo-app .meal-row{align-items:center;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.tempo-app .meal-row input[type=time]{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);outline:none;padding:4px 8px;font-size:13px}.tempo-app .meal-row input[type=time]:focus{border-color:var(--accent)}.tempo-app .stat-tiles{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}@media (max-width:860px){.tempo-app .stat-tiles{grid-template-columns:repeat(2,1fr)}}.tempo-app .stat-tile{padding:14px 16px}.tempo-app .stat-num{font-size:26px;font-weight:600;line-height:1.1}.tempo-app .stat-lbl{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-size:11.5px}.tempo-app .stats-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}@media (max-width:860px){.tempo-app .stats-grid{grid-template-columns:1fr}}.tempo-app .chart-svg{width:100%;height:auto;display:block}.tempo-app .bar-anim{transition:height .6s var(--ease-soft), y .6s var(--ease-soft)}.tempo-app .donut-legend{flex-direction:column;gap:7px;font-size:12.5px;display:flex}.tempo-app .donut-legend .row{align-items:center;gap:8px;display:flex}.tempo-app .donut-legend .mins{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.tempo-app .refl-entry{border-bottom:1px solid var(--border-soft);padding:12px 2px}.tempo-app .refl-entry:last-child{border-bottom:none}.tempo-app .refl-date{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:11.5px}.tempo-app .refl-text{color:var(--text);white-space:pre-wrap;font-size:13.5px}.tempo-app .rating-row{justify-content:center;gap:8px;margin:14px 0 4px;display:flex}.tempo-app .rate-btn{border:1px solid var(--border);background:var(--panel-2);width:42px;height:42px;transition:transform .15s var(--ease-pop), border-color .15s, background .15s;border-radius:50%;font-size:16px}.tempo-app .rate-btn:hover{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.15)}.tempo-app .rate-btn:active{transform:scale(.9)}.tempo-app .rate-btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.tempo-app .sess-log-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:8px 4px;font-size:13px;display:flex}.tempo-app .sess-log-row:last-child{border-bottom:none}.tempo-app .sess-log-time{color:var(--faint);flex-shrink:0;width:70px;font-size:12px}.tempo-app .sess-log-rate{color:var(--muted);margin-left:auto;font-size:12px}.tempo-app .set-section{margin-bottom:24px}.tempo-app .set-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:10px 2px;font-size:13.5px;display:flex}.tempo-app .set-row:last-child{border-bottom:none}.tempo-app .set-label{flex:1}.tempo-app .set-hint{color:var(--faint);font-size:11.5px;display:block}.tempo-app .toasts{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.tempo-app .toast{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow);max-width:320px;animation:tempo-toast-in .3s var(--ease-pop);align-items:center;gap:10px;padding:11px 16px;font-size:13.5px;display:flex}@keyframes tempo-toast-in{0%{opacity:0;transform:translateY(12px)scale(.95)}}.tempo-app .toast .t-ico{color:var(--accent);flex-shrink:0;display:inline-flex}.tempo-app .toast.water .t-ico{color:var(--water)}.tempo-app .toast.good .t-ico{color:var(--good)}.tempo-app ::-webkit-scrollbar{width:8px;height:8px}.tempo-app ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.tempo-app ::-webkit-scrollbar-thumb:hover{background:var(--faint)}.tempo-app ::-webkit-scrollbar-track{background:0 0}@media (max-width:720px){.tempo-app .app,.tempo-app .app.sb-collapsed{grid-template-columns:1fr}}
