@font-face{font-family:Reading;src:url(/assets/inter.woff2) format("woff2");font-weight:100 900}
@font-face{font-family:Pixel;src:url(/assets/vt323.ttf) format("truetype")}
@font-face{font-family:Plex;src:url(/assets/plex.ttf) format("truetype")}
:root{color-scheme:dark;--bg:#0b0f0e;--panel:#131917;--panel2:#101613;--line:#2d3832;--ink:#eef5f1;--muted:#a9b8b0;--accent:#71ffba;--orange:#ffc279;--loss:#ffad99;--mono:Plex,monospace;--pixel:Pixel,monospace}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Reading,system-ui,sans-serif}
h1,h2,p,dl,dd,ul{margin:0}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.shell{width:min(1232px,calc(100% - 96px));margin:auto}
header{border-bottom:1px solid var(--line)}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.identity{display:flex;align-items:center;gap:12px;font:27px/1 var(--pixel);white-space:nowrap}
.diamond{height:21px;width:21px;border:1.5px solid var(--accent);transform:rotate(45deg);display:inline-grid;place-items:center;flex-shrink:0;margin:0 4px}
.diamond::after{content:"";width:6px;height:6px;background:var(--accent)}
.host,.mono{font-family:var(--mono)}.host{font-size:12px;color:var(--muted)}
.eyebrow{font:12px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.small{font-size:12px;color:var(--muted)}.dim{color:var(--muted)}
button{border:1px solid var(--line);border-radius:4px;color:var(--ink);background:transparent;padding:10px 15px;min-height:40px;font-weight:600}
button:hover{border-color:var(--muted)}.primary{background:var(--accent);border-color:var(--accent);color:#0b2116}
.primary:hover{background:#a0ffd0;border-color:#a0ffd0}
.status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);white-space:nowrap}
.status::before{content:"";width:7px;height:7px;background:currentColor;border-radius:50%}
.status.paused{color:var(--orange)}
.preview{border:1px solid var(--line);padding:4px 8px;font:11px/1.4 var(--mono);color:var(--muted);white-space:nowrap;border-radius:3px}
.head-controls{display:flex;align-items:center;gap:14px}
.signin{min-height:calc(100svh - 73px);position:relative;display:grid;place-items:center;isolation:isolate;padding:48px 0}
.signcopy{position:relative;width:min(370px,100%);padding:29px 31px 33px;background:#0a100f;border:1px solid #283a34;border-top-color:#5caa8a;box-shadow:0 18px 75px #0009}
.signcopy h1{font:60px/.94 var(--pixel);letter-spacing:-1px;margin:0 0 22px}
.password{display:block;width:100%;min-height:48px;padding:10px 13px;border:1px solid #394b43;border-radius:3px;background:#0f1815;color:var(--ink);font:14px var(--mono)}
.password::placeholder{color:#a5b4ad}
.passkey{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin-top:12px;text-align:left;background:#162b23;border-color:#427d65;color:#a2ffd4}
.passkey:hover{background:#213b2f;border-color:#80e0af}
.passkey span:first-child{display:flex;align-items:center;gap:10px}
.key{position:relative;display:inline-block;width:20px;height:12px;flex-shrink:0}
.key::before{content:"";position:absolute;width:8px;height:8px;left:0;top:0;border:2px solid currentColor;border-radius:50%}
.key::after{content:"";position:absolute;top:5px;left:11px;width:9px;height:5px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.sign-art{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.sign-art canvas{display:block;width:100%;height:100%}
.sign-art::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 23%,#0b0f0e3d 57%,#0b0f0e 93%)}
.control{padding:32px 0 40px}
.title-line{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:23px}
.title-line h1{font:57px/.95 var(--pixel);letter-spacing:-.02em;margin:5px 0 5px}
.title-line .dim{font-size:13px}
.receiver{text-align:right}
.receiver .small{display:block;margin-top:3px}
.board{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:14px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:19px 21px;min-width:0}
.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}
h2{font-size:15px;font-weight:650}
.badge{font:11px/1.2 var(--mono);border:1px solid #475e50;background:#15251d;color:var(--accent);padding:5px 8px;border-radius:4px;white-space:nowrap}
.position{min-height:217px}
.position-head{display:flex;justify-content:space-between;gap:12px;align-items:end}
.position-head strong{display:block;font:43px/1 var(--pixel)}
.position-head .loss{color:var(--loss);font:25px/1.1 var(--mono);margin-bottom:4px}
.net{text-align:right}
.position-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:12px;font:12px var(--mono);color:var(--muted)}
.position-meta strong{font-weight:400;color:var(--ink)}
.track-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:19px 0 7px;color:var(--muted)}
.track-label strong{font:12px var(--mono);color:var(--ink)}
progress{appearance:none;display:block;width:100%;height:5px;background:#28362f;border:0;overflow:hidden}
progress::-webkit-progress-bar{background:#28362f}progress::-webkit-progress-value{background:var(--orange)}
.risk{grid-column:2;grid-row:1/span 2;border-top:2px solid var(--accent);display:flex;flex-direction:column}
.risk label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}
.money{display:flex;align-items:center;gap:8px;border:1px solid #52685b;border-radius:4px;padding:0 12px;background:#0d1410;font:18px var(--mono);color:var(--muted)}
.money:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.money input{min-width:0;flex:1;background:none;color:var(--ink);border:0;outline:0;padding:12px 0;font:inherit}
.money .small{font-size:11px}.risk .primary{width:100%;margin-top:12px}
.risk .help{margin-top:9px}
.rule-list{margin-top:12px}
.rule-list>div{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid var(--line)}
.rule-list dt{font-size:12px;color:var(--muted)}.rule-list dd{font:13px var(--mono);overflow-wrap:anywhere;text-align:right}
.rule-list strong{font-weight:400;color:var(--muted)}
.save-status{min-height:18px;margin-top:4px;color:var(--accent);font-size:12px}
.entry-control{border-top:1px solid var(--line);margin-top:auto;padding-top:13px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.entry-control p{font-size:13px;font-weight:600}
.entry-control button{min-height:36px;padding:6px 12px;font-size:12px;white-space:nowrap}
.alert-list{list-style:none;padding:0}
.alert-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:7px 0}
.alert-list strong{font-size:13px;font-weight:600}
.alert-list .status{font-size:11px}.alert-list .status::before{width:5px;height:5px}
.alerts .panel-title{margin-bottom:8px}
.activity{grid-column:1/-1}
.activity .panel-title{margin-bottom:6px}
table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}
th{font-weight:550;color:var(--muted)}th,td{padding:6px 10px 6px 0;border-bottom:1px solid var(--line)}
tbody tr:last-child td{border-bottom:0}
td:last-child,th:last-child{text-align:right;padding-right:0}
@media(max-width:1000px){.shell{width:calc(100% - 48px)}.signcopy h1{font-size:60px}}
@media(max-width:730px){.shell{width:calc(100% - 32px)}.header-inner{height:62px}.identity{font-size:23px}.host{display:none}.signin{min-height:calc(100svh - 63px);padding:38px 0}.signcopy{padding:24px}.control{padding-top:23px}.title-line{align-items:start;flex-direction:column;gap:10px}.receiver{text-align:left}.board{grid-template-columns:1fr}.risk{grid-column:auto;grid-row:auto}.activity{grid-column:auto}.panel{padding:17px}.head-controls{gap:8px}.head-controls .preview{display:none}.head-controls button{padding-inline:8px}.rule-list{margin-bottom:8px}}
@media(max-width:375px){.identity{font-size:21px}.header-inner{gap:7px}.head-controls .status{font-size:10px}.position-head strong{font-size:36px}.position-head .loss{font-size:18px}.preview{font-size:10px}.signcopy h1{font-size:56px}}

.sign-message:empty,.save-status:empty{display:none}
.sign-message{margin-top:12px;color:var(--orange);font-size:12px}
.empty{color:var(--muted);padding-block:9px}
.net .gain{color:var(--accent)}
#position-badge.flat{color:var(--muted);background:var(--panel2);border-color:var(--line)}
.alert-list .waiting{color:var(--muted)}
button:disabled{opacity:.6}
