html,body{background:#f7f2eb}:root{color-scheme:light;font-family:Fraunces,Palatino Linotype,serif;background:transparent;color:#1b1a17;--ink: #1b1a17;--paper: #f7f2eb;--paper-deep: #efe7dd;--surface: rgba(255, 255, 255, .9);--surface-soft: rgba(255, 255, 255, .72);--border: rgba(27, 26, 23, .12);--accent: #c85a3c;--teal: #2b6d66;--shadow: rgba(23, 20, 16, .14);--shadow-soft: rgba(23, 20, 16, .08);--ring: rgba(200, 90, 60, .32)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:IBM Plex Sans,sans-serif;background:#f7f2eb;position:relative}body:before{content:none}.layout{width:100%;max-width:100%;margin:0;padding:20px 32px 80px;display:flex;flex-direction:column;gap:32px;position:relative;z-index:1}.layout.app-only{width:calc(100% - 240px);max-width:none;margin:0 0 0 240px;gap:20px;padding-top:12px}.layout.app-only .user-cluster{position:static;align-self:flex-end;margin-top:0;margin-left:auto;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.layout.app-only .panel,.layout.app-only .metric-card,.layout.app-only .chart-card,.layout.app-only .breakdown-card,.layout.app-only .time-card,.layout.app-only .project-list-panel,.layout.app-only .project-session,.layout.app-only .message{background:var(--surface);box-shadow:none;border:1px solid rgba(27,26,23,.08);border-radius:16px}.layout.app-only .panel{padding:22px}.layout.app-only .metric-card:after{opacity:.2}.layout.app-only .project-hero{background:var(--surface);border:1px solid var(--border);border-radius:16px}.layout.app-only .project-item{background:var(--surface-soft);box-shadow:none;border:1px solid rgba(27,26,23,.08);border-radius:12px}.layout.app-only .project-item:hover{transform:translateY(-2px);box-shadow:none;background:#fffffffa}.layout.app-only .project-item.active{background:#fffffffa;border-color:#1b1a172e}.layout.app-only .panel-header{border-bottom:1px solid rgba(27,26,23,.08);padding-bottom:12px}.layout.app-only .panel-header input{background:#ffffffe6;border:1px solid rgba(27,26,23,.12);box-shadow:0 10px 18px var(--shadow-soft)}.layout.landing-only{padding-top:32px;max-width:1100px;margin:0 auto}.landing-view{display:grid;gap:48px}body:not([data-page=landing]) .landing-view{display:none}.landing-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.landing-brand{display:flex;align-items:center;gap:14px}.landing-brand-text{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#1f1c1699;font-weight:600}.landing-nav{display:flex;gap:12px;align-items:center}.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center}.landing-hero-copy h1{margin:12px 0 16px;font-family:Fraunces,serif;font-size:clamp(36px,4vw,54px);line-height:1.05}.landing-hero-copy p{margin:0 0 24px;font-size:16px;color:#1f1c16b3;max-width:100%}.landing-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:600;color:var(--teal)}.landing-actions{display:flex;gap:12px;flex-wrap:wrap}.landing-trust{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#1f1c1680}.landing-hero-preview{display:grid;gap:18px}.preview-card{background:var(--surface);border-radius:20px;padding:20px;border:1px solid var(--border);box-shadow:0 22px 50px var(--shadow);display:grid;gap:16px}.preview-card.ghost-card{background:#ffffffb3;border-style:dashed}.preview-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.preview-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#1f1c1699}.preview-value{font-size:26px;font-weight:600;margin-top:6px}.preview-value.small{font-size:18px}.preview-badge{background:#2c6f6a1f;color:var(--teal);padding:6px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.preview-bars{display:grid;grid-auto-flow:column;gap:8px;align-items:end;height:120px}.preview-bars span{display:block;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#ea6a4ae6,#ea6a4a33);box-shadow:inset 0 0 0 1px #ea6a4a33}.preview-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preview-pill{background:#ea6a4a1f;color:var(--accent);padding:6px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.preview-rows{display:grid;gap:10px;font-size:13px;color:#1f1c16b3}.preview-rows div{display:flex;justify-content:space-between;align-items:center}.landing-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;background:var(--surface);border-radius:18px;padding:18px;border:1px solid var(--border)}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.landing-card{background:var(--surface);border-radius:18px;padding:18px;border:1px solid var(--border);box-shadow:0 16px 30px var(--shadow)}.landing-card h3{margin:0 0 10px}.landing-card p{margin:0;color:#1f1c16a6;font-size:14px}.landing-steps{display:grid;gap:18px;align-items:start}.landing-steps h2{margin:0 0 6px;font-size:24px}.landing-steps p{margin:0;color:#1f1c16a6}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.step-card{background:#fffc;border-radius:18px;padding:18px;border:1px solid rgba(31,28,22,.08)}.step-index{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);font-weight:600;margin-bottom:10px}.landing-cta{background:var(--surface);border-radius:24px;padding:28px;border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;box-shadow:0 22px 50px var(--shadow)}.landing-cta h2{margin:0 0 8px}.landing-cta p{margin:0;color:#1f1c16a6}.landing-showcase{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:center}.landing-showcase h2{margin:0 0 12px}.landing-showcase ul{margin:0;padding-left:18px;color:#1f1c16a6;display:grid;gap:8px}.showcase-panels{display:grid;gap:16px}.showcase-panel{background:var(--surface);border-radius:18px;padding:18px;border:1px solid var(--border);box-shadow:0 18px 36px var(--shadow);display:grid;gap:14px}.showcase-panel.large{background:linear-gradient(140deg,#fffffff2,#ea6a4a14)}.showcase-title{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:#1f1c168c}.showcase-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.showcase-lines{display:grid;gap:8px}.showcase-lines span{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,#2c6f6a66,#2c6f6a0d)}.showcase-lines span:nth-child(2){width:80%}.showcase-lines span:nth-child(3){width:65%}.showcase-lines span:nth-child(4){width:90%}.showcase-lines span:nth-child(5){width:75%}.showcase-list{display:grid;gap:10px;font-size:14px;color:#1f1c16b3}.showcase-list div{display:flex;justify-content:space-between;align-items:center}.landing-pricing{display:grid;gap:18px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.pricing-card{background:var(--surface);border-radius:18px;padding:20px;border:1px solid var(--border);box-shadow:0 16px 36px var(--shadow);display:grid;gap:12px}.pricing-card.highlight{border-color:#ea6a4a66;box-shadow:0 20px 46px #ea6a4a40}.pricing-tier{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:600;color:#1f1c1699}.pricing-value{font-size:28px;font-weight:600}.pricing-sub{font-size:12px;color:#1f1c1699}.pricing-card p{margin:0;color:#1f1c16a6}.pricing-card ul{margin:0;padding-left:16px;color:#1f1c16a6;display:grid;gap:6px;font-size:13px}.landing-faq{display:grid;gap:18px}.faq-grid{display:grid;gap:12px}.faq-grid details{background:#fffc;border-radius:14px;padding:14px 16px;border:1px solid rgba(31,28,22,.08)}.faq-grid summary{cursor:pointer;font-weight:600}.faq-grid p{margin:10px 0 0;color:#1f1c16a6}.auth-only{min-height:100vh;display:grid;place-items:center;padding:0 24px;background:radial-gradient(circle at 20% 20%,rgba(200,90,60,.08),transparent 45%),radial-gradient(circle at 80% 0%,rgba(43,109,102,.08),transparent 40%)}.view-stack,.app-body,.app-section{display:flex;flex-direction:column;gap:32px}.docs-page{display:flex;flex-direction:column;gap:18px}.docs-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.docs-hero h2{margin:0 0 6px;font-size:26px;font-family:Fraunces,serif}.docs-hero p{margin:0;color:#1f1c16b3}.docs-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.docs-pill{border-radius:999px;padding:6px 12px;background:#1f1c1614;border:1px solid rgba(31,28,22,.12);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#1f1c1699}.docs-section{background:var(--surface);border-radius:18px;padding:18px;border:1px solid var(--border);box-shadow:0 18px 40px var(--shadow)}.docs-section-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.docs-section-title span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#1f1c169e}.docs-section-title h3{margin:0;font-size:16px}.docs-section-body{display:flex;flex-direction:column;gap:12px}.docs-steps{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.docs-step h4{margin:0 0 6px;font-size:14px}.docs-step p{margin:0;color:#1f1c16b3;font-size:13px;line-height:1.6}.docs-callout{background:#1f1c160f;border-radius:12px;padding:12px;border:1px dashed rgba(31,28,22,.24);color:#1f1c16c7;font-size:12px}.docs-code{background:#141414;color:#f0f0f0;border-radius:10px;padding:12px;margin:10px 0 0;overflow:auto;font-size:12px}.docs-code code{font-family:IBM Plex Mono,monospace;white-space:pre}.docs-list{margin:0;padding-left:18px;color:#1f1c16b3;font-size:13px;line-height:1.6}.docs-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.docs-card h4{margin:0 0 6px;font-size:14px}.docs-card p{margin:0;color:#1f1c16b3;font-size:13px}.docs-faq .docs-q+.docs-q{margin-top:10px}.docs-q strong{display:block;font-size:13px;margin-bottom:4px}.docs-q p{margin:0;color:#1f1c16b3;font-size:13px}.sidebar,.app-topbar{position:fixed;top:0;left:0;bottom:0;width:240px;transition:width .2s ease,padding .2s ease;padding:18px 16px;display:flex;flex-direction:column;align-items:stretch;gap:18px;background:#f7f2ebeb;border-right:1px solid rgba(27,26,23,.08);box-shadow:0 24px 40px #17141014;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2}.app-topbar-left,.app-topbar-right,.sidebar-top,.sidebar-bottom{display:flex;flex-direction:column;align-items:stretch;gap:18px}.sidebar-bottom{margin-top:auto}.app-topbar-right{margin-top:auto;gap:12px}.app-mark{display:flex;align-items:center}.sidebar-toggle{align-self:center;width:32px;height:32px;border-radius:10px;border:1px solid rgba(126,154,204,.52);background:#f6fafffa;color:#18324d;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 16px #0814273d;transition:transform .2s ease,box-shadow .2s ease}.sidebar-toggle:hover{transform:translateY(-1px);box-shadow:0 12px 20px #1714101f}.sidebar-toggle:active{transform:translateY(0)}.toggle-arrow{font-size:12px;line-height:1;color:#18324d}body.sidebar-collapsed .toggle-arrow{transform:rotate(180deg)}body.sidebar-collapsed .sidebar,body.sidebar-collapsed .app-topbar{width:72px;padding:18px 10px}body.sidebar-collapsed .layout.app-only{width:calc(100% - 72px);margin-left:72px}body.sidebar-collapsed .app-mark-label,body.sidebar-collapsed .nav-text{display:none}body.sidebar-collapsed .nav-link{justify-content:center;padding:8px}body.sidebar-collapsed .app-mark{justify-content:center}.app-mark-label{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--ink);padding:6px 8px;border-radius:0;font-size:12px;letter-spacing:.12em;font-weight:600}.app-nav{display:flex;flex-direction:column;align-items:stretch;gap:14px}.nav-link-docs{margin-left:0}.nav-link{border:1px solid transparent;background:transparent;color:var(--ink);padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;letter-spacing:.01em;box-shadow:none;transition:background .2s ease,color .2s ease,border-color .2s ease;text-decoration:none;display:flex;align-items:center;gap:10px}.nav-link .nav-icon{width:16px;height:16px;flex:0 0 16px;font-size:15px;line-height:16px;color:var(--nav-icon-color, currentColor)}.nav-link[data-icon=overview] .nav-icon{--nav-icon-color: #2d6b5f}.nav-link[data-icon=sessions] .nav-icon{--nav-icon-color: #345d9b}.nav-link[data-icon=projects] .nav-icon{--nav-icon-color: #8a5a2b}.nav-link[data-icon=devices] .nav-icon{--nav-icon-color: #3a6a85}.nav-link[data-icon=tools] .nav-icon{--nav-icon-color: #4b7b6a}.nav-link[data-icon=docs] .nav-icon{--nav-icon-color: #5f5a2f}.nav-link:hover{background:#1f1c160f;border-color:#1f1c161f}.nav-link.active{background:#fff;color:var(--ink);border-color:#1f1c161f}.sidebar-group{display:grid;gap:6px}.sidebar-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#1f1c1673;margin:6px 6px 4px}.user-cluster{display:flex;align-items:center;gap:8px;padding:0;border-radius:0;background:transparent;border:none;position:relative;z-index:2;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate}.avatar-button{border:none;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.avatar-image{width:24px;height:24px;border-radius:50%;background:#1f1c161f;box-shadow:inset 0 0 0 1px #1f1c161f}.caret{width:8px;height:8px;border-right:1.5px solid rgba(31,28,22,.6);border-bottom:1.5px solid rgba(31,28,22,.6);transform:rotate(45deg);margin-top:-2px}.user-action.active{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 12px 30px var(--shadow)}.user-menu{position:absolute;top:34px;right:0;min-width:176px;padding:6px;border-radius:8px;background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 36px var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:4px;z-index:5}.user-menu-header{display:flex;align-items:center;gap:6px;padding:3px 6px 4px}.user-menu-title{font-weight:600;font-size:12px;color:var(--ink)}.user-menu-subtitle{font-size:10px;color:#1f1c168c}.user-menu-avatar{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffe6d2,#f1b79d 55%,#c06b57);box-shadow:inset 0 0 0 1px #ffffff59}.user-menu-meta{display:flex;flex-direction:column;gap:2px}.user-menu-group{display:flex;flex-direction:column;gap:1px}.menu-item{width:100%;padding:5px 6px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--ink);display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;cursor:pointer;box-shadow:none;text-decoration:none}.menu-item:hover{background:#1f1c160f;border-color:#1f1c1614;transform:none;box-shadow:none}.menu-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:#1f1c16b3;font-size:12px}.icon-download:after{content:"";position:absolute;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:5px solid rgba(255,255,255,.7);bottom:2px;left:3px}.icon-doc:after{content:"";position:absolute;width:6px;height:1.5px;background:#ffffffb3;top:4px;left:3px;box-shadow:0 3px #ffffffb3,0 6px #ffffffb3}.icon-logout:after{content:"";position:absolute;width:5px;height:5px;border-top:1.4px solid rgba(255,255,255,.7);border-right:1.4px solid rgba(255,255,255,.7);transform:rotate(45deg);right:1px;top:3px}.app-hero{display:flex;align-items:flex-end;justify-content:space-between}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}.brand{max-width:100%}.brand-tag{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);padding:6px 12px;border-radius:999px;font-size:11px;letter-spacing:.2em;font-weight:600;margin-bottom:12px}.header h1{margin:0 0 8px;font-size:clamp(32px,4vw,46px);font-family:Fraunces,serif}.header p{margin:0;font-size:15px;color:#1f1c16b3}.header-actions{display:flex;gap:12px;align-items:center}button{border:1px solid rgba(27,26,23,.2);background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:14px;cursor:pointer;font-weight:600;font-family:IBM Plex Sans,sans-serif;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:0 14px 24px var(--shadow-soft)}.ghost{background:transparent;color:var(--ink);box-shadow:none;border-color:#1b1a1733}.ghost:hover{transform:translateY(-1px);box-shadow:none}button:hover{transform:translateY(-2px);box-shadow:0 18px 30px var(--shadow);border-color:#1b1a174d}button.nav-link{background:transparent;color:var(--ink);border:1px solid transparent;box-shadow:none;padding:8px 14px;font-size:13px;letter-spacing:.02em}button.nav-link:hover{transform:translateY(-1px);box-shadow:0 10px 24px var(--shadow)}button.nav-link.active{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 14px 28px var(--shadow)}button.user-action:not(.active){box-shadow:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.metric-card{background:var(--surface);border-radius:20px;padding:18px 20px;box-shadow:none;border:1px solid rgba(27,26,23,.08);position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;inset:auto -30% -60% -30%;height:120px;background:radial-gradient(circle,rgba(234,106,74,.3) 0%,transparent 70%);opacity:.5}.metric-label{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#1f1c1680}.metric-value{font-size:22px;font-weight:600;margin-top:10px;position:relative;z-index:1}.panel{background:var(--surface);border-radius:22px;padding:24px;box-shadow:none;border:1px solid rgba(27,26,23,.08)}.panel h2{margin:0 0 6px;font-size:20px}.panel h3{margin:0 0 8px;font-size:16px}.sync-hint{border:1px dashed rgba(234,106,74,.4);background:#ffffffb3}.sync-hint-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.sync-hint-steps{display:grid;gap:6px;font-size:12px;color:#1f1c16a6}.sync-command-row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.sync-step code{font-family:IBM Plex Mono,monospace;font-size:12px;background:#1f1c1614;padding:2px 6px;border-radius:6px}.auth{width:min(420px,90vw);margin:0 auto}.auth-body{display:grid;gap:14px}.auth-body label{display:grid;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#1f1c1699}.auth-body input{border-radius:12px;border:1px solid var(--border);background:var(--surface-soft);padding:10px 12px;font-size:14px;font-family:IBM Plex Sans,sans-serif;color:var(--ink)}.auth-actions{display:flex;gap:12px}.hidden{display:none!important}.app-section,.project-view,.settings{animation:view-fade .16s ease}@keyframes view-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.auth-only #dashboard-view,.auth-only #settings-view,.auth-only #project-view,.auth-only #device-view,.auth-only .app-topbar{display:none}.auth-only #auth-view{display:block}.layout:not(.app-only) .user-cluster{display:none}@media (max-width: 900px){.landing-hero{grid-template-columns:1fr}.landing-header{flex-direction:column;align-items:flex-start}.landing-cta{align-items:flex-start}.landing-showcase{grid-template-columns:1fr}}.settings{display:grid;gap:20px;overflow:hidden}.settings-actions{display:flex;gap:10px}.settings-body{display:grid;gap:18px}.settings-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.settings-row label{display:grid;gap:6px;font-size:12px;color:#1f1c16b3}.settings-row input,.settings-row select{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:8px 12px;font-family:IBM Plex Sans,sans-serif}.settings-table{display:grid;gap:10px;overflow-x:auto;padding-bottom:6px}.settings-table-head,.pricing-row{display:grid;grid-template-columns:1.3fr .8fr repeat(4,1fr) auto;gap:10px;align-items:center;min-width:720px}.settings-table-head{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#1f1c168c}.pricing-row input{border:1px solid var(--border);border-radius:10px;padding:6px 10px;font-family:IBM Plex Sans,sans-serif}.settings-table-body{display:grid;gap:10px}.device-panel{display:grid;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--border);background:var(--surface-soft)}.device-header h3{margin:0 0 4px}.device-row{display:grid;grid-template-columns:1fr auto;gap:10px}.device-row input{border-radius:12px;border:1px solid var(--border);background:#fff;padding:10px 12px;font-size:13px;font-family:IBM Plex Sans,sans-serif}.device-token{font-family:IBM Plex Mono,monospace;font-size:12px;background:#fff;border:1px dashed var(--border);border-radius:10px;padding:10px 12px;word-break:break-all}.analytics{display:grid;gap:16px}.heatmap-wrap{display:grid;gap:10px;max-width:100%;overflow-x:hidden;padding-bottom:4px;--heatmap-gap: clamp(2px, .4vw, 6px)}.heatmap-months{display:grid;grid-auto-flow:column;gap:var(--heatmap-gap);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#1f1c1680;width:100%}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:var(--heatmap-gap);align-items:center;width:100%}.heatmap-cell{width:100%;height:auto;aspect-ratio:1 / 1;border-radius:3px;background:#f0e7d7;border:1px solid rgba(31,28,22,.05)}.heatmap-cell.out-of-range{opacity:0}.heatmap-cell.level-1{background:#ea6a4a40;border-color:#ea6a4a33}.heatmap-cell.level-2{background:#ea6a4a73;border-color:#ea6a4a4d}.heatmap-cell.level-3{background:#ea6a4aa6;border-color:#ea6a4a66}.heatmap-cell.level-4{background:#ea6a4ae6;border-color:#ea6a4a80}.heatmap-legend{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#1f1c1680}.legend-scale{display:inline-flex;align-items:center;gap:6px}.legend-scale .heatmap-cell{width:10px;height:10px}.chart-grid{display:grid;grid-template-columns:1fr;gap:18px}.chart-card{display:grid;gap:14px;padding:8px 0 2px;background:transparent;border:none}.chart-body{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:stretch;padding:0 6px}.y-axis{display:grid;grid-template-rows:repeat(5,1fr);font-size:10px;color:#1f1c1699;justify-items:end;padding:6px 0 2px}.y-tick{line-height:1}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 6px}.chart-header h3{margin:0 0 4px;font-size:16px}.chart-meta{font-size:11px;color:#1f1c1699;max-width:60%;text-align:right;white-space:normal;line-height:1.3}.bar-chart{display:grid;grid-template-columns:repeat(var(--bars, 90),minmax(2px,1fr));align-items:end;gap:1px;height:140px;padding:6px 2px 2px;background:transparent;border-radius:0;border:none;position:relative}.bar{background:#2c6f6a8c;border-radius:4px 4px 2px 2px;min-height:2px;position:relative;transition:opacity .2s ease,transform .2s ease}.bar.cost{background:#ea6a4a8c}.bar:hover{opacity:.9;transform:translateY(-2px)}.bar:hover:after{content:attr(data-date) " · " attr(data-value);position:absolute;bottom:100%;left:50%;transform:translate(-50%,-6px);background:#1f1c16eb;color:#fff;font-size:10px;padding:4px 6px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:2}.bar.clipped:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:6px solid rgba(31,28,22,.65)}.bar-labels{display:grid;grid-template-columns:repeat(var(--bars, 90),minmax(2px,1fr));gap:1px;padding:0 6px 0 82px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#1f1c1680}.bar-labels span{text-align:center}.insights .mini-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.mini-card{background:var(--surface);border-radius:16px;padding:14px 16px;border:1px solid var(--border);box-shadow:0 12px 24px var(--shadow)}.mini-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#1f1c168c}.mini-value{font-size:18px;font-weight:600;margin-top:8px}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.breakdown-card{padding:14px 16px}.breakdown-card h3{margin:0 0 12px;font-size:16px}.bar-list{display:grid;gap:12px}.bar-row-head{display:flex;justify-content:space-between;font-size:12px;color:#1f1c16b3;margin-bottom:6px}.bar-row-track{background:#1f1c1614;border-radius:999px;height:8px;overflow:hidden}.project-row{cursor:pointer;border-radius:14px;padding:8px;transition:transform .2s ease,box-shadow .2s ease}.project-row:hover{transform:translateY(-1px);box-shadow:0 10px 18px var(--shadow)}.project-row-disabled{cursor:default;opacity:.6;box-shadow:none}.bar-row-fill{height:100%;background:linear-gradient(90deg,#ea6a4ab3,#2c6f6ab3);border-radius:999px}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.time-card{padding:16px 18px;display:flex;flex-direction:column;gap:8px}.time-card h3{margin:0;font-size:16px}.project-view{display:flex;flex-direction:column;gap:18px}.project-body{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:24px}.project-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:24px;align-items:start}.project-main{display:flex;flex-direction:column;gap:24px}.project-session-view{display:flex;flex-direction:column;gap:16px}.project-session-header{display:flex;align-items:center;gap:12px}.project-session-title{font-size:18px;font-weight:600}.project-session-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:24px}.project-session-main{min-width:0}.project-session-meta{position:sticky;top:84px;align-self:start}.project-meta-card{max-height:calc(100vh - 160px);overflow:auto}.meta-list{display:grid;gap:8px;font-size:12px}.meta-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding-bottom:6px}.meta-row span:last-child{color:#1f1c16b3;text-align:right}.project-list-panel{background:var(--surface-soft);border-radius:20px;padding:16px;border:1px solid var(--border);box-shadow:0 14px 28px var(--shadow)}.project-list-header{display:grid;gap:12px}.project-list{display:grid;gap:10px;margin-top:12px;max-height:none;overflow:visible}.project-item{text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid transparent;background:#ffffffd9;box-shadow:0 10px 18px var(--shadow);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;font-family:IBM Plex Sans,sans-serif;width:100%;min-width:0}.project-item>div{min-width:0}.tool-row{display:flex;align-items:center;gap:10px;min-width:0}.tool-logo{width:32px;height:32px;border-radius:8px;border:1px solid rgba(31,28,22,.12);background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tool-logo img{width:22px;height:22px;display:block}.tool-logo-fallback{background:#1f1c160f}.tool-logo-text{font-size:12px;font-weight:700;color:#1f1c16b3}.project-item:hover{transform:translateY(-1px);box-shadow:0 16px 24px var(--shadow)}.project-item.active{border-color:#ea6a4a73;background:#fffffff2}.project-name{font-weight:600;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-meta{font-size:11px;color:#1f1c1699;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-cost{font-size:12px;font-weight:600;color:var(--ink);flex-shrink:0}.project-content{display:flex;flex-direction:column;gap:22px}.project-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#ea6a4a1f,#2c6f6a1f);border:1px solid rgba(31,28,22,.08)}.project-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#1f1c1680;margin-bottom:6px}.tool-title-row{display:inline-flex;align-items:center;gap:10px}.project-pulse{display:grid;gap:6px;align-content:start;min-width:140px}.project-pulse-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#1f1c168c}.project-metrics .metric-card{box-shadow:0 14px 24px var(--shadow)}.device-view.panel{background:transparent;border:none;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.device-view .panel{background:transparent;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:0}.device-view .project-list-panel{background:transparent;border-radius:0;box-shadow:none;border:none;padding:0 10px}.device-header{align-items:center}.device-actions{display:flex;align-items:center;gap:12px}.device-search input{min-width:220px;width:min(260px,40vw)}.device-grid-view,.device-detail-view{margin-top:12px}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.device-card{text-align:left;display:grid;gap:10px;padding:14px;border-radius:12px;border:1px solid rgba(27,26,23,.08);background:#fffc;cursor:pointer;transition:background .2s ease,border-color .2s ease;width:100%}.device-card:hover{background:#1f1c160a;border-color:#1b1a1729}.device-card.active{background:#1f1c160f;border-color:#1b1a1733}.device-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.device-card-info{display:flex;gap:10px;align-items:flex-start;min-width:0}.device-logo{width:28px;height:28px;border-radius:8px;border:1px solid rgba(27,26,23,.12);background:#ffffffe6;display:inline-flex;align-items:center;justify-content:center;color:#1f1c16b3;flex:0 0 auto}.device-logo-mac{color:#1f1c16d9}.device-logo-linux,.device-logo-windows{color:#1f1c16cc}.device-card-title{font-weight:600;font-size:14px}.device-card-meta{font-size:12px;color:#1f1c1699}.device-card-cost{font-size:13px;color:#1f1c16b3;white-space:nowrap}.device-card-sub{font-size:12px;color:#1f1c168c}.device-view .project-hero{background:transparent;border-radius:0;border:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:6px 0;gap:10px;width:100%}.device-view .metric-card{background:transparent;border-radius:12px;box-shadow:none;border:1px solid rgba(31,28,22,.08);padding:12px 14px}.device-view .metric-card:after{display:none}.device-view .project-body{grid-template-columns:minmax(200px,220px) minmax(0,1fr);gap:18px}.device-view .project-content{grid-template-columns:1fr;align-items:stretch;gap:12px}.device-view .project-main{gap:12px}.device-view .project-list{border-top:1px solid rgba(31,28,22,.08);margin-top:8px;padding-top:6px}.device-view .project-list-header h3{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#1f1c168c}.device-view .project-hero h2{font-size:20px;margin-bottom:4px}.device-view .project-eyebrow{letter-spacing:.16em}.device-view .project-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;width:100%}.tool-view .project-metrics{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.tool-view .project-content{display:flex;flex-direction:column;align-items:stretch;width:100%}.tool-view .breakdown-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}.tool-view .project-hero{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center}@media (max-width: 1200px){.tool-view .breakdown-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 900px){.tool-view .breakdown-grid,.tool-view .project-hero{grid-template-columns:1fr}}@media (max-width: 1100px){.tool-view .project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 800px){.tool-view .project-metrics{grid-template-columns:1fr}}.device-view .breakdown-grid{grid-template-columns:1fr;gap:12px}.device-view .breakdown-card{padding:12px 14px}.device-view .panel.chart-grid,.device-view .panel.breakdown,.device-view .panel.time-topics{border-top:none;padding-top:0}.device-view .panel.breakdown .panel-header,.device-view .panel.time-topics .panel-header{border-bottom:none;padding-bottom:0}.device-view .chart-grid{gap:14px}.device-view .chart-card,.device-view .chart-body{gap:10px}.device-view .y-axis{padding:4px 0 2px}.device-view h2{font-size:18px;font-weight:600;letter-spacing:.01em}.device-view h3{font-size:14px;font-weight:600;letter-spacing:.01em}.device-view .status{font-size:12px;color:#1f1c168c}.device-view .metric-label{font-size:11px;letter-spacing:.08em;color:#1f1c1680}.device-view .metric-value{font-size:18px;margin-top:4px}.device-view .project-name{font-size:13px;font-weight:600}.device-view .project-meta{font-size:10px;color:#1f1c168c}.device-view .project-cost{font-size:11px;font-weight:600}.device-view .project-eyebrow,.device-view .project-pulse-label{font-size:10px;letter-spacing:.14em}.device-view .project-pulse{min-width:120px}.device-view .time-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.device-view .time-card h3{margin:0;font-size:15px}.device-view .project-session-list{gap:10px}.device-view .project-session{padding:8px 10px}.project-breakdown .breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tool-view .project-breakdown .breakdown-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}@media (max-width: 1200px){.tool-view .project-breakdown .breakdown-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 900px){.tool-view .project-breakdown .breakdown-grid{grid-template-columns:1fr}}.project-session-list{display:grid;gap:12px}.project-session{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffffb3}.project-session.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.project-session.clickable:hover{transform:translateY(-1px);box-shadow:0 12px 26px #19140f1f}.project-session-title{font-weight:600;font-size:13px;margin-bottom:6px}.project-session-header .project-session-title{font-size:18px;margin-bottom:0}.project-session-meta{font-size:11px;color:#1f1c1699}.hourly-chart{display:grid;grid-template-columns:repeat(24,minmax(4px,1fr));gap:4px;height:120px;align-items:end;padding:6px 2px 2px;border-radius:14px;border:1px solid var(--border);background:var(--surface-soft)}.hour-bar{background:#2c6f6a8c;border-radius:4px 4px 2px 2px;min-height:2px}.hourly-labels{display:grid;grid-template-columns:repeat(24,minmax(4px,1fr));gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#1f1c1680}.hourly-labels span{text-align:center}.split-bars{display:grid;gap:12px}.split-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;font-size:12px;color:#1f1c16b3}.split-track{height:8px;border-radius:999px;background:#1f1c1614;overflow:hidden}.split-fill{height:100%;background:#2c6f6a99;border-radius:999px}.split-fill.alt{background:#ea6a4a99}.keyword-cloud{display:flex;flex-wrap:wrap;gap:8px}.keyword{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:12px;color:#1f1c16b3}.trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.trend-card h3{margin:0 0 6px;font-size:16px}.trend-meta{font-size:12px;color:#1f1c1699;margin-bottom:8px}.sparkline svg,.multi-line svg{width:100%;height:80px;display:block}.multi-line .legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:11px;color:#1f1c1699}.multi-line .legend .legend-item{border:none;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;opacity:1}.multi-line .legend .legend-item.is-muted{opacity:.45}.multi-line .legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--swatch);margin-right:6px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.panel-header input{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;padding:8px 16px;font-family:IBM Plex Sans,sans-serif}.range-tabs{display:inline-flex;align-items:center;gap:8px}.range-tab{border:1px solid var(--border);background:var(--surface-soft);color:var(--ink);border-radius:999px;padding:5px 11px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;box-shadow:none}.range-tab.active{border-color:var(--accent);color:var(--accent)}.tool-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}.tab{border:1px solid var(--border);background:var(--surface-soft);padding:6px 14px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;font-family:IBM Plex Sans,sans-serif;transition:transform .2s ease,border-color .2s ease}.tab-label{line-height:1}.tab-tool-icon{width:16px;height:16px;border-radius:5px;border:1px solid rgba(31,28,22,.18);background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.tab-tool-icon img{width:12px;height:12px;display:block}.tab-tool-icon-fallback{background:#1f1c1614}.tab-tool-icon-text{font-size:9px;font-weight:700;color:#1f1c16b8}.tab.active{border-color:var(--accent);color:var(--accent);background:#ea6a4a1a}.tab:hover{transform:translateY(-1px)}.grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}#sessions-panel{grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:28px}#sessions-panel .session-list{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 120px)}#sessions-panel .list{overflow:auto;padding-right:6px;margin-top:8px}.grid>*{min-width:0}.detail{border-left:1px solid var(--border);padding-left:24px;overflow-wrap:anywhere;min-width:0;max-width:100%;display:flex;flex-direction:column}.list{display:grid;gap:16px;margin-top:16px}.panel.grid>div:first-child{position:sticky;top:24px;align-self:start}.group-header{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:#1f1c1680;margin-top:12px}.card{background:#fff;border-radius:16px;padding:16px 20px;border:1px solid var(--border);box-shadow:0 14px 28px #1f1c1614;animation:fadeUp .4s ease both;animation-delay:var(--delay, 0ms);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);border-color:#ea6a4a99}.card.active{border-color:var(--accent);box-shadow:0 16px 36px #ea6a4a40}.card-title{font-weight:600;margin-bottom:6px;font-size:16px;word-break:break-word}.card-meta{font-size:12px;color:#1f1c1699;word-break:break-word}.detail-header{margin-bottom:16px;overflow-wrap:anywhere;max-width:100%}.detail-summary{position:sticky;top:12px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:-6px 0 12px;background:#ffffffeb;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 24px #19140f14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-left{display:flex;align-items:center;min-width:0}.summary-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.summary-meta{display:flex;gap:10px;font-size:11px;color:#1f1c1699;white-space:nowrap}.summary-meta span{padding-left:10px;position:relative}.summary-meta span:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:#1f1c164d;transform:translateY(-50%)}@media (max-width: 720px){.detail-summary{flex-direction:column;align-items:flex-start}.summary-title{max-width:100%}.summary-meta{flex-wrap:wrap}}.detail-title{font-weight:600;font-size:18px;margin-bottom:8px;overflow-wrap:anywhere}.detail-meta{font-size:12px;color:#1f1c1699;overflow-wrap:anywhere;max-width:100%;white-space:normal}.detail-id{word-break:break-all;white-space:normal}.messages{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin-top:12px}.detail-body{min-height:0}.session-detail{display:flex;flex-direction:column;border-left:none;padding-left:0}@media (max-width: 960px){.app-topbar{position:static;width:auto;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid rgba(31,28,22,.08)}.app-topbar-left,.app-topbar-right{flex-direction:row;align-items:center;gap:12px}.app-topbar-right{margin-top:0;margin-left:auto}.app-nav{flex-direction:row;flex-wrap:wrap}.app-body,#settings-view,#project-view,#device-view{margin-left:0}.layout.app-only{width:90%;max-width:1400px;margin:0 auto}.grid.detail-open .session-list{display:none}.grid.detail-open .session-detail{display:flex}}.message{background:var(--surface);border-radius:12px;padding:12px 14px;border:1px solid var(--border);box-shadow:inset 0 0 0 1px #1f1c1605;max-width:78%;width:fit-content;word-break:break-word}.message.user{border-color:#345d9b47;background:#345d9b14;align-self:flex-end}.message.assistant{border-color:#ea6a4a40;background:#ea6a4a0f;align-self:flex-start}.message.system{border-color:#2d5a9c40;background:#2d5a9c0f;align-self:center;text-align:center}.message.other{border-color:#1f1c162e;align-self:flex-start}.message-role{display:inline-flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#1f1c1699;margin-bottom:6px}.message.user .message-role{justify-content:flex-end;width:100%}.message-role i{font-size:12px;color:#1f1c168c}.message-tokens{margin-top:8px;font-size:11px;color:#1f1c168c;text-transform:uppercase;letter-spacing:.08em}.message-body{font-size:13px;line-height:1.3;color:#1f1c16e6;overflow-wrap:anywhere;white-space:normal}.message-body>*+*{margin-top:4px}.message-body p{margin:0}.message-body h1,.message-body h2,.message-body h3,.message-body h4,.message-body h5,.message-body h6{margin:0;line-height:1.3}.message-body ul,.message-body ol{margin:0;padding-left:16px}.message-body li,.message-body pre{margin:0}.message-body br{line-height:1.2}.message-body p{margin:0 0 10px}.message-body p:last-child{margin-bottom:0}.message-body h1,.message-body h2,.message-body h3,.message-body h4,.message-body h5,.message-body h6{margin:0 0 8px;font-size:14px;letter-spacing:.02em}.message-body ul,.message-body ol{margin:0 0 10px 18px;padding:0}.message-body li{margin:4px 0}.message-body blockquote{margin:0 0 10px;padding-left:12px;border-left:3px solid rgba(31,28,22,.2);color:#1f1c16b3}.message-body code{font-family:IBM Plex Mono,monospace;font-size:12px;background:#1f1c1614;padding:2px 4px;border-radius:4px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.message-body pre{margin:0 0 10px;padding:10px 12px;background:var(--surface-soft);border-radius:10px;border:1px solid var(--border);overflow-x:auto;white-space:pre;max-width:100%;min-width:0}.message-body pre code{background:transparent;padding:0;border-radius:0;white-space:pre;display:block}.message-body .diff-block{margin:10px 0;border-radius:12px;overflow:auto;border:1px solid rgba(22,26,25,.3);box-shadow:inset 0 0 0 1px #ffffff05}.message-body .diff-block .d2h-wrapper{background:#0f1110;color:#d6ddd8}.message-body .diff-block .d2h-file-header{background:linear-gradient(120deg,#1a1f1c,#121614);color:#dce2dd;border-bottom:1px solid rgba(255,255,255,.06);padding:8px 12px;font-family:IBM Plex Sans,Inter,system-ui,sans-serif;font-size:12px;letter-spacing:.02em}.message-body .diff-block .d2h-file-name{font-weight:600}.message-body .diff-block .d2h-code-wrapper{background:#0f1110}.message-body .diff-block .d2h-diff-table{width:100%;border-collapse:collapse;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.6}.message-body .diff-block .d2h-code-side-linenumber,.message-body .diff-block .d2h-code-linenumber{background:#121513;color:#d6ddd873;border-right:1px solid rgba(255,255,255,.05);padding:0 10px;text-align:right;width:36px}.message-body .diff-block .d2h-code-line{background:#0f1110}.message-body .diff-block .d2h-code-line-ctn{display:block;padding:0 12px;white-space:pre;min-height:20px}.message-body .diff-block .d2h-del .d2h-code-line-ctn,.message-body .diff-block .d2h-del .d2h-code-line{background:#d6595929;color:#f2b3b3}.message-body .diff-block .d2h-ins .d2h-code-line-ctn,.message-body .diff-block .d2h-ins .d2h-code-line{background:#52a77e2e;color:#c8f1da}.message-body .diff-block .d2h-cntx .d2h-code-line-ctn{color:#d6ddd8d9}.message-body .diff-block .d2h-info{background:#161a18;color:#d6ddd8b3}.message-body .diff-block .d2h-code-side-emptyplaceholder,.message-body .diff-block .d2h-emptyplaceholder{background:#0f1110}.message-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(234,106,74,.35)}.message-body a:hover{border-bottom-color:#ea6a4acc}.status{font-size:13px;color:#1f1c1699}.empty{padding:16px;border-radius:12px;background:var(--paper-deep);font-size:14px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 960px){.grid{grid-template-columns:1fr}.detail{border-left:none;padding-left:0;border-top:1px solid rgba(31,28,22,.1);padding-top:24px}.project-body,.project-content,.project-session-layout{grid-template-columns:1fr}.project-session-meta{position:static}.project-list{max-height:none}.app-topbar{position:static}.app-topbar-left,.app-topbar-right{width:100%;justify-content:space-between}.app-nav{width:100%}.app-hero{flex-direction:column;align-items:flex-start;gap:16px}}@media (max-width: 640px){.layout{padding:32px 18px 48px}.header h1,.app-hero h1{font-size:30px}.metrics{grid-template-columns:1fr}.user-cluster{width:100%;justify-content:space-between;flex-wrap:wrap;position:static;box-shadow:none}.user-menu{position:static;box-shadow:none;border-radius:12px}}:root{color-scheme:dark;--ink: #e8edf7;--paper: #0a0d15;--paper-deep: #080b13;--surface: rgba(15, 21, 33, .82);--surface-soft: rgba(14, 20, 31, .58);--border: rgba(123, 146, 191, .28);--accent: #6bd9d2;--teal: #6bd9d2;--shadow: rgba(3, 6, 14, .56);--shadow-soft: rgba(4, 8, 18, .46);--ring: rgba(107, 217, 210, .42)}html,body{background:radial-gradient(circle at 10% -10%,#1c2741,#1c274100 52%),radial-gradient(circle at 90% -20%,#14384f,#14384f00 50%),linear-gradient(170deg,#070b12,#080d17 45%,#060913);color:var(--ink)}body:before{background:radial-gradient(circle at 16% 24%,rgba(107,217,210,.12),transparent 58%),radial-gradient(circle at 82% 12%,rgba(139,169,255,.14),transparent 54%);opacity:1}.sidebar,.app-topbar{background:linear-gradient(170deg,#0e1420e0,#090d17d1);border-right:1px solid rgba(123,146,191,.28);box-shadow:inset -1px 0 #ffffff08,0 26px 52px #02060f80}.layout.app-only .panel,.layout.app-only .metric-card,.layout.app-only .chart-card,.layout.app-only .breakdown-card,.layout.app-only .time-card,.layout.app-only .project-list-panel,.layout.app-only .project-session,.layout.app-only .message,.panel,.metric-card,.landing-card,.preview-card,.docs-section,.pricing-card,.showcase-panel,.landing-cta,.landing-metrics,.step-card,.faq-grid details{background:linear-gradient(160deg,#0e1420db,#0a0e18c2);border-color:#7b92bf47;box-shadow:0 22px 40px #02060f73}.showcase-panel.large,.preview-card.ghost-card{background:linear-gradient(135deg,#111826eb,#0c1c2bc7)}.app-mark-label,.brand-tag,.preview-pill{background:#6bd9d21f;color:#8de7e1;border:1px solid rgba(107,217,210,.28)}.landing-brand-text,.landing-kicker,.metric-label,.preview-label,.pricing-tier,.pricing-sub,.showcase-title,.sidebar-title,.docs-pill{color:#bed0f6b8}.header p,.landing-hero-copy p,.landing-card p,.landing-steps p,.landing-cta p,.docs-hero p,.docs-step p,.docs-list,.docs-card p,.docs-q p,.pricing-card p,.pricing-card ul,.faq-grid p,.landing-showcase ul,.preview-rows,.chart-meta,.y-axis,.settings-row label,.sync-hint-steps,.sync-hint,.device-token{color:#d3dff5c7}.docs-section-title span{color:#bed0f6d1}.docs-callout{background:#82adff1f;border-color:#91baff66;color:#e8f1ffeb}.nav-link{color:#dde7f8e0}.nav-link:hover{background:#6bd9d21a;border-color:#6bd9d23d}.nav-link.active{background:#6bd9d224;border-color:#6bd9d25c;color:#d8fbf8}.user-menu{background:#0c121df0;border-color:#7b92bf52;box-shadow:0 20px 34px #02060fa3}.menu-item,.menu-icon,.user-menu-title,.user-menu-subtitle,.caret{color:#dae5f8e0}button{background:linear-gradient(140deg,#62d5cf,#4cb0cb);color:#04131a;border-color:#6bd9d273;box-shadow:0 14px 28px #05172380}.ghost,button.nav-link{background:#6bd9d20f;color:#dde7f8eb;border-color:#7b92bf4d}button:hover{box-shadow:0 18px 34px #0723338f;border-color:#84e6df8c}.bar{background:linear-gradient(180deg,#6bd9d2d6,#6bd9d242)}.bar.cost{background:linear-gradient(180deg,#84abffe0,#84abff3d)}.heatmap-cell{background:#3747694d;border-color:#8296c529}.heatmap-cell.level-1{background:#6bd9d233;border-color:#6bd9d238}.heatmap-cell.level-2{background:#6bd9d25c;border-color:#6bd9d252}.heatmap-cell.level-3{background:#6bd9d285;border-color:#6bd9d26b}.heatmap-cell.level-4{background:#6bd9d2bf;border-color:#6bd9d294}.auth-only{background:radial-gradient(circle at 12% 8%,rgba(107,217,210,.16),transparent 44%),radial-gradient(circle at 86% 0%,rgba(132,171,255,.15),transparent 42%)}#sessions-panel .card{background:linear-gradient(160deg,#111826e6,#0a0f19d6);border-color:#7b92bf52;box-shadow:0 16px 30px #02060f70}#sessions-panel .card-title{color:#e9f1fff5}#sessions-panel .card-meta,#sessions-panel .detail-meta,#sessions-panel .summary-meta,#sessions-panel .status{color:#cad8f2d6}#sessions-panel .group-header{color:#b5c9eebd}#sessions-panel .detail-summary{background:#0c121eeb;border-color:#7b92bf5c;box-shadow:0 14px 28px #02060f80}#sessions-panel .summary-title,#sessions-panel .detail-title{color:#ecf4fffa}#sessions-panel .message{border-color:#7b92bf5c;box-shadow:inset 0 0 0 1px #a0baed14}#sessions-panel .message.user{background:#4c91e533;border-color:#6fabfa73}#sessions-panel .message.assistant{background:#24607240;border-color:#6bd9d273}#sessions-panel .message.system{background:#4455853d;border-color:#84abff73}#sessions-panel .message-role,#sessions-panel .message-role i,#sessions-panel .message-tokens{color:#bed3f7db}#sessions-panel .message-body,#sessions-panel .message-body p,#sessions-panel .message-body li,#sessions-panel .message-body h1,#sessions-panel .message-body h2,#sessions-panel .message-body h3,#sessions-panel .message-body h4,#sessions-panel .message-body h5,#sessions-panel .message-body h6{color:#ecf4fff5}#sessions-panel .message-body blockquote{border-left-color:#6bd9d27a;color:#d6e4fce6}#sessions-panel .message-body code{background:#07101cc7;color:#c9f9f3fa;border:1px solid rgba(107,217,210,.25)}#sessions-panel .message-body pre{background:#060d18eb;border-color:#7b92bf66}#sessions-panel .message-body a{color:#8de7e1;border-bottom-color:#8de7e173}#sessions-panel .message-body a:hover{border-bottom-color:#8de7e1d9}#sessions-panel .panel-header h2{color:#ecf4fffa}#sessions-panel .panel-header input{background:#f5f9fff5;color:#0f1b2f;border-color:#7b92bf66}#sessions-panel .panel-header input::placeholder{color:#25385c94}#sessions-panel .tab{color:#d8e5fce6;border-color:#7b92bf5c;background:#101825b8}#sessions-panel .tab-tool-icon{border-color:#7b92bf6b}#sessions-panel .tab-tool-icon-fallback{background:#bcd1f826}#sessions-panel .tab-tool-icon-text{color:#ecf4fff2}#sessions-panel .tab.active{color:#8de7e1;border-color:#6bd9d29e;background:#6bd9d224;box-shadow:0 0 0 1px #6bd9d22e inset}#sessions-panel .tab:hover{color:#ecf4fffa;border-color:#84abff80;background:#1c273de0}.panel{box-shadow:0 16px 30px #02060f52}.metric-card,.chart-card,.breakdown-card,.time-card,.mini-card,.project-item,.project-session,.device-card,.pricing-card,.landing-card,.showcase-panel,.docs-section,.step-card,.faq-grid details,#sessions-panel .card,#sessions-panel .message{background:#ffffff05;border-color:#7b92bf38;box-shadow:none}:root{--ink: #f2f7ff;--surface: rgba(18, 29, 46, .9);--surface-soft: rgba(20, 32, 50, .82);--border: rgba(149, 177, 228, .38);--primary: #60d5f7}body:before{opacity:.72}.panel{background:linear-gradient(160deg,#111d2ef0,#0d1625eb);border-color:#95b1e457}.panel h2,.panel h3,.header h1,.detail-title,.summary-title,.card-title,.metric-value,.mini-value{color:#f2f7fffa}.status,.metric-label,.mini-label,.chart-meta,.bar-labels,.heatmap-months,.heatmap-legend,.detail-meta,.card-meta,.summary-meta,.sidebar-title,.landing-brand-text{color:#c6d8f8eb}.nav-link{color:#e4eefff2}.nav-link:hover{background:#6bd9d224}.nav-link.active{background:#6bd9d233;color:#e4fffc}.metric-card,.chart-card,.breakdown-card,.time-card,.mini-card{border-color:#95b1e44d}.bar-row-head{color:#dce9ffed}.bar-row-track{background:#5470a457}.heatmap-cell{background:#455c8859;border-color:#95b1e43d}.panel-header input,#sessions-panel .panel-header input{background:#f6fafffa;color:#0d1a2e;border-color:#7e9acc85}.panel-header input::placeholder,#sessions-panel .panel-header input::placeholder{color:#21395cb3}.device-view .status,.device-view .project-meta,.device-view .project-session-meta,.device-view .project-list-header h3{color:#cadcf8e6}.device-card{color:#e9f2fff5;background:#141f31db;border-color:#95b1e457;border-radius:14px;padding:18px 20px;min-height:116px;gap:12px;position:relative}.device-card:hover{background:#1b283eeb;border-color:#95b1e47a}.device-card.active{background:#21324bf2;border-color:#6bd9d28a}.device-card-title{color:#ecf5fffa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.device-card-meta,.device-card-sub{color:#c6d8f7e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.device-card-cost{color:#9cebe6;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;max-width:min(40%,11rem);min-width:0;position:absolute;right:20px;bottom:18px;z-index:1}.device-card-top{display:block;gap:0;align-items:stretch;min-width:0}.device-card-info{min-width:0;overflow:hidden}.device-card-sub{padding-right:min(42%,12rem)}.device-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.device-logo{background:#f5fafff5;border-color:#95b1e480;color:#0d1c31e6}#settings-view .device-panel{background:linear-gradient(165deg,#101b2ceb,#0c1423e6);border-color:#7fa8e56b}#settings-view .device-header h3{color:#f4f8fffa}#settings-view .device-header .status,#settings-view #install-status{color:#cedffaeb}#settings-view .device-row input{background:#f8fcfffa;border-color:#7fa8e58c;color:#0a1930;-webkit-text-fill-color:#0a1930;font-weight:600}#settings-view .device-row input::placeholder{color:#1b36639e;-webkit-text-fill-color:rgba(27,54,99,.62)}#settings-view .settings-table-head{color:#cfe0faeb}#settings-view .settings-row label{color:#d6e4fceb}.layout.app-only .project-item:hover{background:#1c293ff0;border-color:#95b1e475;box-shadow:none}.layout.app-only .project-item.active{background:#21324bfa;border-color:#6bd9d28f}.layout.app-only .project-item:hover .project-name,.layout.app-only .project-item:hover .project-meta,.layout.app-only .project-item:hover .project-cost,.layout.app-only .project-item.active .project-name,.layout.app-only .project-item.active .project-meta,.layout.app-only .project-item.active .project-cost,.layout.app-only .project-item .project-name{color:#ecf5fffa}.layout.app-only .project-item .project-meta{color:#c6d8f7eb}.layout.app-only .project-item .project-cost{color:#e6f2fffa}.project-view .project-session{background:#141f31e6;border-color:#95b1e457}.project-view .project-session.clickable:hover{background:#1b283ef2;border-color:#95b1e47a;box-shadow:none}.project-view .project-session-title{color:#ecf5fffa}.project-view .project-session-meta{color:#c6d8f7eb}.project-list-panel,.project-hero,.project-main,.project-side{box-shadow:none}.layout.app-only .panel,.layout.app-only .metric-card,.layout.app-only .chart-card,.layout.app-only .breakdown-card,.layout.app-only .time-card,.layout.app-only .project-list-panel,.layout.app-only .project-session,.layout.app-only .message{background:#ffffff05;border-color:#7b92bf38;box-shadow:none}.project-view .project-time>h3,.project-view .project-time>.status{color:#e8f3fff5}.project-view .project-time .time-card{background:#141f31e6;border:1px solid rgba(149,177,228,.34);border-radius:16px}.project-view .project-time .time-card h3{color:#eef6fffa}.project-view .project-time .hourly-labels{color:#c4d7f7e6}.project-view .project-time .hourly-chart{background:#0d1828e6;border-color:#95b1e461}.project-view .project-time .hour-bar{background:#6bd9d2bd}.project-view .project-time .split-row{color:#d6e4fcf2}.project-view .project-time .split-value{color:#eef6fff5}.project-view .project-time .split-track{background:#5270a659}#project-view .project-session-view .message{border-color:#7b92bf5c;box-shadow:inset 0 0 0 1px #a0baed14}#project-view .project-session-view .message.user{background:#4c91e533;border-color:#6fabfa73}#project-view .project-session-view .message.assistant{background:#24607240;border-color:#6bd9d273}#project-view .project-session-view .message.system{background:#4455853d;border-color:#84abff73}#project-view .project-session-view .message-role,#project-view .project-session-view .message-role i,#project-view .project-session-view .message-tokens{color:#bed3f7e6}#project-view .project-session-view .message-body,#project-view .project-session-view .message-body p,#project-view .project-session-view .message-body li,#project-view .project-session-view .message-body h1,#project-view .project-session-view .message-body h2,#project-view .project-session-view .message-body h3,#project-view .project-session-view .message-body h4,#project-view .project-session-view .message-body h5,#project-view .project-session-view .message-body h6{color:#ecf4fff5}#project-view .project-session-view .message-body blockquote{border-left-color:#6bd9d27a;color:#d6e4fce6}#project-view .project-session-view .message-body code{background:#07101cc7;color:#c9f9f3fa;border:1px solid rgba(107,217,210,.25)}#project-view .project-session-view .message-body pre{background:#060d18eb;border-color:#7b92bf66}#project-view .project-session-view .message-body a{color:#8de7e1;border-bottom-color:#8de7e173}#project-view .project-session-view .message-body a:hover{border-bottom-color:#8de7e1d9}#project-view .project-session-meta .project-meta-card{background:#0e1725eb;border-color:#7b92bf66}#project-view .project-session-meta .panel-header h3{color:#eef6fffa}#project-view .project-session-meta .panel-header .status{color:#c6d8f7e6}#project-view .project-session-meta .meta-row{border-bottom-color:#7b92bf57}#project-view .project-session-meta .meta-row span:first-child{color:#d6e4fcf0}#project-view .project-session-meta .meta-row span:last-child{color:#ecf4fffa;font-weight:600}.project-view .project-time .keyword{background:#121e30f0;border-color:#95b1e466;color:#e0ecfff0}.tool-view .project-content,.tool-view .project-main,.tool-view .project-session-list{min-width:0}.tool-view .project-session{min-width:0;max-width:100%;overflow:hidden}.tool-view .project-session-title,.tool-view .project-session-meta{white-space:normal;overflow-wrap:anywhere;word-break:break-word}#overview-view .panel>h2,#overview-view .panel .panel-header h2,#overview-view .time-card h3,#overview-view .trend-card h3{color:#f0f7fffa}#overview-view .status,#overview-view .chart-meta,#overview-view .trend-meta,#overview-view .bar-labels,#overview-view .hourly-labels,#overview-view .multi-line .legend{color:#c6d9f8eb}#overview-view .range-tab{background:#121e30f0;border-color:#95b1e466;color:#dceafff5}#overview-view .range-tab.active{border-color:#6bd9d29e;color:#9cebe6;background:#6bd9d21f}#overview-view .time-card,#overview-view .trend-card{background:#141f31e6;border:1px solid rgba(149,177,228,.34);border-radius:16px}#overview-view .trend-card{padding:14px 16px;overflow:hidden}#overview-view .trend-card h3{margin-top:0;margin-bottom:8px}#overview-view .trend-card .trend-meta{margin-bottom:10px}.avatar-button{color:#e4effff5}.avatar-image{background:radial-gradient(circle at 30% 30%,#9fd7ff,#6aa9dc 58%,#365f8e);box-shadow:inset 0 0 0 1px #d4e7ff8f,0 0 0 1px #6ea3df5c}.caret{border-right-color:#d6e6ffeb;border-bottom-color:#d6e6ffeb}#overview-view .hourly-chart{background:#0d1828e6;border-color:#95b1e466}#overview-view .hour-bar{background:#6bd9d2c2}#overview-view .split-row{color:#d6e4fcf2}#overview-view .split-value{color:#eef6fff5}#overview-view .split-track{background:#5270a659}#overview-view .keyword{background:#121e30f0;border-color:#95b1e466;color:#e0ecfff0}#overview-view .multi-line svg polyline,#overview-view .sparkline svg polyline{stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#a626a4}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#50a14f}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#986801}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}:host,:root{--d2h-bg-color:#fff;--d2h-border-color:#ddd;--d2h-dim-color:rgba(0,0,0,.3);--d2h-line-border-color:#eee;--d2h-file-header-bg-color:#f7f7f7;--d2h-file-header-border-color:#d8d8d8;--d2h-empty-placeholder-bg-color:#f1f1f1;--d2h-empty-placeholder-border-color:#e1e1e1;--d2h-selected-color:#c8e1ff;--d2h-ins-bg-color:#dfd;--d2h-ins-border-color:#b4e2b4;--d2h-ins-highlight-bg-color:#97f295;--d2h-ins-label-color:#399839;--d2h-del-bg-color:#fee8e9;--d2h-del-border-color:#e9aeae;--d2h-del-highlight-bg-color:#ffb6ba;--d2h-del-label-color:#c33;--d2h-change-del-color:#fdf2d0;--d2h-change-ins-color:#ded;--d2h-info-bg-color:#f8fafd;--d2h-info-border-color:#d5e4f2;--d2h-change-label-color:#d0b44c;--d2h-moved-label-color:#3572b0;--d2h-dark-color:#e6edf3;--d2h-dark-bg-color:#0d1117;--d2h-dark-border-color:#30363d;--d2h-dark-dim-color:#6e7681;--d2h-dark-line-border-color:#21262d;--d2h-dark-file-header-bg-color:#161b22;--d2h-dark-file-header-border-color:#30363d;--d2h-dark-empty-placeholder-bg-color:hsla(215,8%,47%,.1);--d2h-dark-empty-placeholder-border-color:#30363d;--d2h-dark-selected-color:rgba(56,139,253,.1);--d2h-dark-ins-bg-color:rgba(46,160,67,.15);--d2h-dark-ins-border-color:rgba(46,160,67,.4);--d2h-dark-ins-highlight-bg-color:rgba(46,160,67,.4);--d2h-dark-ins-label-color:#3fb950;--d2h-dark-del-bg-color:rgba(248,81,73,.1);--d2h-dark-del-border-color:rgba(248,81,73,.4);--d2h-dark-del-highlight-bg-color:rgba(248,81,73,.4);--d2h-dark-del-label-color:#f85149;--d2h-dark-change-del-color:rgba(210,153,34,.2);--d2h-dark-change-ins-color:rgba(46,160,67,.25);--d2h-dark-info-bg-color:rgba(56,139,253,.1);--d2h-dark-info-border-color:rgba(56,139,253,.4);--d2h-dark-change-label-color:#d29922;--d2h-dark-moved-label-color:#3572b0}.d2h-wrapper{text-align:left}.d2h-file-header{background-color:#f7f7f7;background-color:var(--d2h-file-header-bg-color);border-bottom:1px solid #d8d8d8;border-bottom:1px solid var(--d2h-file-header-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;height:35px;padding:5px 10px}.d2h-file-header.d2h-sticky-header{position:sticky;top:0;z-index:1}.d2h-file-stats{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;margin-left:auto}.d2h-lines-added{border:1px solid #b4e2b4;border:1px solid var(--d2h-ins-border-color);border-radius:5px 0 0 5px;color:#399839;color:var(--d2h-ins-label-color);padding:2px;text-align:right;vertical-align:middle}.d2h-lines-deleted{border:1px solid #e9aeae;border:1px solid var(--d2h-del-border-color);border-radius:0 5px 5px 0;color:#c33;color:var(--d2h-del-label-color);margin-left:1px;padding:2px;text-align:left;vertical-align:middle}.d2h-file-name-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:15px;width:100%}.d2h-file-name{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.d2h-file-wrapper{border:1px solid #ddd;border:1px solid var(--d2h-border-color);border-radius:3px;margin-bottom:1em}.d2h-file-collapse{-webkit-box-pack:end;-ms-flex-pack:end;cursor:pointer;display:none;font-size:12px;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #ddd;border:1px solid var(--d2h-border-color);border-radius:3px;padding:4px 8px}.d2h-file-collapse.d2h-selected{background-color:#c8e1ff;background-color:var(--d2h-selected-color)}.d2h-file-collapse-input{margin:0 4px 0 0}.d2h-diff-table{border-collapse:collapse;font-family:Menlo,Consolas,monospace;font-size:13px;width:100%}.d2h-files-diff{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.d2h-file-diff{overflow-y:hidden}.d2h-file-diff.d2h-d-none,.d2h-files-diff.d2h-d-none{display:none}.d2h-file-side-diff{display:inline-block;overflow-x:scroll;overflow-y:hidden;width:50%}.d2h-code-line{padding:0 8em;width:calc(100% - 16em)}.d2h-code-line,.d2h-code-side-line{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.d2h-code-side-line{padding:0 4.5em;width:calc(100% - 9em)}.d2h-code-line-ctn{background:none;display:inline-block;padding:0;word-wrap:normal;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle;white-space:pre;width:100%}.d2h-code-line del,.d2h-code-side-line del{background-color:#ffb6ba;background-color:var(--d2h-del-highlight-bg-color)}.d2h-code-line del,.d2h-code-line ins,.d2h-code-side-line del,.d2h-code-side-line ins{border-radius:.2em;display:inline-block;margin-top:-1px;-webkit-text-decoration:none;text-decoration:none}.d2h-code-line ins,.d2h-code-side-line ins{background-color:#97f295;background-color:var(--d2h-ins-highlight-bg-color);text-align:left}.d2h-code-line-prefix{background:none;display:inline;padding:0;word-wrap:normal;white-space:pre}.line-num1{float:left}.line-num1,.line-num2{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;padding:0 .5em;text-overflow:ellipsis;width:3.5em}.line-num2{float:right}.d2h-code-linenumber{background-color:#fff;background-color:var(--d2h-bg-color);border:solid #eee;border:solid var(--d2h-line-border-color);border-width:0 1px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#0000004d;color:var(--d2h-dim-color);cursor:pointer;display:inline-block;position:absolute;text-align:right;width:7.5em}.d2h-code-linenumber:after{content:"​"}.d2h-code-side-linenumber{background-color:#fff;background-color:var(--d2h-bg-color);border:solid #eee;border:solid var(--d2h-line-border-color);border-width:0 1px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#0000004d;color:var(--d2h-dim-color);cursor:pointer;display:inline-block;overflow:hidden;padding:0 .5em;position:absolute;text-align:right;text-overflow:ellipsis;width:4em}.d2h-code-side-linenumber:after{content:"​"}.d2h-code-side-emptyplaceholder,.d2h-emptyplaceholder{background-color:#f1f1f1;background-color:var(--d2h-empty-placeholder-bg-color);border-color:#e1e1e1;border-color:var(--d2h-empty-placeholder-border-color)}.d2h-code-line-prefix,.d2h-code-linenumber,.d2h-code-side-linenumber,.d2h-emptyplaceholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.d2h-code-linenumber,.d2h-code-side-linenumber{direction:rtl}.d2h-del{background-color:#fee8e9;background-color:var(--d2h-del-bg-color);border-color:#e9aeae;border-color:var(--d2h-del-border-color)}.d2h-ins{background-color:#dfd;background-color:var(--d2h-ins-bg-color);border-color:#b4e2b4;border-color:var(--d2h-ins-border-color)}.d2h-info{background-color:#f8fafd;background-color:var(--d2h-info-bg-color);border-color:#d5e4f2;border-color:var(--d2h-info-border-color);color:#0000004d;color:var(--d2h-dim-color)}.d2h-file-diff .d2h-del.d2h-change{background-color:#fdf2d0;background-color:var(--d2h-change-del-color)}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded;background-color:var(--d2h-change-ins-color)}.d2h-file-list-wrapper{margin-bottom:10px}.d2h-file-list-wrapper a{-webkit-text-decoration:none;text-decoration:none}.d2h-file-list-wrapper a,.d2h-file-list-wrapper a:visited{color:#3572b0;color:var(--d2h-moved-label-color)}.d2h-file-list-header{text-align:left}.d2h-file-list-title{font-weight:700}.d2h-file-list-line{display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left}.d2h-file-list{display:block;list-style:none;margin:0;padding:0}.d2h-file-list>li{border-bottom:1px solid #ddd;border-bottom:1px solid var(--d2h-border-color);margin:0;padding:5px 10px}.d2h-file-list>li:last-child{border-bottom:none}.d2h-file-switch{cursor:pointer;display:none;font-size:10px}.d2h-icon{fill:currentColor;margin-right:10px;vertical-align:middle}.d2h-deleted{color:#c33;color:var(--d2h-del-label-color)}.d2h-added{color:#399839;color:var(--d2h-ins-label-color)}.d2h-changed{color:#d0b44c;color:var(--d2h-change-label-color)}.d2h-moved{color:#3572b0;color:var(--d2h-moved-label-color)}.d2h-tag{background-color:#fff;background-color:var(--d2h-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:10px;margin-left:5px;padding:0 2px}.d2h-deleted-tag{border:1px solid #c33;border:1px solid var(--d2h-del-label-color)}.d2h-added-tag{border:1px solid #399839;border:1px solid var(--d2h-ins-label-color)}.d2h-changed-tag{border:1px solid #d0b44c;border:1px solid var(--d2h-change-label-color)}.d2h-moved-tag{border:1px solid #3572b0;border:1px solid var(--d2h-moved-label-color)}.d2h-dark-color-scheme{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);color:#e6edf3;color:var(--d2h-dark-color)}.d2h-dark-color-scheme .d2h-file-header{background-color:#161b22;background-color:var(--d2h-dark-file-header-bg-color);border-bottom:#30363d;border-bottom:var(--d2h-dark-file-header-border-color)}.d2h-dark-color-scheme .d2h-lines-added{border:1px solid rgba(46,160,67,.4);border:1px solid var(--d2h-dark-ins-border-color);color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-dark-color-scheme .d2h-lines-deleted{border:1px solid rgba(248,81,73,.4);border:1px solid var(--d2h-dark-del-border-color);color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-dark-color-scheme .d2h-code-line del,.d2h-dark-color-scheme .d2h-code-side-line del{background-color:#f8514966;background-color:var(--d2h-dark-del-highlight-bg-color)}.d2h-dark-color-scheme .d2h-code-line ins,.d2h-dark-color-scheme .d2h-code-side-line ins{background-color:#2ea04366;background-color:var(--d2h-dark-ins-highlight-bg-color)}.d2h-dark-color-scheme .d2h-diff-tbody{border-color:#30363d;border-color:var(--d2h-dark-border-color)}.d2h-dark-color-scheme .d2h-code-side-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-dark-color-scheme .d2h-files-diff .d2h-code-side-emptyplaceholder,.d2h-dark-color-scheme .d2h-files-diff .d2h-emptyplaceholder{background-color:#6e76811a;background-color:var(--d2h-dark-empty-placeholder-bg-color);border-color:#30363d;border-color:var(--d2h-dark-empty-placeholder-border-color)}.d2h-dark-color-scheme .d2h-code-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-dark-color-scheme .d2h-del{background-color:#f851491a;background-color:var(--d2h-dark-del-bg-color);border-color:#f8514966;border-color:var(--d2h-dark-del-border-color)}.d2h-dark-color-scheme .d2h-ins{background-color:#2ea04326;background-color:var(--d2h-dark-ins-bg-color);border-color:#2ea04366;border-color:var(--d2h-dark-ins-border-color)}.d2h-dark-color-scheme .d2h-info{background-color:#388bfd1a;background-color:var(--d2h-dark-info-bg-color);border-color:#388bfd66;border-color:var(--d2h-dark-info-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-dark-color-scheme .d2h-file-diff .d2h-del.d2h-change{background-color:#d2992233;background-color:var(--d2h-dark-change-del-color)}.d2h-dark-color-scheme .d2h-file-diff .d2h-ins.d2h-change{background-color:#2ea04340;background-color:var(--d2h-dark-change-ins-color)}.d2h-dark-color-scheme .d2h-file-wrapper{border:1px solid #30363d;border:1px solid var(--d2h-dark-border-color)}.d2h-dark-color-scheme .d2h-file-collapse{border:1px solid #0d1117;border:1px solid var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-file-collapse.d2h-selected{background-color:#388bfd1a;background-color:var(--d2h-dark-selected-color)}.d2h-dark-color-scheme .d2h-file-list-wrapper a,.d2h-dark-color-scheme .d2h-file-list-wrapper a:visited{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-dark-color-scheme .d2h-file-list>li{border-bottom:1px solid #0d1117;border-bottom:1px solid var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-deleted{color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-dark-color-scheme .d2h-added{color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-dark-color-scheme .d2h-changed{color:#d29922;color:var(--d2h-dark-change-label-color)}.d2h-dark-color-scheme .d2h-moved{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-dark-color-scheme .d2h-tag{background-color:#0d1117;background-color:var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-deleted-tag{border:1px solid #f85149;border:1px solid var(--d2h-dark-del-label-color)}.d2h-dark-color-scheme .d2h-added-tag{border:1px solid #3fb950;border:1px solid var(--d2h-dark-ins-label-color)}.d2h-dark-color-scheme .d2h-changed-tag{border:1px solid #d29922;border:1px solid var(--d2h-dark-change-label-color)}.d2h-dark-color-scheme .d2h-moved-tag{border:1px solid #3572b0;border:1px solid var(--d2h-dark-moved-label-color)}@media (prefers-color-scheme:dark){.d2h-auto-color-scheme{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);color:#e6edf3;color:var(--d2h-dark-color)}.d2h-auto-color-scheme .d2h-file-header{background-color:#161b22;background-color:var(--d2h-dark-file-header-bg-color);border-bottom:#30363d;border-bottom:var(--d2h-dark-file-header-border-color)}.d2h-auto-color-scheme .d2h-lines-added{border:1px solid rgba(46,160,67,.4);border:1px solid var(--d2h-dark-ins-border-color);color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-auto-color-scheme .d2h-lines-deleted{border:1px solid rgba(248,81,73,.4);border:1px solid var(--d2h-dark-del-border-color);color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-auto-color-scheme .d2h-code-line del,.d2h-auto-color-scheme .d2h-code-side-line del{background-color:#f8514966;background-color:var(--d2h-dark-del-highlight-bg-color)}.d2h-auto-color-scheme .d2h-code-line ins,.d2h-auto-color-scheme .d2h-code-side-line ins{background-color:#2ea04366;background-color:var(--d2h-dark-ins-highlight-bg-color)}.d2h-auto-color-scheme .d2h-diff-tbody{border-color:#30363d;border-color:var(--d2h-dark-border-color)}.d2h-auto-color-scheme .d2h-code-side-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-auto-color-scheme .d2h-files-diff .d2h-code-side-emptyplaceholder,.d2h-auto-color-scheme .d2h-files-diff .d2h-emptyplaceholder{background-color:#6e76811a;background-color:var(--d2h-dark-empty-placeholder-bg-color);border-color:#30363d;border-color:var(--d2h-dark-empty-placeholder-border-color)}.d2h-auto-color-scheme .d2h-code-linenumber{background-color:#0d1117;background-color:var(--d2h-dark-bg-color);border-color:#21262d;border-color:var(--d2h-dark-line-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-auto-color-scheme .d2h-del{background-color:#f851491a;background-color:var(--d2h-dark-del-bg-color);border-color:#f8514966;border-color:var(--d2h-dark-del-border-color)}.d2h-auto-color-scheme .d2h-ins{background-color:#2ea04326;background-color:var(--d2h-dark-ins-bg-color);border-color:#2ea04366;border-color:var(--d2h-dark-ins-border-color)}.d2h-auto-color-scheme .d2h-info{background-color:#388bfd1a;background-color:var(--d2h-dark-info-bg-color);border-color:#388bfd66;border-color:var(--d2h-dark-info-border-color);color:#6e7681;color:var(--d2h-dark-dim-color)}.d2h-auto-color-scheme .d2h-file-diff .d2h-del.d2h-change{background-color:#d2992233;background-color:var(--d2h-dark-change-del-color)}.d2h-auto-color-scheme .d2h-file-diff .d2h-ins.d2h-change{background-color:#2ea04340;background-color:var(--d2h-dark-change-ins-color)}.d2h-auto-color-scheme .d2h-file-wrapper{border:1px solid #30363d;border:1px solid var(--d2h-dark-border-color)}.d2h-auto-color-scheme .d2h-file-collapse{border:1px solid #0d1117;border:1px solid var(--d2h-dark-bg-color)}.d2h-auto-color-scheme .d2h-file-collapse.d2h-selected{background-color:#388bfd1a;background-color:var(--d2h-dark-selected-color)}.d2h-auto-color-scheme .d2h-file-list-wrapper a,.d2h-auto-color-scheme .d2h-file-list-wrapper a:visited{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-auto-color-scheme .d2h-file-list>li{border-bottom:1px solid #0d1117;border-bottom:1px solid var(--d2h-dark-bg-color)}.d2h-dark-color-scheme .d2h-deleted{color:#f85149;color:var(--d2h-dark-del-label-color)}.d2h-auto-color-scheme .d2h-added{color:#3fb950;color:var(--d2h-dark-ins-label-color)}.d2h-auto-color-scheme .d2h-changed{color:#d29922;color:var(--d2h-dark-change-label-color)}.d2h-auto-color-scheme .d2h-moved{color:#3572b0;color:var(--d2h-dark-moved-label-color)}.d2h-auto-color-scheme .d2h-tag{background-color:#0d1117;background-color:var(--d2h-dark-bg-color)}.d2h-auto-color-scheme .d2h-deleted-tag{border:1px solid #f85149;border:1px solid var(--d2h-dark-del-label-color)}.d2h-auto-color-scheme .d2h-added-tag{border:1px solid #3fb950;border:1px solid var(--d2h-dark-ins-label-color)}.d2h-auto-color-scheme .d2h-changed-tag{border:1px solid #d29922;border:1px solid var(--d2h-dark-change-label-color)}.d2h-auto-color-scheme .d2h-moved-tag{border:1px solid #3572b0;border:1px solid var(--d2h-dark-moved-label-color)}}
