:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f7f8fa;--track:#eceef2;--seg-active:#fff;--border:#e5e7eb;--border-strong:#d4d8df;--grid:#1118270f;--text:#111827;--text-2:#4b5563;--muted:#6b7280;--faint:#9ca3af;--accent:#1f8a5b;--accent-strong:#16734b;--accent-soft:#e6f4ec;--accent-rgb:31, 138, 91;--candle-up-rgb:3, 166, 109;--candle-down-rgb:207, 48, 74;--ma-fast:#c99400;--ma-slow:#a347c2;--hot:#c62828;--hot-bg:#fdecea;--warm:#d9531e;--warm-bg:#fff1e6;--amber:#c98600;--normal:#2e7d32;--normal-bg:#e8f5e9;--cool:#1565c0;--cool-bg:#e3f2fd;--cold:#00796b;--cold-bg:#e0f2f1;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #1118270a, 0 4px 16px #1118270d;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e1116;--surface:#161a21;--surface-2:#1b2029;--track:#0f1318;--seg-active:#242a35;--border:#262c36;--border-strong:#363d49;--grid:#ffffff0f;--text:#e8eaee;--text-2:#b6bcc7;--muted:#8b93a1;--faint:#6b7380;--accent:#3fbf85;--accent-strong:#62d39f;--accent-soft:#3fbf851f;--accent-rgb:63, 191, 133;--candle-up-rgb:14, 203, 129;--candle-down-rgb:246, 70, 93;--ma-fast:#f0b90b;--ma-slow:#c86dd7;--hot:#ff7b6e;--hot-bg:#ff7b6e24;--warm:#ffa45c;--warm-bg:#ffa45c24;--amber:#f0b90b;--normal:#62d39f;--normal-bg:#62d39f21;--cool:#74b4ff;--cool-bg:#74b4ff24;--cold:#4fd1c5;--cold-bg:#4fd1c521;--shadow:0 1px 2px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{padding:20px max(16px, env(safe-area-inset-right)) 40px max(16px, env(safe-area-inset-left));background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}.page{flex-direction:column;gap:16px;max-width:1080px;margin:0 auto;display:flex}[hidden]{display:none!important}button{font:inherit;color:inherit}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.masthead{justify-content:space-between;align-items:center;gap:12px;padding:0 2px 4px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{flex:none;grid-template-rows:repeat(2,24px);grid-template-columns:repeat(2,24px);gap:3px;display:grid}.brand-tile{color:#fff;border-radius:7px;place-items:center;display:grid;box-shadow:0 2px 6px #1118272e}.brand-tile .icon{width:14px;height:14px}.brand-tile.thermo{background:linear-gradient(145deg,#f2706a 0%,#c62828 100%)}.brand-tile.net{background:linear-gradient(145deg,#3cc68b 0%,#1f8a5b 100%)}.brand-tile.base{background:linear-gradient(145deg,#4d7fff 0%,#0052ff 100%)}.brand-tile.chain{background:linear-gradient(145deg,#94a3b8 0%,#526072 100%)}.brand h1{letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.tagline{color:var(--muted);margin:2px 0 0;font-size:.85rem;line-height:1.35}.net-status{border:1px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:4px 10px 4px 9px;font-size:.78rem;font-weight:600;display:inline-flex}.net-dot{background:var(--faint);border-radius:50%;width:8px;height:8px;position:relative}.net-status[data-state=live] .net-dot{background:var(--accent)}.net-status[data-state=live] .net-dot:after{content:"";background:var(--accent);border-radius:50%;animation:2.4s ease-out infinite pulse;position:absolute;inset:0}.net-status[data-state=late] .net-dot{background:var(--warm)}.net-status[data-state=error] .net-dot{background:var(--hot)}@keyframes pulse{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}.wallet-gauge{--level:var(--faint);flex-wrap:wrap;align-items:center;gap:14px 28px;padding:16px 20px;display:flex}.wallet-gauge[data-level=low]{--level:var(--hot)}.wallet-gauge[data-level=medium]{--level:var(--amber)}.wallet-gauge[data-level=high]{--level:var(--normal)}.wallet-text{flex:260px;min-width:0}.wallet-text p{margin:0}.wallet-level{background:color-mix(in srgb, var(--level) 14%, transparent);color:var(--level);letter-spacing:.03em;border-radius:999px;margin-left:8px;padding:1px 7px}.wallet-text .wallet-headline{margin-top:4px;font-size:1.05rem;font-weight:700}.wallet-text .wallet-sub{color:var(--muted);margin-top:2px;font-size:.85rem}.wallet-thermo{flex:280px;align-items:center;padding-bottom:18px;display:flex}.wallet-bulb{z-index:1;background:var(--level);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid;position:relative}.wallet-bulb .icon{width:18px;height:18px}.wallet-tube{background:var(--track);height:14px;box-shadow:inset 0 0 0 1px var(--border);border-radius:0 999px 999px 0;flex:1;margin-left:-6px;position:relative}.wallet-fill{background:var(--level);border-radius:0 999px 999px 0;min-width:8px;transition:width .6s;position:absolute;inset:0 auto 0 0}.wallet-tick{background:var(--border-strong);width:1px;height:5px;position:absolute;top:100%}.wallet-tick span{color:var(--muted);white-space:nowrap;font-size:.68rem;position:absolute;top:6px;left:0;transform:translate(-50%)}.wallet-tick.end{right:6px}.wallet-tick.end span{left:auto;right:-6px;transform:none}.hero{--band:var(--accent);--band-soft:var(--accent-soft);background:linear-gradient(165deg, var(--band-soft) 0%, var(--surface) 60%);padding:24px;display:grid}.hero[data-band=hot]{--band:var(--hot);--band-soft:var(--hot-bg)}.hero[data-band=warm]{--band:var(--warm);--band-soft:var(--warm-bg)}.hero[data-band=normal]{--band:var(--normal);--band-soft:var(--normal-bg)}.hero[data-band=cool]{--band:var(--cool);--band-soft:var(--cool-bg)}.hero[data-band=cold]{--band:var(--cold);--band-soft:var(--cold-bg)}.hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.74rem;font-weight:600}.hero-temp-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.hero-temp{letter-spacing:-.045em;color:var(--band);font-variant-numeric:tabular-nums;margin:8px 0 10px;font-size:clamp(3.6rem,2.8rem + 4vw,5.2rem);font-weight:700;line-height:1}.hero-temp .unit{letter-spacing:0;vertical-align:.95em;margin-left:.04em;font-size:.45em;font-weight:600}.hero-meta{color:var(--text-2);flex-wrap:wrap;gap:2px 10px;font-size:.9rem;display:flex}.hero-meta .ago{color:var(--muted)}.hero-meta .ago:not(:empty):before{content:"·";color:var(--faint);margin-right:10px}.hero-next{color:var(--muted);flex-wrap:wrap;gap:2px 14px;margin-top:4px;font-size:.85rem;display:flex}.hero-next .late{color:var(--warm)}.day-range{max-width:420px;margin-top:18px}.day-range-label{color:var(--muted);margin-bottom:6px;font-size:.78rem}.day-range-row{font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:.85rem;font-weight:600;display:flex}.day-range-row .low{color:var(--cool)}.day-range-row .high{color:var(--hot)}.last-year{color:var(--muted);margin:12px 0 0;font-size:.85rem}.last-year strong{font-variant-numeric:tabular-nums}.last-year .hot{color:var(--hot)}.last-year .warm{color:var(--warm)}.last-year .normal{color:var(--normal)}.last-year .cool{color:var(--cool)}.last-year .cold{color:var(--cold)}.day-track{background:linear-gradient(90deg,#5b9bd5,#67b98a,#e8b54d,#cf4b39);border-radius:999px;flex:1;height:6px;position:relative}.day-marker{background:var(--surface);border:3px solid var(--band);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000040}.hero-stats{--pair-gap:24px;--group-gap:18px;border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);margin:22px 0 0;padding-top:18px;display:grid}.hero-stat{min-width:0}.hero-stat:nth-child(odd){padding-right:var(--pair-gap)}.hero-stat:nth-child(2){padding-right:var(--group-gap)}.hero-stat:nth-child(3){padding-left:var(--group-gap);border-left:1px solid var(--border)}.hero-stat dt{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:flex}.hero-stat dt .icon{width:14px;height:14px}.hero-stat.high dt .icon{color:var(--hot)}.hero-stat.low dt .icon{color:var(--cool)}.hero-stat.count dt .icon,.hero-stat.uptime dt .icon{color:var(--accent)}.hero-stat dd{margin:0}.hero-stat .stat-num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:4px;font-size:1.5rem;font-weight:700;line-height:1.15}.hero-stat.high .stat-num{color:var(--hot)}.hero-stat.low .stat-num{color:var(--cool)}.hero-stat .stat-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.8rem;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.panel-title{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.segmented{background:var(--track);border-radius:11px;gap:2px;min-width:0;padding:3px;display:inline-flex}.tab-btn,.toggle-option{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.toggle-option{min-width:44px;padding:6px 10px}.tab-btn:hover,.toggle-option:hover{color:var(--text)}.tab-btn.active,.toggle-option.active{background:var(--seg-active);color:var(--text);box-shadow:0 1px 2px #1118271a, 0 0 0 1px var(--border)}.tab-btn.active .icon{color:var(--accent)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px 0;display:flex}.control{display:inline-flex;position:relative}.control:after{content:"";border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);pointer-events:none;width:6px;height:6px;position:absolute;top:50%;right:13px;transform:translateY(-70%)rotate(45deg)}.select{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;cursor:pointer;padding:7px 34px 7px 12px;font-size:.875rem;font-weight:600}.select:hover{border-color:var(--border-strong)}.select:disabled{opacity:.55;cursor:default}.range-status{color:var(--muted);font-size:.8rem}.range-status:empty{display:none}.heatmap{flex-direction:column;gap:10px;padding:12px 14px 8px 6px;display:flex;position:absolute;inset:0}.heatmap-plot{flex:1;grid-template-columns:auto 1fr;gap:8px;min-height:0;display:grid}.heatmap-ylabels{color:var(--faint);font-variant-numeric:tabular-nums;grid-template-rows:repeat(6,1fr);font-size:.7rem;display:grid}.heatmap-ylabels span{justify-content:flex-end;align-items:center;padding-right:2px;display:flex}.heatmap-body{flex-direction:column;gap:4px;min-width:0;display:flex;overflow-x:auto}.heatmap-grid{flex:1;grid-template-rows:repeat(6,1fr);min-height:0;display:grid}.heat-cell{border-radius:2px}.heat-empty{background:var(--track)}.heatmap-xlabels{color:var(--faint);white-space:nowrap;justify-content:space-between;font-size:.7rem;display:flex}.heatmap-legend{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:8px;font-size:.72rem;display:flex}.heatmap-ramp{background:linear-gradient(90deg,#3d5a99,#5b9bd5,#67b98a,#e8b54d,#cf4b39);border-radius:999px;width:140px;max-width:40vw;height:8px}.chart-caption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;min-height:1.2em;padding:12px 16px 0;font-size:.8rem;display:flex}.chart-wrapper{height:340px;padding:8px 12px 12px 6px;position:relative}.chart-canvas-wrap{position:absolute;inset:8px 12px 12px 6px}.chart-loading,.chart-empty{color:var(--muted);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:.9rem;display:flex;position:absolute;inset:0}.spinner{border:3px solid var(--track);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ticker{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin:10px 16px 0;padding:10px 14px;display:flex}.ticker-pair{flex-direction:column;line-height:1.2;display:flex}.ticker-symbol{font-size:.95rem;font-weight:700}.ticker-name{color:var(--muted);font-size:.72rem}.ticker-price{font-family:var(--mono);font-size:1.35rem;font-weight:700}.ticker-up{color:rgb(var(--candle-up-rgb))}.ticker-down{color:rgb(var(--candle-down-rgb))}.ticker-stats{flex-wrap:wrap;gap:4px 18px;margin:0;display:flex}.ticker-stats div{flex-direction:column;line-height:1.3;display:flex}.ticker-stats dt{color:var(--muted);font-size:.7rem}.ticker-stats dd{font-family:var(--mono);margin:0;font-size:.8rem;font-weight:600}.candles{flex-direction:column;display:flex;position:absolute;inset:0}.candles-legend{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:0 0 4px 10px;font-size:.72rem;display:flex}.candles-legend b{font-family:var(--mono);font-weight:600}.candles-interval{background:var(--track);color:var(--text-2);border-radius:4px;padding:0 6px;font-weight:600}.candles-ma:before{content:"";vertical-align:middle;background:currentColor;width:10px;height:2px;margin-right:4px;display:inline-block}.candles-ma-fast{color:var(--ma-fast)}.candles-ma-slow{color:var(--ma-slow)}.candles-chart{flex:1;min-height:0;position:relative}.table-container{border-top:1px solid var(--border);max-height:440px;margin-top:12px;overflow:auto}.readings-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.92rem}.readings-table th{z-index:1;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:10px 16px;font-size:.72rem;font-weight:600;position:sticky;top:0}.readings-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 16px}.readings-table tbody tr:last-child td{border-bottom:0}.readings-table tbody tr:hover td{background:var(--surface-2)}.readings-table th.num,.readings-table td.num{text-align:right}.time-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.time-clock{color:var(--muted);margin-left:8px}.year{padding:18px 20px 14px}.year-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.year-count{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.year-scroll{scrollbar-width:thin;margin:12px 0 0;overflow-x:auto}.year-grid{width:100%;height:auto;display:block}.year-label{fill:var(--faint);font-size:10px}.year-day{fill:var(--track);cursor:pointer}.year-day.before{fill:none;stroke:var(--border-strong);stroke-width:1px}.year-day.selected{stroke:var(--text);stroke-width:1.5px}.year-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:10px;display:flex}.year-readout{min-height:1.4em;color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.year-readout strong{color:var(--text);font-weight:600}.year-legend{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:.72rem;display:flex}.site-nav{flex:none}.site-nav .tab-btn{text-decoration:none}.patterns{padding-bottom:14px}.patterns-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 0;display:flex}.patterns-views{flex-wrap:wrap}.patterns-blurb{color:var(--muted);margin:12px 20px 0;font-size:.88rem}.patterns-chart{min-height:240px;margin:12px 20px 0;position:relative}.patterns-chart .chart-loading,.patterns-chart .chart-empty{min-height:240px}.pattern-svg{display:block;overflow:visible}.pattern-svg.spiral{margin:0 auto}.chart-label{fill:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.chart-grid{stroke:var(--grid);stroke-width:1px}.pattern-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:10px;display:flex}.pattern-readout{min-height:1.4em;color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.pattern-readout strong{color:var(--text);font-weight:600}.patterns-legend{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:.72rem;display:flex}.stripe-cursor{fill:none;stroke:var(--text);stroke-width:1.5px}.month-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.month-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;display:inline-flex}.month-chip.active{border-color:var(--text);color:var(--text)}.chip-swatch{border-radius:50%;width:10px;height:10px}.ridge{stroke:var(--surface);stroke-width:1.5px;fill-opacity:.92}.spiral-line{fill:none;stroke:var(--border-strong);stroke-width:1px}.spiral-dot{cursor:pointer}.spiral-dot.selected{stroke:var(--text);stroke-width:1.5px}.swing-bar{fill:rgba(var(--accent-rgb), .45)}.swing-bar.selected{fill:var(--accent)}.swing-average{fill:none;stroke:var(--text-2);stroke-width:2px;stroke-linejoin:round}.swing-key{background:var(--text-2);width:18px;height:2px}.records{max-height:none;margin-top:0}.record{white-space:nowrap}.record-temp{font-variant-numeric:tabular-nums;min-width:4.2em;font-weight:700;display:inline-block}.record.hot .record-temp{color:var(--hot)}.record.cold .record-temp{color:var(--cool)}.record-when{color:var(--muted);margin:0 10px 0 4px;font-size:.82rem}.record-proof{font-size:.82rem}.patterns-views{width:100%}.silly-headline{color:var(--text-2);margin:0 0 12px;font-size:.95rem}.silly-headline strong{color:var(--text)}.silly-faint{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.silly-note{color:var(--muted);margin:12px 0 0;font-size:.78rem}.silly-key{color:var(--text-2);flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.8rem;display:flex}.silly-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600}.silly-button:hover{border-color:var(--text-2)}.moods,.ice-months,.bull-months{flex-direction:column;gap:6px;display:flex}.moods-month,.ice-month{grid-template-columns:5.2em 1fr;align-items:center;gap:10px;display:grid}.moods-label{color:var(--muted);white-space:nowrap;font-size:.78rem}.moods-faces{flex-wrap:wrap;display:flex}.mood{cursor:pointer;background:0 0;border:0;border-radius:4px;width:1.45em;padding:0;font-size:1rem;line-height:1.45}.mood.selected{background:var(--accent-soft);outline:1.5px solid var(--accent)}.ice-cones{word-break:break-all;font-size:.95rem;line-height:1.5}.bull-month{font-variant-numeric:tabular-nums;grid-template-columns:5.2em 1.6em 4.4em 4.6em 1fr;align-items:center;gap:8px;font-size:.88rem;display:grid}.bull-animal{font-size:1.15rem}.bull-price{color:var(--text);font-weight:600}.bull-change{font-weight:600}.bull-change.up{color:var(--accent)}.bull-change.down{color:var(--hot)}.bull-says{color:var(--text-2)}.wardrobe{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.outfit{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.outfit-month{color:var(--text-2);font-size:.78rem;font-weight:600}.outfit-items{font-size:1.7rem;line-height:1.3}.outfit-says{color:var(--text);font-size:.85rem}.months-table td.low{color:var(--cool);font-variant-numeric:tabular-nums}.months-table td.high{color:var(--hot);font-variant-numeric:tabular-nums}.months-table td.count{color:var(--muted);font-variant-numeric:tabular-nums}.temp-badge{font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:4.6em;padding:3px 10px;font-weight:700;display:inline-block}.temp-badge.hot{color:var(--hot);background:var(--hot-bg)}.temp-badge.warm{color:var(--warm);background:var(--warm-bg)}.temp-badge.normal{color:var(--normal);background:var(--normal-bg)}.temp-badge.cool{color:var(--cool);background:var(--cool-bg)}.temp-badge.cold{color:var(--cold);background:var(--cold-bg)}.delta-cell{font-variant-numeric:tabular-nums;color:var(--faint);white-space:nowrap;font-size:.85rem}.delta-cell.up{color:var(--warm)}.delta-cell.down{color:var(--cool)}.no-data-row{text-align:center;color:var(--muted);padding:40px 16px}.loading{flex-direction:column;align-items:center;gap:10px;display:flex}.error{border-radius:var(--radius-sm);background:var(--hot-bg);color:var(--hot);text-align:left;padding:12px 16px;display:inline-block}.project-tab-content{padding:20px}.project-tab-content p{color:var(--text-2);margin:0 0 12px}.project-tab-content p:last-child{margin-bottom:0}.project-tab-content strong{color:var(--text)}.text-link{color:var(--accent-strong);white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:rgba(var(--accent-rgb), .35);text-decoration-color:rgba(var(--accent-rgb), .35);text-underline-offset:2px;font-weight:600}.text-link:hover{text-decoration-color:currentColor}.text-link .icon{vertical-align:-.05em;width:.85em;height:.85em;margin-left:2px}.contract-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.contract-head .contract-title{margin-bottom:0}.contract-head .text-link{font-size:.85rem}.steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none;display:grid}.step{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);counter-increment:step;padding:16px;position:relative}.step-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.step-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.step-title{margin:0;font-size:.95rem;font-weight:700}.step-title:before{content:counter(step) ". ";color:var(--faint);font-weight:600}.step p{color:var(--text-2);margin:0;font-size:.88rem}.inline-address{background:var(--track);font-family:var(--mono);word-break:break-all;border-radius:5px;padding:2px 6px;font-size:.82em}.contract-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:.72rem;font-weight:600}.contract-group+.contract-group{margin-top:20px}.costs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 16px;display:grid}.cost{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:14px 16px}.cost dt{color:var(--muted);font-size:.8rem}.cost dd{margin:0}.cost-num{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;margin-top:4px!important}.cost-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem;margin-top:2px!important}.costs-loading{min-height:140px}.contract-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.contract-item{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);padding:16px}.contract-title{margin-bottom:8px;font-weight:700}.contract-address{background:var(--surface);border:1px solid var(--border);max-width:100%;color:var(--text-2);font-family:var(--mono);word-break:break-all;border-radius:7px;align-items:center;gap:6px;padding:5px 9px;font-size:.76rem;text-decoration:none;display:inline-flex}.contract-address .icon{width:13px;height:13px}.contract-address:hover{border-color:var(--accent);color:var(--accent-strong)}.contract-functions{color:var(--text-2);margin:12px 0 0;padding-left:18px;font-size:.86rem}.contract-functions li{margin-bottom:6px}.contract-functions li:last-child{margin-bottom:0}.contract-functions code{font-family:var(--mono);color:var(--text);font-size:.9em}.device-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.device-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);overflow:hidden}.device-photo-wrap{background:#fff;justify-content:center;align-items:center;height:220px;padding:16px;display:flex}.device-photo{border-radius:6px;width:auto;max-width:100%;height:auto;max-height:100%}.device-name{border-top:1px solid var(--border);padding:12px 16px;font-size:.92rem;font-weight:600}.verify-intro{padding:20px 20px 0}.verify-intro p,.verify-step p{color:var(--text-2);margin:8px 0 0;font-size:.92rem;line-height:1.55}.verify-step code,.verify-field dt code{font-family:var(--mono);color:var(--text);font-size:.88em}.verify-pick{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 10px;margin:16px 20px 0;padding:12px 14px;display:flex}.verify-label{font-size:.9rem;font-weight:600}.verify-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:7.5em;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:7px 10px;font-size:1rem}.verify-of{color:var(--muted);font-size:.85rem}.verify-buttons{gap:6px;margin-left:auto;display:flex}.verify-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;padding:7px 12px;font-size:.875rem;font-weight:600}.verify-btn[type=submit]{border-color:var(--accent);background:var(--accent);color:#fff}.verify-btn:disabled{opacity:.5;cursor:default}.verify-error{color:var(--hot);margin:16px 20px 20px}.verify .verify-loading{min-height:240px;position:static}.verify-steps{margin:0;padding:4px 20px 20px;list-style:none}.verify-step{padding:16px 0 0}.verify-step+.verify-step{border-top:1px solid var(--border);margin-top:16px}.verify-step h3{margin:0;font-size:.98rem;font-weight:700}.verify-code{border-radius:var(--radius-sm);background:var(--track);font-family:var(--mono);white-space:pre-wrap;word-break:break-all;color:var(--text);margin:10px 0 0;padding:12px 14px;font-size:.8rem;line-height:1.55}.verify-fields{margin:10px 0 0}.verify-field{grid-template-columns:6.5em minmax(0,1fr);gap:10px;padding:7px 0;font-size:.88rem;display:grid}.verify-field+.verify-field{border-top:1px dashed var(--border)}.verify-field dd{min-width:0;margin:0}.verify-value{font-family:var(--mono);word-break:break-all;font-size:.85rem;display:block}.verify-note{color:var(--muted);font-size:.82rem;display:block}.verify-words{border:1px solid var(--border);border-radius:var(--radius-sm);margin:10px 0 0;padding:0;list-style:none;overflow:hidden}.verify-word{grid-template-columns:1.6em minmax(0,34em) minmax(0,1fr);align-items:baseline;gap:4px 14px;padding:8px 12px;font-size:.85rem;display:grid}.verify-word:nth-child(2n){background:var(--surface-2)}.verify-word-index{color:var(--faint);font-variant-numeric:tabular-nums}.verify-hex{font-family:var(--mono);word-break:break-all;color:var(--text);font-size:.8rem}.verify-hex .zeros{color:var(--faint);opacity:.6}.verify-word-meaning{color:var(--text-2)}.verify-result{font-size:.95rem}.verify-result strong{color:var(--text)}@media (min-width:820px){body{padding-top:32px}.page{gap:20px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;column-gap:28px;padding:28px 32px}.hero-top{grid-column:1/-1}.hero-stats{border-top:0;border-left:1px solid var(--border);--pair-gap:28px;--group-gap:24px;margin-top:0;padding:4px 0 4px 28px}.hero-stat .stat-num{font-size:1.75rem}}@media (max-width:640px){.brand h1{font-size:1.15rem}.brand-mark{grid-template-rows:repeat(2,21px);grid-template-columns:repeat(2,21px)}.brand-tile{border-radius:6px}.brand-tile .icon{width:12px;height:12px}.hero{padding:20px 18px}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px;margin-top:20px}.hero-stat{text-align:center}.hero-stat:nth-child(odd),.hero-stat:nth-child(2){padding-right:0}.hero-stat dt{justify-content:center}.hero-stat:nth-child(n+3){border-top:1px solid var(--border);padding-top:14px}.hero-stat:nth-child(3){border-left:0;padding-left:0}.day-range{max-width:none}.hero-stat dt{letter-spacing:.04em;font-size:.72rem}.hero-stat .stat-num{font-size:1.6rem}.hero-stat .stat-sub{font-size:.8rem}.panel-head{padding:12px}.panel-head.stretch .segmented{flex:1}.panel-head.stretch .tab-btn{flex:1;padding:7px 8px}.tab-btn{padding:6px 12px}.toolbar{padding:12px 12px 0}.toolbar .control{flex:1 1 0;min-width:0}.select{padding:8px 32px 8px 12px;font-size:1rem}.range-status{flex-basis:100%}.chart-caption{padding:10px 14px 0}.chart-wrapper{height:280px;padding:6px 8px 8px 0}.chart-canvas-wrap{inset:6px 8px 8px 0}.ticker{gap:4px 14px;margin:10px 12px 0;padding:8px 12px}.ticker-stats{gap:4px 14px}.heatmap{padding:10px 10px 4px 2px}.heatmap-ylabels,.heatmap-xlabels{font-size:.62rem}.table-container{max-height:420px}.readings-table th,.readings-table td{padding:8px 12px}.readings-table{font-size:.88rem}.year{padding:14px 14px 12px}.masthead{flex-wrap:wrap}.site-nav{width:100%}.site-nav .tab-btn{flex:1}.patterns-head{padding:12px 12px 0}.patterns-views{width:100%}.patterns-views .tab-btn{flex:30%;padding:7px 6px}.wardrobe{grid-template-columns:repeat(2,1fr)}.moods-month{grid-template-columns:1fr;gap:2px}.bull-month{grid-template-columns:4.6em 1.5em 4.2em 1fr;row-gap:0}.bull-says{grid-column:2/-1;font-size:.8rem}.patterns-blurb,.patterns-chart{margin:10px 14px 0}.record{white-space:normal}.record-when{margin:2px 0;display:block}.months-table th:last-child,.months-table td.count{display:none}.time-clock{margin-left:0;font-size:.8rem;display:block}.project-tab-content{padding:16px 14px}.steps{grid-template-columns:1fr;gap:10px}.step{padding:14px}.device-photo-wrap{height:200px}.verify-intro{padding:16px 14px 0}.verify-pick{margin:14px 14px 0}.verify-buttons{width:100%;margin-left:0}.verify-buttons .verify-btn{flex:1}.verify-steps{padding:4px 14px 16px}.verify-word{grid-template-columns:1.4em minmax(0,1fr)}.verify-word-meaning{grid-column:2}}@media (max-width:380px){.hero-meta .ago:not(:empty):before{content:none}.select{padding-right:26px}.control:after{right:11px}}@media (prefers-reduced-motion:reduce){.net-status[data-state=live] .net-dot:after{animation:none}}@media (max-width:380px){.about-tabs{flex-wrap:wrap}.panel-head.stretch .about-tabs .tab-btn{flex:40%}}
