*,*:before,*:after{box-sizing:border-box}:root{--bg: #0a0b0d;--bg-elevated: rgba(18, 19, 23, .92);--bg-soft: rgba(255, 255, 255, .03);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--text-primary: #f5f7fb;--text-secondary: rgba(245, 247, 251, .7);--text-muted: rgba(245, 247, 251, .45);--accent-weekly: #39c47c;--accent-monthly: #e779d3;--accent-yearly: #ff625a;--accent-cold: #76a8ff;--accent-amber: #ffb04d;--shadow: 0 24px 60px rgba(0, 0, 0, .28);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--sidebar-width: 280px}html{color-scheme:dark}body{margin:0;min-height:100vh;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(circle at top left,rgba(118,168,255,.14),transparent 28%),radial-gradient(circle at top right,rgba(231,121,211,.11),transparent 26%),linear-gradient(180deg,#0a0b0d,#0d0f12);color:var(--text-primary)}button,input,canvas{font:inherit}button{cursor:pointer}button:focus-visible{outline:2px solid rgba(118,168,255,.75);outline-offset:2px}#app{width:min(1660px,calc(100vw - 40px));margin:0 auto;padding:24px 0 52px}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);gap:24px;align-items:start}.sidebar{position:sticky;top:24px}.sidebar-inner{min-height:calc(100vh - 48px);padding:22px;border-radius:30px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff08,#ffffff04),#0e1013f5;box-shadow:var(--shadow)}.sidebar-kicker{margin:0 0 10px;color:var(--accent-cold);font-size:12px;letter-spacing:.22em;text-transform:uppercase}.sidebar-title{margin:0;font-size:34px;line-height:.94;letter-spacing:-.05em}.sidebar-subtitle{margin:14px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.6}.sidebar-nav{display:flex;flex-direction:column;gap:10px;margin-top:28px}.sidebar-link{width:100%;padding:16px 16px 15px;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:var(--text-primary);text-align:left;display:flex;flex-direction:column;gap:6px;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.sidebar-link:hover{border-color:#ffffff24}.sidebar-link.active{border-color:#76a8ff57;background:linear-gradient(135deg,#76a8ff24,#e779d31f);transform:translate(4px)}.sidebar-link-title{font-size:16px;font-weight:600}.sidebar-link-meta{color:var(--text-secondary);font-size:13px;line-height:1.5}.content-shell{min-width:0}.dashboard-shell{position:relative}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.dashboard-kicker{margin:0 0 10px;color:var(--accent-cold);font-size:12px;letter-spacing:.22em;text-transform:uppercase}.dashboard-title{margin:0;font-size:clamp(32px,5vw,52px);line-height:.96;letter-spacing:-.04em;font-weight:700}.dashboard-subtitle{margin:12px 0 0;max-width:760px;color:var(--text-secondary);font-size:15px}.dashboard-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.meta-chip{padding:11px 14px;border:1px solid var(--border);border-radius:999px;background:#ffffff08;color:var(--text-secondary);font-size:13px;white-space:nowrap}.refresh-button{border:1px solid transparent;border-radius:999px;padding:11px 18px;background:linear-gradient(135deg,#76a8ff33,#e779d338);color:var(--text-primary);font-weight:600;transition:transform .18s ease,opacity .18s ease,border-color .18s ease}.refresh-button:hover:not(:disabled){transform:translateY(-1px);border-color:#76a8ff52}.refresh-button:disabled{opacity:.6;cursor:progress}.loading-strip,.error-banner{margin-bottom:18px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-soft);color:var(--text-secondary);font-size:14px}.error-banner{border-color:#ff625a73;color:#ffd1ce}.hidden{display:none!important}.page-view{display:block}.hero-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.32fr);gap:20px;margin-bottom:20px}.summary-grid{display:grid;gap:20px;margin-bottom:20px}.behavior-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.timing-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:20px;align-items:stretch}.analysis-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:20px;margin-bottom:20px}.summary-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(180deg,#ffffff05,#ffffff03),#0e1013f5;box-shadow:var(--shadow)}.panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 24%)}.panel-content{position:relative;z-index:1;padding:26px 28px 28px}.metric-panel .panel-content{min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.metric-kicker{color:var(--text-muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.metric-label{margin-top:10px;color:var(--text-secondary);font-size:15px}.metric-value{font-size:clamp(32px,5vw,56px);line-height:.94;letter-spacing:-.05em;font-weight:600}.metric-value.subscribed{color:var(--accent-weekly)}.metric-value.rate{color:var(--accent-cold)}.metric-footnote{color:var(--text-muted);font-size:13px;line-height:1.5}.panel-title{margin:0;font-size:clamp(24px,4vw,38px);font-weight:600;letter-spacing:-.03em}.panel-title-sm{margin:0;font-size:16px;line-height:1.3;color:var(--text-primary);font-weight:600}.panel-subtitle{margin:8px 0 0;color:var(--text-secondary);font-size:13px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-total{margin-bottom:18px}.panel-total-label{color:var(--text-secondary);font-size:13px;margin-bottom:8px}.panel-total-value{font-size:clamp(32px,6vw,72px);line-height:.92;letter-spacing:-.05em;font-weight:600}.snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.snapshot-card{padding:18px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:#ffffff08}.snapshot-label{margin-bottom:8px;color:var(--text-secondary);font-size:13px}.snapshot-value{font-size:clamp(20px,4vw,30px);line-height:1;font-weight:600;letter-spacing:-.03em}.snapshot-value.weekly{color:var(--accent-weekly)}.snapshot-value.monthly{color:var(--accent-monthly)}.snapshot-value.yearly{color:var(--accent-yearly)}.report-block{margin-top:18px;padding:18px 18px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:#ffffff05}.report-header{margin-bottom:12px}.report-metrics,.conversion-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.conversion-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.report-metric-card{padding:12px 14px;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.report-metric-label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px}.report-metric-value{display:block;color:var(--accent-cold);font-size:26px;line-height:1;font-weight:600;letter-spacing:-.03em}.report-metric-value.refund{color:var(--accent-yearly)}.report-metric-value.subscribed{color:var(--accent-weekly)}.report-metric-value.rate-existing{color:var(--accent-monthly)}.report-metric-value.rate-renewal{color:var(--accent-amber)}.report-legend,.legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px}.legend-item{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.legend-dot{width:10px;height:10px;border-radius:999px}.legend-dot.weekly{background:var(--accent-weekly)}.legend-dot.monthly{background:var(--accent-monthly)}.legend-dot.yearly{background:var(--accent-yearly)}.legend-dot.trend-new,.legend-dot.registered,.legend-dot.rate-new{background:var(--accent-cold)}.legend-dot.trend-refund{background:var(--accent-yearly)}.legend-dot.subscribed{background:var(--accent-weekly)}.legend-dot.delete-unique{background:var(--accent-cold)}.legend-dot.delete-apple{background:var(--accent-weekly)}.legend-dot.rate-existing{background:var(--accent-monthly)}.legend-dot.rate-renewal{background:var(--accent-amber)}.legend-dot.bucket-50{background:#76a8ff}.legend-dot.bucket-mid{background:#39c47c}.legend-dot.bucket-high{background:#ff625a}.legend-dot.timing-weekday{background:var(--accent-cold)}.legend-dot.timing-weekend{background:var(--accent-amber)}.repost-bucket-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.timing-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.report-chart-frame{height:180px}.donut-frame{height:250px}.toggle-group{display:inline-flex;padding:4px;border-radius:999px;border:1px solid var(--border);background:#ffffff08;gap:4px}.toggle-button{border:none;border-radius:999px;padding:8px 14px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;transition:background-color .18s ease,color .18s ease}.toggle-button:hover{color:var(--text-primary)}.toggle-button.active{background:#ffffff1c;color:var(--text-primary)}.chart-frame{height:360px}.chart-frame.large{height:400px}.chart-frame.behavior{height:250px}.chart-frame.timing-hourly{height:320px}.formula-note{margin-top:16px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.formula-note-title{margin-bottom:8px;color:var(--text-primary);font-size:13px;font-weight:600}.formula-note-line{color:var(--text-secondary);font-size:13px;line-height:1.6}.footer-note{margin-top:16px;color:var(--text-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1180px){.app-layout{grid-template-columns:1fr}.sidebar{position:static}.sidebar-inner{min-height:auto}.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-link.active{transform:none}}@media(max-width:1040px){.hero-grid,.summary-grid--triple,.analysis-grid,.behavior-grid,.timing-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column}.dashboard-actions{justify-content:flex-start}}@media(max-width:720px){#app{width:min(100vw - 24px,100%);padding-top:16px;padding-bottom:32px}.sidebar-inner,.panel-content{padding:22px 18px 20px}.sidebar-nav,.snapshot-grid,.report-metrics,.conversion-metrics,.timing-metrics{grid-template-columns:1fr}.panel-header{flex-direction:column}.chart-frame,.chart-frame.large{height:300px}}
