@import url('/fonts.css');
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172d29;background:#f5f6f2;font-synthesis:none;font-size:15px;--green:#24654e;--muted:#7a8680;--line:#e1e6df}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{cursor:pointer}button{color:inherit;background:white;border:1px solid var(--line);border-radius:8px;padding:10px 14px}button:hover{border-color:#7ca18e;background:#f3f8f4}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-weight:560;letter-spacing:-1px;font-size:36px;line-height:1.25}h2{font-size:22px;font-weight:550}h3{font-weight:550;font-size:20px;line-height:1.55}p{line-height:1.9}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{background:#fcfcf9;border-right:1px solid var(--line);padding:34px 22px;position:fixed;inset:0 auto 0 0;width:236px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:#1e4939;margin:0 8px 42px}.brandmark{width:40px;height:40px;border-radius:12px;background:#245c45;color:white;display:grid;place-items:center;font-size:23px}.brand strong{font-size:23px;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:4px}.nav{display:grid;gap:8px}.nav button{text-align:left;border:0;background:transparent;padding:13px 16px;color:#6a7770}.nav .active{background:#e9f0e8;color:#235a41;font-weight:600}.nav-icon{display:inline-block;width:29px;font-size:17px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:24px 10px 0}.sidebar-foot p{font-size:12px;margin:10px 0}.main{grid-column:2;min-width:0}.topbar{padding:22px 42px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fafbf8}.topbar .context{font-size:12px;color:#748376;letter-spacing:1px}.controls{display:flex;gap:10px;align-items:center}.controls select{max-width:150px}.content{max-width:1260px;margin:auto;padding:38px 42px 70px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#54816a;margin-bottom:15px}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.intro p{color:#7b8780;margin-bottom:0}.intro h1{margin-bottom:10px}.stamp{border-left:1px solid var(--line);padding-left:25px;white-space:nowrap;font-size:12px;color:#748376}.stamp strong{display:block;color:#3b5748;font-size:22px;margin-bottom:6px}.notice{background:#f0eddf;border:1px solid #e6dfc6;color:#81703a;padding:12px 16px;border-radius:8px;font-size:12px;margin:16px 0}.marketbar{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:24px 0}.marketbar span{font-size:12px;color:var(--muted);margin-right:8px}.chip{font-size:11px;border-radius:20px;padding:7px 10px;background:transparent}.chip.selected{background:#214d3b;color:#fff;border-color:#214d3b}.filterbar{display:flex;justify-content:space-between;gap:20px;margin:28px 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.filterbar input{max-width:290px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:25px}.article{padding:28px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;transition:box-shadow .2s}.article:hover{box-shadow:0 7px 24px #1e493907}.article .meta{display:flex;gap:10px;align-items:center;font-size:11px;color:#7b8880;margin-bottom:18px;flex-wrap:wrap}.tag{border-radius:4px;background:#eef3ec;color:#56764c;padding:4px 8px;font-size:10px}.article p{font-size:14px;color:#7a847c}.article h3{margin-bottom:12px}.original{font-size:11px;color:#8e9690!important;overflow-wrap:anywhere}.article footer{border-top:1px solid #eef0eb;margin-top:20px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.primary{background:#255e46;color:#fff;border-color:#255e46}.primary:hover{background:#1b4d37;color:#fff}.text-button{border:0;background:transparent;padding:0;color:#286747}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:20px}.panel p{font-size:12px;color:#7d887f}.panel h3{font-size:16px}.panel.dark{background:#244d3c;color:#fff;border:0}.panel.dark p{color:#c0d0c1}.number{font-size:32px;color:#2a6046;font-weight:500}.sector-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0e9;font-size:12px}.empty{text-align:center;padding:60px 24px;color:#7a867c;background:#fff;border:1px dashed var(--line);border-radius:12px}.detail{max-width:830px}.detail h1{font-size:30px;line-height:1.6}.detail p{white-space:pre-line}.analysis{background:#eff5ee;border:1px solid #d7e4d4;border-radius:10px;padding:25px}.analysis h2{font-size:18px}.locked{text-align:center;padding:35px;background:repeating-linear-gradient(135deg,#f4f7f0,#f4f7f0 8px,#f0f4ec 8px,#f0f4ec 16px);border-radius:10px}.settings{max-width:780px}.field{display:grid;gap:8px;margin-bottom:20px}.field label{font-size:12px;color:#657466}input,select,textarea{background:#fff;border:1px solid #dce3d8;border-radius:7px;padding:10px 12px;color:#263d2c;min-width:0}textarea{min-height:90px}select{max-width:100%}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:20px}.source-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);gap:15px}.source-row small{display:block;max-width:450px;overflow-wrap:anywhere;margin-top:5px}.source-row button{font-size:12px}.status{font-size:11px;color:#81907f}.back{margin-bottom:22px}.danger{color:#a34937}.loading{padding:70px;text-align:center}dialog{border:1px solid var(--line);border-radius:16px;padding:32px;width:min(440px,90vw);box-shadow:0 20px 100px #183b3333}dialog::backdrop{background:#102c2355;backdrop-filter:blur(3px)}dialog h2{margin-bottom:25px}dialog .close{float:right;padding:3px 9px;border:0}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#223f31;color:#fff;border-radius:8px;padding:14px 23px;z-index:10;max-width:90%;display:none}#toast.show{display:block}.footer-note{margin-top:35px;font-size:11px;color:#879187}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.source-state{min-width:90px;text-align:right}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a3bea3;outline-offset:3px}@media(max-width:1100px){.grid{grid-template-columns:1fr}.aside{display:none}.sidebar{width:190px;padding:30px 15px}.shell{grid-template-columns:190px 1fr}.content{padding:30px}.topbar{padding:20px 30px}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;width:100%;padding:18px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 15px}.sidebar-foot{display:none}.nav{display:flex;overflow-x:auto;gap:3px}.nav button{padding:9px;font-size:12px;white-space:nowrap}.nav-icon{display:none}.topbar{padding:14px 18px}.topbar .context{display:none}.controls{width:100%;justify-content:space-between}.content{padding:26px 18px}.intro h1{font-size:29px}.stamp{display:none}.marketbar{gap:5px}.chip{padding:7px 9px}.article{padding:21px}.formrow{grid-template-columns:1fr}.filterbar{gap:9px}.stats{grid-template-columns:1fr}.source-row{align-items:start}.detail h1{font-size:25px}}

