@font-face{font-family:Hanken Grotesk;src:url(./hanken-grotesk-400-BG6hkEXj.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(./hanken-grotesk-500-DrDcrrxK.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(./hanken-grotesk-600-CIXX6EOa.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(./playfair-display-500-DIxvyhka.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(./playfair-display-600-CZLGqjJe.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{color-scheme:dark;--sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--serif: "Playfair Display", Georgia, serif;--page: #181211;--surface: #1c1513;--surface-2: #241a17;--ink: #f4eee6;--ink-2: rgba(244, 238, 230, .7);--muted: rgba(244, 238, 230, .55);--grid: rgba(231, 201, 184, .12);--baseline: rgba(231, 201, 184, .35);--border: rgba(231, 201, 184, .16);--chrome: #120c0b;--sand: #e7c9b8;--series-1: #2a9d82;--series-1-soft: rgba(42, 157, 130, .35);--series-2: #cf6a45;--series-2-soft: rgba(207, 106, 69, .35);--good-text: #7fbf8e;--warning: #e7c9b8;--serious: #cf6a45;--critical: #c94f43;--critical-text: #e08a7a;--accent: #e7c9b8;--accent-ink: #2a1013;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 10px 28px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select{font:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100%}.titlebar{-webkit-app-region:drag;display:flex;align-items:flex-end;gap:20px;padding:0 18px;height:52px;background:var(--chrome);border-bottom:1px solid var(--border);flex:none}body.mac .titlebar{padding-left:92px}.brand{-webkit-app-region:drag;display:flex;align-items:baseline;gap:8px;padding-bottom:11px;margin-right:4px}.brand strong{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.01em;color:var(--sand)}.brand span{font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.tabs{display:flex;gap:2px;-webkit-app-region:no-drag}.tab{-webkit-app-region:no-drag;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:8px 14px 9px;margin-bottom:-1px;color:var(--ink-2);font-size:13px;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0}.tab:hover{background:var(--surface-2);color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--sand);font-weight:600}.content{flex:1;overflow-y:auto;padding:22px 26px 40px}.wrap{max-width:1180px;margin:0 auto}.titlebar-right{margin-left:auto;display:flex;align-items:center;gap:6px;padding-bottom:8px;-webkit-app-region:no-drag}.mode-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2);padding:3px 10px;border:1px solid var(--border);border-radius:999px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.mode-badge .dot{width:7px;height:7px;border-radius:999px;background:var(--series-1);flex:none}.mode-badge.local .dot{background:var(--muted)}.banner{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:18px;border:1px solid var(--border);border-left:3px solid var(--sand);border-radius:8px;background:var(--surface);font-size:12.5px;color:var(--ink-2)}.banner strong{color:var(--ink)}.banner .spacer{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-bottom:18px}.card-head{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.card h2{margin:0;font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:.01em;color:var(--sand)}.card .sub{margin:0 0 16px;font-size:12px;color:var(--muted)}.hero-row{display:flex;align-items:stretch;gap:28px;flex-wrap:wrap}.hero{min-width:220px}.hero .label,.tile .label{font-size:11.5px;color:var(--muted);text-transform:none;margin-bottom:2px}.hero .value{font-size:48px;font-weight:600;letter-spacing:-.02em;line-height:1.05}.hero .note{font-size:12px;color:var(--ink-2);margin-top:4px}.tiles{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start;border-left:1px solid var(--border);padding-left:28px}.tile{min-width:118px}.tile .value{font-size:21px;font-weight:600;letter-spacing:-.015em}.tile .note{font-size:11.5px;color:var(--muted);margin-top:1px}.tiles.flat{border-left:0;padding-left:0;gap:34px}.mix-track{display:flex;gap:2px;width:120px;height:6px;border-radius:3px;overflow:hidden;margin:5px 0 3px}.mix-seg{height:100%}.curve-strip{display:flex;gap:26px;align-items:flex-end;flex-wrap:wrap;padding:4px 0 16px;border-bottom:1px solid var(--grid);margin-bottom:4px}.spread-input{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}.spread-input input{width:64px;background:var(--page);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:14px;font-variant-numeric:tabular-nums;text-align:right}.legend{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--ink-2)}.legend-item{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:3px;flex:none}.swatch.line{width:16px;height:2px;border-radius:1px}.chart-wrap{position:relative}.chart-wrap svg{display:block;width:100%;overflow:visible}.tick-text{font-size:11px;fill:var(--muted)}.axis-line{stroke:var(--grid);stroke-width:1;shape-rendering:crispEdges}.col-sub{font-size:10.5px;fill:var(--muted);font-variant-numeric:tabular-nums}.hit{fill:transparent;cursor:default}.tooltip{position:absolute;z-index:20;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:9px 11px;font-size:12px;min-width:168px;transform:translate(-50%,calc(-100% - 12px))}.tooltip .t-title{font-weight:600;margin-bottom:4px}.tooltip .t-row{display:flex;justify-content:space-between;gap:16px;color:var(--ink-2)}.tooltip .t-row b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.table-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;color:var(--ink-2);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}table.data{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:12px}table.data th{text-align:left;font-weight:500;color:var(--muted);font-size:11.5px;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:7px 10px;border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums}table.data td.num,table.data th.num{text-align:right}table.data td.name{font-variant-numeric:normal}.list-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.list-head h1{margin:0;font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.01em;color:var(--sand)}.m-table{overflow-x:auto}.m-table .m-row,.m-table .detail{min-width:920px}.m-row{display:grid;grid-template-columns:26px minmax(180px,1.5fr) 76px 92px 1fr 1fr 168px 150px;align-items:center;gap:10px;width:100%;padding:11px 18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:1px solid var(--grid);text-align:left;font:inherit;cursor:pointer}.m-block:last-child .m-row{border-bottom:0}.m-row:hover{background:var(--surface-2)}.m-row-head{cursor:default;padding-top:9px;padding-bottom:9px;font-size:11.5px;color:var(--muted);border-bottom:1px solid var(--border);background:none}.m-row-head:hover{background:none}.m-row .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.m-row .sub-note{display:block;font-size:10.5px;color:var(--muted)}.m-name{display:flex;align-items:center;gap:9px;min-width:0}.m-name .dot{width:8px;height:8px;border-radius:999px;flex:none}.m-name strong{display:block;font-weight:600;font-size:13px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-name small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-type{font-size:12px;color:var(--ink-2)}.caret{width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:6px solid var(--muted);justify-self:center;transition:transform .12s ease}.caret.down{transform:rotate(90deg)}.m-block.open{background:var(--surface-2)}.m-block.open .m-row{border-bottom-color:transparent}.detail{padding:4px 18px 16px 54px;border-bottom:1px solid var(--grid)}.m-block.open:last-child .detail{border-bottom:0}.detail .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,max-content));gap:14px 34px;margin-bottom:14px}.detail-foot{display:flex;gap:8px}.share-cell{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.fact .k{font-size:10.5px;color:var(--muted)}.fact .v{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.fact .v small{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0}.fact .note{font-size:11px;color:var(--muted);margin-top:1px}.share-track{display:inline-block;width:84px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.m-block.open .share-track{background:var(--grid)}.share-fill{display:block;height:100%;border-radius:3px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.chip .dot{width:7px;height:7px;border-radius:999px;flex:none}.chip.due-soon{border-color:var(--serious);color:var(--ink)}.chip.due-now{border-color:var(--critical);color:var(--critical-text)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:7px;padding:6px 12px;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--sand);border-color:transparent;color:var(--accent-ink);font-weight:600}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{border-color:transparent;background:none;color:var(--ink-2);padding:6px 8px}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.danger:hover{background:var(--critical);border-color:transparent;color:#fff}.btn:focus-visible,.tab:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b6b;display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;overflow-y:auto;z-index:50}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);width:min(620px,100%);padding:22px 24px}.modal h2{margin:0 0 2px;font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:.01em;color:var(--sand)}.modal .sub{margin:0 0 18px;font-size:12px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.field{display:flex;flex-direction:column;gap:4px}.field.wide{grid-column:1 / -1}.field label{font-size:11.5px;color:var(--ink-2);font-weight:500}.field input,.field select{background:var(--page);border:1px solid var(--border);border-radius:7px;padding:7px 9px;font-size:13px}.field input:focus,.field select:focus{border-color:var(--accent);outline:none}.field .hint{font-size:11px;color:var(--muted)}.field .err{font-size:11px;color:var(--critical-text)}.field input[aria-invalid=true]{border-color:var(--critical)}.section-label{grid-column:1 / -1;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:8px;padding-top:12px;border-top:1px solid var(--grid)}.check{display:flex;align-items:center;gap:7px;font-size:12.5px}.check input{width:15px;height:15px;accent-color:var(--accent)}.modal-foot{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--grid)}.modal-foot .left{margin-right:auto}.empty{text-align:center;padding:56px 20px;color:var(--ink-2)}.empty h2{font-family:var(--serif);font-size:18px;font-weight:500;margin:0 0 6px;color:var(--sand)}.empty p{margin:0 0 18px;font-size:13px;color:var(--muted)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--sand);color:var(--accent-ink);padding:8px 16px;border-radius:999px;font-size:12.5px;box-shadow:var(--shadow);z-index:60}
