:root{color-scheme:dark;--bg:#07111b;--panel:#0d1a26;--panel2:#101f2d;--line:#1d2c3a;--gold:#dcb66a;--gold2:#f1d69a;--text:#f4f2ec;--muted:#8291a0;--soft:#aeb9c2;--green:#51d2a1;--red:#ed797b;--amber:#e8bb63;--nav-h:74px;font-family:'DM Sans','Noto Sans Thai',sans-serif;background:var(--bg);color:var(--text);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -24%,#172737 0,transparent 56%),var(--bg);font-size:14px}.app-shell{min-height:100vh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));max-width:1440px;margin:auto}.topbar{height:72px;padding:0 clamp(18px,4vw,54px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #172532;background:rgba(7,17,27,.82);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.brand-mark{font-size:23px;font-weight:700;letter-spacing:.11em;color:var(--gold2)}.brand-mark span{color:#657889;font-weight:400}.brand-name{font-size:11px;font-weight:700;letter-spacing:.19em;color:#c4cbd0}.brand-name i{font-style:normal;color:var(--gold);border:1px solid #5a4b2d;padding:2px 5px;border-radius:4px;margin-left:4px;font-size:9px}.topbar-right{display:flex;align-items:center;gap:16px}.market-open{display:flex;align-items:center;gap:7px;color:#91a0ae;font-size:9px;font-weight:600;letter-spacing:.15em}.pulse-dot,.session-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 11px #51d2a166}.icon-btn,.avatar{height:34px;width:34px;display:grid;place-items:center;border:1px solid #263644;border-radius:50%;color:#aebbc6;background:#0d1924;cursor:pointer}.icon-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}.icon-btn:hover{color:var(--gold2);border-color:#78633d}.icon-btn.spinning svg{animation:spin .8s linear infinite}.avatar{background:#dcb66a;color:#17212c;border:0;font-size:12px;font-weight:700}.view-root{max-width:1280px;padding:34px clamp(16px,4vw,46px) 28px;margin:auto;outline:none}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:1px 0 24px}.eyebrow{color:#9a8a69;font-size:9px;line-height:1.4;font-weight:700;letter-spacing:.17em}.page-heading h1{font-size:clamp(27px,4vw,38px);letter-spacing:-.045em;line-height:1.14;margin:9px 0 5px;font-weight:600}.page-heading h1 em{font-style:normal;color:var(--gold2)}.page-heading p{margin:0;color:var(--muted);font-size:12px}.session-chip{display:flex;align-items:center;gap:8px;border:1px solid #233441;border-radius:99px;background:#0c1924;padding:9px 12px;color:#82909b;font-size:8px;letter-spacing:.1em;white-space:nowrap}.session-chip b{color:#b9c5cd;font-size:9px;letter-spacing:.05em}.home-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,.85fr);gap:16px;align-items:start}.card{background:linear-gradient(145deg,rgba(16,31,45,.96),rgba(10,23,34,.98));border:1px solid #1c2d3b;border-radius:14px;box-shadow:0 10px 35px #00000010}.market-card{grid-column:1;grid-row:1 / span 2;padding:20px 21px 13px;min-height:380px}.signal-card,.zones-card{padding:18px 18px 15px}.market-card-top{display:flex;justify-content:space-between;align-items:flex-start}.live-line{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;margin-left:5px;vertical-align:middle}.instrument{display:flex;align-items:center;gap:11px;margin-top:12px}.gold-symbol{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#e8cf8d,#a47b33);color:#19222a;font-family:Georgia,serif;font-weight:700;font-size:17px;box-shadow:0 4px 20px #dcb66a25}.instrument h2{margin:0;font-size:16px;font-weight:600;letter-spacing:.025em}.instrument-sub{font-size:10px;color:#81919e}.instrument-sub i{font-style:normal;color:var(--gold);padding:0 3px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid;border-radius:30px;font-size:9px;font-weight:600;letter-spacing:.025em;white-space:nowrap}.status-badge.fresh{color:#74d8b2;border-color:#24523f;background:#102b26}.status-badge.delayed{color:#ebc878;border-color:#574a2e;background:#2b261b}.status-badge.offline{color:#e98d8c;border-color:#593738;background:#2d2023}.status-badge>span{font-size:9px}.quote-row{display:flex;justify-content:space-between;align-items:flex-end;padding:21px 0 17px;border-bottom:1px solid #1c2c39}.price-label{font-size:10px;color:#9aa6ae}.price-label span{margin-left:7px;font-size:8px;letter-spacing:.12em;color:var(--green)}.price-value{margin-top:3px;font-size:clamp(34px,5vw,45px);line-height:1.15;font-weight:500;letter-spacing:-.055em;font-variant-numeric:tabular-nums;color:#f2eee3}.price-value.muted{color:#657582}.updated-at{margin-top:5px;color:#7e8c98;font-size:9px}.market-side-note{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:#647583;font-size:8px;letter-spacing:.12em}.market-side-note b{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;color:#e1c783}.data-source{margin-top:9px;font-size:7px;letter-spacing:.08em}.data-source i{font-style:normal;color:#aebbc5;font-size:8px;letter-spacing:0}.inline-alert{margin-top:10px;padding:8px 10px;border-radius:7px;font-size:9px;display:flex;gap:7px;align-items:center}.inline-alert.offline{background:#251b20;color:#ca9694}.inline-alert.delayed{background:#282419;color:#d6bc7e}.inline-alert>span{font-weight:700}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;padding-top:15px}.chart-title{font-size:9px;color:#b6c1c8;font-weight:600;letter-spacing:.12em}.chart-title small{font-weight:400;font-size:7px;color:#697986;letter-spacing:.06em;margin-left:5px}.timeframe-group{display:flex;gap:3px;padding:3px;border:1px solid #223341;border-radius:7px;background:#0a1620}.timeframe{border:0;padding:5px 8px;color:#748493;background:transparent;border-radius:5px;font:600 9px 'IBM Plex Mono',monospace;cursor:pointer}.timeframe:hover{color:#e7d19b}.timeframe.selected{background:#d5b36d;color:#18222b}.chart-wrap{height:216px;margin-top:5px}.candle-chart{width:100%;height:100%;overflow:visible}.chart-axis{font:9px 'IBM Plex Mono',monospace;fill:#6f7f8c}.chart-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8997a2;gap:7px}.chart-empty strong{font-size:11px;color:#bdc5ca;font-weight:500}.chart-empty span{font-size:9px;color:#697986}.empty-glyph{font-size:26px;color:#8d7547;line-height:1}.chart-foot{border-top:1px solid #1c2c39;padding-top:9px;display:flex;justify-content:space-between;color:#71818d;font-size:8px}.legend-candle{display:inline-block;width:6px;height:9px;border-radius:1px;margin:0 4px 0 8px;vertical-align:-1px}.legend-candle.up{background:#42c99a}.legend-candle.down{background:#e27876}.chart-offline .candle-chart{filter:grayscale(.65);opacity:.68}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.section-heading h2{font-size:14px;font-weight:600;margin:5px 0 0}.engine-pill{display:flex;align-items:center;gap:6px;border:1px solid #344150;color:#8c9ba7;padding:5px 8px;border-radius:20px;font:600 8px 'IBM Plex Mono',monospace;letter-spacing:.05em}.engine-pill i{height:5px;width:5px;border-radius:50%;background:#d4aa59}.development-state{display:flex;align-items:center;gap:10px;margin:15px 0 14px;padding:11px 10px;border:1px solid #273342;background:#0c1924;border-radius:8px}.state-orbit{width:20px;height:20px;display:grid;place-items:center;border:1px solid #675637;border-radius:50%;flex:0 0 20px}.state-orbit i{width:5px;height:5px;border-radius:50%;background:#ddba71;box-shadow:0 0 8px #dcb66a80}.development-state div{display:flex;flex-direction:column;gap:3px}.development-state strong,.development-banner b{font-size:10px;font-weight:600;color:#d5c49e}.development-state span:not(.state-orbit){font-size:8px;color:#778693}.signal-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.signal-spec-grid>div{display:flex;flex-direction:column;gap:5px}.signal-spec-grid span,.targets-row>span{font-size:7px;letter-spacing:.12em;color:#70808c}.signal-spec-grid b{font:500 12px 'IBM Plex Mono',monospace;color:#d9dfe0}.signal-spec-grid b small{font:8px 'DM Sans',sans-serif;color:#75838e}.signal-spec-grid .placeholder-value{color:#697987}.targets-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #1d2c38;margin-top:14px;padding-top:11px}.target-chips{display:flex;gap:5px}.target-chips i{font:8px 'IBM Plex Mono',monospace;font-style:normal;color:#7b8b96;background:#111f2b;border:1px solid #263541;border-radius:4px;padding:4px 6px}.target-chips b{color:#c9b47e;font-weight:500}.signal-foot{display:flex;justify-content:space-between;margin-top:11px;color:#677783;font-size:8px}.text-button{border:0;background:transparent;color:#b9a16c;font:500 9px 'DM Sans',sans-serif;cursor:pointer}.text-button span{font-size:15px;vertical-align:-1px;padding-left:3px}.zone-list{margin-top:12px}.zone-item{height:34px;display:grid;grid-template-columns:27px 1fr auto 22px;align-items:center;gap:6px;border-bottom:1px solid #1a2a36}.zone-item:last-child{border:0}.zone-index{font:8px 'IBM Plex Mono',monospace;color:#657582}.zone-name{font-size:9px;color:#c5cdd1}.zone-pending{font-size:7px;color:#778691;letter-spacing:.05em}.star-button{border:0;background:transparent;color:#927c4e;font-size:16px;line-height:1;cursor:pointer}.star-button.selected{color:#f2cd75}.zone-caption{margin-top:9px;color:#6c7d89;font-size:8px}.bottom-nav{height:var(--nav-h);position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:clamp(0px,3vw,34px);padding:6px max(10px,calc((100vw - 950px)/2)) calc(6px + env(safe-area-inset-bottom));background:rgba(8,17,26,.94);border-top:1px solid #20303d;backdrop-filter:blur(20px)}.nav-item{display:flex;min-width:60px;flex:1;max-width:125px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:9px;background:transparent;color:#697987;font:500 8px 'DM Sans',sans-serif;cursor:pointer;transition:color .15s,background .15s}.nav-item svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.nav-item span{white-space:nowrap}.nav-item:hover{color:#c0b088}.nav-item.active{color:var(--gold2);background:linear-gradient(180deg,#dcb66a12,transparent)}.nav-item.active svg{filter:drop-shadow(0 0 5px #dcb66a44)}.page-card{padding:22px;margin-bottom:16px}.development-banner{display:flex;gap:13px;align-items:flex-start;background:#0b1823;border:1px solid #253541;border-radius:10px;padding:14px;margin:20px 0}.development-banner p{margin:5px 0 0;color:#8795a0;font-size:10px;line-height:1.7}.development-banner.compact{margin:15px 0;padding:12px}.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.zone-panel{position:relative;min-height:140px;background:#0a1721;border:1px solid #22323f;border-radius:10px;padding:13px;overflow:hidden}.zone-panel>div:first-child{display:flex;justify-content:space-between;align-items:center}.zone-icon{font:9px 'IBM Plex Mono',monospace;color:#b99c61}.zone-panel h3{font-size:12px;margin:16px 0 3px;font-weight:500}.zone-panel p{font-size:9px;color:#7e8d98;margin:0}.zone-line{height:1px;position:absolute;left:13px;right:13px;top:75%;background:linear-gradient(90deg,#b9995c70,transparent)}.zone-panel.demand .zone-line{background:linear-gradient(90deg,#51d2a170,transparent)}.zone-panel.supply .zone-line{background:linear-gradient(90deg,#e2787670,transparent)}.zone-panel .placeholder-value{position:absolute;right:14px;bottom:10px;color:#7a8791;font:8px 'IBM Plex Mono',monospace}.zone-panel .zone-pending{font-size:6px}.ai-card{padding:30px;max-width:760px;text-align:center;margin:0 auto}.ai-orb{width:54px;height:54px;border:1px solid #655438;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;color:#e5c879;font-size:25px;background:radial-gradient(circle,#846d3c40,transparent 70%);box-shadow:0 0 35px #c3a25712}.ai-card h2{font-size:20px;font-weight:500;margin:7px 0}.ai-card>p{font-size:10px;color:#8794a0;margin:0 auto 21px;max-width:460px;line-height:1.7}.ai-prompt-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}.ai-prompt{display:flex;align-items:center;gap:10px;border:1px solid #253542;border-radius:8px;background:#0b1823;color:#c7cdd1;padding:12px;font:10px 'DM Sans','Noto Sans Thai',sans-serif;text-align:left;cursor:pointer}.ai-prompt:hover{border-color:#8a7142;background:#111e28}.ai-prompt span{font:8px 'IBM Plex Mono',monospace;color:#a38b59}.ai-prompt b{margin-left:auto;color:#9b885f}.ai-response{display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid #1e2e3a;margin-top:19px;padding-top:17px;color:#73818c;font-size:9px}.response-lock{color:#bc9c5a}.strategy-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.strategy-row{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #22323f;border-radius:8px;background:#0a1721}.strategy-num{font:8px 'IBM Plex Mono',monospace;color:#72818d}.strategy-mark{height:30px;width:30px;display:grid;place-items:center;border-radius:8px;background:#172635;color:#c8aa68;font-size:16px}.strategy-info{flex:1}.strategy-info h3{font-size:11px;margin:0 0 4px;font-weight:500}.strategy-info span{font:7px 'IBM Plex Mono',monospace;color:#6f7d88;letter-spacing:.03em}.strategy-row .status-badge{font-size:7px;padding:4px 6px}.indicator-list{margin-top:7px}.indicator-row{min-height:56px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #1c2b37}.indicator-row:last-child{border-bottom:0}.indicator-glyph{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#152432;color:#c8aa68;font-size:17px}.indicator-row>div{flex:1;display:flex;flex-direction:column;gap:4px}.indicator-row b{font-size:10px;font-weight:500}.indicator-row small{font:7px 'IBM Plex Mono',monospace;color:#697986}.indicator-value{font:12px 'IBM Plex Mono',monospace;color:#647580}.indicator-tag{font-size:8px;color:#8f8061;border:1px solid #423c2f;padding:4px 7px;border-radius:15px}.more-menu{padding:4px 18px;margin-bottom:16px}.more-row{width:100%;min-height:72px;display:flex;align-items:center;gap:13px;text-align:left;border:0;border-bottom:1px solid #1e2e39;background:transparent;color:var(--text);cursor:pointer}.more-row:last-child{border-bottom:0}.more-icon{width:37px;height:37px;border:1px solid #574c34;border-radius:10px;background:#1e1c17;color:#d3b568;display:grid;place-items:center;font-size:20px}.more-row>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:5px}.more-row b{font-size:11px;font-weight:500}.more-row small{font-size:9px;color:#778691}.more-arrow{font-size:17px;color:#9b8757}.muted-row{cursor:default;opacity:.64}.soon-pill{font-size:8px;color:#8a9aa5;border:1px solid #3a4650;border-radius:20px;padding:5px 8px}.paper-card{max-width:760px;margin:0 auto;padding:22px;text-align:center}.paper-graphic{height:122px;position:relative;overflow:hidden;border:1px solid #26343c;border-radius:9px;background:repeating-linear-gradient(0deg,transparent 0 29px,#1e2c3529 30px),repeating-linear-gradient(90deg,transparent 0 59px,#1e2c3529 60px),linear-gradient(110deg,#121f29,#0b1620);margin-bottom:20px;display:grid;place-items:center}.paper-chart-line{position:absolute;left:9%;right:9%;top:48%;height:32px;border-top:1px solid #c9a9606b;transform:skewY(-9deg);filter:drop-shadow(0 0 4px #dcb66a50)}.paper-graphic span{position:relative;color:#8b7d5d;font:8px 'IBM Plex Mono',monospace;letter-spacing:.22em;background:#0c1821;padding:4px 7px}.paper-card h2{margin:7px 0 5px;font-size:20px;font-weight:500;color:#e2c982}.paper-card>p{font-size:12px;color:#b9c0c5;margin:0 0 6px}.paper-note{font-size:9px;color:#788793}.toast{position:fixed;z-index:30;bottom:calc(var(--nav-h) + 18px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;padding:10px 14px;background:#2c2320;border:1px solid #604d34;border-radius:7px;color:#e1c795;font-size:10px;transition:all .2s;white-space:nowrap}.toast.visible{opacity:1;transform:translate(-50%,0)}.spinner{width:22px;height:22px;border:2px solid #263746;border-top-color:#d8b56c;border-radius:50%;animation:spin .9s linear infinite;margin-bottom:4px}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1180px){.home-grid{grid-template-columns:minmax(0,1.5fr) minmax(350px,.85fr);gap:18px}.market-card{padding:23px 25px 15px}.signal-card,.zones-card{padding:21px}.view-root{padding-top:42px}.chart-wrap{height:235px}}
@media(max-width:760px){:root{--nav-h:68px}.topbar{height:61px;padding:0 16px}.brand-mark{font-size:20px}.topbar-right{gap:10px}.market-open{font-size:8px}.view-root{padding:24px 14px 20px}.page-heading{align-items:flex-start;margin-bottom:17px}.page-heading h1{font-size:28px}.page-heading p{font-size:10px}.session-chip{padding:7px 9px;font-size:7px;margin-top:8px}.session-chip b{font-size:8px}.home-grid{display:flex;flex-direction:column;gap:12px}.home-grid>.card{width:100%}.market-card{order:0;min-height:350px;padding:16px}.signal-card{order:1;padding:16px}.zones-card{order:2;padding:16px}.quote-row{padding:17px 0 14px}.price-value{font-size:38px}.chart-wrap{height:198px}.chart-title small{display:block;margin:3px 0 0}.page-card{padding:16px}.zone-grid{grid-template-columns:1fr 1fr;gap:8px}.zone-panel{min-height:128px;padding:11px}.zone-panel h3{font-size:10px}.zone-panel .zone-pending{font-size:5px}.ai-card{padding:22px 15px}.ai-prompt-list{grid-template-columns:1fr}.ai-prompt{padding:11px}.strategy-list{grid-template-columns:1fr}.paper-card{padding:16px}.nav-item{min-width:0;font-size:7px}.nav-item svg{width:17px;height:17px}.bottom-nav{gap:0;padding-left:4px;padding-right:4px}.signal-foot{font-size:7px}}
@media(max-width:390px){.market-open{display:none}.session-chip{gap:5px}.page-heading{display:block}.session-chip{display:inline-flex;margin-top:13px}.chart-toolbar{align-items:flex-end}.timeframe{padding:5px 6px;font-size:8px}.chart-title{font-size:8px}.signal-spec-grid{gap:11px}.target-chips{gap:3px}.target-chips i{padding:4px}.zone-item{grid-template-columns:22px 1fr auto 18px;gap:4px}}
.market-open b{font-weight:600;color:#95a3ad}.pulse-dot{background:#8c5d5c;box-shadow:0 0 9px #e2787640}.pulse-dot.fresh{background:var(--green);box-shadow:0 0 11px #51d2a166}.pulse-dot.delayed{background:var(--amber);box-shadow:0 0 9px #e8bb6340}.pulse-dot.offline{background:#e27876;box-shadow:0 0 9px #e2787640}.back-button{display:block;padding:0;margin:0 0 13px;border:0;background:transparent;color:#bba36c;font:500 10px 'DM Sans','Noto Sans Thai',sans-serif;cursor:pointer}
.market-open b{font-weight:600;color:#95a3ad}.pulse-dot{background:#8c5d5c;box-shadow:0 0 9px #e2787640}.pulse-dot.fresh{background:var(--green);box-shadow:0 0 11px #51d2a166}.pulse-dot.delayed{background:var(--amber);box-shadow:0 0 9px #e8bb6340}.pulse-dot.offline{background:#e27876;box-shadow:0 0 9px #e2787640}

/* Task 04: mobile legibility refinements. Desktop typography remains unchanged. */
@media(max-width:760px){
  body{font-size:15px}
  .page-heading p{font-size:14px;line-height:1.5}
  .session-chip{font-size:12px;line-height:1.25;white-space:normal}
  .session-chip b{font-size:12px}
  .instrument-sub,.updated-at,.data-source,.zone-caption,.signal-foot,.development-state span:not(.state-orbit),.development-banner p,.zone-panel p,.indicator-row small,.more-row small,.paper-note{font-size:13px;line-height:1.45}
  .status-badge,.inline-alert,.market-side-note,.price-label{font-size:13px;line-height:1.4}
  .status-badge>span{font-size:13px}
  .market-side-note b{font-size:14px}
  .section-heading h2,.zone-name,.development-state strong,.development-banner b,.strategy-info h3,.indicator-row b,.more-row b{font-size:15px;line-height:1.4}
  .signal-spec-grid span,.targets-row>span,.signal-spec-grid b small,.target-chips i,.zone-pending,.zone-panel .zone-pending,.strategy-info span,.strategy-row .status-badge,.indicator-tag,.indicator-value,.soon-pill{font-size:13px;line-height:1.35}
  .signal-spec-grid b{font-size:15px}
  .target-chips{flex-wrap:wrap}
  .development-state{align-items:flex-start}
  .development-state div,.development-banner>div{min-width:0}
  .development-state span:not(.state-orbit),.development-banner p,.more-row b,.more-row small{overflow-wrap:anywhere}
  .zone-item{min-height:42px;height:auto;padding:6px 0;grid-template-columns:27px minmax(0,1fr) minmax(0,auto) 22px}
  .zone-name,.zone-pending{overflow-wrap:anywhere}
  .zone-panel{min-height:142px}
  .zone-panel h3{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
  .ai-card>p{font-size:14px;line-height:1.55}
  .ai-question-groups{display:grid;gap:18px;text-align:left}
  .ai-question-group{min-width:0}
  .ai-question-group h3{margin:0 0 9px;color:#e3cb92;font-size:16px;line-height:1.4;font-weight:600}
  .ai-prompt-list{grid-template-columns:1fr;gap:8px}
  .ai-prompt{display:grid;grid-template-columns:24px minmax(0,1fr) 14px;align-items:start;gap:9px;padding:12px;font-size:16px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
  .ai-prompt-number{font:500 13px 'IBM Plex Mono',monospace;color:#a38b59}
  .ai-prompt-text{min-width:0;overflow-wrap:anywhere}
  .ai-prompt b{font-size:14px;line-height:1.5}
  .ai-response{font-size:13px;line-height:1.45}
  .strategy-row{min-width:0;flex-wrap:wrap}
  .strategy-info{min-width:100px}
  .indicator-row{gap:9px;min-width:0}
  .indicator-row>div{min-width:0}
  .indicator-row b,.indicator-row small{overflow-wrap:anywhere}
  .more-row{min-width:0}
  .more-row>span:nth-child(2){min-width:0}
  .nav-item{font-size:12px;line-height:1.05}
  .nav-item span{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere;letter-spacing:-.03em}
}

.price-zones-runtime{max-width:980px;margin-bottom:14px}.zone-runtime-state{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #31404a;border-radius:10px;background:#0b1823}.zone-runtime-state>div{min-width:0}.zone-runtime-state b{font-size:16px;color:#e2c982}.zone-runtime-state p{margin:6px 0;color:#bdc5ca;font-size:14px;line-height:1.55;overflow-wrap:anywhere}.zone-runtime-state small{font-size:13px;color:#81909b}.zone-runtime-state.offline{border-color:#684344}.zone-empty-note{margin-top:13px;padding:12px;border-left:2px solid #8e7643;color:#919da5;font-size:13px;line-height:1.5}.price-zones-summary{display:grid;gap:14px}.zone-summary-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.zone-summary-meta>span{display:grid;gap:5px;color:#84939e;font-size:12px}.zone-summary-meta b{color:#d9e0e3;font-weight:500;overflow-wrap:anywhere}.zone-focus-callout{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #4b4230;border-radius:8px;background:#171a19}.zone-focus-callout span{font:10px 'IBM Plex Mono',monospace;color:#c4a65f}.zone-focus-callout b{font-size:13px;color:#d9e0e3;text-align:right}.zone-focus{font:10px 'IBM Plex Mono',monospace;color:#d5b768}.zone-item .zone-index{color:#d8b56c}
@media(max-width:760px){.zone-summary-meta{grid-template-columns:1fr 1fr}.zone-summary-meta>span:last-child{grid-column:1/-1}.zone-focus-callout{align-items:flex-start;flex-direction:column}.zone-focus-callout b{text-align:left}.price-zones-runtime{padding:15px}.zone-runtime-state{padding:13px}}
.indicators-card{max-width:980px}.indicators-toolbar .section-heading{align-items:center;margin-bottom:14px}.indicators-toolbar .section-heading h2{margin-bottom:0}.indicators-result-meta{display:flex;justify-content:space-between;gap:12px;margin:8px 0 14px;color:#91a0aa;font-size:12px;flex-wrap:wrap}.indicator-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.indicator-metric{display:flex;align-items:flex-start;gap:11px;padding:14px;background:#0a1721;border:1px solid #22323f;border-radius:9px;min-width:0}.indicator-metric-main{flex:1;min-width:0}.indicator-metric-head{display:flex;justify-content:space-between;align-items:flex-start;gap:7px}.indicator-metric-head>b{font-size:14px;color:#d9e0e3;line-height:1.4}.indicator-metric-value{margin:9px 0 4px;font:13px 'IBM Plex Mono',monospace;color:#e2c982;overflow-wrap:anywhere}.indicator-metric small{display:block;color:#81909b;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.indicator-metric .indicator-glyph{flex:0 0 30px}.indicator-tag.signal-up{color:#64d4a8;border-color:#285b49}.indicator-tag.signal-down{color:#e48982;border-color:#65413e}.indicator-tag.signal-sideway{color:#d2b96c;border-color:#544b36}.indicator-tag.waiting-tag{color:#9ba8b1;border-color:#394751}.waiting-copy{color:#9ba8b1;font-family:inherit}.indicator-method-note{margin-top:13px;padding-top:12px;border-top:1px solid #1e2e39;color:#83919b;font-size:12px;line-height:1.5}.indicators-card .timeframe{padding:7px 10px}.indicators-card .timeframe-group{gap:5px}
@media(max-width:760px){.indicator-metrics{grid-template-columns:1fr}.indicators-toolbar .section-heading{align-items:flex-start;gap:8px}.indicators-result-meta{font-size:13px}.indicator-metric-head>b{font-size:15px}.indicator-metric-value{font-size:14px}.indicator-metric small,.indicator-method-note{font-size:13px}.indicators-card{padding:15px}}

/* Task 09: readable type scale and structured Price Zones metadata. */
body{font-size:16px}
.page-heading h1{font-size:clamp(28px,3vw,34px)}
.page-heading p{font-size:16px;line-height:1.5}
.section-heading h2,.ai-card h2,.paper-card h2{font-size:21px;line-height:1.35}
.instrument h2{font-size:20px}
.instrument-sub,.updated-at,.data-source,.zone-caption,.signal-foot,.development-state span:not(.state-orbit),.development-banner p,.zone-panel p,.indicator-row small,.more-row small,.paper-note{font-size:14px;line-height:1.5}
.status-badge,.inline-alert,.market-side-note,.price-label{font-size:14px;line-height:1.4}
.status-badge>span{font-size:14px}
.market-side-note b{font-size:16px}
.price-value{font-size:22px;line-height:1.25;letter-spacing:0;font-weight:600}
.zone-name,.development-state strong,.development-banner b,.strategy-info h3,.indicator-row b,.more-row b{font-size:17px;line-height:1.4}
.signal-spec-grid span,.targets-row>span,.signal-spec-grid b small,.target-chips i,.zone-pending,.zone-panel .zone-pending,.strategy-info span,.strategy-row .status-badge,.indicator-tag,.indicator-value,.soon-pill{font-size:14px;line-height:1.4}
.signal-spec-grid b{font-size:17px}
.signal-foot{font-size:14px}
.ai-prompt{font-size:18px;line-height:1.45}
.ai-prompt-number{font-size:14px}
.ai-question-group h3{font-size:18px;line-height:1.4}
.ai-response{font-size:14px;line-height:1.5}
.nav-item{font-size:14px;line-height:1.15}
.nav-item span{white-space:normal;text-align:center;overflow-wrap:anywhere}
.zone-runtime-state b{font-size:18px}
.zone-runtime-state p{font-size:16px;line-height:1.55}
.zone-runtime-state small,.zone-empty-note{font-size:14px;line-height:1.5}
.zone-summary-meta>span{font-size:14px;line-height:1.4}
.zone-summary-meta b{font-size:16px}
.zone-focus-callout span{font-size:13px}
.zone-focus-callout b{font-size:16px;line-height:1.4}
.zone-item-detail{height:auto;min-height:62px;padding:8px 0;grid-template-columns:34px minmax(140px,1fr) minmax(180px,auto) minmax(76px,auto);grid-template-rows:auto auto;align-items:start;gap:4px 10px}
.zone-item-detail .zone-index{grid-column:1;grid-row:1/3;font-size:16px;padding-top:2px}
.zone-item-detail .zone-name{grid-column:2;grid-row:1;min-width:0}
.zone-item-detail .zone-price{grid-column:3;grid-row:1;font-size:18px;line-height:1.35;color:#e2c982;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.zone-item-detail .zone-focus{grid-column:4;grid-row:1;justify-self:end;font-size:12px}
.zone-item-detail .zone-context{grid-column:2/5;grid-row:2;color:#92a0aa;font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.indicator-metric-head>b{font-size:17px;line-height:1.4}
.indicator-metric-value{font-size:16px}
.indicator-metric small,.indicator-method-note{font-size:14px;line-height:1.5}
@media(max-width:760px){
  :root{--nav-h:76px}
  .topbar{height:64px}
  .view-root{padding-top:22px;padding-bottom:24px}
  .page-heading{gap:12px}
  .page-heading h1{font-size:28px}
  .page-heading p{font-size:16px}
  .session-chip,.session-chip b{font-size:14px;line-height:1.3}
  .market-card,.signal-card,.zones-card,.page-card{padding:16px}
  .home-grid{gap:12px}
  .quote-row{padding:15px 0 13px}
  .price-value{font-size:22px}
  .zone-item-detail{grid-template-columns:28px minmax(0,1fr) auto;gap:4px 8px;min-height:64px}
  .zone-item-detail .zone-index{grid-column:1;grid-row:1/3}
  .zone-item-detail .zone-name{grid-column:2;grid-row:1}
  .zone-item-detail .zone-price{grid-column:3;grid-row:1;font-size:18px;text-align:right}
  .zone-item-detail .zone-focus{grid-column:3;grid-row:2;justify-self:end}
  .zone-item-detail .zone-context{grid-column:2;grid-row:2;font-size:14px}
  .zone-summary-meta{grid-template-columns:1fr 1fr}
  .zone-summary-meta>span:last-child{grid-column:1/-1}
  .ai-prompt{font-size:17px;padding:12px}
  .ai-question-group h3{font-size:17px}
  .nav-item{font-size:14px;line-height:1.1;min-width:0;gap:3px}
  .nav-item span{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
  .nav-item svg{width:18px;height:18px}
  .zone-item-detail .zone-name,.zone-item-detail .zone-price,.zone-item-detail .zone-context{overflow-wrap:anywhere}
  .bottom-nav{padding-left:5px;padding-right:5px}
  .indicator-metric-head>b{font-size:17px}
  .indicator-metric-value{font-size:16px}
  .indicator-metric small,.indicator-method-note{font-size:14px}
}
@media(max-width:390px){
  .zone-item-detail{grid-template-columns:25px minmax(0,1fr) auto;gap:4px 6px}
  .zone-item-detail .zone-price{font-size:17px}
  .nav-item{font-size:14px}
  .nav-item svg{width:17px;height:17px}
}
.ai-market-context{max-width:760px;margin:0 auto 14px}.ai-market-context .section-heading{margin-bottom:10px}.ai-market-context p{margin:7px 0;color:#bdc5ca;font-size:16px;line-height:1.5}.ai-market-context p b{color:#e2c982}.ai-market-context small{display:block;margin-top:9px;color:#92a0aa;font-size:14px;line-height:1.45}

/* Task 12: answer cards stay readable while preserving the Task 09 question scale. */
.ai-prompt{gap:12px}
.ai-prompt-number{flex:0 0 28px;text-align:center;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.ai-response{align-items:flex-start;justify-content:flex-start;flex-direction:column;text-align:left;gap:8px;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.ai-answer-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid #574c34;border-radius:20px;color:#e2c982;font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.02em}
.ai-prompt .ai-prompt-text{font:inherit;font-size:18px;line-height:1.45;color:inherit}
.ai-prompt .ai-prompt-number{font:500 15px/1.5 'IBM Plex Mono',monospace;color:#a38b59}
@media(max-width:760px){
  .ai-prompt{grid-template-columns:28px minmax(0,1fr) 14px;gap:10px 12px;font-size:17px}
  .ai-prompt-number{font-size:15px;line-height:1.55}
  .ai-prompt .ai-prompt-text{font-size:17px;line-height:1.45}
  .ai-prompt .ai-prompt-number{font-size:15px;line-height:1.55}
  .ai-response{font-size:14px;line-height:1.55}
}
