:root{--bg: #eef1f7;--surface: #ffffff;--surface-2: #f4f6fa;--surface-3: #e5e9f2;--border: #e3e7f0;--border-strong: #cbd3e3;--text-primary: #111827;--text-secondary: #5b6472;--text-muted: #676e7a;--accent: #4f7cff;--accent-2: #8b5cf6;--accent-gradient: linear-gradient(135deg, #4f7cff, #8b5cf6);--positive: #15803d;--negative: #c81e1e;--radius: 14px;--radius-sm: 8px;--accent-wash: #eef2ff;--accent-wash-text: #6954bd;--accent-border: rgba(79, 124, 255, .15);--positive-wash: #eaf8ef;--positive-bright: #4ade80;--negative-wash: rgba(220, 38, 38, .08);--negative-border: rgba(220, 38, 38, .18);--negative-bright: #f87171;--warn-bg: #fff8e9;--warn-bg-2: #fff4e2;--warn-bg-strong: #ffecb8;--warn-border: #f4dca4;--warn-border-2: #f4c88a;--warn-text: #8a5c04;--warn-text-soft: #826b39;--danger-bg: #fff1ef;--danger-border: #f2b5ad;--danger-text: #b4443a;--shadow-card: 0 10px 40px rgba(15, 23, 42, .1);--shadow-toast: 0 8px 24px rgba(15, 23, 42, .25);--shadow-nav: 0 -6px 16px rgba(15, 23, 42, .05);--grid-line: rgba(15, 23, 42, .035);--page-glow: rgba(79, 124, 255, .08);--toast-bg: var(--text-primary);--toast-text: #ffffff;--positive-border: rgba(22, 163, 74, .18);--positive-text: #15803d;--accent-wash-gradient: linear-gradient(135deg, rgba(79, 124, 255, .08), rgba(139, 92, 246, .08));--accent-border-strong: rgba(79, 124, 255, .35);--focus-ring: rgba(79, 124, 255, .15);--accent-shadow: rgba(79, 124, 255, .25);--accent-shadow-strong: rgba(79, 124, 255, .35);--hero-gradient: linear-gradient(135deg, #1d3978, #694aba);--report-hero-gradient: linear-gradient(135deg, #102a48, #26507b);--risk-med-bg: rgba(217, 119, 6, .14);--risk-med-text: #a54c08;--risk-high-bg: rgba(220, 38, 38, .12);--risk-high-text: #b91c1c;--space-3xs: clamp(.18rem, min(.55dvh, .9cqw), .35rem);--space-2xs: clamp(.3rem, min(.85dvh, 1.5cqw), .55rem);--space-xs: clamp(.42rem, min(1.2dvh, 2.05cqw), .8rem);--space-sm: clamp(.55rem, min(1.5dvh, 2.7cqw), 1.05rem);--space-md: clamp(.7rem, min(2dvh, 3.4cqw), 1.35rem);--font-3xs: clamp(.66rem, min(1.3dvh, 3.3cqw), .75rem);--font-2xs: clamp(.72rem, min(1.45dvh, 3.6cqw), .83rem);--font-xs: clamp(.78rem, min(1.6dvh, 3.9cqw), .9rem);--font-sm: clamp(.88rem, min(1.9dvh, 4.4cqw), 1.04rem);--font-md: clamp(.98rem, min(2.2dvh, 4.9cqw), 1.2rem)}:root[data-theme=dark]{--bg: #0e1117;--surface: #161a22;--surface-2: #1c212b;--surface-3: #262c38;--border: #262c38;--border-strong: #3a4250;--text-primary: #e8ecf3;--text-secondary: #aab4c3;--text-muted: #7e8899;--accent: #7d9dff;--accent-2: #a78bfa;--accent-gradient: linear-gradient(135deg, #5f86ff, #9b7cf0);--positive: #4ade80;--negative: #f87171;--accent-wash: #1b2238;--accent-wash-text: #b7a8f7;--accent-border: rgba(125, 157, 255, .22);--positive-wash: #14261d;--positive-bright: #4ade80;--negative-wash: rgba(248, 113, 113, .12);--negative-border: rgba(248, 113, 113, .28);--negative-bright: #f87171;--warn-bg: #2a2013;--warn-bg-2: #33260f;--warn-bg-strong: #4a3616;--warn-border: #5c4420;--warn-border-2: #705224;--warn-text: #ecba6d;--warn-text-soft: #c9ab7c;--danger-bg: #2e1a18;--danger-border: #61322a;--danger-text: #f2a79e;--shadow-card: 0 10px 40px rgba(0, 0, 0, .55);--shadow-toast: 0 8px 24px rgba(0, 0, 0, .65);--shadow-nav: 0 -6px 16px rgba(0, 0, 0, .4);--grid-line: rgba(255, 255, 255, .028);--page-glow: rgba(125, 157, 255, .1);--toast-bg: #2b323f;--toast-text: #f2f5fa;--positive-border: rgba(74, 222, 128, .28);--positive-text: #6ee7a0;--accent-wash-gradient: linear-gradient(135deg, rgba(125, 157, 255, .12), rgba(167, 139, 250, .12));--accent-border-strong: rgba(125, 157, 255, .45);--focus-ring: rgba(125, 157, 255, .28);--accent-shadow: rgba(0, 0, 0, .45);--accent-shadow-strong: rgba(0, 0, 0, .55);--hero-gradient: linear-gradient(135deg, #18274d, #452f78);--report-hero-gradient: linear-gradient(135deg, #0d1f34, #1b3a5b);--risk-med-bg: rgba(217, 119, 6, .22);--risk-med-text: #e0a458;--risk-high-bg: rgba(248, 113, 113, .18);--risk-high-text: #f0918a}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}html.show-scrollbar{scrollbar-width:thin;-ms-overflow-style:auto}html.show-scrollbar::-webkit-scrollbar{display:block;width:10px}html.show-scrollbar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}html.show-scrollbar::-webkit-scrollbar-track{background:transparent}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(ellipse 900px 500px at 50% -10%,var(--page-glow),transparent 60%),linear-gradient(var(--grid-line) 1px,transparent 1px) 0 0 / 42px 42px,linear-gradient(90deg,var(--grid-line) 1px,transparent 1px) 0 0 / 42px 42px,var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem;box-sizing:border-box}.brand{display:flex;align-items:center;gap:.55rem}.logo-mark{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #ffffff40 inset,0 4px 12px #4f7cff47}.logo-mark svg{width:15px;height:15px}.brand-name{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.auth-card{container-type:inline-size;position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow-card);width:100%;max-width:340px}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-gradient)}.auth-tagline{margin:.35rem 0 .9rem;color:var(--text-muted);font-size:.78rem}.subtitle{margin:.3rem 0 .75rem;color:var(--text-secondary);font-size:.85rem}.auth-message{padding:.55rem .7rem;border-radius:var(--radius-sm);font-size:.8rem}.error.auth-message{background:var(--negative-wash);border:1px solid var(--negative-border)}.success.auth-message{background:var(--positive-wash);border:1px solid var(--positive-border)}.hint{display:block;margin-top:.32rem;color:var(--text-muted);font-size:.72rem;line-height:1.35;font-weight:400}.auth-links{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.auth-link{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.82rem;padding:.55rem .75rem;text-align:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.auth-link:hover{background:var(--surface-3);border-color:var(--accent);color:var(--text-primary)}.auth-link strong{color:var(--accent);font-weight:600}.spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;vertical-align:-2px;margin-right:.4rem;animation:spin .6s linear infinite}.spinner.muted{border-color:var(--border-strong);border-top-color:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 0}.empty-state.compact{flex-direction:row;gap:.5rem;padding:.6rem 0}.empty-state.compact .empty-state-icon{width:18px;height:18px}.empty-state.compact .subtitle{margin:0}.empty-state-icon{width:30px;height:30px;color:var(--text-muted);opacity:.55}.empty-state .subtitle{margin:0}.tab-fade{animation:tab-fade-in .2s ease}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-card{container-type:inline-size;position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);width:100%;max-width:560px;height:calc(100dvh - 3rem);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.toast{position:absolute;top:14px;left:50%;z-index:20;display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:999px;background:var(--toast-bg);color:var(--toast-text);font-size:.82rem;font-weight:500;box-shadow:var(--shadow-toast);animation:toast-in .25s ease forwards,toast-out .25s ease 2.2s forwards;pointer-events:none}.toast-icon{width:15px;height:15px;flex-shrink:0;color:var(--positive-bright)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,-8px)}}.dashboard-card h2{margin:0 0 var(--space-2xs);font-size:var(--font-sm);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.dashboard-header{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:space-between;align-items:flex-start}.page-header{padding:var(--space-sm) 1.4rem var(--space-xs);border-bottom:1px solid var(--border);flex-shrink:0}.page-header .subtitle{margin:var(--space-3xs) 0 0;font-size:var(--font-3xs);line-height:1.2}.dashboard-header button{flex-shrink:0;white-space:nowrap;padding:.4rem .85rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.82rem;transition:color .15s ease,border-color .15s ease}.dashboard-header button:hover{color:var(--text-primary);border-color:var(--accent)}.tab-content{flex:1;min-height:0;overflow-y:auto;padding:var(--space-xs) 1.4rem;scrollbar-width:none;-ms-overflow-style:none}.tab-content::-webkit-scrollbar{display:none}.tab-content.has-more{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent 100%)}.bottom-nav{flex-shrink:0;display:flex;gap:2px;background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-nav);padding:var(--space-2xs) var(--space-3xs);box-sizing:border-box;position:relative}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;padding:var(--space-3xs) 0;cursor:pointer;color:var(--text-muted)}.nav-icon{display:flex;align-items:center;justify-content:center;width:38px;height:26px;border-radius:999px;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-item svg{width:19px;height:19px}.nav-label{font-size:.66rem;font-weight:500;transition:color .15s ease,font-weight .15s ease}.nav-item:hover:not(.active) .nav-icon{background:var(--surface-2);color:var(--text-secondary)}.nav-item.active .nav-icon{background:var(--accent-gradient);color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px var(--accent-shadow-strong)}.nav-item.active .nav-label{color:var(--accent);font-weight:700}.trade-form h2{margin:0}.trade-form-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3xs)}.quota{font-size:var(--font-3xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.daily-insight{display:flex;align-items:center;gap:var(--space-3xs);margin:0 0 var(--space-3xs);padding:var(--space-3xs);border-radius:var(--radius-sm);background:var(--accent-wash-gradient);border:1px solid var(--accent-border);color:var(--text-secondary);font-size:var(--font-3xs);line-height:1.25}.daily-insight-icon{display:inline-flex;flex-shrink:0;width:13px;height:13px;color:var(--accent)}.daily-insight-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-activity{margin:0 0 var(--space-3xs);font-size:var(--font-3xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.today-activity.warn{color:var(--negative)}.field-label{font-size:var(--font-xs);color:var(--text-secondary);margin:0 0 var(--space-3xs)}.row{display:flex;gap:.75rem}.row label{flex:1}.segmented{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--space-2xs)}.segment{flex:1 1 100px;display:flex;align-items:center;justify-content:center;gap:.32rem;padding:var(--space-2xs);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-xs);transition:all .15s ease}.segment-icon{display:inline-flex;width:13px;height:13px;flex-shrink:0}.segment:hover{border-color:var(--accent);color:var(--text-primary)}.segment.active{background:var(--accent-gradient);color:#fff;border-color:transparent}form label{display:block;margin-bottom:var(--space-3xs);font-size:var(--font-xs);color:var(--text-secondary)}form input{display:block;width:100%;margin-top:var(--space-3xs);padding:var(--space-2xs) .6rem;font-size:var(--font-sm);box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}form input::placeholder{color:var(--text-muted)}form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}button[type=submit]{width:100%;padding:var(--space-xs);background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:600;cursor:pointer;box-shadow:0 4px 14px var(--accent-shadow);transition:transform .1s ease,box-shadow .15s ease}button[type=submit]:hover:not(:disabled){box-shadow:0 6px 18px var(--accent-shadow-strong)}button[type=submit]:disabled{opacity:.4;cursor:default;box-shadow:none}.link-button{display:block;margin-top:.75rem;background:none;border:none;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:.82rem;padding:0}.error{margin:0 0 var(--space-2xs);color:var(--negative);font-size:var(--font-xs)}.success{color:var(--positive);font-size:var(--font-xs)}.stat-row{display:flex;gap:.5rem;margin-bottom:var(--space-xs)}.stat-tile{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2xs);text-align:center}.stat-value{display:block;font-size:var(--font-sm);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-label{display:block;font-size:var(--font-3xs);color:var(--text-muted);margin-top:var(--space-3xs)}.emotion-breakdown{display:flex;flex-direction:column;gap:var(--space-2xs);margin-bottom:var(--space-xs)}.emotion-row{display:flex;justify-content:space-between;font-size:var(--font-xs)}.emotion-name{color:var(--text-secondary)}.emotion-rate{color:var(--text-primary);font-variant-numeric:tabular-nums}.trade-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.trade-table-wrapper::-webkit-scrollbar{display:none}.trade-table-wrapper.has-more-x{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent 100%)}.trade-table{width:100%;min-width:480px;border-collapse:collapse;font-size:var(--font-xs)}.trade-table th,.trade-table td{text-align:left;padding:var(--space-2xs) .35rem;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.trade-table th{color:var(--text-muted);font-weight:600;font-size:var(--font-3xs);text-transform:uppercase;letter-spacing:.03em;font-variant-numeric:normal}.trade-table tbody tr:hover{background:var(--surface-2)}.close-plan{flex:1 0 100%;margin-bottom:.15rem;color:var(--text-muted);font-size:var(--font-3xs);font-variant-numeric:tabular-nums}.close-plan b{color:var(--text-primary);font-weight:600}.muted-cell{color:var(--text-muted)}.cell-sub{display:block;margin-top:.08rem;color:var(--text-muted);font-size:var(--font-3xs);font-weight:400;white-space:nowrap}.levels{font-variant-numeric:tabular-nums}.feel-icon{display:inline-flex;width:15px;height:15px;color:var(--text-secondary)}.when{white-space:nowrap;width:1%;color:var(--text-secondary)}.close-form{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;padding:var(--space-2xs) 0}.close-form input{width:90px;margin-top:0;padding:var(--space-3xs) .4rem;font-size:var(--font-xs)}.close-form input[type=text]{width:auto;flex:1;min-width:140px}.close-row td{padding-top:0;padding-bottom:var(--space-2xs);border-bottom:1px solid var(--border)}.close-form button[type=submit]{width:auto;padding:var(--space-3xs) .55rem;font-size:var(--font-2xs);box-shadow:none}.trade-table .link-button,.close-form .link-button{display:inline;margin-top:0}.pnl-positive{color:var(--positive);font-weight:600}.pnl-negative{color:var(--negative);font-weight:600}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:var(--space-sm)}.pagination .link-button{display:inline;margin-top:0}.pagination .link-button:disabled{opacity:.35;cursor:default;text-decoration:none}.pagination-info{font-size:var(--font-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.weekly-report .dashboard-header{margin-bottom:var(--space-2xs)}.pattern-list{margin:0;padding-left:1rem;font-size:var(--font-xs);line-height:1.35;color:var(--text-secondary)}.pattern-list li{margin-bottom:var(--space-3xs)}.disclaimer{margin:1.25rem 0 0;padding-top:.85rem;border-top:1px solid var(--border);font-size:.7rem;line-height:1.35;color:var(--text-muted)}.dashboard-card .disclaimer{flex-shrink:0;margin:0;padding:var(--space-2xs) 1.4rem;font-size:var(--font-3xs);line-height:1.2}.admin-shell{width:100%;max-width:960px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);box-sizing:border-box}.admin-content{padding:var(--space-sm) 1.4rem 1.4rem}.admin-content h2{margin:var(--space-sm) 0 var(--space-2xs);font-size:var(--font-sm);font-weight:600;color:var(--text-primary)}.admin-content h2:first-child{margin-top:0}.admin-header-actions{display:flex;gap:.5rem;flex-shrink:0}.admin-badge{margin-left:.4rem;padding:.1rem .45rem;border-radius:999px;background:var(--accent-gradient);color:#fff;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.theme-toggle{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.theme-toggle:hover{border-color:var(--accent);background:var(--surface);color:var(--accent)}.theme-toggle svg{width:15px;height:15px}.dashboard-header .theme-toggle{width:auto;height:auto;padding:.4rem}.auth-theme-toggle{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:2}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:clamp(64px,9dvh,84px);margin-top:var(--space-2xs)}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar-value{font-size:.65rem;color:var(--text-secondary);margin-bottom:2px;font-variant-numeric:tabular-nums}.bar-track{flex:1;display:flex;align-items:flex-end;width:100%;max-width:22px}.bar-fill{width:100%;border-radius:3px 3px 0 0;min-height:4px}.bar-fill.win{background:linear-gradient(180deg,var(--positive-bright),var(--positive))}.bar-fill.loss{background:linear-gradient(180deg,var(--negative-bright),var(--negative))}.bar-fill.empty{background:var(--surface-3)}.bar-label{font-size:.65rem;color:var(--text-muted);margin-top:3px}.trend-section{border-top:1px solid var(--border);padding-top:var(--space-xs);margin-top:var(--space-xs)}.trend-svg{display:block;margin-top:.3rem}.trend-line{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}.trend-baseline{stroke:var(--border);stroke-width:1}@container (max-width: 420px){.pattern-list li:nth-child(n+3){display:none}.pattern-list{line-height:1.22}.trend-section .empty-state{flex-direction:row;padding:0}.trend-section .empty-state-icon{display:none}.trend-section{padding-top:var(--space-3xs);margin-top:var(--space-3xs)}.trend-section h2{margin-bottom:var(--space-3xs);font-size:var(--font-xs)}.stat-row,.weekly-report .dashboard-header{margin-bottom:var(--space-3xs)}.page-header{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs)}.dashboard-card .disclaimer{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs);line-height:1.1}.trade-form-header{margin-bottom:var(--space-3xs)}.today-activity{margin-bottom:0}form label{margin-bottom:var(--space-3xs)}form input{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs)}.field-label{margin-bottom:0}.segmented{margin-bottom:var(--space-3xs)}.segment{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs)}.row{gap:.4rem}button[type=submit],.tab-content{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs)}.bottom-nav{padding-top:0;padding-bottom:0}.nav-item,.trade-table th,.trade-table td{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs)}.pagination{margin-top:var(--space-3xs)}}.auth-card-rich{padding:2.25rem;border-radius:20px}.auth-card-rich .brand{justify-content:center}.auth-title{margin:1.5rem 0 .45rem;font-size:1.55rem;letter-spacing:-.045em;text-align:center}.auth-card-rich .auth-tagline{margin:0 0 1.35rem;text-align:center;line-height:1.45}.auth-card-rich .auth-links{border-top:0;padding-top:.55rem;gap:.45rem}.auth-text-link{border:0;padding:.2rem;background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.auth-text-link strong{color:var(--accent)}.auth-card-rich .disclaimer{margin:1rem 0 0;text-align:center}.hero-eyebrow{margin:0 0 .3rem;color:var(--accent);font-size:var(--font-3xs);font-weight:800;letter-spacing:.07em;text-transform:uppercase}.today-hero,.report-hero{display:flex;gap:1rem;justify-content:space-between;overflow:hidden;padding:clamp(.9rem,2.4dvh,1.25rem);color:#fff;border-radius:18px;background:var(--hero-gradient);box-shadow:0 10px 26px #4648ae33}.today-hero h2,.report-hero h2{margin:0;color:#fff;font-size:clamp(1.05rem,2.5dvh,1.3rem)}.today-hero .hero-eyebrow,.report-hero .hero-eyebrow{color:#d5defe}.hero-copy,.report-hero>div>p:not(.hero-eyebrow){max-width:255px;margin:.35rem 0 0;color:#ffffffc7;font-size:var(--font-2xs);line-height:1.35}.streak-orb,.report-score-orb{align-self:center;display:grid;width:70px;height:70px;flex:0 0 auto;place-items:center;border:4px solid #78e1ac;border-left-color:#ffffff38;border-radius:50%;background:#ffffff12;text-align:center}.streak-orb span{position:absolute;transform:translateY(-17px);font-size:.77rem}.streak-orb strong,.report-score-orb strong{margin-top:7px;font-size:1.15rem;line-height:1}.streak-orb small,.report-score-orb span{margin-top:-14px;font-size:.54rem;color:#fffc;white-space:nowrap}.today-section-heading{display:flex;align-items:center;justify-content:space-between;margin:var(--space-sm) 0 var(--space-2xs)}.today-section-heading h3,.report-ready h3{margin:0;font-size:var(--font-xs)}.quiet-action{padding:0;border:0;background:none;color:var(--accent);font-size:var(--font-3xs);font-weight:700;cursor:pointer}.today-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.42rem}.today-metric{min-width:0;padding:var(--space-2xs);border:1px solid var(--border);border-radius:11px;background:var(--surface-2);text-align:center}.today-metric strong{display:block;overflow:hidden;font-size:var(--font-sm);font-variant-numeric:tabular-nums;text-overflow:ellipsis}.today-metric span{display:block;margin-top:.2rem;color:var(--text-muted);font-size:var(--font-3xs);line-height:1.14}.metric-positive{color:var(--positive)}.process-challenge{display:flex;gap:.65rem;align-items:center;padding:var(--space-xs);border:1px solid var(--warn-border);border-radius:13px;background:var(--warn-bg)}.challenge-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--warn-bg-strong);color:var(--warn-text)}.process-challenge strong{font-size:var(--font-xs)}.process-challenge p{margin:.18rem 0 0;color:var(--warn-text-soft);font-size:var(--font-3xs);line-height:1.3}.today-actions{margin-top:var(--space-sm);text-align:center}.today-actions span{display:block;margin-top:var(--space-2xs);color:var(--text-muted);font-size:var(--font-3xs)}.primary-cta{width:100%;border:0;border-radius:var(--radius-sm);padding:var(--space-xs);background:var(--accent-gradient);color:#fff;font-size:var(--font-sm);font-weight:700;box-shadow:0 4px 14px var(--accent-shadow);cursor:pointer}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-xs)}.page-title-row h2{margin:0}.journal-count,.plan-pill{padding:.3rem .5rem;border-radius:999px;background:var(--accent-wash);color:var(--accent-wash-text);font-size:var(--font-3xs);font-weight:800;white-space:nowrap}.trade-form-header{align-items:flex-start}.trade-form-header .hero-eyebrow{margin-bottom:.18rem}.report-hero{background:var(--report-hero-gradient)}.report-hero.generated{padding-right:.9rem}.report-score-orb{width:62px;height:62px;border-color:#5ed59a}.report-ready{display:flex;flex-direction:column;align-items:center;margin-top:var(--space-sm);padding:clamp(1rem,4dvh,1.6rem) 1rem;border:1px dashed var(--border-strong);border-radius:15px;background:linear-gradient(135deg,var(--surface),var(--surface-2));text-align:center}.report-ready-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--accent-gradient);color:#fff}.report-ready h3{margin-top:.65rem}.report-ready p{max-width:300px;margin:.35rem 0 .8rem;color:var(--text-secondary);font-size:var(--font-2xs);line-height:1.4}.report-ready button{width:100%;padding:var(--space-xs);border:0;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-size:var(--font-xs);font-weight:700;cursor:pointer}.report-loading{flex-direction:row;justify-content:center;gap:.55rem;padding:1rem}.report-loading p{margin:0}.pattern-cards{display:flex;flex-direction:column;gap:var(--space-2xs);margin-top:var(--space-xs)}.pattern-card{display:flex;gap:.55rem;align-items:flex-start;padding:var(--space-2xs);border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.pattern-card>span{display:grid;width:23px;height:23px;flex:0 0 auto;place-items:center;border-radius:7px;background:var(--accent-wash);color:var(--accent);font-size:.75rem}.pattern-card:nth-child(2)>span{background:var(--positive-wash);color:var(--positive)}.pattern-card p{margin:0;color:var(--text-secondary);font-size:var(--font-2xs);line-height:1.32}.nudge{padding:var(--space-xs);border-radius:13px;border:1px solid var(--warn-border);background:var(--warn-bg);animation:tab-fade-in .2s ease}.nudge-caution{border-color:var(--warn-border-2);background:var(--warn-bg-2)}.nudge-strong{border-color:var(--danger-border);background:var(--danger-bg)}.nudge-head{display:flex;align-items:center;gap:.4rem;color:var(--warn-text)}.nudge-strong .nudge-head{color:var(--danger-text)}.nudge-icon{display:inline-flex;width:15px;height:15px;flex-shrink:0}.nudge-title{font-size:var(--font-3xs);font-weight:800;letter-spacing:.02em;text-transform:uppercase}.nudge-message{margin:var(--space-3xs) 0 var(--space-2xs);color:var(--text-primary);font-size:var(--font-xs);line-height:1.35}.nudge-actions{display:flex;gap:.5rem}.nudge-actions button{flex:1 1 0;padding:var(--space-2xs);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:700;cursor:pointer}.nudge-secondary{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary)}.nudge-primary{border:0;background:var(--text-primary);color:#fff}.nudge-primary:disabled{opacity:.45;cursor:default}.nudge-footnote{margin:var(--space-2xs) 0 0;color:var(--text-muted);font-size:var(--font-3xs);text-align:center}.advanced-insights{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border)}.advanced-insights h2{margin:0;font-size:var(--font-sm)}.section-heading{margin:var(--space-md) 0 var(--space-2xs)!important}.compact-segmented{flex:0 0 auto;gap:.25rem}.compact-segmented .segment{flex:0 0 auto;padding:.24rem .55rem;font-size:var(--font-3xs)}.trend-line-secondary{stroke:var(--text-muted);stroke-dasharray:3 3;opacity:.75}.trend-legend{display:flex;justify-content:center;gap:.85rem;margin-top:.2rem;color:var(--text-muted);font-size:var(--font-3xs)}.trend-legend span{display:inline-flex;align-items:center;gap:.3rem}.swatch{width:9px;height:3px;border-radius:2px}.swatch-primary{background:var(--accent)}.swatch-secondary{background:var(--text-muted)}.trend-axis{display:flex;justify-content:space-between;color:var(--text-muted);font-size:var(--font-3xs)}.best-period{margin-top:var(--space-sm);padding:var(--space-xs);border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.best-period-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs)}.best-period-head h3{margin:.1rem 0 0;font-size:var(--font-sm)}.similarity-orb{display:grid;width:54px;height:54px;flex:0 0 auto;place-content:center;border:2px solid var(--accent);border-radius:50%;text-align:center}.similarity-orb strong{font-size:var(--font-xs);font-variant-numeric:tabular-nums}.similarity-orb span{display:block;color:var(--text-muted);font-size:var(--font-3xs)}.best-period-note{margin:var(--space-2xs) 0;color:var(--text-muted);font-size:var(--font-3xs);line-height:1.3}.compare-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.28rem 0;border-top:1px solid var(--border);font-size:var(--font-3xs)}.compare-label{color:var(--text-secondary)}.compare-values{display:inline-flex;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums;white-space:nowrap}.compare-vs{color:var(--text-muted)}.compare-delta{font-weight:700}.compare-delta.up{color:var(--positive)}.compare-delta.down{color:var(--negative)}.correlation-group{margin-top:var(--space-2xs)}.correlation-row{display:flex;align-items:center;gap:.45rem;padding:.18rem 0;font-size:var(--font-3xs)}.correlation-label{flex:0 0 34%;min-width:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.correlation-track{flex:1 1 auto;height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}.correlation-fill{display:block;height:100%;border-radius:999px;background:var(--border-strong)}.correlation-fill.best{background:var(--accent-gradient)}.correlation-value{flex:0 0 auto;color:var(--text-primary);font-variant-numeric:tabular-nums}.correlation-value em{margin-left:.28rem;color:var(--text-muted);font-style:normal}.analytics-footnote{margin:var(--space-sm) 0 0;color:var(--text-muted);font-size:var(--font-3xs);line-height:1.35}.inbox{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.inbox-badge{display:inline-grid;min-width:17px;height:17px;margin-left:.35rem;padding:0 .28rem;place-content:center;border-radius:999px;background:var(--accent);color:#fff;font-size:var(--font-3xs);font-weight:700}.inbox-item{padding:var(--space-2xs);margin-top:.35rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.inbox-item.unread{border-color:var(--accent-border-strong);background:var(--accent-wash-gradient)}.inbox-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.inbox-item-head strong{font-size:var(--font-3xs)}.inbox-item-head span{flex:0 0 auto;color:var(--text-muted);font-size:var(--font-3xs)}.inbox-item p{margin:.18rem 0 0;color:var(--text-secondary);font-size:var(--font-3xs);line-height:1.32}.settings-scroll{overflow-y:auto}.settings-section{padding-bottom:var(--space-sm);margin-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.settings-section:last-child{border-bottom:0;margin-bottom:0}.settings-section h2{margin:0 0 .2rem;font-size:var(--font-sm)}.settings-hint{margin:0 0 var(--space-2xs);color:var(--text-muted);font-size:var(--font-3xs);line-height:1.35}.intensity-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;margin-bottom:var(--space-2xs)}.intensity{padding:var(--space-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);text-align:left;cursor:pointer}.intensity.active{border-color:transparent;background:var(--accent-gradient);color:#fff}.intensity strong{display:block;font-size:var(--font-3xs)}.intensity span{display:block;margin-top:.12rem;font-size:var(--font-3xs);line-height:1.25;opacity:.75}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem 0;border-top:1px solid var(--border);font-size:var(--font-3xs)}.settings-row>span{min-width:0;color:var(--text-primary)}.settings-row em{display:block;margin-top:.1rem;color:var(--text-muted);font-style:normal;line-height:1.28}.settings-row input[type=checkbox]{flex:0 0 auto;width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.disclosure{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;margin-top:var(--space-2xs);padding:var(--space-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);font-size:var(--font-3xs);font-weight:600;cursor:pointer}.disclosure:hover{border-color:var(--accent);color:var(--text-primary)}.disclosure-caret{color:var(--accent);font-size:var(--font-xs);font-weight:700;line-height:1}.quiet-hours{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-muted)}.quiet-hours select{padding:.2rem .3rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:var(--font-3xs)}.export-actions{display:flex;flex-wrap:wrap;gap:.4rem}.export-actions button{flex:1 1 auto;padding:var(--space-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);font-size:var(--font-3xs);font-weight:600;cursor:pointer}.export-actions button:disabled{opacity:.5;cursor:default}.token-form{display:flex;gap:.4rem;margin-bottom:var(--space-2xs)}.token-form input{flex:1 1 auto;margin:0}.token-form button{flex:0 0 auto;padding:0 .75rem;border:0;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-size:var(--font-3xs);font-weight:700;cursor:pointer}.token-form button:disabled{opacity:.45;cursor:default}.token-reveal{padding:var(--space-2xs);margin-bottom:var(--space-2xs);border:1px solid var(--warn-border-2);border-radius:11px;background:var(--warn-bg)}.token-reveal p{margin:0 0 .3rem;color:var(--warn-text);font-size:var(--font-3xs);font-weight:700}.token-reveal code{display:block;padding:.35rem;border-radius:6px;background:var(--surface);font-size:var(--font-3xs);word-break:break-all}.token-reveal button{margin-top:.35rem;padding:.25rem .6rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);font-size:var(--font-3xs);cursor:pointer}.privacy-banner{display:flex;flex-direction:column;gap:.2rem;padding:var(--space-2xs);margin-bottom:var(--space-sm);border:1px solid var(--positive-border);border-radius:12px;background:var(--positive-wash)}.privacy-banner strong{font-size:var(--font-3xs);color:var(--positive-text)}.privacy-banner span{color:var(--text-secondary);font-size:var(--font-3xs);line-height:1.35}.partner-card,.cohort-card,.experiment-card{padding:var(--space-2xs);margin-bottom:var(--space-2xs);border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.partner-head{display:flex;align-items:center;justify-content:space-between}.partner-head strong{font-size:var(--font-xs)}.partner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.35rem}.partner-stats span{display:flex;flex-direction:column;color:var(--text-muted);font-size:var(--font-3xs);text-align:center}.partner-stats strong{color:var(--text-primary);font-size:var(--font-sm);font-variant-numeric:tabular-nums}.cohort-card h3,.experiment-card h3{margin:0;font-size:var(--font-xs)}.cohort-form{display:flex;flex-direction:column;gap:.35rem;margin-top:var(--space-2xs)}.cohort-form input{margin:0}.cohort-form button{padding:var(--space-2xs);border:0;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-size:var(--font-3xs);font-weight:700;cursor:pointer}.cohort-form button:disabled{opacity:.45;cursor:default}.row-actions{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto}.row-actions .link-button{margin:0}.admin-views{display:flex;flex-wrap:wrap;gap:.3rem;padding:0 0 .6rem}.admin-view{padding:.3rem .7rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:var(--font-3xs);font-weight:600;cursor:pointer}.admin-view.active{border-color:transparent;background:var(--accent-gradient);color:#fff}.risk-pill{display:inline-block;padding:.12rem .42rem;border-radius:999px;background:var(--surface-3);color:var(--text-secondary);font-size:var(--font-3xs);font-weight:700;text-transform:capitalize}.risk-low{background:var(--positive-wash);color:var(--positive-text)}.risk-medium{background:var(--risk-med-bg);color:var(--risk-med-text)}.risk-high{background:var(--risk-high-bg);color:var(--risk-high-text)}.risk-churned{background:var(--surface-3);color:var(--text-secondary)}
