:root{--bg:#f5f6f2;--surface:#fff;--surface-soft:#eef3f0;--text:#17211b;--muted:#65736b;--line:#d8ded9;--accent:#1d755b;--accent-strong:#155a46;--danger:#a53535;--shadow:0 10px 24px #17211b14}*{box-sizing:border-box}html{min-width:320px}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--line);padding:16px max(20px,50vw - 560px)}.brand{color:var(--text);font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.app-main{max-width:1120px;margin:0 auto;padding:28px 20px 48px}.page-heading{margin-bottom:20px}.page-heading h1{margin:0 0 8px;font-size:32px;line-height:1.15}.page-heading p{color:var(--muted);margin:0;line-height:1.5}.split-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.status-text{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:8px;margin:0;padding:18px 20px}.status-text.error{color:var(--danger)}.archived-section{margin-top:28px}.section-heading{margin-bottom:12px}.section-heading h2{margin:0 0 6px;font-size:22px;line-height:1.2}.section-heading p{color:var(--muted);margin:0;line-height:1.5}@media (width<=700px){.app-header{padding-left:16px;padding-right:16px}.app-main{padding:22px 16px 36px}.page-heading h1{font-size:28px}.split-heading{flex-direction:column;align-items:stretch}}.instrument-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.instrument-header,.instrument-row{grid-template-columns:80px minmax(160px,1fr) 86px 112px 88px 88px 112px;align-items:center;gap:12px;display:grid}.instrument-header{background:var(--surface-soft);border-bottom:1px solid var(--line);color:var(--muted);min-height:42px;padding:8px 16px;font-size:13px;font-weight:650}.instrument-row{border-bottom:1px solid var(--line);color:var(--text);min-height:58px;padding:10px 16px;text-decoration:none}.instrument-row:last-child{border-bottom:0}.instrument-row:hover{background:#f1f7f4}.code{font-weight:750}.name,.date,.type{color:var(--muted)}.name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.value,.change{font-variant-numeric:tabular-nums;font-weight:700}.change.positive{color:#177245}.change.negative{color:#b53a35}.change.neutral{color:var(--muted)}.period-tabs{gap:6px;display:flex}.period-tab{background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:6px;min-width:50px;min-height:38px;padding:8px 10px}.period-tab:hover{border-color:var(--accent)}.period-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.period-tab.active:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.chart-box{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;min-height:392px;padding:16px;overflow:hidden}.back-link{color:var(--accent);margin-bottom:8px;font-weight:650;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent-strong)}@media (width<=860px){.instrument-header,.instrument-row{grid-template-columns:78px minmax(140px,1fr) 108px 78px 78px}.instrument-header span:nth-child(3),.instrument-header span:nth-child(7),.instrument-row .type,.instrument-row .date{display:none}.value,.change{text-align:right}}@media (width<=560px){.instrument-header{display:none}.instrument-list{box-shadow:none;background:0 0;border:0;gap:10px;display:grid;overflow:visible}.instrument-row{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:70px minmax(0,1fr) minmax(64px,auto);min-height:86px}.instrument-row .value{text-align:left;grid-column:2}.instrument-row .change{text-align:right;grid-column:auto}.name{white-space:normal;grid-column:2/4}.period-tabs{padding-bottom:4px;overflow-x:auto}.period-tab{flex:none}.chart-box{min-height:360px;margin-left:-8px;margin-right:-8px;padding:12px 6px 12px 0}}
