@font-face{font-family:Kanit;src:url('/brand/fonts/Kanit-Regular.ttf')}@font-face{font-family:Kanit;src:url('/brand/fonts/Kanit-SemiBold.ttf');font-weight:600}
:root{color-scheme:dark;font-family:Kanit,system-ui,sans-serif;color:#f4edf9;background:#130e1a;--muted:#b4a8be;--accent:#eb0fda;--line:#48344f;--green:#49d289;--red:#ff647d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 0,#50372966,transparent 58%),radial-gradient(ellipse at 100% 20%,#66259130,transparent 62%),#130e1a;min-height:100dvh}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,.button{border:1px solid #a844de;background:#8132cf;color:white;cursor:pointer;border-radius:12px;padding:11px 20px;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(1.15)}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;border-color:var(--line)}input,select{width:100%;background:#1e1428;color:#fff;border:1px solid #64476f;border-radius:10px;padding:11px;min-width:0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #ec75e2;outline-offset:3px}label{display:grid;gap:5px;color:#d9cce1;font-size:.94rem}h1,h2,h3,p{margin:0 0 13px}h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.25}h2{font-size:1.25rem}h3{font-size:1.05rem}p{line-height:1.55}.muted,small{color:var(--muted)}small{font-size:.84rem}.brand{width:230px;max-width:65vw;height:63px;object-fit:contain}.auth{max-width:460px;margin:auto;padding:42px 22px}.auth .brand{margin:18px 0 34px}.card{background:linear-gradient(130deg,#2d1c37,#291231);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:20px}.auth form{display:grid;gap:19px}.notice{color:#f7cd9c;border-left:3px solid #d99851;padding-left:12px;font-size:.9rem}.error{color:#ffacb8;white-space:pre-wrap}.message{min-height:1.4em;margin-top:14px}header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 5vw;background:linear-gradient(110deg,#69503b55,#3c235d66);border-bottom:1px solid #ffffff0c}.account{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:.85rem}.account span{overflow-wrap:anywhere}.shell{max-width:1210px;margin:auto;padding:25px 24px 60px}.intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:5px 0 25px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#ec72e5;font-size:.75rem;margin-bottom:8px}.tabs{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}.tabs button{background:transparent;border-color:var(--line)}.tabs button[aria-selected=true]{background:#8132cf;border-color:#bc68ee}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}.form-grid .wide{grid-column:span 2}.form-grid button{min-height:48px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:20px 0}.metric{border:1px solid var(--line);background:#21152c;border-radius:16px;padding:18px}.metric span{color:var(--muted);display:block;font-size:.84rem}.metric strong{font-size:1.5rem;font-weight:600;display:block;overflow-wrap:anywhere}.positive{color:var(--green)}.negative{color:var(--red)}.chart{height:220px;width:100%;display:block;margin:15px 0}.chart text{font:12px Kanit,system-ui;fill:var(--muted)}.chart .line{stroke:#bd70ff;fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.chart .area{fill:url(#equity-fill)}.trade{padding:22px;background:linear-gradient(125deg,#2d1c37,#32143f);border:1px solid var(--line);border-radius:22px;margin:13px 0}.trade summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.trade summary::-webkit-details-marker{display:none}.trade .side{color:#e8a043}.trade .amount{text-align:right;font-size:1.4rem}.trade .amount small{display:block;font-size:.9rem}.trade .meta{margin-top:12px;color:var(--muted);font-size:.9rem}.trade .expand{color:#b97be4;font-size:.85rem}.detail{margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail dt{color:var(--muted);font-size:.82rem}.detail dd{margin:4px 0;overflow-wrap:anywhere}.events{list-style:none;padding:0}.events li{border-left:2px solid #8e42c0;margin:0 0 10px;padding:4px 0 4px 12px;font-size:.88rem}.events li small{display:block}.filter{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin:20px 0}.pager{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px}.history-list{display:grid;gap:10px;margin-top:18px}.history-list button{text-align:left;background:#271731;border-color:var(--line)}.history-list small{display:block}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:400}footer{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.84rem}.status-pill{display:inline-block;border:1px solid var(--line);padding:5px 12px;border-radius:99px;font-size:.85rem}.empty{padding:30px 0;color:var(--muted);text-align:center}[hidden]{display:none!important}.progress{height:5px;overflow:hidden;background:#432651;border-radius:9px;margin:15px 0}.progress span{height:100%;width:40%;background:#bb62fa;display:block;animation:progress 1.4s infinite alternate}@keyframes progress{to{transform:translateX(150%)}}@media(prefers-reduced-motion:reduce){.progress span{animation:none;width:100%}}@media(max-width:760px){header{padding:12px 20px;align-items:flex-start}.brand{width:185px;height:52px}.account{justify-content:flex-end;max-width:45%;font-size:.72rem}.account button{padding:6px 12px}.shell{padding:23px 17px 45px}.intro{display:block}.intro .status-pill{margin-top:8px}.form-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:1.25rem}.detail dl{grid-template-columns:1fr 1fr}.card{padding:20px}.filter{grid-template-columns:1fr 1fr}.filter button{grid-column:span 2}.chart{height:180px}}@media(max-width:380px){header{padding:12px}.brand{width:160px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.trade{padding:17px}.trade .amount{font-size:1.2rem}}
@media(max-width:760px){.pager{flex-wrap:wrap;justify-content:center;font-size:.85rem}.pager button{padding:9px 12px}.pager span{order:2;width:100%;text-align:center}}
@media(max-width:380px){.trade summary{grid-template-columns:1fr}.trade .amount{text-align:left}.detail dl{grid-template-columns:1fr}}

.password-field{position:relative;display:block;min-width:0}.password-field input{padding-right:57px}.password-field .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:#d2a2f4}.password-toggle:hover{background:#ffffff0b}.password-toggle .eye-slash{display:none}.password-toggle[aria-pressed="true"] .eye-slash{display:block}

.monthly-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.monthly-heading h2{margin-bottom:0}.monthly-heading label{min-width:125px}.monthly-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.monthly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.month-card{padding:17px;background:#201329;border:1px solid var(--line);border-radius:15px;min-width:0}.month-heading{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.month-card h3{font-size:1rem;margin-bottom:10px}.month-card strong{display:block;font-size:1.65rem;line-height:1.25}.month-card span{display:block;margin:7px 0;font-size:.96rem}.month-card>small{display:block;font-size:.75rem;overflow-wrap:anywhere}.month-heading small{font-size:.7rem;color:#f7cd9c}.month-unavailable{opacity:.55}.month-unavailable strong,.month-unavailable span{color:var(--muted)}.monthly-explanation{font-size:.82rem;margin:19px 0 0}@media(max-width:850px){.monthly-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.monthly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-summary{grid-template-columns:1fr}.monthly-heading{align-items:flex-start}.month-card{padding:13px}.month-card strong{font-size:1.4rem}}@media(max-width:380px){.monthly-heading{flex-wrap:wrap}.monthly-heading label{width:100%}.monthly-grid{grid-template-columns:1fr}}

.compare-assets{margin:20px 0 0;padding:14px;border:1px solid var(--line);border-radius:12px}.compare-assets legend{font-size:.9rem;color:var(--muted)}#compare-assets{display:flex;gap:10px 20px;flex-wrap:wrap}#compare-assets label{display:flex;align-items:center;gap:7px}#compare-assets input{width:18px;min-height:18px;accent-color:#b966fa}.compare-selectors{display:flex;gap:12px}.compare-selectors label{min-width:120px}#compare-note{margin-top:20px}.compare-explanation{font-size:.82rem;margin-top:16px}.comparison-matrix td{text-align:center;min-width:88px}.comparison-matrix td.positive{background:#49d2890c}.comparison-matrix td.negative{background:#ff647d0c}.comparison-matrix .selected-month{box-shadow:inset 2px 0 #b966fa,inset -2px 0 #b966fa}.comparison-matrix th:first-child{position:sticky;left:0;background:#291a33;z-index:1}@media(max-width:600px){#compare-panel .monthly-heading{display:block}.compare-selectors{margin-top:16px}.compare-selectors label{min-width:0;flex:1}#compare-panel .form-grid button{grid-column:1/-1}}

.compare-selectors{flex-wrap:wrap}.compare-selectors label{min-width:115px}.compare-selectors input[type=date]{min-width:150px}

.price-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:12px;align-items:end;margin-top:20px}.price-navigation{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:15px 0}.price-navigation button{padding:7px 12px;font-size:.85rem}.price-canvas{width:100%;min-height:260px;background:#1c1226;border:1px solid var(--line);border-radius:14px;overflow:hidden}.price-canvas svg{width:100%;display:block;touch-action:pan-y}.price-tooltip{min-height:2.6em;font-size:.8rem;margin-top:9px;color:#d5c4e0}.price-levels{display:flex;gap:8px;flex-wrap:wrap}.price-chip{border:1px solid #82bfff66;background:#82bfff0a;border-radius:9px;padding:8px 11px;font-size:.83rem}.price-chip.stop{border-color:#ffb05c66;color:#ffca91}.price-chip.target{border-color:#49d28966;color:#86e9b3}.price-explanation{font-size:.8rem;margin:17px 0 0}.price-events{margin-top:15px}.price-events summary{cursor:pointer;color:#d4b2ee}.price-events ul{margin-top:16px}@media(max-width:850px){.price-controls{grid-template-columns:1fr 1fr}.price-navigation{justify-content:center}}@media(max-width:450px){.price-controls{grid-template-columns:1fr}.price-card .monthly-heading{display:block}.price-card .status-pill{margin-top:12px}.price-navigation button{font-size:.75rem;padding:7px 9px}}

/* Native date controls must stay inside their grid cells, including iOS Safari. */
.filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;row-gap:16px}
.filter label{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;gap:8px}
.filter input[type=date]{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;height:48px;min-height:48px;max-height:48px;flex:0 0 48px;padding:10px 12px;font-size:16px;line-height:26px;text-align:left}
.filter input[type=date]::-webkit-date-and-time-value{min-width:0;min-height:26px;line-height:26px;text-align:left;margin:0}
.filter input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
.filter button{box-sizing:border-box;height:48px;min-height:48px;max-height:48px;align-self:end;margin:0;line-height:24px}
@media(max-width:760px){.filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.filter button{grid-column:1/-1;width:100%}}
@media(max-width:600px){#paper-filter{grid-template-columns:minmax(0,1fr);gap:16px}#paper-filter label,#paper-filter button{grid-column:1/-1;width:100%}}
body.admin-embedded{min-height:0;background:#130e1a}body.admin-embedded>header,body.admin-embedded .intro,body.admin-embedded footer{display:none}body.admin-embedded .shell{max-width:none;padding:12px 8px 20px}body.admin-embedded .tabs{margin-top:0}body.admin-embedded .card{padding:20px}@media(max-width:500px){body.admin-embedded .shell{padding:8px 0 15px}body.admin-embedded .card{padding:15px}}
