@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=dark]{--bg: #0a0a0c;--bg-elevated: #14151a;--bg-overlay: rgba(10, 10, 12, .92);--surface: rgba(20, 22, 26, .5);--surface-strong: rgba(20, 22, 26, .7);--surface-input: #1a1c22;--border: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .1);--text-primary: #F4F1EA;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--text-muted: #6b7280;--text-faint: #4b5563;--accent: #F4F1EA;--invert: #0a0a0c;--accent-hover: #ffffff;--focus-ring: rgba(14, 165, 233, .35);--ink-pink: #f9a8d4;--ink-amber: #fbbf24;--ink-green: #34d399;--ink-red: #f87171;--ink-blue: #60a5fa;--ink-purple: #a78bfa;--ink-brand: #ec4899}[data-theme=light]{--bg: #FBFAF7;--bg-elevated: #FFFFFF;--bg-overlay: rgba(251, 250, 247, .92);--surface: rgba(255, 255, 255, .6);--surface-strong: #FFFFFF;--surface-input: #FFFFFF;--border: rgba(26, 31, 46, .08);--border-strong: rgba(26, 31, 46, .15);--text-primary: #1A1F2E;--text-secondary: #374151;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-faint: #979da5;--accent: #1A1F2E;--invert: #FBFAF7;--accent-hover: #2a3142;--focus-ring: rgba(14, 165, 233, .3);--ink-pink: #be185d;--ink-amber: #b45309;--ink-green: #047857;--ink-red: #b91c1c;--ink-blue: #1d4ed8;--ink-purple: #6d28d9;--ink-brand: #be185d}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .25s ease,color .25s ease}.font-serif{font-family:Fraunces,Georgia,serif}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.no-drag{-webkit-app-region:no-drag}@keyframes pulse-red{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.log-reminder-pulse{animation:pulse-red 1.5s ease-in-out infinite}@keyframes slideUpFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUpFade .4s ease-out both}@keyframes opus-caret-blink{0%,to{opacity:1}50%{opacity:0}}:root{color-scheme:dark}[data-theme=light]{color-scheme:light}.opus-rowbtn{font-family:inherit;text-align:left;width:100%;background:transparent}.opus-rowbtn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-game-actions{opacity:0;transition:opacity .16s ease}@media(hover:hover){.opus-book-card:hover .opus-game-actions{opacity:1}}@media(hover:none){.opus-game-actions{opacity:1}}.opus-trow:hover{background:var(--surface)}.opus-trow-actions{opacity:0;transition:opacity .14s ease}@media(hover:hover){.opus-trow:hover .opus-trow-actions{opacity:1}}@media(hover:none){.opus-trow-actions{opacity:1}}.chk-hover,.chk-grip{opacity:0;transition:opacity .14s ease}@media(hover:hover){.opus-write-row:hover .chk-hover,.opus-write-row:hover .chk-grip{opacity:1}}@media(hover:none){.chk-hover,.chk-grip{opacity:1}}.tx-item-row .tx-item-del{opacity:0;transition:opacity .14s ease}@media(hover:hover){.tx-item-row:hover .chk-grip,.tx-item-row:focus-within .chk-grip,.tx-item-row:hover .tx-item-del,.tx-item-row:focus-within .tx-item-del{opacity:1}}@media(hover:none){.tx-item-row .chk-grip,.tx-item-row .tx-item-del{opacity:1}}.opus-write-row:focus-within .chk-hover{opacity:1}.chk-hover:focus-within{opacity:1}.opus-amt-btn,.opus-amt-off{background:none}.opus-amt-btn{transition:background .14s ease}@media(hover:hover){.opus-amt-btn:hover{background:var(--surface-input)}}.opus-amt-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.opus-select-trigger{background:var(--surface-input);border:1px solid var(--border-strong);border-radius:10px;color:var(--text-primary);cursor:pointer;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease,background .15s ease}@media(hover:hover){.opus-select-trigger:hover{border-color:var(--text-faint)}}.opus-select-trigger:focus-visible{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.opus-select-trigger:disabled{opacity:.5;cursor:default}.opus-select-menu{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 14px 38px #00000073;padding:6px;max-height:60vh;overflow-y:auto;animation:opus-pop .13s ease}.opus-select-option{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;background:none;border:none;border-radius:8px;cursor:pointer;font-size:13px;text-align:left;font-family:inherit}.opus-select-option:not([role=option]){transition:background .13s ease,box-shadow .13s ease}@media(hover:hover){.opus-select-option:not([role=option]):hover{background:var(--surface-input)}}.opus-select-option:not([role=option]):active{background:var(--surface-strong)}.opus-select-option:not([role=option]):focus-visible{outline:none;background:var(--surface-input);box-shadow:inset 0 0 0 2px var(--focus-ring)}.opus-select-search{width:100%;box-sizing:border-box;margin-bottom:4px;padding:7px 9px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-input);color:var(--text-primary);font-family:inherit;font-size:13px;outline:none}.opus-select-search:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.opus-select-search::placeholder{color:var(--text-faint)}.opus-cat-th-gear{opacity:0;transition:opacity .15s ease}.opus-cat-th:hover .opus-cat-th-gear{opacity:1}.opus-cat-th-gear:hover{color:var(--text-primary)!important}.tl-remove:hover{color:#f87171!important;border-color:#f8717155!important;background:#f8717114!important}.led-group-add{opacity:0;transition:opacity .15s ease}.led-group-head:hover .led-group-add{opacity:1}.led-group-add:hover{color:var(--text-primary)!important;background:var(--surface-input)!important}.led-selbox{opacity:0;transition:opacity .15s ease}.led-row:hover .led-selbox{opacity:1}.led-amt{padding:2px 5px;transition:background .12s ease}.led-amt-static{padding:2px 5px}@media(hover:hover){.led-row:hover .led-amt{background:var(--surface-input);box-shadow:inset 0 0 0 1px var(--border)}}.fin-note-btn{opacity:0;transition:opacity .15s ease}.fin-line:hover .fin-note-btn,.opus-write-row:hover .fin-note-btn,.fin-note-btn:focus-visible{opacity:1}.opus-md{color:var(--text-secondary);line-height:1.55;font-size:12.5px;word-break:break-word}.opus-md>:first-child{margin-top:0}.opus-md>:last-child{margin-bottom:0}.opus-md p{margin:0 0 7px}.opus-md h1,.opus-md h2,.opus-md h3,.opus-md h4{margin:10px 0 5px;color:var(--text-primary);font-weight:600;line-height:1.3}.opus-md h1{font-size:1.25em}.opus-md h2{font-size:1.15em}.opus-md h3{font-size:1.05em}.opus-md h4{font-size:1em}.opus-md ul,.opus-md ol{margin:0 0 7px;padding-left:20px}.opus-md li{margin:1px 0}.opus-md ul[data-check]{list-style:none;padding-left:2px}.opus-md ul[data-check]>li{position:relative;padding-left:24px;margin:2px 0}.opus-md ul[data-check]>li:before{content:"";position:absolute;left:2px;top:.28em;width:13px;height:13px;border:1.5px solid var(--border-strong);border-radius:4px;background:transparent;transition:background .12s,border-color .12s}.opus-md[contenteditable] ul[data-check]>li:before,.opus-note-live .opus-md ul[data-check]>li:before{cursor:pointer}.opus-md ul[data-check]>li[data-checked=true]:before{background:#10b981 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 9px 9px no-repeat;border-color:#10b981}.opus-md ul[data-check]>li[data-checked=true]{color:var(--text-muted);text-decoration:line-through}.opus-md strong{color:var(--text-primary);font-weight:700}.opus-md a{color:#0ea5e9;text-decoration:none}.opus-md a:hover{text-decoration:underline}.opus-md s,.opus-md del,.opus-md strike{color:var(--text-muted);text-decoration-thickness:1px}.opus-md code{background:var(--surface-input);border-radius:4px;padding:0 4px;font-size:.9em;font-family:ui-monospace,Menlo,monospace}.opus-md pre{background:var(--surface-input);border:1px solid var(--border);border-radius:8px;margin:0 0 7px;padding:7px 10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,monospace;font-size:.88em;line-height:1.5;color:var(--text-primary)}.opus-md pre code{background:none;padding:0;font-size:1em}.opus-md[contenteditable] pre{min-height:1.5em}.opus-md blockquote{margin:0 0 7px;padding:1px 0 1px 11px;border-left:2px solid var(--border-strong);color:var(--text-muted)}.opus-md hr{border:none;border-top:1px solid var(--border);margin:10px 0}.opus-md table{border-collapse:collapse;font-size:.95em;margin:0 0 7px}.opus-md th,.opus-md td{border:1px solid var(--border);padding:3px 8px;text-align:left}.opus-note-toolbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.opus-note-toolbar::-webkit-scrollbar{display:none}.tl-tpl-act{opacity:0;transition:opacity .15s ease}.tl-tpl-row:hover .tl-tpl-act{opacity:1}@keyframes opus-pop{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}.opus-caret{display:inline-block;margin-left:1px;color:var(--text-muted);animation:opus-caret-blink 1s step-end infinite}.opus-shell{min-height:100vh;display:flex;flex-direction:column}.opus-main{flex:1;width:100%;max-width:480px;margin:0 auto;padding-bottom:72px}.opus-bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;height:64px;background:var(--bg-overlay);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border)}.opus-sidenav{display:none}.opus-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.opus-tile{transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}.opus-tile:active{transform:scale(.985)}@media(min-width:768px){.opus-main{max-width:900px;padding-left:88px;padding-bottom:40px}.opus-bottomnav{display:none}.opus-sidenav{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;width:72px;background:var(--bg-overlay);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);z-index:40;padding:20px 0;gap:4px;align-items:center}.opus-tiles{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.opus-main{max-width:1040px}}@media(hover:hover){.opus-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}}.opus-portal{min-height:100vh;display:flex}.opus-portal-left{width:420px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:48px 52px;background:#060a12;border-right:1px solid rgba(255,255,255,.04)}:root{--opus-ink-glow: radial-gradient(ellipse 70% 55% at 50% 38%, rgba(55, 68, 104, .45) 0%, transparent 70%);--opus-ink-base: radial-gradient(ellipse 50% 50% at 15% 15%, rgba(30, 40, 65, .4) 0%, transparent 55%), radial-gradient(ellipse 40% 40% at 85% 85%, rgba(20, 28, 52, .5) 0%, transparent 55%), linear-gradient(160deg, #1a1f2e 0%, #121622 55%, #0b0e18 100%);--opus-ink-ground: var(--opus-ink-glow), var(--opus-ink-base);--opus-ink-stars: radial-gradient(1px 1px at 20% 30%, rgba(244, 241, 234, .14) 0%, transparent 100%), radial-gradient(1px 1px at 75% 20%, rgba(244, 241, 234, .09) 0%, transparent 100%), radial-gradient(1px 1px at 55% 70%, rgba(244, 241, 234, .11) 0%, transparent 100%), radial-gradient(1px 1px at 35% 80%, rgba(244, 241, 234, .07) 0%, transparent 100%), radial-gradient(1px 1px at 88% 55%, rgba(244, 241, 234, .1) 0%, transparent 100%), radial-gradient(1px 1px at 10% 60%, rgba(244, 241, 234, .08) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 62% 12%, rgba(244, 241, 234, .12) 0%, transparent 100%), radial-gradient(1px 1px at 45% 45%, rgba(244, 241, 234, .06) 0%, transparent 100%)}.opus-portal-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--opus-ink-ground);position:relative;overflow:hidden}.opus-portal-right:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--opus-ink-stars);pointer-events:none}@media(max-width:720px){.opus-portal{flex-direction:column-reverse}.opus-portal-left{width:100%;padding:44px 28px 52px;border-right:none;border-top:1px solid rgba(255,255,255,.04)}.opus-portal-right{min-height:220px;flex-shrink:0}}.dd-prose{color:var(--text-secondary);font-size:15px;line-height:1.75;word-wrap:break-word}.dd-prose>:first-child{margin-top:0}.dd-prose h1{font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:600;color:var(--text-primary);letter-spacing:-.6px;line-height:1.2;margin:4px 0 14px}.dd-prose h2{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px;margin:30px 0 12px;padding-bottom:7px;border-bottom:1px solid var(--border)}.dd-prose h3{font-size:16.5px;font-weight:700;color:var(--text-primary);margin:22px 0 8px}.dd-prose p{margin:0 0 14px}.dd-prose a{color:#0ea5e9;text-decoration:underline;text-underline-offset:2px}.dd-prose strong{color:var(--text-primary);font-weight:600}.dd-prose em{font-style:italic}.dd-prose ul,.dd-prose ol{margin:0 0 14px;padding-left:22px}.dd-prose li{margin:0 0 6px}.dd-prose li::marker{color:var(--text-muted)}.dd-prose blockquote{margin:16px 0;padding:4px 16px;border-left:3px solid var(--border-strong);color:var(--text-tertiary);font-family:Fraunces,Georgia,serif;font-style:italic;font-size:16px}.dd-prose hr{border:none;border-top:1px solid var(--border);margin:26px 0}.dd-prose table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px}.dd-prose th,.dd-prose td{border:1px solid var(--border-strong);padding:7px 10px;text-align:left}.dd-prose th{background:var(--surface);color:var(--text-primary);font-weight:600}.dd-outline-rail{display:none}.dd-outline-top{display:block}.opus-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;letter-spacing:.2px;line-height:1;font-family:inherit;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease}.opus-btn:active{transform:scale(.97)}.opus-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-btn-sm{padding:6px 12px;font-size:12.5px;border-radius:9px}.opus-btn-primary{background:var(--text-primary);color:var(--invert)}@media(hover:hover){.opus-btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 14px #00000040}}.opus-btn-primary:disabled{background:var(--surface-input);color:var(--text-faint);box-shadow:none;cursor:default;transform:none}.opus-btn-secondary{background:var(--surface);color:var(--text-secondary);border-color:var(--border-strong)}@media(hover:hover){.opus-btn-secondary:hover{background:var(--surface-strong);border-color:var(--text-faint);color:var(--text-primary)}}.opus-btn-secondary:disabled{color:var(--text-faint);border-color:var(--border);cursor:default;transform:none}.opus-btn-ghost{background:transparent;color:var(--text-secondary)}@media(hover:hover){.opus-btn-ghost:hover{background:var(--surface);color:var(--text-primary)}}.opus-btn-ghost:disabled,.opus-btn-ghost:disabled:hover{background:transparent;color:var(--text-faint);box-shadow:none;cursor:default;transform:none}.opus-add[data-ready]{background:var(--ink-amber);border-color:var(--ink-amber);color:var(--invert);box-shadow:0 2px 10px color-mix(in srgb,var(--ink-amber) 26%,transparent);animation:opus-add-arrive .9s ease-out}@media(hover:hover){.opus-add[data-ready]:hover{background:color-mix(in srgb,var(--ink-amber) 84%,var(--text-primary));border-color:color-mix(in srgb,var(--ink-amber) 84%,var(--text-primary));color:var(--invert);box-shadow:0 4px 16px color-mix(in srgb,var(--ink-amber) 38%,transparent)}}.opus-add[data-ready]:active{transform:scale(.96);box-shadow:0 1px 4px color-mix(in srgb,var(--ink-amber) 30%,transparent)}.opus-add[data-ready]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring),0 2px 10px color-mix(in srgb,var(--ink-amber) 26%,transparent)}@keyframes opus-add-arrive{0%{box-shadow:0 0 color-mix(in srgb,var(--ink-amber) 55%,transparent),0 2px 10px color-mix(in srgb,var(--ink-amber) 26%,transparent)}to{box-shadow:0 0 0 8px color-mix(in srgb,var(--ink-amber) 0%,transparent),0 2px 10px color-mix(in srgb,var(--ink-amber) 26%,transparent)}}@media(prefers-reduced-motion:reduce){.opus-add[data-ready]{animation:none}.opus-add[data-ready]:active{transform:none}}.opus-add-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;font-family:inherit;cursor:pointer;background:transparent;border:1px solid var(--border-strong);color:var(--text-faint);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease}.opus-add-round{position:relative;width:22px;height:22px;border-radius:99px}.opus-add-round:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit}.opus-add-square{width:34px;height:34px;border-radius:9px}@media(hover:hover){.opus-add-icon:not(:disabled):not([data-ready]):hover{background:var(--surface);border-color:var(--text-faint);color:var(--text-secondary)}}.opus-add-icon:not(:disabled):active{transform:scale(.92)}.opus-add-icon:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-add-icon:disabled{opacity:.4;cursor:default}@media(prefers-reduced-motion:reduce){.opus-add-icon:not(:disabled):active{transform:none}}.opus-composer-block{flex-basis:100%;display:flex;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.45;color:var(--text-secondary);animation:opus-pop .14s ease-out}.opus-composer-block b{color:var(--ink-amber);font-weight:600}.opus-composer-block svg{color:var(--ink-amber);flex-shrink:0;margin-top:1.5px}@media(prefers-reduced-motion:reduce){.opus-composer-block{animation:none}}.opus-pill{font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:99px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-muted);transition:background .15s ease,color .15s ease,border-color .15s ease}@media(hover:hover){.opus-pill:hover{color:var(--text-secondary);border-color:var(--border-strong)}}.opus-pill-active{background:var(--surface-input);color:var(--text-primary);border-color:var(--border-strong)}.opus-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:transparent;border:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .08s ease}@media(hover:hover){.opus-iconbtn:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary)}}.opus-iconbtn:active{transform:scale(.92)}.opus-iconbtn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media(hover:hover){.opus-iconbtn-danger:hover{background:#f8717126;border-color:#f8717180;color:#f87171}}.opus-iconbtn-sm{width:26px;height:26px;border-radius:7px}.opus-iconbtn-overlay{background:#0000008c;color:#f4f1ea;border-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(hover:hover){.opus-iconbtn-overlay:hover{background:#000000bd;border-color:transparent;color:#fff}.opus-iconbtn-overlay.opus-iconbtn-danger:hover{background:#dc2626e6;border-color:transparent;color:#fff}}.opus-moodwrap{position:relative;display:inline-flex}.opus-moodbtn{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease}@media(hover:hover){.opus-moodbtn:hover{transform:translateY(-1.5px)}.opus-moodbtn:not(.is-felt):not(.is-strong):hover{color:var(--mood);border-color:var(--mood)}}.opus-moodbtn:active{transform:translateY(0) scale(.93)}.opus-moodbtn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--focus-ring)}.opus-moodtip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%) translateY(3px);background:var(--bg-elevated);color:var(--text-secondary);font-size:10.5px;font-weight:600;letter-spacing:.2px;padding:3px 8px;border-radius:7px;border:1px solid var(--border-strong);white-space:nowrap;pointer-events:none;opacity:0;z-index:6;box-shadow:0 6px 18px #00000052;transition:opacity .14s ease,transform .14s ease}.opus-moodtip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--bg-elevated)}@media(hover:hover){.opus-moodwrap:hover .opus-moodtip{opacity:1;transform:translate(-50%) translateY(0)}}.opus-input{width:100%;background:var(--surface-input);border:1px solid var(--border-strong);border-radius:10px;padding:9px 11px;color:var(--text-primary);font-size:13px;outline:none;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.opus-input::placeholder{color:var(--text-faint)}.font-serif::placeholder{color:var(--text-faint);font-style:italic;font-weight:500}.opus-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.opus-book-card{transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.book-tools{opacity:0;transition:opacity .18s ease}@media(hover:hover){.opus-book-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000004d;border-color:var(--border-strong)}.opus-book-card:hover .book-tools{opacity:1}}.opus-write-row{transition:border-color .15s ease,background .15s ease}.row-del{opacity:0;transition:opacity .15s ease}@media(hover:hover){.opus-write-row:hover{border-color:var(--border-strong)}.opus-write-row:hover .row-del{opacity:1}}.opus-fin-action{opacity:0;transition:opacity .15s ease}.opus-fin-action.is-active{opacity:1}@media(hover:hover){.opus-fin-row:hover .opus-fin-action,.opus-fin-row:focus-within .opus-fin-action{opacity:1}}@media(hover:none){.opus-fin-action{opacity:1}}.opus-fin-row:focus-visible{outline:2px solid var(--border-strong);outline-offset:-2px;border-radius:10px}.opus-pick-card{transition:border-color .15s ease,background .15s ease}@media(hover:hover){.opus-pick-card:hover{border-color:var(--border-strong);background:var(--surface)}}.opus-rowbtn{transition:background .15s ease,color .15s ease}@media(hover:hover){.opus-rowbtn:hover{background:var(--surface-strong)}}.opus-rail{position:fixed;top:0;right:0;bottom:0;width:300px;background:var(--bg-overlay);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-left:1px solid var(--border);overflow-y:auto;z-index:45;padding:18px 16px 36px;display:none}@media(min-width:1280px){.opus-rail{display:block}.opus-main{max-width:1352px;padding-right:312px}}.opus-rail.opus-rail-open{display:block;box-shadow:-16px 0 48px #00000073}.opus-rail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:44}.opus-rail-fab{position:fixed;right:16px;bottom:76px;z-index:41;width:48px;height:48px;border-radius:99px;border:none;background:var(--text-primary);color:var(--invert);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #00000059;transition:transform .1s ease,box-shadow .15s ease}.opus-rail-fab:active{transform:scale(.94)}@media(min-width:1280px){.opus-rail-fab,.opus-rail-backdrop,.opus-rail-close{display:none!important}}.opus-rail-item{transition:background .15s ease}@media(hover:hover){.opus-rail-item:hover{background:var(--surface)}}.opus-rail-collapse{position:fixed;right:286px;bottom:24px;z-index:46;width:30px;height:30px;border-radius:99px;background:var(--surface-strong);border:1px solid var(--border-strong);color:var(--text-tertiary);cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 12px #0000004d;transition:color .15s ease,background .15s ease,transform .08s ease}.opus-rail-collapse:hover{color:var(--text-primary);background:var(--surface-input)}.opus-rail-collapse:active{transform:scale(.9)}@media(min-width:1280px){.opus-rail-collapse{display:flex}}.rail-collapsed .opus-rail-collapse{display:none!important}.opus-rail-reopen{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:46;display:none;flex-direction:column;align-items:center;gap:8px;background:var(--surface-strong);border:1px solid var(--border-strong);border-right:none;border-radius:12px 0 0 12px;padding:14px 7px;cursor:pointer;color:var(--text-secondary);transition:color .15s ease,background .15s ease}.opus-rail-reopen:hover{color:var(--text-primary);background:var(--surface-input)}.opus-rail-reopen span{writing-mode:vertical-rl;font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase}@media(min-width:1280px){.rail-collapsed .opus-rail-reopen{display:flex}}@media(min-width:1280px){.rail-collapsed .opus-rail{display:none}.rail-collapsed .opus-main{max-width:1040px;padding-right:0}}.led-composer{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.led-composer:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--focus-ring);background:var(--surface)}.led-input{background:none;border:none;outline:none;width:100%;font-family:inherit;color:var(--text-primary)}.led-input::placeholder{color:var(--text-faint)}.led-row{transition:background .13s ease;cursor:pointer}.led-row .led-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .13s ease}@media(hover:hover){.led-row:hover{background:var(--surface-input)}.led-row:hover .led-actions{opacity:1}}.led-row:focus-within .led-actions,.led-row.is-settling .led-actions{opacity:1}@media(hover:none){.led-row .led-actions{display:none}.led-row .led-amt{pointer-events:none}}.led-group-head{position:sticky;top:0;z-index:3;background:var(--bg)}.led-foot{position:sticky;bottom:0;z-index:4}.led-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:940;animation:led-fade .16s ease}.led-sheet{position:fixed;top:0;right:0;bottom:0;width:min(410px,94vw);background:var(--bg-elevated);border-left:1px solid var(--border-strong);box-shadow:-14px 0 44px #00000057;overflow-y:auto;z-index:941;animation:led-slide .2s cubic-bezier(.22,1,.36,1)}@keyframes led-fade{0%{opacity:0}to{opacity:1}}@keyframes led-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.led-adopt-pickers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}@media(max-width:420px){.led-adopt-pickers{grid-template-columns:minmax(0,1fr)}}.led-bulk-owed{display:flex;flex-direction:column;gap:9px;padding:9px 9px 10px;margin:1px 0;border-radius:10px;border:1px solid color-mix(in srgb,var(--owed, var(--ink-amber)) 20%,transparent);background:color-mix(in srgb,var(--owed, var(--ink-amber)) 5%,transparent);transition:border-color .2s ease,background .2s ease}.led-bulk-owed-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.2px;color:var(--owed, var(--ink-amber))}.led-bulk-owed-head svg{flex-shrink:0}.led-bulk-note{display:block;margin-top:4px;font-size:10.5px;line-height:1.45;color:var(--text-faint)}.led-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:3px 6px 3px 9px;border-radius:99px;background:var(--surface-input);border:1px solid var(--border);color:var(--text-secondary)}.led-chip button{display:inline-flex;background:none;border:none;padding:2px;margin:0;cursor:pointer;color:var(--text-faint);border-radius:99px}.led-chip button:hover{color:var(--text-primary);background:var(--surface-strong)}@keyframes opus-toast-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){@keyframes opus-toast-in{0%{opacity:0}to{opacity:1}}}.opus-fin-add{opacity:0;transition:opacity .14s ease}@media(hover:hover){.opus-fin-head:hover .opus-fin-add,.opus-fin-head:focus-within .opus-fin-add{opacity:1}}@media(hover:none){.opus-fin-add{opacity:1}}.chk-grip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;opacity:1}.opus-learn-card{background:var(--surface);border:1px solid var(--border)}.opus-learn-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--border-strong)}@media(hover:hover){.opus-learn-card:focus-within .opus-game-actions{opacity:1}}.opus-learn-row{background:transparent;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.opus-learn-row:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media(hover:hover){.opus-learn-row:hover{background:var(--surface);border-color:var(--border)}}.opus-learn-tools{opacity:0;transition:opacity .16s ease}@media(hover:hover){.opus-learn-row:hover .opus-learn-tools,.opus-learn-row:focus-within .opus-learn-tools{opacity:1}}@media(hover:none){.opus-learn-tools{opacity:1}}.opus-learn-tagx{opacity:0;transition:opacity .14s ease}@media(hover:hover){.opus-learn-tag:hover .opus-learn-tagx,.opus-learn-tag:focus-within .opus-learn-tagx{opacity:1}}@media(hover:none){.opus-learn-tagx{opacity:1}}.opus-learn-chipbtn{background:var(--surface-input);border:1px solid var(--border);transition:border-color .15s ease,background .15s ease,transform .08s ease}@media(hover:hover){.opus-learn-chipbtn:hover{border-color:var(--border-strong);background:var(--surface-strong)}}.opus-learn-chipbtn:active{transform:scale(.97)}.opus-learn-chipbtn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-learn-pickrow{background:transparent;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}@media(hover:hover){.opus-learn-pickrow:hover{background:var(--surface);border-color:var(--border-strong)}}.opus-learn-pickrow:active{background:var(--surface-strong)}.opus-learn-pickrow:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring);border-color:var(--border-strong)}.opus-learn-cat{background:var(--surface);border:1px solid var(--border);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}@media(hover:hover){.opus-learn-cat:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 10px 26px #00000038}}.opus-learn-cat:active{transform:translateY(0) scale(.99)}.opus-learn-cat:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media(max-width:620px){.opus-learn-hide-sm{display:none!important}}.opus-journey-seg{background:transparent;color:var(--text-faint);border:none;transition:background .15s ease,color .15s ease}@media(hover:hover){.opus-journey-seg:hover{background:var(--surface);color:var(--text-secondary)}}.opus-journey-seg.is-on{background:var(--surface-input);color:var(--text-primary)}.opus-journey-seg:active{background:var(--surface-strong)}.opus-journey-seg:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--focus-ring)}.opus-pill:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-learn-searchbox{background:var(--surface-input);border:1px solid var(--border);transition:border-color .15s ease,box-shadow .15s ease}.opus-learn-searchbox-lg{border-color:var(--border-strong)}.opus-learn-searchbox:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.opus-verif-row{transition:border-color .15s ease,background .15s ease}@media(hover:hover){.opus-verif-row:hover{border-color:var(--border-strong)}}.opus-verif-row:focus-within{border-color:var(--border-strong)}.opus-verif-chip{white-space:nowrap;min-width:0;max-width:100%}.opus-verif-seg{transition:width .2s ease}@media(prefers-reduced-motion:reduce){.opus-verif-seg{transition:none}}.opus-verif-choice{transition:background .14s ease,border-color .14s ease}@media(hover:hover){.opus-verif-choice:hover{border-color:var(--border-strong)}}.opus-verif-choice:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.tx-il{margin-bottom:12px}.tx-il-head{display:flex;align-items:center;gap:8px;min-height:26px;margin-bottom:8px}.tx-il-title{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted)}.tx-il-count{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.tx-il-empty{font-size:11.5px;color:var(--text-faint);line-height:1.5;margin:0;max-width:46ch}.tx-il-scroll{overflow-x:auto;overflow-y:hidden;margin:0 -4px;padding:4px}.tx-il-rows{display:flex;flex-direction:column;gap:4px}.tx-il-cols{display:grid;gap:6px;padding:0 2px 5px;font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-faint)}.tx-il-cols .tx-il-r{text-align:right}.tx-il-row{display:grid;align-items:center;gap:6px;padding:3px 2px;border-top:2px solid transparent;border-radius:8px}.tx-il-nums{display:contents}.tx-il-grip{display:inline-flex;align-items:center;justify-content:center;color:var(--border-strong);cursor:grab;transition:color .14s ease}@media(hover:hover){.tx-il-row:hover .tx-il-grip{color:var(--text-faint)}.tx-il-grip:hover{color:var(--text-muted)}}.tx-il-grip:active{cursor:grabbing}.tx-il-grip:focus-visible{outline:none;color:var(--text-secondary);box-shadow:0 0 0 2px var(--focus-ring);border-radius:4px}.tx-il-name{min-width:0;width:100%;height:30px;padding:0 9px;background:var(--surface-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;transition:border-color .15s ease}.tx-il-name::placeholder{color:var(--text-faint)}.tx-il-name:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.tx-il-cell{display:flex;align-items:center;gap:3px;min-width:0;height:30px;padding:0 7px;background:var(--surface-input);border:1px solid var(--border);border-radius:8px;transition:border-color .15s ease}.tx-il-cell:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.tx-il-cell input{width:100%;min-width:0;border:none;background:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;padding:0}.tx-il-cell input::placeholder{color:var(--text-faint)}.tx-il-prefix{font-size:11px;color:var(--text-faint);flex-shrink:0}.tx-il-stars{display:flex;align-items:center;gap:2px;height:30px;padding:0 4px;border:1px solid transparent;border-radius:8px;color:var(--border-strong);cursor:pointer;outline:none;transition:border-color .15s ease,color .15s ease}.tx-il-stars.has{color:#f59e0b}@media(hover:hover){.tx-il-stars:hover{border-color:var(--border);color:#f59e0b}}.tx-il-stars:focus-visible{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.tx-il-star{position:relative;display:block;width:12px;height:12px;flex-shrink:0}.tx-il-star svg{position:absolute;top:0;left:0;width:12px;height:12px;display:block}.tx-il-star-fill{position:absolute;top:0;left:0;bottom:0;overflow:hidden}.tx-il-star-o{color:var(--border-strong)}.tx-il-stars.has .tx-il-star-o,.tx-il-stars:hover .tx-il-star-o{color:currentColor;opacity:.5}.tx-il-del{flex-shrink:0;width:24px;height:24px;color:#f87171;opacity:0;transition:opacity .14s ease}@media(hover:hover){.tx-il-row:hover .tx-il-del{opacity:1}}.tx-il-row:focus-within .tx-il-del{opacity:1}@media(hover:none){.tx-il-del{opacity:1}}.tx-il-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.tx-il-sum{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.tx-il-sum strong{color:var(--text-primary);font-weight:600;font-size:13px}.tx-il-sync{position:relative;display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:10px 0 0;font-size:12.5px;color:var(--text-secondary)}.tx-il-box{width:17px;height:17px;flex-shrink:0;margin-top:1px;border-radius:5px;border:1.5px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.tx-il-sync:focus-within .tx-il-box{box-shadow:0 0 0 3px var(--focus-ring)}.tx-il-syncnote{display:block;font-size:11px;color:var(--text-faint);margin-top:2px;line-height:1.45}.tx-il-toggles{display:inline-flex;gap:4px;margin-left:auto;margin-right:6px}.tx-il-cur{display:inline-flex;margin-right:8px}.tx-il-curnote{display:flex;align-items:flex-start;gap:6px;margin:2px 0 6px;padding:0 2px;font-size:11px;line-height:1.45;color:var(--text-faint)}.tx-il-curnote svg{flex-shrink:0;margin-top:1px;color:#38bdf8}.tx-il-colbtn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;border-radius:6px;cursor:pointer;background:transparent;border:1px solid var(--border);color:var(--text-faint);font-family:inherit;transition:color .15s ease,border-color .15s ease,background .15s ease}@media(hover:hover){.tx-il-colbtn:hover{color:var(--text-secondary);border-color:var(--border-strong)}}.tx-il-colbtn.on{color:#38bdf8;border-color:#38bdf866;background:#38bdf814}.tx-il-colbtn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-extra{display:inline-flex;align-items:center;gap:2px;width:84px;height:28px;padding:0 6px 0 2px;border:1px solid var(--border);border-radius:8px;background:transparent;transition:border-color .15s ease}.opus-extra:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.opus-extra.on{border-color:#38bdf866;background:#38bdf80d}.opus-extra input{width:100%;min-width:0;flex:1;border:none;background:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;padding:0}.opus-extra input::placeholder{color:var(--text-faint)}.opus-extra-unit{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:5px;cursor:pointer;border:none;background:transparent;color:var(--text-faint);font-family:inherit;font-size:11.5px;font-weight:700;line-height:1;opacity:0;transition:opacity .14s ease,color .14s ease,background .14s ease}@media(hover:hover){.opus-extra:hover .opus-extra-unit{opacity:1}.opus-extra-unit:hover{color:var(--text-primary);background:var(--surface-input)}}@media(hover:none){.opus-extra-unit{opacity:1}}.opus-extra:focus-within .opus-extra-unit{opacity:1}.opus-extra.on .opus-extra-unit{opacity:1;color:#38bdf8}.opus-extra-unit:focus-visible{outline:none;opacity:1;box-shadow:0 0 0 2px var(--focus-ring)}.opus-extra.block{width:100%;height:32px;padding:0 9px 0 3px;background:var(--surface-input)}.opus-extra.block input{font-size:13px}.opus-extra.block .opus-extra-unit{width:22px;height:22px}.cat-suggest{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;align-self:stretch;border-radius:8px;cursor:pointer;background:transparent;border:1px solid var(--border);color:var(--text-muted);transition:color .15s ease,border-color .15s ease,background .15s ease}@media(hover:hover){.cat-suggest:hover{color:#38bdf8;border-color:#38bdf866;background:#38bdf80f}}.cat-suggest:disabled{cursor:default;color:var(--text-faint)}.cat-suggest:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.cat-suggest-spin{animation:opus-spin .9s linear infinite}@keyframes opus-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.cat-suggest-spin{animation:none}}.cat-sugg{border:1px solid #38bdf833;background:#38bdf80a;border-radius:9px;padding:7px 8px 6px}.cat-sugg-head{font-size:9.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#38bdf8;margin:0 2px 5px}.cat-sugg-err{font-size:11.5px;color:var(--text-tertiary);padding:2px 2px 3px;line-height:1.45}.cat-sugg-row{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;padding:6px 7px;border-radius:7px;border:none;background:transparent;cursor:pointer;font-family:inherit;color:var(--text-secondary);transition:background .14s ease}@media(hover:hover){.cat-sugg-row:hover{background:#38bdf814}}.cat-sugg-row:disabled{cursor:default;opacity:.5}.cat-sugg-row:focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.cat-sugg-dot{width:9px;height:9px;border-radius:99px;flex-shrink:0;margin-top:4px}.cat-sugg-plus{width:9px;flex-shrink:0;margin-top:1px;text-align:center;color:#38bdf8;font-weight:700;font-size:13px;line-height:1.2}.cat-sugg-body{display:flex;flex-direction:column;min-width:0}.cat-sugg-label{font-size:13px;color:var(--text-primary)}.cat-sugg-why{font-size:11px;color:var(--text-tertiary);line-height:1.4;margin-top:1px}.led-fx{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-4px 0 12px;padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:var(--surface-input)}.led-fx-cell{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);transition:border-color .15s ease}.led-fx-cell:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.led-fx-cell input{width:62px;min-width:0;border:none;background:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;padding:0}.led-fx-cell input::placeholder{color:var(--text-faint)}.led-fx-sym{font-size:11px;color:var(--text-faint);flex-shrink:0}.led-fx-at{font-size:11px;color:var(--text-faint)}.led-fx-manual{font-size:9px;font-weight:700;letter-spacing:.5px;color:#eab308;border:1px solid #eab30855;border-radius:5px;padding:2px 5px}.led-fx-tail{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.led-fx-out{display:inline-flex;align-items:baseline;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.led-fx-out-none{color:var(--text-faint);font-weight:500}.led-fx-out-off{color:var(--text-secondary)}.led-fx-note{font-size:10px;font-weight:600;letter-spacing:.3px;color:var(--text-faint);white-space:nowrap}.led-fx-asof{font-size:9px;font-weight:700;letter-spacing:.5px;color:#38bdf8;border:1px solid #38bdf855;border-radius:5px;padding:2px 5px;font-variant-numeric:tabular-nums;cursor:help}.led-fx-derived{color:var(--text-faint);border-color:var(--border-strong)}.led-fx-cell.is-waiting{border-color:#38bdf866}.led-fx-spin{color:#38bdf8;flex-shrink:0}.led-fx-clear{flex-shrink:0}.pf-section-tools,.pf-row-tools{opacity:0;transition:opacity .15s ease}@media(hover:hover){.pf-section:hover .pf-section-tools,.opus-write-row:hover .pf-row-tools{opacity:1}}.pf-section:focus-within .pf-section-tools,.opus-write-row:focus-within .pf-row-tools{opacity:1}@media(hover:none){.pf-section-tools,.pf-row-tools{opacity:1}}.pf-open-name{cursor:pointer;border-radius:4px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}@media(hover:hover){.pf-open-name:hover{text-decoration-color:var(--border-strong)}}.pf-open-name:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}.pf-tile{transition:opacity .15s ease,border-color .15s ease}@media(hover:hover){.pf-tile:hover{border-color:var(--border-strong)}}.pf-tile:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-amount-edit:hover:not(:disabled):not([aria-disabled]){border-color:var(--border-strong)!important;background:var(--bg-elevated)}.opus-amount-edit:not([aria-disabled]):focus-visible{outline:2px solid var(--border-strong);outline-offset:1px}.opus-linkbtn{background:none;border:0;padding:0;margin:0;color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;border-radius:4px;transition:color .15s ease,text-decoration-color .15s ease}.opus-linkbtn:hover{color:var(--text-primary);text-decoration-color:currentColor}.opus-linkbtn:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}.sync-pills{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;max-width:100%}.sync-pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:var(--text-muted);background:var(--surface-input);border:1px solid var(--border);border-radius:99px;padding:1px 6px;line-height:1.5;max-width:100%;transition:border-color .15s ease,color .15s ease}.sync-pill-compact{font-size:10px;padding:0 5px;gap:4px;flex-shrink:0}.sync-pills-compact{flex-wrap:nowrap;overflow:hidden;min-width:0;flex:0 1 auto}.sync-pill-dot{width:6px;height:6px;border-radius:99px;flex-shrink:0}.sync-pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-pill-why{color:var(--text-faint);font-weight:500;white-space:nowrap}.sync-pill-x{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin:0 -3px 0 -1px;padding:0;border:0;border-radius:99px;background:transparent;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}@media(hover:hover){.sync-pill:hover{border-color:var(--border-strong);color:var(--text-primary)}.sync-pill:hover .sync-pill-x{opacity:1}.sync-pill-x:hover{background:#f8717122;color:#f87171}.sync-pill-undo:hover{background:#10b98122;color:#10b981}}.sync-pill:focus-within .sync-pill-x,.sync-pill-x:focus-visible{opacity:1}.sync-pill-x:focus-visible{outline:2px solid var(--border-strong);outline-offset:1px}@media(hover:none){.sync-pill-x{opacity:1}}.sync-pill-off{border-style:dashed;background:transparent;color:var(--text-faint)}.sync-pill-off .sync-pill-name{text-decoration:line-through}.sync-pill-off .sync-pill-x{opacity:1}.opus-inline-edit{background:none;border:1px solid transparent;border-radius:6px;padding:1px 5px;color:var(--text-faint);font-family:inherit;transition:border-color .15s ease,color .15s ease,background .15s ease}@media(hover:hover){.opus-inline-edit:hover{border-color:var(--border);color:var(--text-secondary)}}.opus-inline-edit:focus{outline:none;border-color:var(--border-strong);background:var(--surface-input);color:var(--text-primary)}.opus-inline-edit::placeholder{color:var(--text-faint);opacity:.7}.opus-datefield{border:1px solid var(--df-border, var(--border));transition:border-color .15s ease,box-shadow .15s ease}@media(hover:hover){.opus-datefield:hover{border-color:var(--border-strong)}}.opus-datefield:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px var(--focus-ring)}.opus-datefield-icon{color:var(--text-faint);transition:color .14s ease}@media(hover:hover){.opus-datefield-icon:hover{color:var(--text-secondary)}}.opus-datefield-icon:focus-visible{outline:none;color:var(--text-primary)}.opus-datefield>button:not(.opus-datefield-icon):focus-visible{outline:none}.plan-rows{container-type:inline-size}.plan-row{position:relative}@container (max-width: 360px){.plan-row>.chk-hover{position:absolute;right:2px;top:50%;transform:translateY(-50%);padding:2px 3px;border-radius:8px;background:var(--bg-elevated);box-shadow:0 2px 10px #00000059;pointer-events:none}.plan-row:hover>.chk-hover,.plan-row:focus-within>.chk-hover{pointer-events:auto}}.opus-session-pill{transition:border-color .16s ease,transform .09s ease,box-shadow .16s ease}@media(hover:hover){.opus-session-pill:hover{border-color:var(--text-faint);box-shadow:0 24px 70px #00000080}}.opus-session-pill:active{transform:scale(.98)}.opus-session-pill:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-session-beat{animation:opus-session-beat 2.6s ease-in-out infinite}@keyframes opus-session-beat{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.opus-session-beat{animation:none}}.opus-vnotes-wrap{container-type:inline-size}.opus-vnotes{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}@container (min-width: 560px){.opus-vnotes{grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr)}}.opus-planshift{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:6px;background:none;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .08s ease}@media(hover:hover){.opus-planshift:hover{background:var(--surface-input);border-color:var(--border-strong);color:var(--text-primary)}}.opus-planshift:active{transform:scale(.9)}.opus-planshift:focus-visible{outline:none;border-color:#0ea5e9;color:var(--text-primary);box-shadow:0 0 0 3px var(--focus-ring)}.opus-ai-track{height:3px;border-radius:99px;background:var(--border);overflow:hidden}.opus-ai-bar{display:block;height:100%;width:34%;border-radius:99px;opacity:.85;animation:opus-ai-slide 1.5s ease-in-out infinite}@keyframes opus-ai-slide{0%{transform:translate(-110%)}to{transform:translate(320%)}}@media(prefers-reduced-motion:reduce){.opus-ai-bar{animation:none;width:100%;opacity:.4}}.opus-ai-edit{transition:background .15s ease,border-color .15s ease}@media(hover:hover){.opus-ai-edit:hover:not(:disabled){background:var(--surface-input);border-color:var(--border)!important}}.opus-ai-edit:focus{background:var(--surface-input);border-color:var(--border-strong)!important}.opus-ai-edit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-ai-edit:disabled{cursor:default}.opus-ai-card{transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease}@media(hover:hover){.opus-ai-card:hover{border-color:var(--text-faint);transform:translateY(-1px);box-shadow:0 6px 18px #0000001f}}.opus-ai-card:active{transform:translateY(0) scale(.995)}.opus-ai-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media(prefers-reduced-motion:reduce){.opus-ai-card,.opus-ai-card:hover,.opus-ai-card:active{transform:none}}.opus-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.opus-tip{position:fixed;z-index:1100;pointer-events:none;padding:7px 10px;border-radius:9px;background:var(--accent);color:var(--invert);font-size:12px;font-weight:500;line-height:1.45;letter-spacing:-.01em;overflow-wrap:anywhere;overflow:hidden;box-shadow:0 10px 30px #00000052;animation:opus-tip-in .12s ease}.opus-tip-note{display:block;margin-top:3px;font-size:11px;font-weight:400;opacity:.62}@keyframes opus-tip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.opus-tip{animation:none}}.tl-dir>button{border-color:var(--border-strong);background:var(--surface-input);color:var(--text-faint)}.tl-dir[data-dir=income]>button{background:color-mix(in srgb,var(--ink-green) 9%,transparent);border-color:color-mix(in srgb,var(--ink-green) 35%,transparent);color:var(--ink-green)}.tl-dir[data-dir=transfer]>button{background:color-mix(in srgb,var(--ink-blue) 9%,transparent);border-color:color-mix(in srgb,var(--ink-blue) 35%,transparent);color:var(--ink-blue)}@media(hover:hover){.tl-dir>button:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary)}.tl-dir[data-dir=income]>button:hover{background:color-mix(in srgb,var(--ink-green) 15%,transparent);border-color:color-mix(in srgb,var(--ink-green) 50%,transparent);color:var(--ink-green)}.tl-dir[data-dir=transfer]>button:hover{background:color-mix(in srgb,var(--ink-blue) 15%,transparent);border-color:color-mix(in srgb,var(--ink-blue) 50%,transparent);color:var(--ink-blue)}}.tl-dir>button>svg:first-child{animation:tl-dir-in .16s ease}@keyframes tl-dir-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tl-dir>button svg{animation:none}}.opus-seg{display:flex;flex-wrap:wrap;gap:2px;padding:2px;border-radius:9px;background:var(--surface-input);border:1px solid var(--border);min-width:0}.opus-seg-btn{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);font:inherit;font-size:11.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.opus-seg-ico{display:inline-flex;flex-shrink:0}.opus-seg-label{min-width:0;text-align:center}@media(hover:hover){.opus-seg-btn:hover{color:var(--text-primary);background:var(--surface)}}.opus-seg-btn:active{transform:scale(.98)}.opus-seg-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-seg-btn.is-on{color:var(--text-primary);font-weight:600;background:color-mix(in srgb,var(--ink-blue) 13%,var(--bg-elevated));border-color:color-mix(in srgb,var(--ink-blue) 32%,transparent);box-shadow:0 1px 2px #0000001f}@media(hover:hover){.opus-seg-btn.is-on:hover{background:color-mix(in srgb,var(--ink-blue) 18%,var(--bg-elevated))}}.opus-seg-btn.is-on:focus-visible{box-shadow:0 0 0 3px var(--focus-ring),0 1px 2px #0000001f}@media(prefers-reduced-motion:reduce){.opus-seg-btn{transition:none}.opus-seg-btn:active{transform:none}}.opus-select-sep{height:1px;background:var(--border);margin:5px 8px;flex-shrink:0}.opus-owed-line{display:flex;align-items:center;gap:7px;min-width:0;font-size:11.5px;color:var(--text-secondary);line-height:1.35}.opus-owed-line b{font-weight:600;color:var(--text-primary)}.opus-owed-note{padding-left:19px;font-size:10.5px;line-height:1.45;color:var(--text-faint)}.opus-owed-cancel{flex-shrink:0;margin:-3px -4px -3px 0;padding:3px 7px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:11px;font-weight:500;letter-spacing:0;line-height:1.2;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}@media(hover:hover){.opus-owed-cancel:hover{background:var(--surface);color:var(--text-primary)}}.opus-owed-cancel:active{transform:scale(.96)}.opus-owed-cancel:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-owed-takeoff{gap:5px;max-width:100%;white-space:normal;text-align:left;line-height:1.25}@media(prefers-reduced-motion:reduce){.opus-owed-cancel{transition:none}.opus-owed-cancel:active{transform:none}}.opus-charge-row{display:flex;align-items:center;gap:8px;min-width:0;padding:2px 2px 2px 25px;font-size:11px;color:var(--text-muted);border-radius:7px;transition:background .15s ease}@media(hover:hover){.opus-charge-row:hover{background:var(--surface)}}.opus-charge-row .opus-charge-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opus-charge-row .opus-charge-amt{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.opus-due-tick{transition:border-color .15s ease,box-shadow .15s ease}@media(hover:hover){.opus-due-tick:not(:disabled):hover{box-shadow:0 0 0 3px var(--surface-input)}}.opus-due-tick:not(:disabled):active{transform:scale(.92)}.opus-due-tick:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.opus-popover{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 16px 42px #00000073;padding:12px;animation:opus-pop .13s ease}@media(prefers-reduced-motion:reduce){.opus-popover{animation:none}}.opus-typing-note{z-index:1000;pointer-events:none;width:max-content;max-width:min(260px,calc(100vw - 16px));background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px #00000047;padding:6px 9px;font-size:11px;line-height:1.45;color:var(--text-secondary);animation:opus-pop .13s ease}@media(prefers-reduced-motion:reduce){.opus-typing-note{animation:none}}.opus-receipt-thumb{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--surface-input);transition:border-color .15s ease,transform .15s ease}@media(hover:hover){.opus-receipt-thumb:hover{border-color:var(--border-strong);transform:translateY(-1px)}}.opus-receipt-thumb:active{transform:none}.opus-receipt-thumb:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media(prefers-reduced-motion:reduce){.opus-receipt-thumb{transition:none}.opus-receipt-thumb:hover{transform:none}}.opus-fx-note{font-size:9.5px;color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:help}.opus-fx-note .opus-fx-more{display:none}@media(min-width:560px){.opus-fx-note .opus-fx-more{display:inline}}.opus-unpriced-offer{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;line-height:1.35;padding:2px 9px;border-radius:99px;font-family:inherit;text-align:left;color:var(--ink-amber);background:#f59e0b14;border:1px solid #f59e0b44;max-width:100%}.opus-unpriced-offer{cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .08s ease}@media(hover:hover){.opus-unpriced-offer:hover{background:#f59e0b26;border-color:#f59e0b88}}.opus-unpriced-offer:active{transform:scale(.97)}.opus-unpriced-offer:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media(prefers-reduced-motion:reduce){.opus-unpriced-offer{transition:none}.opus-unpriced-offer:active{transform:none}}.opus-count-back{display:inline-flex;align-items:flex-start;gap:5px;margin-top:6px;padding:2px 8px 2px 7px;border-radius:99px;font:inherit;font-size:11px;line-height:1.4;text-align:left;color:var(--text-muted);background:transparent;border:1px solid transparent;cursor:pointer;max-width:100%;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .08s ease}.opus-count-back svg{flex-shrink:0;margin-top:2px;transition:transform .2s ease}@media(hover:hover){.opus-count-back:hover{color:var(--text-secondary);background:var(--surface-input);border-color:var(--border)}.opus-count-back:hover svg{transform:rotate(-45deg)}}.opus-count-back:active{transform:scale(.98)}.opus-count-back:focus-visible{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px var(--focus-ring)}.opus-count-back .opus-count-back-cta{color:var(--text-secondary);font-weight:600}@media(hover:hover){.opus-count-back:hover .opus-count-back-cta{color:var(--text-primary)}}@media(prefers-reduced-motion:reduce){.opus-count-back,.opus-count-back svg{transition:none}.opus-count-back:active{transform:none}.opus-count-back:hover svg{transform:none}}.opus-count-back-still{cursor:help}@media(hover:hover){.opus-count-back-still:hover{color:var(--text-muted);background:transparent;border-color:transparent}.opus-count-back-still:hover svg{transform:none}}.opus-count-back-still:active{transform:none}.fx-status{display:flex;gap:12px;align-items:flex-start;background:var(--surface-input);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:2px;transition:border-color .2s ease}.fx-status[data-tone=stale]{border-color:color-mix(in srgb,var(--ink-amber) 30%,var(--border))}.fx-status-icon{flex-shrink:0;width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);transition:color .2s ease,border-color .2s ease}.fx-status[data-tone=fresh] .fx-status-icon{color:var(--ink-green)}.fx-status[data-tone=stale] .fx-status-icon{color:var(--ink-amber);border-color:color-mix(in srgb,var(--ink-amber) 30%,var(--border))}.fx-status[data-tone=busy] .fx-status-icon,.fx-status[data-tone=due] .fx-status-icon{color:var(--ink-blue)}.fx-status[data-tone=offline] .fx-status-icon{color:var(--text-faint)}.fx-status-body{flex:1 1 auto;min-width:0}.fx-status-head{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.35;padding-top:1px}.fx-status-sub{font-size:11.5px;color:var(--text-muted);line-height:1.5;margin-top:2px}.fx-status-err{display:flex;gap:8px;align-items:flex-start;margin-top:9px;padding:8px 10px;border-radius:9px;font-size:11.5px;line-height:1.5;color:var(--text-secondary);overflow-wrap:anywhere;background:color-mix(in srgb,var(--ink-red) 7%,transparent);border:1px solid color-mix(in srgb,var(--ink-red) 24%,transparent);animation:opus-tip-in .2s ease}.fx-status-err svg{color:var(--ink-red);flex-shrink:0;margin-top:2px}.fx-status-err-detail{display:block;margin-top:3px;font-size:10.5px;color:var(--text-faint)}.fx-status-note{display:flex;gap:7px;align-items:flex-start;margin:9px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-muted)}.fx-status-note svg{flex-shrink:0;margin-top:2px;color:var(--text-faint)}.fx-status-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:11px}.fx-cadence{display:inline-flex;align-items:center;gap:8px}.fx-cadence-label{font-size:11.5px;color:var(--text-muted);white-space:nowrap}.fx-msg{flex:1 1 200px;min-width:0;font-size:11.5px;line-height:1.45;animation:opus-tip-in .2s ease}.fx-msg[data-tone=ok]{color:var(--ink-green)}.fx-msg[data-tone=warn]{color:var(--ink-amber)}.fx-spin{animation:opus-spin .9s linear infinite}.fx-cur{border-top:1px solid var(--border);padding-top:14px;margin-top:14px;scroll-margin:96px}.fx-cur-new{animation:fx-cur-arrive 1.8s ease}@keyframes fx-cur-arrive{0%,35%{box-shadow:inset 3px 0 color-mix(in srgb,var(--ink-blue) 70%,transparent);background:color-mix(in srgb,var(--ink-blue) 6%,transparent)}to{box-shadow:inset 3px 0 0 transparent;background:transparent}}.fx-cur-head{display:flex;align-items:center;gap:8px;min-height:26px;margin-bottom:8px}.fx-cur-code{flex-shrink:0;font-size:13px;font-weight:700;letter-spacing:.5px;color:var(--text-primary);font-variant-numeric:tabular-nums}.fx-cur-name{flex:0 1 auto;min-width:0;font-size:12px;color:var(--text-muted);line-height:1.35}.fx-cur-del{margin-left:auto;opacity:0;transition:opacity .15s ease,background .15s ease,border-color .15s ease,color .15s ease,transform .08s ease}@media(hover:hover){.fx-cur:hover .fx-cur-del{opacity:1}}.fx-cur:focus-within .fx-cur-del,.fx-cur-del:focus-visible{opacity:1}@media(hover:none){.fx-cur-del{opacity:1}}.fx-cur-fields{display:flex;gap:12px 14px;align-items:flex-end;flex-wrap:wrap}@media(hover:hover){.fx-box:hover:not(:focus){border-color:var(--text-faint)}}.fx-rate-cell{min-width:0}.fx-rate-cell-readout{flex:1 1 180px}.fx-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:1px 7px;min-height:38px;align-content:center;color:var(--text-primary);font-variant-numeric:tabular-nums;cursor:default}.fx-readout-figure{font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:500;letter-spacing:-.3px;line-height:1.15}.fx-readout-unit{font-size:12px;color:var(--text-muted)}.fx-readout-day{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-faint);white-space:nowrap}.fx-readout-glyph{color:var(--ink-blue);flex-shrink:0}.fx-readout[data-tone=warn] .fx-readout-day,.fx-readout[data-tone=warn] .fx-readout-glyph{color:var(--ink-amber)}.fx-switch-lead{display:block;margin-top:10px;color:var(--text-secondary)}.fx-switch-list{display:block;margin-top:6px}.fx-switch-item{display:block;position:relative;padding-left:13px;margin-top:4px}.fx-switch-item:before{content:"";position:absolute;left:2px;top:.62em;width:4px;height:4px;border-radius:50%;background:var(--text-faint)}.fx-note{display:flex;gap:7px;align-items:flex-start;margin:9px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-muted)}.fx-note>svg{flex-shrink:0;margin-top:2px;color:var(--text-faint)}.fx-note[data-tone=ok]>svg{color:var(--ink-green)}.fx-note[data-tone=held]>svg{color:var(--ink-blue)}.fx-note[data-tone=warn]{color:var(--ink-amber)}.fx-note[data-tone=warn]>svg{color:var(--ink-amber)}.fx-note-extra{display:block;color:var(--text-faint);margin-top:3px}.fx-note[data-tone=warn] .fx-note-extra{color:var(--text-muted)}.fx-hist{margin-top:12px}.fx-hist-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;min-height:17px;margin-bottom:6px}.fx-hist-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.fx-hist-count{font-size:11px;color:var(--text-faint);white-space:nowrap}.fx-hist-read{margin-left:auto;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;transition:color .15s ease}.fx-hist-read[data-dir=up]{color:var(--ink-amber)}.fx-hist-read[data-dir=down]{color:var(--ink-green)}.fx-hist-read[data-live]{color:var(--text-primary)}.fx-hist-note{font-size:11.5px;line-height:1.5;color:var(--text-muted);margin:0}.fx-spark{position:relative;height:44px;border-radius:6px;outline:none;cursor:crosshair;touch-action:pan-y;color:var(--ink-amber);transition:box-shadow .15s ease}.fx-spark:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.fx-spark svg{display:block;width:100%;height:44px;overflow:visible}.fx-spark-rule{position:absolute;top:0;bottom:0;width:1px;margin-left:-.5px;background:var(--border-strong);pointer-events:none;opacity:0;transition:opacity .12s ease,left .12s ease}.fx-spark[data-scrub] .fx-spark-rule{opacity:1}.fx-spark-dot{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:99px;background:currentColor;box-shadow:0 0 0 2px var(--bg);pointer-events:none;transition:left .12s ease,top .12s ease}.fx-hist-foot{display:flex;justify-content:space-between;gap:4px 10px;flex-wrap:wrap;margin-top:5px;font-size:10px;color:var(--text-faint);font-variant-numeric:tabular-nums}.fx-skel{height:44px;border-radius:8px;background:linear-gradient(90deg,var(--surface-input) 0%,var(--border-strong) 50%,var(--surface-input) 100%);background-size:200% 100%;opacity:.6;animation:fx-skel 1.4s ease-in-out infinite}@keyframes fx-skel{0%{background-position:100% 0}to{background-position:-100% 0}}.fx-empty{margin-top:14px;padding:18px 16px;text-align:center;border-radius:12px;background:var(--surface-input);border:1px dashed var(--border-strong)}.fx-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);margin-bottom:8px}.fx-empty-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.fx-empty p{font-size:11.5px;color:var(--text-muted);line-height:1.55;margin:0 auto 12px;max-width:430px}.fx-empty p:last-child{margin-bottom:0}@media(prefers-reduced-motion:reduce){.fx-spin,.fx-skel,.fx-cur-new,.fx-status-err,.fx-msg{animation:none}.fx-spark-dot,.fx-spark-rule{transition:none}}
