:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20372f;background:#f5f1e9;--green:#126b57;--red:#be493c;--muted:#778079}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;background:var(--green);color:white;border-radius:12px;padding:12px 16px;font-weight:700}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c79950;outline-offset:3px}input,select{border:1px solid #ddd5c7;background:#f9f6ef;padding:12px;border-radius:10px;width:100%;color:#20372f}label{display:block;font-size:13px;font-weight:650}label input,label select{margin-top:8px}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;margin-bottom:8px}h2{font-size:20px;margin-bottom:14px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#ae803c}.muted{color:var(--muted);font-size:12px;line-height:1.7}.login{max-width:420px;margin:8vh auto;padding:28px}.login .brand{font-size:23px;font-weight:800;margin-bottom:50px}.login h1{font-size:44px;line-height:1.25}.login form{margin:32px 0}.login form button{width:100%;margin-top:16px}.login small{color:var(--muted);font-size:11px}.login p[role=alert]{color:var(--red);font-size:13px;margin-top:10px}main{max-width:660px;margin:0 auto;padding:25px 18px 110px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}header h1{margin-top:8px}header p{margin-bottom:0}.icon{background:#e4eee7;color:var(--green);font-size:27px;width:46px;height:46px;padding:0}.freshness{font-size:11px;color:#64786b;line-height:1.6;padding:10px 13px;background:#e7eee6;border-radius:10px;margin-bottom:12px}.freshness.stale,.notice{background:#fff0d7;color:#975211}.notice{font-size:13px;padding:12px;border-radius:10px;margin-bottom:10px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 18px}.summary article{background:#fffdf9;border:1px solid #e4ddcf;padding:12px;border-radius:13px}.summary small{color:var(--muted);font-size:10px;display:block;margin-bottom:7px}.summary strong{font-size:18px}.panel{border-radius:20px;padding:14px;border:1px solid #e4d9cc;margin-bottom:17px;background:#faf6ee}.panel.broken{background:#fff2ee;border-color:#e8c9c0}.panel.continued{background:#eff6f0;border-color:#c8dfd1}.panel.previous{background:#fbf4e5;border-color:#e8d8b2}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:800;padding:5px 2px 14px}summary::-webkit-details-marker{display:none}summary small{font-size:12px;font-weight:500;color:#788579}summary:after{content:'⌄';font-size:16px;color:#8d9a91}.sorts{display:flex;gap:6px;margin-bottom:12px}.sorts button{font-size:11px;padding:8px 4px;flex:1;color:#68796f;background:#e9e5dc}.sorts button.active{background:#d9e9df;color:var(--green)}.stock{background:#fffdf9;border:1px solid #e6dfd2;border-radius:16px;padding:15px;margin-bottom:10px;cursor:pointer}.stock.cap{background:#eaf2fe;border-color:#b1cee7}.stock.gain{background:#fff0eb;border-color:#e9b9ad}.stock.cap.gain{background:#f0eafa;border-color:#cbb8e4}.stock-head,.stock-body,.stock-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.identity{display:flex;align-items:center;gap:8px;min-width:0}.name{font-size:18px;font-weight:800}.board{font-size:12px;font-weight:800;border-radius:8px;background:#f0e2c2;color:#7a581f;padding:5px;white-space:nowrap}.board.red{color:#b6261a;background:#fde0db}.board.equal{border:2px solid #a64b00;background:#fff0d1;color:#a64b00;border-radius:50%;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0}.star{background:transparent;color:#aaa18f;font-size:26px;padding:0 2px}.star.watched{color:#be8e37}.code{color:#7a847d;font-size:11px;letter-spacing:.6px;margin:5px 0 10px}.pct{font-size:25px;font-weight:850;letter-spacing:-.7px}.up{color:var(--red)}.down{color:#087b65}.stock-body .muted{margin:0;font-size:11px}.mini{width:100px;height:47px}.stock-foot{border-top:1px solid #ded8cd;margin-top:10px;padding-top:9px;font-size:11px;color:#7e867f}.leader{font-size:10px;font-weight:650;color:#597186;margin-top:6px}.empty{text-align:center;font-size:13px;color:#8a918b;padding:35px 10px}.settings{background:#fffdf9;border:1px solid #e4ddcf;border-radius:20px;padding:20px}.settings label{margin-bottom:20px}.settings h2:not(:first-child){margin-top:28px}.settings p{font-size:12px;line-height:1.8;color:#778079}.check{display:flex;justify-content:space-between;align-items:center}.check input{width:22px;height:22px;margin:0;accent-color:var(--green)}.secondary{background:#e6eee7;color:var(--green)}footer{color:#92988f;font-size:10px;text-align:center;margin-top:25px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:660px;width:100%;display:flex;background:#fffdf9ed;backdrop-filter:blur(12px);border-top:1px solid #e0d8ca;padding:9px 10px calc(9px + env(safe-area-inset-bottom));z-index:5}nav button{flex:1;background:none;color:#8e958d;font-size:11px;border-radius:12px;padding:7px 0}nav span{display:block;font-size:22px;margin-bottom:3px}nav button.active{color:var(--green);background:#e7f0e9}dialog{border:1px solid #d8d1c4;border-radius:23px;padding:22px;max-width:650px;width:calc(100% - 24px);background:#fcf9f2;color:#20372f}dialog::backdrop{background:#122d2577;backdrop-filter:blur(4px)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between}.detail-head h2{font-size:25px;margin-bottom:4px}.chart-tabs{display:flex;gap:8px;margin:20px 0 10px}.chart-tabs button{background:#e9e5db;color:#718074;font-size:12px}.chart-tabs .active{background:var(--green);color:white}#chart svg{width:100%;height:auto;display:block}#detail-note{margin-top:14px;font-size:10px}#detail-price{font-size:30px;font-weight:800}.chart-label{fill:#899082;font-size:9px}[hidden]{display:none!important}@media(min-width:900px){main{max-width:1000px;padding-top:38px}.panel .stocks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel .stock{margin:0}nav{max-width:660px;border:1px solid #e0d8ca;border-radius:20px 20px 0 0}.summary{max-width:500px}.login{margin-top:10vh}}