/* Reading controls live in a single dialog on desktop and mobile. */
.display-settings-dialog{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto}
.market-options{border:0;padding:0;margin:24px 0}
.market-options legend{font-size:12px;color:#657466}
.market-options .marketbar{margin:12px 0 0;gap:9px}
.market-options .marketbar>span{display:none}
.market-options .chip{font-size:12px;padding:9px 12px}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}
#display-settings{display:inline-flex;align-items:center;gap:7px}

/* Global navigation above the sector sidebar. */
.shell{grid-template-columns:236px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start}
.topbar{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:22px 30px;gap:30px}
.brand{margin:0;white-space:nowrap}
.nav{display:flex;flex-wrap:wrap;gap:6px}
.nav button{white-space:nowrap;padding:11px 12px}
.controls{flex-shrink:0}
.controls button{white-space:nowrap}
.sidebar{grid-column:1;grid-row:2;position:sticky;inset:auto;top:0;width:auto;height:calc(100dvh - 85px);max-height:100dvh;overflow-y:auto;padding:28px 22px;border-bottom:1px solid var(--line)}
.sector-heading{font-size:12px;color:var(--muted);letter-spacing:1px;padding:0 14px;margin-bottom:16px}
.sector-nav{display:grid;gap:5px}
.sector-nav button{text-align:left;border:0;background:transparent;padding:11px 14px;color:#6a7770}
.sector-nav button:hover{background:#f0f4ed}
.sector-nav .active{background:#e9f0e8;color:#235a41;font-weight:600}
.sidebar-foot{margin-top:28px}
.main{grid-row:2;width:100%}
.filterbar{align-items:center}
.current-sector{font-size:13px;color:var(--green);font-weight:600}
@media(max-width:1100px){
 .shell{grid-template-columns:190px minmax(0,1fr)}
 .topbar{gap:20px;padding:18px 24px}
 .topbar .nav{grid-column:1/-1;grid-row:2}
 .topbar .controls{grid-column:3;grid-row:1}
 .sidebar{padding:24px 15px;height:calc(100dvh - 140px)}
}
@media(max-width:700px){
 .shell{display:block}
 .topbar{padding:16px 18px;gap:16px 10px}
 .brand{gap:9px}
 .brand strong{font-size:20px}
 .brandmark{width:36px;height:36px;font-size:21px}
 .topbar .controls{width:auto;gap:6px}
 .controls button{padding:9px;font-size:12px}
 .topbar .nav{flex-wrap:nowrap;overflow-x:auto;gap:3px}
 .nav button{padding:9px;font-size:12px}
 .sidebar{position:static;width:100%;height:auto;max-height:none;padding:14px 18px;overflow:visible;border-right:0}
 .sector-heading{padding:0;margin-bottom:10px}
 .sector-nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:4px}
 .sector-nav button{white-space:nowrap;flex-shrink:0;padding:9px 12px;font-size:12px}
 .filterbar form{min-width:0}
 .filterbar input{width:100%}
 .current-sector{flex-shrink:0}
}
