*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #131722;--bg-panel: #1e222d;--bg-hover: #2a2e39;--border: #363a45;--text: #d1d4dc;--text-dim: #787b86;--accent: #2962ff;--green: #26a69a;--red: #ef5350;--gann-blue: #a0c4ff;--gann-green: #a7f0a7}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Vazirmatn,Tahoma,sans-serif;font-size:14px}.app-shell{display:flex;flex-direction:column;height:100%}.app-header{display:flex;align-items:center;gap:1.5rem;padding:0 1rem;height:44px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.app-header .brand{font-weight:700;font-size:15px;color:var(--text);text-decoration:none}.app-header nav{display:flex;gap:.25rem}.app-header a{color:var(--text-dim);text-decoration:none;padding:.35rem .7rem;border-radius:4px}.app-header a:hover{background:var(--bg-hover);color:var(--text)}.app-header a.active{color:var(--text)}.header-right{margin-inline-start:auto;display:flex;align-items:center;gap:.5rem}.locale-btn{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.25rem .5rem;cursor:pointer}.locale-btn:hover{color:var(--text);background:var(--bg-hover)}.app-main{flex:1;min-height:0;display:flex;flex-direction:column}.chart-page{display:flex;flex-direction:column;flex:1;min-height:0}.chart-toolbar{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.symbol-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.35rem .6rem;width:130px;font-size:13px;text-transform:uppercase}.symbol-input:focus{outline:none;border-color:var(--accent)}.interval-group{display:flex;gap:2px}.interval-group button{background:none;border:none;color:var(--text-dim);padding:.35rem .55rem;border-radius:4px;cursor:pointer;font-size:13px}.interval-group button:hover{background:var(--bg-hover);color:var(--text)}.interval-group button.active{background:var(--bg-hover);color:var(--accent);font-weight:600}.chart-status{margin-inline-start:auto;font-variant-numeric:tabular-nums}.status-up{color:var(--green)}.status-down{color:var(--red)}.status-error{color:var(--red);font-size:12px}.chart-body{display:flex;flex:1;min-height:0}.chart-container{flex:1;min-height:0}.drawing-toolbar{width:170px;flex-shrink:0;background:var(--bg-panel);border-inline-end:1px solid var(--border);padding:.5rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.tool-buttons{display:flex;flex-wrap:wrap;gap:4px}.tool-buttons button{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.3rem .5rem;cursor:pointer;font-size:12px}.tool-buttons button:hover{color:var(--text);background:var(--bg-hover)}.tool-buttons button.active{border-color:var(--accent);color:var(--accent)}.tool-hint{font-size:11px;color:var(--text-dim);line-height:1.35}.drawings-list{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border);padding-top:.5rem}.drawing-row{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:11px;color:var(--text-dim);padding:2px 0}.drawing-row button{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px}.drawing-row button:hover{color:var(--red)}.clear-all{margin-top:4px;background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.2rem;cursor:pointer;font-size:11px}.clear-all:hover{color:var(--red);border-color:var(--red)}.calc-page{display:flex;flex:1;min-height:0}.calc-controls{width:230px;flex-shrink:0;background:var(--bg-panel);border-inline-end:1px solid var(--border);padding:.9rem;display:flex;flex-direction:column;gap:.55rem;overflow-y:auto}.calc-controls h2{font-size:15px}.calc-controls h3{font-size:13px;margin-top:.5rem;color:var(--text-dim);border-top:1px solid var(--border);padding-top:.75rem}.calc-controls label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--text-dim)}.calc-controls input,.calc-controls select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.3rem .5rem;font-size:13px;width:100%}.calc-controls .input-row{display:flex;gap:4px}.calc-controls .input-row button{background:var(--bg);border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:0 .5rem}.calc-controls button.primary{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:.45rem;cursor:pointer;font-weight:600}.calc-controls button.primary:hover{filter:brightness(1.1)}.readout{font-size:12px;color:var(--gann-green);word-break:break-word}.calc-error{font-size:12px;color:var(--red)}.hint{font-size:11px;color:var(--text-dim);margin-top:auto}.calc-canvas{flex:1;min-width:0;position:relative}.hex-canvas{background:#2c2c2c}.canvas-board{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.canvas-board:active{cursor:grabbing}.save-layout{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.3rem .6rem;cursor:pointer;font-size:12px}.save-layout:hover{color:var(--text);background:var(--bg-hover)}.save-layout.astro-on{color:var(--accent);border-color:var(--accent)}.auth-page{display:flex;align-items:center;justify-content:center;flex:1}.auth-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:1.5rem;width:320px;display:flex;flex-direction:column;gap:.75rem}.auth-card h1{font-size:1.2rem}.auth-card label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.auth-card input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.45rem .6rem;font-size:14px}.auth-actions{display:flex;gap:.5rem}.auth-actions button{flex:1;border-radius:4px;padding:.5rem;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text)}.auth-actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.account-page{padding:1.5rem;max-width:640px}.account-page h1{font-size:1.2rem;margin-bottom:.75rem}.account-page h2{font-size:1rem;margin:1.25rem 0 .5rem}.account-page .logout{background:var(--bg-panel);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.4rem .8rem;cursor:pointer}.layouts-list{display:flex;flex-direction:column;gap:6px}.layout-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;font-size:13px}.layout-row button{background:none;border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.25rem .6rem;cursor:pointer;margin-inline-start:6px}.layout-row button.danger:hover{color:var(--red);border-color:var(--red)}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.75rem;color:var(--text-dim)}.placeholder h1{font-size:1.4rem;color:var(--text)}
