/* THESI404: tactile paper, bold ink, small oddities. */
:root{--ink:#30273d;--muted:#81708e;--purple:#7853ad;--paper:#fffdf2;--line:#d0bddb}
body{background:#d7c1e7 url('assets/paper-world-v1.png') center/cover fixed}.app{position:relative;margin-left:88px;padding-right:8px}.rail{width:88px;background:#33253f;border-right:2px solid #24192e;padding-top:24px;gap:24px}.logo{width:68px;height:78px;background:#e8efa8;border-radius:21px 16px 23px 16px;box-shadow:3px 4px 0 #1b1324;margin-bottom:23px}.logo img{width:67px;height:81px;transform:rotate(-9deg) scale(1.1)}.rail-button{display:grid;place-items:center;border-radius:13px}.rail-button.active{background:#c4a3e4;color:#35213f;border:1.5px solid #201426;box-shadow:3px 4px 0 #201426}.rail-button:not(.active):hover{background:#50405f;color:#eee8ba}.rail>small{writing-mode:vertical-rl;letter-spacing:4px}
header{height:108px;min-height:108px;padding:0 33px;border:0;background:transparent}.brand{font-size:45px;letter-spacing:-2.7px;transform:rotate(-2deg)}.brand>span{color:#704e99}.brand i{width:10px;height:10px;background:#ed9d78;margin-left:9px;box-shadow:1px 1px 0 #392842}.header-right{gap:21px}#findMarket{min-width:205px;background:#f9f3e9cc;border:1px solid #bfa6cd;color:#795b8a;padding:12px 14px;border-radius:11px;box-shadow:0 2px 0 #c8b0d5}.header-right>.docs-link{padding:12px 22px;background:#eaf0a9;border:1.5px solid #594163;box-shadow:3px 3px 0 #594163;border-radius:9px;font:500 13px var(--display);transform:rotate(2deg);transition:transform .15s}.header-right>.docs-link:hover{transform:rotate(0) translateY(-2px)}
main{padding:0 33px;gap:0}.account-strip{border:0;gap:13px;margin:0 0 22px;min-height:93px}.account-strip>div{position:relative;background:#f9f3e9;border:1.5px solid #8d719e;padding:16px 19px;border-radius:12px;box-shadow:2px 3px 0 #b69cc8;gap:7px;overflow:hidden}.account-strip>div:nth-child(2){background:#eaf0b5}.account-strip>div:nth-child(3){background:#e5d5f1}.account-strip>div:nth-child(4){background:#f3dac9}.account-strip>div:after{content:'↗';position:absolute;right:16px;bottom:14px;font-size:25px;transform:rotate(-10deg);color:#9f86ae55}.account-strip>div:nth-child(2):after{content:'±';font-family:var(--display);font-size:31px}.account-strip>div:nth-child(3):after{content:'↓'}.account-strip>div:nth-child(4):after{content:'◎'}.account-strip span{font-size:11px;color:#786083}.account-strip strong{font:500 26px var(--display);color:#574260}
.workspace{grid-template-columns:minmax(0,1fr) 335px;grid-template-rows:minmax(230px,1fr) 159px;gap:20px}.panel{border:1.5px solid #6f537c;border-radius:16px;box-shadow:4px 5px 0 #9c80b0;background:#fffdf2}.chart-panel{padding:22px 23px 15px;position:relative}.chart-header{gap:24px}.selected-market .asset-icon{border:1px solid #bcabc7;border-radius:10px;box-shadow:2px 2px 0 #e3d5e9;width:40px;height:40px}.selected-market strong{font-size:20px}.selected-market small{font-size:10px}.quote>strong{font-size:27px;font-weight:600}.quote>span{font-size:10px}.chart-periods{background:#eee4f2;padding:4px;border:1px solid #ddcde5;border-radius:9px}.chart-periods button{padding:6px 9px;color:#9c80ae}.chart-periods button.active{background:#765597;color:#fffaf2;box-shadow:1px 2px 0 #543a6b}.market-metrics{margin:20px 0 17px;color:#9882a4}.market-metrics b{color:#695276}.chart-grid{stroke:#d7c8df;stroke-dasharray:2 7}#chartLine{stroke:#775397;stroke-width:2.8}#chartDates{margin-top:14px}.chart-stage{min-height:60px}#chartState{color:#8c769a}#chartAxis,#chartDates{color:#9b85a7;font-size:9px}
.agent-panel{background:#ede2f4;position:relative}.agent-header{position:relative;display:block;padding:22px 22px 0;min-height:0;height:clamp(200px,29vh,285px);flex-shrink:0;background:#cbb0e4;isolation:isolate;overflow:hidden}.agent-header:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(#77509744 .8px,transparent .8px) 0 0/9px 9px;mask-image:linear-gradient(transparent,#000)}.agent-title{position:relative;z-index:2}.agent-title h2{font-size:25px;letter-spacing:-1px;margin-top:7px}.agent-title .overline{font-size:9px;letter-spacing:1.4px;color:#654876}.asterisk{display:inline-block;margin-left:13px;color:#eff4ae;font-size:30px;vertical-align:middle;transform:rotate(13deg);text-shadow:1px 1px 0 #80648e}.workstation-art{position:absolute;inset:56px -7px -8px;display:grid;place-items:center}.agent-header .workstation-art img{width:100%;height:100%;object-fit:contain;transform:rotate(-4deg);filter:drop-shadow(0 7px 6px #52315b20)}.art-stamp{position:absolute;right:18px;bottom:15px;font:500 12px var(--mono);background:#eaf0a9;border:1px solid #755c7f;padding:5px 8px;border-radius:5px;transform:rotate(8deg);box-shadow:2px 2px 0 #755c7f}.agent-tabs{background:#fffaf0;border-top:1.5px solid #876a98;border-bottom:1px solid #d3bfdc;padding:0 22px;gap:25px}.agent-tabs button{font:500 12px var(--display);padding:13px 0;color:#9b80aa}.agent-tabs button.active{color:#4d355f;border-bottom:3px solid #83649b}.agent-content{padding:18px 22px;background:repeating-linear-gradient(transparent 0 29px,#d5c4df77 29px 30px);position:relative}.context-tag{font-size:9px;background:#ede2f4;align-self:flex-start;padding:3px 7px;border:1px solid #d7c6e1;border-radius:4px;color:#836594}.empty-note{text-align:left;margin:auto 0;padding:12px 0}.note-icon{display:inline-block;font-size:32px;color:#9976b0;transform:rotate(-10deg);margin:0 0 8px}.empty-note h3{font-size:18px;letter-spacing:-.5px;color:#6f5186}.empty-note p{font-size:11px;color:#9378a3}.agent-footer{background:#f7eff9;border-top:1px solid #cdb8d8;padding:14px 20px;font-size:10px}.agent-footer .docs-link{color:#73518b;font-size:11px}.positions-panel{background:#fffdf2}.panel-heading{padding:10px 20px;background:#faf3e6;border-bottom:1px solid #d8c9d9}.panel-heading h2{font-size:16px;font-weight:600}.position-tabs button.active{background:#e4d1f0;color:#684480}.table-head{font-size:9px;color:#90769e}.empty-book{font-size:11px;color:#9d85ac}footer{height:43px;min-height:43px;color:#81678f;font-size:9px}footer .docs-link{font:11px var(--display);color:#614673}dialog{border:1.5px solid #644874;box-shadow:6px 7px 0 #735985;border-radius:16px}button,a{ -webkit-tap-highlight-color:transparent}
@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 390px;grid-template-rows:minmax(250px,1fr) 180px}.agent-header{height:310px}.account-strip{min-height:99px}header{height:118px;min-height:118px}}
@media(max-height:780px) and (min-width:761px){header{height:86px;min-height:86px}.brand{font-size:39px}.account-strip{min-height:76px;margin-bottom:18px}.account-strip>div{padding:11px 17px;gap:3px}.account-strip strong{font-size:24px}.workspace{grid-template-rows:minmax(190px,1fr) 134px;gap:16px}.chart-panel{padding:17px 20px 11px}.market-metrics{margin:14px 0 9px}.agent-header{height:205px;padding-top:15px}.agent-title h2{font-size:22px}.workstation-art{inset:46px 0 -4px}.agent-content{padding:12px 20px}.note-icon{display:none}.agent-tabs button{padding:10px 0}.empty-note h3{font-size:16px}.agent-footer{padding:11px 20px}.quote>strong{font-size:24px}footer{height:35px;min-height:35px}}
@media(max-width:1100px) and (min-width:761px){.workspace{grid-template-columns:minmax(0,1fr) 285px}.chart-header{gap:15px}.quote>strong{font-size:22px}.chart-periods button{padding:6px}.selected-market small{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}main{padding:0 23px}header{padding:0 23px}.account-strip{gap:10px}.account-strip>div{padding-left:14px}.account-strip span{font-size:10px}.agent-title h2{font-size:23px}}
@media(max-width:760px){.app{margin-left:60px;padding-right:0}.rail{width:60px;padding-top:19px;gap:21px}.logo{width:49px;height:59px;border-radius:14px;margin-bottom:17px}.logo img{width:51px;height:62px}.rail-button{width:38px;height:41px}.rail-button svg{width:21px;height:21px}header{height:93px;min-height:93px;padding:0 17px}.brand{font-size:32px;letter-spacing:-2px}.brand i{height:7px;width:7px;margin-left:5px}.header-right{gap:10px}.header-right>.docs-link{font-size:11px;padding:8px 11px;box-shadow:2px 2px 0 #594163}#findMarket{min-width:0;background:none;box-shadow:none;border:0;padding:0;font-size:0}#findMarket kbd{background:#f8f2e8;border:1px solid #b79bc8}main{padding:0 16px}.account-strip{gap:10px;min-height:0;margin-bottom:18px;padding:0}.account-strip>div{padding:12px 13px;gap:5px;border-radius:10px;min-height:76px}.account-strip span{font-size:10px}.account-strip strong{font-size:23px}.account-strip>div:after{font-size:20px;right:13px;bottom:9px}.workspace{gap:18px}.chart-panel{padding:15px 13px;height:342px}.chart-header{gap:11px}.selected-market .asset-icon{width:29px;height:29px}.selected-market strong{font-size:16px}.selected-market small{font-size:9px;max-width:105px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.quote>strong{font-size:19px}.quote>span{font-size:9px}.chart-periods{width:auto;margin-left:auto;margin-top:3px;padding:3px}.chart-periods button{padding:4px 9px}.market-metrics{margin:12px 0;font-size:9px}.positions-panel{height:143px}.agent-panel{height:375px}.agent-header{height:204px;padding:17px 19px 0}.agent-title h2{font-size:23px}.workstation-art{inset:42px 8px -12px}.agent-tabs button{padding:9px 0}.agent-content{padding:10px 18px}.empty-note h3{font-size:15px}.empty-note p{font-size:10px}.agent-footer{padding:10px 18px}.context-tag{font-size:8px}.panel-heading{padding:9px 14px}.panel-heading h2{font-size:14px}.table-head{font-size:8px}.panel{box-shadow:3px 4px 0 #9c80b0}footer{height:40px;min-height:40px;font-size:8px}footer .docs-link{font-size:10px}}
.empty-note:has(.analysis-grid){width:100%;padding:8px 0}.analysis-title{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.analysis-title strong{font:500 19px var(--display);color:#644578}.analysis-title>span{font:8px var(--mono);color:#9a7caa}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.analysis-grid>div{display:flex;flex-direction:column;gap:4px}.analysis-grid small{font-size:10px;color:#8c709e}.analysis-grid b{font:500 14px var(--display);color:#614675}.analysis-frames{display:flex;justify-content:space-between;border-top:1px solid #d2beda;margin-top:15px;padding-top:10px;font:9px var(--mono);color:#8c709e}.analysis-frames b{font-weight:500;color:#69507c}@media(max-height:780px) and (min-width:761px){.analysis-title{margin-bottom:9px}.analysis-grid{gap:8px}.analysis-title strong{font-size:16px}.analysis-frames{margin-top:9px;padding-top:8px}.agent-content{overflow:auto}}@media(max-width:760px){.agent-panel{height:490px}.analysis-title{margin-top:8px}.analysis-grid{gap:12px}.analysis-title strong{font-size:17px}}
.empty-book.has-records{display:block;padding:0 20px;overflow-y:auto;max-height:95px}.position-row{display:grid;grid-template-columns:1.15fr 1fr 1.1fr .7fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #dfd1e5;text-align:left;font-size:11px}.position-row small{display:block;font-size:9px;margin-top:3px;color:#937ca2}.position-asset{display:flex;align-items:center;gap:8px}.position-asset .asset-icon{width:24px;height:24px}.position-asset img{max-width:22px;max-height:22px}.journal-list{max-height:195px;overflow-y:auto;text-align:left}.journal-list article+article{border-top:1px solid #c8b5d4;padding-top:12px;margin-top:12px}.journal-list p{font-size:12px;line-height:1.5}.journal-list small{font-size:10px;color:#786083}.journal-sources a{font-size:10px;color:#765597}#pnlPeriod{font-size:8px}

.agent-section-title{padding:12px 22px;background:#fffaf0;border-top:1.5px solid #876a98;border-bottom:1px solid #d3bfdc;font:600 12px var(--display);color:#4d355f}
