:root{--bg:#07090f;--panel:#101623d1;--panel-solid:#101623;--panel-soft:#ffffff0e;--line:#ffffff1a;--text:#eef4ff;--muted:#97a3b8;--green:#31d993;--red:#ff5f73;--blue:#5fb4ff;--yellow:#f2c94c;--orange:#ff9f43;--shadow:0 24px 80px #00000059;--radius:8px;--sidebar:280px;--sidebar-bg:#080c14e0}html[data-theme=light]{--bg:#f3f5f9;--panel:#ffffffe0;--panel-solid:#fff;--panel-soft:#0d131f0b;--line:#0d131f17;--text:#0b0e14;--muted:#5e6d82;--shadow:0 16px 48px #0000000d;--sidebar-bg:#f0f2f6e0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at top left, #31d9931f, transparent 34rem), radial-gradient(circle at bottom right, #5fb4ff1f, transparent 34rem), var(--bg);letter-spacing:0;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .3s,color .3s}html[data-theme=light] body{background:radial-gradient(circle at top left, #31d99312, transparent 34rem), radial-gradient(circle at bottom right, #5fb4ff12, transparent 34rem), var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:var(--sidebar) 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);z-index:5;flex-direction:column;gap:18px;height:100vh;padding:22px 18px;transition:transform .2s,background .3s;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:10px;display:flex}.brand-mark{border-radius:var(--radius);width:42px;height:42px;color:var(--green);background:linear-gradient(135deg,#31d99329,#5fb4ff1f);border:1px solid #31d99366;place-items:center;font-weight:800;display:grid;box-shadow:inset 0 0 18px #31d9931f}.brand h1{margin:0;font-size:1.12rem;line-height:1.1}.brand p{color:var(--muted);margin:3px 0 0;font-size:.76rem}.nav{gap:8px;display:grid}.nav button{border-radius:var(--radius);width:100%;min-height:44px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 12px;transition:all .18s;display:flex}.nav button:hover,.nav button.active{color:var(--text);background:#31d99317;border-color:#31d9933d}.nav-icon{width:22px;color:var(--green);text-align:center;font-weight:800}.profile{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);gap:12px;padding:14px;transition:background .3s;display:grid}.profile-row{align-items:center;gap:10px;min-width:0;display:flex}.avatar{border:1px solid var(--line);object-fit:cover;background:#5fb4ff29;border-radius:50%;flex:none;width:38px;height:38px}.profile strong,.profile span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile span{color:var(--muted);margin-top:3px;font-size:.78rem}.main{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:18px;min-height:64px;margin-bottom:18px;display:flex}.topbar h2{margin:0;font-size:clamp(1.45rem,2.3vw,2.4rem);line-height:1.05}.topbar p{color:var(--muted);max-width:720px;margin:7px 0 0;line-height:1.55}.mobile-toggle{border:1px solid var(--line);border-radius:var(--radius);width:44px;height:44px;color:var(--text);background:var(--panel-soft);display:none}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--line);border-radius:var(--radius);min-height:42px;color:var(--text);background:var(--panel-soft);justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:500;transition:all .18s;display:inline-flex}.btn:hover{border-color:#31d99361;transform:translateY(-1px)}.btn.primary{color:#03110b;background:linear-gradient(135deg, var(--green), #78e8c7);border-color:#31d993cc;font-weight:800}.btn.danger{color:var(--red);background:#ff5f7314;border-color:#ff5f7352}.auth-screen{place-items:center;min-height:100vh;padding:22px;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-solid);width:min(980px,100%);box-shadow:var(--shadow);grid-template-columns:1.1fr .9fr;display:grid;overflow:hidden}.auth-hero{background:linear-gradient(135deg,#31d9932e,#080c14fa),repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 44px),repeating-linear-gradient(90deg,#ffffff05 0 1px,#0000 1px 44px);padding:clamp(28px,5vw,56px);color:#eef4ff!important}.auth-hero h1{margin:0;font-size:clamp(2.5rem,7vw,5.4rem);line-height:.95;color:#eef4ff!important}.auth-hero p{max-width:540px;margin:18px 0 0;line-height:1.65;color:#97a3b8!important}.auth-panel{border-left:1px solid var(--line);background:var(--panel-soft);align-content:center;gap:18px;padding:clamp(24px,4vw,38px);display:grid}.auth-panel h2{margin:0;font-size:1.35rem}.status-pill{width:fit-content;min-height:32px;color:var(--green);background:#31d9931a;border:1px solid #31d9933d;border-radius:999px;align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.section{animation:.22s both fadeUp;display:none}.section.active{display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.grid{gap:14px;display:grid}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-width:0;transition:background .3s,border-color .3s}.metric-card{align-content:space-between;min-height:132px;padding:16px;display:grid;position:relative;overflow:hidden}.metric-card:after{content:"";background:#ffffff06;border:1px solid #ffffff12;border-radius:50%;width:92px;height:92px;position:absolute;top:-30px;right:-24px}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.79rem;font-weight:700}.metric-value{overflow-wrap:anywhere;margin-top:14px;font-size:clamp(1.45rem,2vw,2.05rem);font-weight:800;line-height:1}.metric-hint{color:var(--muted);margin-top:9px;font-size:.78rem}.green{color:var(--green)}.red{color:var(--red)}.blue{color:var(--blue)}.yellow{color:var(--yellow)}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.panel-header h3{margin:0;font-size:1rem}.panel-header p{color:var(--muted);margin:4px 0 0;font-size:.78rem}.panel-body{padding:16px}.calendar-tools{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calendar-strip-wrap{scrollbar-width:thin;scrollbar-color:#31d99373 #ffffff0d;padding-bottom:6px;overflow-x:auto}.calendar-title{font-weight:800}.calendar-grid{gap:8px;min-width:max-content;display:flex}.weekday{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.day{border:1px solid var(--line);border-radius:var(--radius);width:106px;min-height:92px;color:var(--text);background:var(--panel-soft);text-align:center;flex:0 0 106px;padding:9px;transition:all .16s;position:relative;overflow:hidden}.day:hover,.day.selected{border-color:#31d99373;transform:translateY(-1px);box-shadow:0 10px 28px #00000038}.day.muted{opacity:.34}.day.today{border-color:#5fb4ff8c}.day-weekday{z-index:1;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;display:block;position:relative}.day-number{z-index:1;margin-top:8px;font-size:1.35rem;font-weight:800;display:block;position:relative}.day-pl{z-index:1;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:.72rem;display:block;position:relative;overflow:hidden}.heat{opacity:.86;height:5px;position:absolute;inset:auto 0 0}.workflow-stack{gap:14px;margin-top:14px;display:grid}.summary-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.summary-toolbar select{width:auto;min-width:170px}.premium-gate{margin-bottom:14px;overflow:hidden}.premium-gate .panel-body{gap:14px;display:grid}.premium-code-form{grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:10px;display:grid}.premium-message{min-height:22px;color:var(--muted);font-size:.86rem;line-height:1.5}.premium-message.success{color:var(--green)}.premium-message.error{color:var(--red)}.plan-row{flex-wrap:wrap;gap:10px;display:flex}.plan-chip{border:1px solid var(--line);min-height:34px;color:var(--text);background:var(--panel-soft);border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:.8rem;font-weight:800;display:inline-flex}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);gap:10px;min-width:0;padding:14px;display:grid}.plan-card strong{font-size:1rem}.plan-card .price{color:var(--green);font-size:1.6rem;font-weight:800;line-height:1}.plan-card p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.ad-slot{border-radius:var(--radius);color:#f8e7a6;background:#f2c94c14;border:1px dashed #f2c94c6b;justify-content:space-between;align-items:center;gap:12px;min-height:74px;margin-bottom:14px;padding:14px 16px;display:flex}.ad-slot strong{margin-bottom:3px;display:block}.ad-slot span{color:#f8e7a6c7;font-size:.84rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;min-width:0;display:grid}.field.full{grid-column:1/-1}label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.78rem;font-weight:800}input,textarea,select{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:42px;color:var(--text);background:var(--panel-soft);outline:none;padding:10px 12px;transition:all .16s,background .3s,border-color .3s}textarea{resize:vertical;min-height:88px;line-height:1.5}input:focus,textarea:focus,select:focus{border-color:#31d99380;box-shadow:0 0 0 3px #31d9931c}select option{color:#101623;background:#fff}.question-list{gap:10px;display:grid}.dashboard-reminder{border-radius:var(--radius);color:#dbeafe;background:linear-gradient(135deg,#5fb4ff1f,#31d99314);border:1px solid #5fb4ff47;margin-bottom:10px;padding:14px;line-height:1.55}.trade-mode{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr 1fr;min-width:min(100%,310px);display:inline-grid;overflow:hidden}.trade-mode button{min-height:38px;color:var(--muted);background:var(--panel-soft);border:0;padding:0 12px;font-weight:800}.trade-mode button.active{color:#03110b;background:var(--green)}.trade-log-table{scrollbar-width:thin;padding-bottom:6px;overflow-x:auto}.trade-log-head,.trade-row{grid-template-columns:1.15fr .85fr .8fr .8fr .7fr 44px;align-items:center;gap:10px;min-width:720px;display:grid}.trade-log-head{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;padding:0 8px 8px;font-size:.72rem;font-weight:800}.trade-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);margin-bottom:8px;padding:8px}.trade-row .field{gap:0}.trade-row label{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.trade-row input,.trade-row select{min-height:38px;padding:8px 10px}.trade-summary{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:.86rem;display:flex}.trade-summary strong{color:var(--text)}.icon-btn{border:1px solid var(--line);border-radius:var(--radius);width:42px;min-height:42px;color:var(--red);background:#ff5f7314;justify-content:center;align-items:center;font-weight:800;display:flex}.score-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.score-mini{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);text-align:center;padding:10px}.score-mini strong{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:.72rem;display:block}.score-mini span{font-size:1.15rem;font-weight:800}.question{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px;display:flex}.question span{line-height:1.35}.segmented{border:1px solid var(--line);border-radius:var(--radius);flex:none;grid-template-columns:1fr 1fr;width:132px;display:inline-grid;overflow:hidden}.segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;font-weight:800}.segmented button.active.yes{color:#03110b;background:var(--green)}.segmented button.active.no{color:#170306;background:var(--red)}.chart-wrap{height:320px;padding:16px}.journal-list{gap:12px;display:grid}.journal-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);padding:14px}.journal-item-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.journal-item h4{margin:0;font-size:.98rem}.journal-item small{color:var(--muted)}.journal-item p{color:var(--text);white-space:pre-wrap;margin:7px 0 0;line-height:1.55}.thumb-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px;display:grid}.thumb-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);width:100%}.toast{z-index:20;border-radius:var(--radius);max-width:min(380px,100vw - 40px);color:var(--text);box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#0a1019f0;border:1px solid #31d99352;padding:13px 15px;transition:all .18s;position:fixed;bottom:20px;right:20px;transform:translateY(12px)}.toast.show{opacity:1;transform:translateY(0)}.empty-state{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel-soft);padding:22px}.setup-note{border-radius:var(--radius);color:#f8e7a6;background:#f2c94c14;border:1px solid #f2c94c57;margin-bottom:12px;padding:12px;font-size:.88rem;line-height:1.5}.hidden{display:none!important}.auth-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-bottom:14px;display:grid}.auth-tab{color:var(--muted);text-align:center;background:0 0;border:0;padding:12px;font-weight:600;transition:all .15s}.auth-tab.active{color:var(--text);border-bottom:2px solid var(--green)}.auth-divider{text-align:center;color:var(--muted);align-items:center;margin:10px 0;font-size:.78rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--line);flex:1}.auth-divider:not(:empty):before{margin-right:.5em}.auth-divider:not(:empty):after{margin-left:.5em}@media (width<=1180px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-grid{grid-template-columns:1fr}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(84vw,320px);transition:all .2s;position:fixed;inset:0 auto 0 0;transform:translate(-103%)}.sidebar.open{transform:translate(0)}.mobile-toggle{place-items:center;display:inline-grid}.main{padding:16px}.topbar{align-items:flex-start}.auth-card{grid-template-columns:1fr}.auth-panel{border-left:0;border-top:1px solid var(--line)}.calendar-grid{gap:5px}.day{flex-basis:86px;width:86px;min-height:78px;padding:7px}.day-pl{margin-top:7px}.form-grid,.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.question{flex-direction:column;align-items:stretch}.segmented{width:100%}.trade-row{grid-template-columns:1.15fr .85fr .8fr .8fr .7fr 44px}.score-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-code-form{grid-template-columns:1fr}}@media (width<=600px){.auth-hero{display:none!important}.auth-card{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;grid-template-columns:1fr!important}.auth-panel{background:0 0!important;border-top:0!important;border-left:0!important;padding:16px 8px!important}.auth-screen{align-content:center!important;place-items:start center!important;padding:12px!important}}@media (width<=520px){.topbar{flex-direction:column}.btn-row,.btn{width:100%}.btn{justify-content:center}.panel-header,.calendar-tools,.journal-item-top{flex-direction:column;align-items:flex-start}.calendar-tools .btn-row{grid-template-columns:1fr 1fr;display:grid}.ad-slot{flex-direction:column;align-items:flex-start}}
