@font-face{font-family:Prompt;src:url(../fonts/Prompt-SemiBold.ttf) format('truetype');font-weight:500 600;font-display:swap;ascent-override:100%;descent-override:30%;line-gap-override:0%}
@font-face{font-family:Prompt;src:url(../fonts/Prompt-Bold.ttf) format('truetype');font-weight:700 900;font-display:swap;ascent-override:100%;descent-override:30%;line-gap-override:0%}
@font-face{font-family:Sarabun;src:url(../fonts/Sarabun-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Sarabun;src:url(../fonts/Sarabun-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--g900:#013d1b;--g800:#064623;--g700:#0b5a18;--g600:#1f7a1f;--g500:#2e8b2e;--g300:#7cc243;--gbg:#e7f4da;--ink:#111;--muted:#545454;--gold:#f5c518;--red:#e53935;--line:#e6e6e6;--nav-h:72px;--top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:#f7f7f7;color:var(--ink);font-family:Sarabun,'Noto Sans Thai',system-ui,sans-serif;font-size:16px;line-height:1.3}
body.shot{--top:44px}
h1,h2,h3,b,.h,button,.btn{font-family:Prompt,Sarabun,system-ui,sans-serif}
img{display:block;max-width:100%}
button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
#app{max-width:480px;margin:0 auto;min-height:100vh;position:relative;padding-bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom,0px));overflow-x:hidden}
/* header */
.hdr{position:relative;height:calc(max(var(--top),30px) + 51px);padding:max(calc(var(--top) - 14px),4px) 16px 0;background:linear-gradient(90deg,#054522 0%,#064623 45%,rgba(6,70,35,0) 70%),url(../img/header-photo.jpg) right top/auto 100% no-repeat,#064623;color:#fff;display:flex;gap:10px;align-items:center}
.hdr.tall{height:calc(max(var(--top),30px) + 76px)}
.hdr .logo{width:50px;height:50px;border-radius:50%;flex:0 0 auto}
.hdr .brand{font:800 30px/1 Prompt;letter-spacing:-.5px}.hdr .brand span{color:var(--gold)}
.hdr .l2{font:600 15px/1.25 Prompt;margin-top:4px}.hdr .l3{font:500 13px/1.25 Prompt;opacity:.95}
.hdr .bell{position:absolute;right:16px;top:calc(var(--top) + 2px);width:36px;height:36px;border-radius:50%;background:#fff;color:#1a1a1a;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.hdr .bell i{position:absolute;right:4px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--red);border:1.5px solid #fff}
.sheet{position:relative;margin-top:-10px;background:#fafafa;border-radius:24px 24px 0 0;padding:10px 12px 8px;min-height:60vh}
.titlerow{display:flex;align-items:center;gap:10px;min-height:44px}
.titlerow .back{font-size:24px;color:var(--g700);width:32px}
.titlerow h1{margin:0;font:700 25px/1.15 Prompt;color:#0d2a10}
.titlerow .sub{font-size:13.5px;color:var(--muted)}
.titlerow .ico{margin-left:auto;display:flex;gap:16px;color:#044e0f;font-size:20px}
.card{background:#fff;border:1px solid #e8ebe8;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.pill{border-radius:999px}
.row{display:flex;align-items:center;gap:8px}
.muted{color:var(--muted)}
.green{color:var(--g700)}
.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;border-radius:999px;color:#fff;font-weight:700;font-size:21px;background:linear-gradient(#5fbb3f 0%,#2b8521 25%,#0b5a18 70%,#064c16 100%);box-shadow:0 4px 10px rgba(6,76,22,.35)}
.btn.sm{font-size:16px;min-height:40px;width:auto;padding:0 18px}
.btn.ghost{background:#fff;color:var(--g700);border:2px solid var(--g500);box-shadow:none}
input,select,textarea{font:inherit;font-size:19px;width:100%;padding:12px 14px;border:1.5px solid #cfd8cf;border-radius:14px;background:#fff;color:var(--ink)}
label{display:block;font-weight:700;margin:12px 0 6px;font-family:Prompt}
/* bottom nav */
.nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding:4px 10px env(safe-area-inset-bottom,0px);background:#fbfbfb;border-radius:22px 22px 0 0;box-shadow:0 -2px 12px rgba(0,0,0,.08);display:grid;grid-template-columns:repeat(5,1fr);z-index:20}
.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:3px 4px 12px;border-radius:14px;color:#0d3d16;text-decoration:none;font:700 15px Prompt}
.nav a svg{width:26px;height:26px;stroke:#1f6e1f}
.nav a.home svg{stroke:#111}
.nav a.on{background:linear-gradient(135deg,#47a020,#135b29 55%,#013d1b);color:#fff}
.nav a.on svg{stroke:#fff}
/* mascot */
.mascot{position:absolute;pointer-events:none}
.bubble{position:absolute;background:linear-gradient(#2e7d32,#1f6b26);color:#fff;border:1.5px solid #fff;border-radius:16px;font:600 12px/1.25 Prompt;text-align:center;padding:5px 8px;box-shadow:0 2px 6px rgba(0,0,0,.2)}
/* register */
.reg-title{font:800 34px/1.1 Prompt;color:#063812;margin:6px 0 2px}
.timer{position:absolute;right:28px;top:-6px;display:flex;gap:6px;align-items:center;padding:4px 14px;border-radius:20px;background:linear-gradient(90deg,#e8f7dc,#b9e59a);border:1.5px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.12);text-align:center;font:600 12px/1.1 Prompt;color:#0b2a10}
.timer b{display:block;font-size:16px}
.stepper{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0 10px;position:relative}
.stepper:before{content:'';position:absolute;left:12.5%;right:12.5%;top:14px;height:3px;background:linear-gradient(90deg,#2a8013 0 16%,#c9cdd0 16%)}
.stepper div{text-align:center;font:500 15px/1.3 Prompt;position:relative}
.stepper i{display:grid;place-items:center;width:28px;height:28px;margin:0 auto 4px;border-radius:50%;font:700 17px Prompt;font-style:normal;background:linear-gradient(#f3f3f3,#dfe2e4);color:#434446}
.stepper .on i{background:linear-gradient(#63bb30,#167406);color:#fff;box-shadow:0 0 0 2px #fff,0 0 8px #63bb30}
.stepcard{background:linear-gradient(#f5fcf5,#eef7ee);border:1px solid #d8ebd8;border-radius:22px;box-shadow:0 4px 14px rgba(0,0,0,.08);padding:12px 10px 10px}
.stepcard .head{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.icobox{width:56px;height:56px;border-radius:12px;background:linear-gradient(#5aaa47,#075e1a);display:grid;place-items:center;color:#fff;font-size:30px}
.stepcard h2{margin:0;font:800 24px/1.1 Prompt;color:#022e0d}
.scan{position:relative;border-radius:18px;overflow:hidden;background:#333}
.scan img,.scan video{width:100%;display:block;aspect-ratio:349/194;object-fit:cover}
.scan .cap{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#fff;font:500 17px Prompt;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0;padding:6px 8px;background:#fff;border:1px solid #e3e8e3;border-radius:14px;font:500 13px/1.25 Prompt}
.checks div{display:flex;gap:5px;align-items:center}
.ok{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#2f9a2f;color:#fff;display:grid;place-items:center;font-size:13px}
.listen{display:flex;align-items:center;gap:12px;margin:0 14px 8px;padding:5px 14px 5px 30px;border-radius:24px;background:linear-gradient(#fff,#eef3f0);border:1px solid #dfe7df;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.listen .spk{width:44px;height:36px;border-radius:14px;background:#e7fbdf;display:grid;place-items:center;font-size:22px}
.allsteps{display:flex;gap:6px;align-items:center;width:80%;padding:8px 10px;margin-top:10px;background:linear-gradient(#e7f4da,#edfae9);border:1px solid #d5e8cc;border-radius:16px;font:500 11px/1.2 Prompt}
.allsteps .t{font:800 15px/1.2 Prompt}
.allsteps .t small{display:block;font:400 13px Sarabun}
.allsteps .s{text-align:center}.allsteps .s span{display:block;font-size:20px}
/* home */
.profile{position:relative;margin:-30px -12px 0 0;padding:6px 10px 8px 96px;min-height:84px;background:linear-gradient(#fefefe,#fffef7);border-radius:22px 0 0 22px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.profile .av{position:absolute;left:10px;top:4px;width:76px;height:76px;border-radius:50%;border:3px solid #fff}
.profile h2{margin:0;font:800 25px/1.2 Prompt}
.profile div{font-size:15.5px;margin-top:2px}
.duo{display:grid;grid-template-columns:57% 1fr;gap:10px;margin-top:8px}
.weather{display:flex;align-items:center;gap:8px;padding:3px 10px;background:linear-gradient(#e5f2f8,#ecf5fa);border:1px solid #d6e6ef;border-radius:16px}
.weather b{font-size:19px}
.ptspill{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:16px;background:linear-gradient(#fff6c8,#fad680 60%,#f8d06a);border:1px solid #f0c860;font:600 17px Prompt;color:#2a1500}
.ptspill b{font-size:21px}
.wallet{display:flex;align-items:center;gap:8px;margin-top:10px;padding:4px 12px;background:#fff;border:1px solid #e2e8e2;border-radius:18px}
.wallet b{font-size:22px;color:#0b4d14}
.badgeA{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(#1f7a1f,#0d5c12);color:#fff;font:800 17px Prompt}
.today{position:relative;margin-top:12px;height:137px;border-radius:18px;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(20,60,10,.9),rgba(20,60,10,.55) 55%,rgba(20,60,10,0) 75%),url(../img/mission-card.jpg) center/cover}
.today .tag{position:absolute;left:0;top:0;padding:3px 14px;border-radius:18px 0 14px 0;background:linear-gradient(#1a7d06,#076801);font:800 20px Prompt}
.today h3{position:absolute;left:14px;top:36px;margin:0;font:800 22px Prompt}
.today p{position:absolute;left:14px;top:66px;margin:0;font-size:15px}
.today .shoot{position:absolute;left:18px;bottom:12px;display:flex;gap:8px;align-items:center;padding:4px 12px 4px 4px;border-radius:12px;background:linear-gradient(#edf3ef,#fff);color:#111;font:700 16px Prompt}
.today .shoot i{width:24px;height:24px;border-radius:6px;background:#0c7800;display:grid;place-items:center;font-style:normal;font-size:14px}
.today .plus{position:absolute;right:11px;bottom:12px;padding:2px 10px;border-radius:14px;background:linear-gradient(#fff3c4,#f7dc8a);border:1px solid #e8c55a;color:#111;font:700 14px Prompt}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.tile{display:flex;flex-direction:column;align-items:center;padding:4px 2px 6px;background:#fefefe;border:1px solid #e6e6e6;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.07);text-decoration:none;color:#111;text-align:center;font:700 14px/1.2 Prompt;min-height:80px}
.tile img{width:60px;height:42px;object-fit:contain}
.tile small{font:400 12.5px Sarabun;color:#333}
.alert{display:flex;align-items:center;gap:10px;margin-top:6px;padding:6px 12px;border-radius:16px;color:#fff;background:linear-gradient(#fa4c4b,#c8102e 60%,#9f080d);box-shadow:0 3px 10px rgba(200,8,21,.3)}
.alert b{font:800 21px Prompt;display:block}
.status{position:relative;width:76%;margin-top:12px;padding:8px 10px;background:#fefefe;border:1px solid #e6e6e6;border-radius:18px}
.status h3{margin:0 0 4px;font:800 17px Prompt;color:#0b3d10}
.status .cols{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font:700 13.5px/1.3 Prompt}
.status .cols>div+div{border-left:1px solid #e0e0e0}
.dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:11px;font-weight:800}
/* plot */
.mapcard{position:relative;border-radius:18px;overflow:hidden}
.chips{display:flex;gap:6px;margin:10px 0;flex-wrap:nowrap}
.chips span{white-space:nowrap;padding:2px 8px;border-radius:14px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 1px 3px rgba(0,0,0,.08);font:700 14.5px Prompt}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.metrics>div{border-radius:12px;padding:4px 2px;text-align:center;font:700 15px/1.2 Prompt;min-height:74px}
.metrics .v{font-size:30px;font-weight:800}
.seg{display:flex;align-items:center;margin:10px 0 0;padding:2px;background:#fff;border:1px solid #e3e6e8;border-radius:999px}
.seg button{flex:1;padding:5px 6px;border-radius:999px;font:500 15px Prompt;white-space:nowrap}
.seg button.on{background:linear-gradient(#1f8a24,#004e12);color:#fff;font-weight:700}
table.t{width:100%;border-collapse:collapse;font-size:15px}
table.t th{background:#e5f5db;font:700 14px/1.2 Prompt;padding:6px 4px}
table.t td{padding:2px 6px;border-top:1px solid #d5d7d6;text-align:center}
table.t td:first-child,table.t th:first-child{text-align:left}
.trend{position:relative;display:flex;gap:10px;align-items:center;width:78%;margin-top:12px;padding:6px 10px;background:#f6fff3;border:1.5px solid #c6eabe;border-radius:16px}
/* kratong */
.kt{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.kt .card{padding:10px;text-align:center}
.qr svg,.qr img{width:120px;height:120px;margin:0 auto}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:flex-end;justify-content:center}
.modal>div{background:#fff;width:100%;max-width:480px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}
.modal video{width:100%;border-radius:14px;background:#000}
/* chat */
.farm{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-top:4px}
.farm .av{width:54px;height:54px;border-radius:50%}
.msg{display:flex;gap:6px;margin:10px 0;align-items:flex-start}
.msg.me{justify-content:flex-end}
.msg .b{max-width:86%;padding:8px 14px;border-radius:22px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.1);font-size:19px}
.msg.ai .b{background:linear-gradient(#eefde8,#effbe5);border:1px solid #d4e8c8}
.msg .tm{font-size:12px;color:#5f6266;text-align:right}
.msg .tm em{color:#1d7634;font-style:normal}
.advice{display:inline-block;margin-top:6px;padding:1px 8px;border-radius:999px;background:#fff3c4;color:#5a3d00;font:600 12px Prompt}
.src{font-size:13px;color:#333;margin-top:4px}
.qchips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.qchips button{display:flex;gap:4px;align-items:center;padding:4px 6px;background:#fff;border:1px solid #e6e8e7;border-radius:14px;font:600 13.5px/1.2 Prompt;text-align:left}
.inputbar{display:flex;align-items:center;gap:8px;margin-top:10px;padding:4px 12px;background:#fff;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.inputbar input{border-radius:999px;padding:8px 14px;font-size:17px;background:#f6f6f6}
.mic{flex:0 0 50px;height:50px;border-radius:50%;background:linear-gradient(#0a7d16,#025e11);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25);color:#fff;font-size:22px}
/* analysis/options/market */
.pcard{display:flex;align-items:center;gap:8px;padding:8px;margin-top:4px}
.pcard .av{width:56px;height:56px;border-radius:50%}
.pcard .info{border-left:1px solid #dcdcdc;padding-left:8px;font-size:14px;line-height:1.45}
.pcard .th{margin-left:auto;width:72px;height:54px;border-radius:8px;object-fit:cover}
.profit{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 10px 6px 4px;border-radius:14px;color:#fff;background:linear-gradient(#63b23f,#2e8224 50%,#014b10)}
.profit .big{font:800 38px/1 Prompt;color:#f8e04a;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.profit .big small{font-size:26px}
.up{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:999px;background:#e6f9e6;color:#034007;font:500 13px Prompt}
.up b{font-size:15px}
table.an{width:100%;border-collapse:collapse;font-size:12.5px;line-height:1.2}
table.an th{background:#e6f5de;font:600 12.5px/1.2 Prompt;padding:4px 2px;border:1px solid #e6e6e6}
table.an th:last-child{background:linear-gradient(#4ea230,#2f8a24);color:#fff}
table.an td{border:1px solid #e6e6e6;padding:3px 3px;vertical-align:middle}
table.an td:first-child{font:700 13.5px/1.15 Prompt;background:#f7f7f7}
table.an td:last-child{background:#eefaf0;color:#1e6b1e;font:700 13px/1.15 Prompt;text-align:center}
.dt{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:3px}
.plan{margin-top:10px;padding:8px;background:#fffaec;border:1px solid #f1e6c4;border-radius:14px}
.plan .steps{display:grid;grid-template-columns:1fr 12px 1fr 12px 1fr;align-items:center;margin-top:6px}
.plan .st{position:relative;padding:4px;background:#fff;border:1px solid #e7ece5;border-radius:10px;text-align:center;font:600 12.5px/1.25 Prompt;min-height:60px}
.plan .st i{position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:#1f6e1f;color:#fff;font:700 12px/20px Prompt;font-style:normal}
.opt{position:relative;display:grid;grid-template-columns:84px 1fr 108px;gap:8px;align-items:center;margin-top:10px;padding:8px 8px 6px;border:1px solid #e5e5e5}
.opt.best{border:2px solid #3a9a2a}
.opt .ph{width:84px;height:70px;border-radius:10px;object-fit:cover}
.opt .nm{font:700 24px/1.1 Prompt}
.opt .pb{border-radius:10px;padding:2px 6px;font-size:13px}
.opt .pb b{font:700 24px/1.1 Prompt}
.opt .foot{grid-column:1/-1;font-size:14px}
.tag{position:absolute;left:-1px;top:-10px;padding:1px 10px;border-radius:14px 0 12px 0;background:linear-gradient(#3c9a2c,#1f7a1f);color:#fff;font:600 13px Prompt}
.risk{display:flex;gap:2px;margin-top:2px}.risk i{width:14px;height:8px;border-radius:4px;background:#c5c8cf}
.radio{position:absolute;right:10px;top:34px;width:18px;height:18px;border-radius:50%;border:2px solid #8a8a8a}
.radio.on{border-color:#2e8b2e;box-shadow:inset 0 0 0 3px #fff;background:#2e8b2e}
table.cmp{width:100%;border-collapse:collapse;font-size:13.5px;text-align:center}
table.cmp th{background:#e7f6df;font:600 12.5px/1.2 Prompt;padding:3px 1px}
table.cmp td{padding:2px 1px;border-top:1px solid #e6e6e6}
table.cmp tr.hl td{background:#e3f7d4}
.airec{display:flex;align-items:center;gap:8px;margin-top:8px;padding:3px;background:#eef9e6;border-radius:14px;font-size:14.5px}
.airec .p{padding:8px 10px;border-radius:12px;background:linear-gradient(#3a9a2a,#106c17 50%,#046015);color:#fff;font:700 16px Prompt;white-space:nowrap}
.banner{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 8px;border-radius:14px;background:linear-gradient(90deg,#f6e7b0,#eddca1 70%,rgba(240,217,176,0)),url(../img/banner-rice.jpg) right/auto 100% no-repeat,#f0d9b0}
.buyer{position:relative;display:grid;grid-template-columns:66px 1fr 1fr;gap:8px;margin-top:14px;padding:8px;border:1px solid #e5e5e5}
.buyer.best{border:2px solid #3a9a2a}
.buyer .ph{width:66px;height:82px;border-radius:10px;object-fit:cover}
.buyer .nm{font:700 23px/1.1 Prompt}
.buyer ul{list-style:none;margin:2px 0 0;padding:0;font-size:13.5px;line-height:1.45}
.buyer li:before{content:'✓';display:inline-grid;place-items:center;width:15px;height:15px;margin-right:4px;border-radius:50%;background:#2e9a2e;color:#fff;font-size:10px}
.buyer .pr{border-left:1px solid #e3e3e3;padding-left:8px;font-size:14px}
.buyer .pr b{font:700 34px/1 Prompt}.buyer .pr b small{font-size:22px}
.buyer .lk{display:block;margin-top:6px;padding:2px 8px;border-radius:999px;background:#dff2d4;font:600 13.5px Prompt;text-align:center}
.feat{position:relative;margin-top:10px;padding:8px}
.feat .c4{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;font:700 13px/1.25 Prompt;margin-top:6px}
.feat .c4>div+div{border-left:1px solid #e3e3e3}
.feat .c4 small{display:block;font:400 12px Sarabun;color:#333}
.note{font-size:13px;color:#555;margin:8px 2px}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:#123;color:#fff;padding:10px 16px;border-radius:12px;z-index:60;font-size:16px;max-width:90%}
.lesson{padding:12px;margin-top:10px}
.lesson h3{margin:0 0 6px;font:700 19px Prompt}
.choice{display:block;width:100%;text-align:left;margin:6px 0;padding:12px;border:1.5px solid #cfd8cf;border-radius:14px;background:#fff;font-size:18px}
.choice.sel{border-color:var(--g500);background:#eef9e6}
.league li{display:flex;justify-content:space-between;padding:10px 4px;border-top:1px solid var(--line);font-size:17px}
@media (min-width:481px){body{background:#e9ede7}}

/* fit his 393px layout: keep single lines as on his screens */
.profile div,.weather,.wallet,.ptspill,.pcard .info div,.chips span,.profit .big,.opt .pb,.opt .nm,.buyer .nm,.buyer .lk,.tile,.titlerow h1,.farm b,.allsteps .s{white-space:nowrap}
.profile div{font-size:14.5px}.profile h2{font-size:23px}
.weather{font-size:14px}.weather b{font-size:17px}.wallet{font-size:14px}.wallet b{font-size:19px}.ptspill{font-size:15px}.ptspill b{font-size:19px}
.tile{font-size:12.5px}.tile small{font-size:11.5px}
.pcard .info{font-size:12.5px}.pcard b{font-size:18px!important}
.titlerow h1{font-size:21px}.titlerow .sub{font-size:12.5px}
.profit .big{font-size:32px}.profit .big small{font-size:20px}
table.an{font-size:11px}table.an th{font-size:11px}table.an td:first-child{font-size:12px}table.an td:last-child{font-size:11.5px}
.opt{grid-template-columns:80px 1fr 112px}.opt .nm{font-size:21px}.opt .pb b{font-size:21px}.opt .ph{width:80px}
.radio{top:8px}
.buyer .nm{font-size:20px}.buyer .lk{font-size:12px;padding:2px 4px}.buyer .pr b{font-size:30px}.buyer ul{font-size:12.5px}
.msg .b{font-size:16.5px}.msg.ai .b div[style*="800 22px"]{font-size:19px!important;white-space:nowrap}
.chips span{font-size:13px}.chips{overflow:hidden}
.farm b{font-size:17px!important}
.today{margin-top:8px}.grid4{margin-top:8px}

/* layout fidelity pass 2026-11-07: vertical spacing tuned so each screen's last button lands where it is on his 393x852 images */
.btn{min-height:44px}
.pcard{padding:3px 8px}.pcard .av{width:48px;height:48px}.pcard .info{line-height:1.25}.pcard .th{height:46px}
/* 7484 register */
.stepper{margin:8px 0 6px}
.stepcard{padding:8px 10px 8px}.stepcard .head{margin-bottom:6px}.icobox{width:46px;height:46px;font-size:26px}
.scan img,.scan video{aspect-ratio:349/176}
.stepcard div[style*="margin-top:8px"]>#idnum{padding:4px 12px;font-size:16px}
.stepcard div[style*="margin-top:8px"]:has(>#idnum){margin-top:6px!important}
.checks{margin:6px 0;padding:3px 6px;font-size:12px;line-height:1.15}.checks .ok{flex-basis:18px;width:18px;height:18px;font-size:11px}
.listen{margin-bottom:6px;padding:2px 14px 2px 30px}.listen .spk{height:30px}
/* 7487 mentor */
.farm{padding:3px 8px}.farm .av{width:44px;height:44px}
.farm div[style*="line-height:1.4"]{font-size:12.5px!important;line-height:1.2!important}
.farm img[style*="width:72px"]{width:62px!important}
.msg{margin:6px 0}
.msg.me .b{display:flex;align-items:flex-end;gap:8px;padding:5px 12px}.msg.me .b .tm{flex:0 0 auto}
.msg .b{padding:6px 12px;line-height:1.25}
.msg.ai .b ol{margin:2px 0!important;font-size:15px!important;line-height:1.25}
.msg.ai .b b[style*="font-size:19px"]{font-size:17px!important}
.advice{margin-top:3px}
.qchips button{padding:2px 6px;font-size:12.5px;line-height:1.15}
.inputbar{margin-top:6px;padding:2px 10px}.mic{flex-basis:44px;height:44px}
/* 7486 plot */
.seg{margin-top:8px}.seg button{padding:3px 6px}
table.t th{padding:4px 4px}table.t td{padding:1px 6px}
.trend{margin-top:8px;padding:4px 10px}.trend img{max-height:48px;object-fit:contain}
/* 7488 analysis */
table.an td{padding:2px 3px;line-height:1.12}table.an th{padding:3px 2px}
.plan{margin-top:8px;padding:6px 8px}.plan .steps{margin-top:4px}.plan .st{min-height:48px;padding:3px}
.profit{margin-top:8px}
/* 7489 options */
.opt{margin-top:8px;padding:5px 8px 4px}.opt .ph{height:62px}.opt .foot{font-size:13px;line-height:1.2}
table.cmp td{padding:1px 1px}
.airec{margin-top:6px;padding:2px;font-size:13.5px;line-height:1.2}.airec .p{padding:6px 10px}
/* 7490 market */
.banner{margin-top:6px;padding:4px 8px}
.buyer{margin-top:10px;padding:6px 8px}.buyer .ph{height:74px}.buyer ul{line-height:1.3}
.feat{margin-top:8px;padding:6px 8px}.feat .c4{margin-top:4px}
.stepper div{line-height:1.12}.stepper i{margin-bottom:3px}
.scan img,.scan video{aspect-ratio:349/166}
.listen{padding:1px 14px 1px 30px;margin-bottom:5px}.listen .spk{height:28px}
.trend div[style*="16px Prompt"],.trend div[style*="font-size:16px"]{font-size:13px!important;line-height:1.15}
.trend div[style*="19px Prompt"]{font-size:16px!important;line-height:1.15}
table.an{letter-spacing:-.2px}table.an td{line-height:1.05;padding:2px 2px}
.plan .st{font-size:11.5px;line-height:1.12;min-height:40px}
.opt .pb{font-size:12px;white-space:nowrap;letter-spacing:-.2px}
.trend div{white-space:nowrap}
.opt .pb+div{font-size:12px!important;white-space:nowrap;letter-spacing:-.3px}.opt .pb+div b{font-size:12px!important}
.pcard .av{width:44px;height:44px}.pcard .th{height:40px}.pcard .info{line-height:1.15}
table.an th{line-height:1.05}table.an td:first-child{letter-spacing:-.4px;line-height:1.05}
.pcard>div:not(.info) div{white-space:nowrap;font-size:12.5px!important}
.buyer{margin-top:16px}.banner{padding:7px 8px}.feat{padding:8px}
.buyer{margin-top:13px}
.status{margin-top:8px;padding:5px 10px}.status h3{margin-bottom:2px}.status .cols{line-height:1.15}
.today{margin-top:14px}.alert{margin-top:10px;padding:1px 12px}
