:root { color-scheme:dark; font-family:Tahoma,Arial,system-ui,sans-serif; background:#0a1020; color:#f4f5fa; --cyan:#66e9df; --pink:#ff5a9b; --gold:#ffd373; --muted:#afbdd4; --line:#34435e; --panel:#141e33; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; }
button,input { font:inherit; }
button { min-height:52px; border:1px solid #485a7a; border-radius:14px; padding:13px 20px; color:inherit; background:#1d2c45; font-weight:700; cursor:pointer; touch-action:manipulation; transition:background .12s,border-color .12s; }
button:hover:not(:disabled):not([aria-disabled="true"]) { background:#293d58; border-color:var(--cyan); }
button:disabled { opacity:.55; cursor:default; }
button:focus-visible,input:focus-visible,.button-link:focus-visible { outline:3px solid #fff; outline-offset:4px; }
input[type="radio"]:focus-visible { outline:3px solid #fff; outline-offset:4px; }
button.primary { background:var(--cyan); color:#082b30; border-color:var(--cyan); }
button.primary:hover:not(:disabled) { background:#a0fff5; }
button.quiet,.return-start { background:transparent!important; color:inherit!important; border-color:var(--line)!important; }
.button-link { display:inline-flex; min-height:52px; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:14px; padding:13px 20px; color:inherit; font-weight:700; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
p { line-height:1.8; }
.app { width:min(1280px,100%); margin:auto; padding:0 30px 30px; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0; margin-bottom:28px; border-bottom:1px solid var(--line); }
.brand { font-size:35px; font-weight:900; margin:0; letter-spacing:-1px; }
.brand span { color:var(--cyan); }
.tagline { color:var(--muted); font-size:12px; margin:5px 0 0; }
.connection { font-size:12px; color:var(--cyan); border:1px solid #326564; border-radius:99px; padding:8px 12px; white-space:nowrap; }
.connection.offline { color:var(--gold); border-color:#79603a; }
.connection:empty { display:none; }
.kicker { font-size:12px; color:var(--cyan); font-weight:800; margin:0 0 10px; }
.landing { display:grid; grid-template-columns:1.08fr 1fr; gap:60px; align-items:center; padding:24px 0 36px; min-height:590px; }
.hero h1 { font-size:clamp(42px,4.8vw,67px); line-height:1.4; margin:20px 0; letter-spacing:-1px; }
.hero h1 em { display:block; font-style:normal; color:var(--pink); }
.intro { font-size:20px; color:#c1cbe0; }
.setup-actions { display:flex; gap:12px; margin-top:25px; }
.hero .setup-actions button { min-width:170px; min-height:60px; }
.how { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:30px 0 0; padding:0; list-style:none; }
.how li { display:flex; align-items:center; gap:10px; padding:14px 12px; border:1px solid var(--line); border-radius:14px; background:var(--panel); font-size:12px; font-weight:700; }
.how b { display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border-radius:50%; color:#0a3032; background:var(--cyan); }
.how small { display:block; color:var(--muted); margin-top:6px; font-size:10px; font-weight:400; }
.preview-label { font-size:11px; color:var(--muted); margin-bottom:15px; }
.preview-friends { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:25px; }
.preview-friends>span { display:flex; align-items:center; gap:10px; padding:16px 12px; background:var(--panel); border:1px solid var(--line); border-radius:15px; font-size:13px; font-weight:700; }
.avatar { display:inline-grid; place-items:center; flex-shrink:0; width:48px; height:48px; border-radius:16px; background:#213e4b; border:1px solid #4d7487; font-size:25px; font-weight:800; color:var(--cyan); }
.avatar.pink { background:#45203c; color:#ff94bb; border-color:#805274; }
.avatar.gold { background:#493b22; color:var(--gold); border-color:#81704b; }
.preview-card { padding:27px; border:1px solid #52627d; border-top:4px solid var(--pink); border-radius:24px; background:#1a263e; transform:rotate(-1deg); }
.preview-card h2 { font-size:30px; line-height:1.6; margin:20px 0; }
.preview-card>p:last-child { margin:18px 0 0; color:var(--muted); font-size:12px; }
.preview-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; font-size:12px; }
.preview-choices span { padding:15px 12px; border:1px solid #445a77; border-radius:12px; }
.preview-choices .picked { color:var(--cyan); border-color:var(--cyan); background:#112230; }
.setup-card,.show-card,.players-card,.player-status,.lobby-share { background:var(--panel); border:1px solid var(--line); border-radius:24px; }
.form-layout { display:grid; grid-template-columns:1fr 1fr; gap:55px; padding:38px; max-width:1040px; margin:35px auto; }
.form-copy h1 { font-size:39px; line-height:1.5; margin:10px 0 15px; }
.form-copy>p { color:var(--muted); font-size:16px; }
.form-moment { border-top:1px solid var(--line); padding-top:22px; margin-top:26px; }
.form-moment>span { color:var(--gold); font-size:36px; }
.form-moment h2 { font-size:25px; line-height:1.7; margin:8px 0; }
.form-moment p { font-size:13px; color:var(--muted); }
.form-fields { align-self:center; }
.form-fields label { display:block; font-weight:700; margin-bottom:10px; }
.form-fields input { display:block; width:100%; min-height:57px; padding:13px 15px; background:#0c1427; color:inherit; border:1px solid #62718a; border-radius:12px; margin:0 0 22px; font-size:18px; }
.form-fields button { width:100%; margin-top:10px; }
.form-fields .muted { font-size:12px; }
.pack-selector { margin:0 0 18px; padding:0; border:0; }
.pack-selector legend { font-weight:700; margin-bottom:10px; }
#pack-options { display:grid; gap:10px; }
.pack-option-row{position:relative}.pack-option-row .pack-option{padding-inline-end:92px}.pack-favourite{position:absolute;inset-inline-end:12px;top:12px;width:auto!important;min-height:38px;margin:0!important;padding:7px 10px;border-radius:10px;font-size:12px;background:#18223b}.pack-favourite[aria-pressed=true]{color:var(--pink);border-color:var(--pink)}
.pack-option { display:grid!important; grid-template-columns:auto minmax(0,1fr); gap:13px; align-items:start; margin:0!important; padding:15px; border:1px solid #52627d; border-radius:15px; background:#0c1427; cursor:pointer; }
.pack-option:has(input:checked) { border-color:var(--cyan); box-shadow:0 0 0 1px var(--cyan); }
.pack-option input { width:20px!important; min-height:20px!important; margin:4px 0 0!important; accent-color:var(--cyan); }
.pack-copy strong,.pack-copy small,.pack-copy b { display:block; }
.pack-copy strong { font-size:18px; }
.pack-copy small { color:var(--cyan); margin-top:3px; }
.pack-copy p { color:var(--muted); font-size:12px; margin:8px 0; }
.pack-copy b { color:var(--gold); font-size:11px; }
.recovery-card { max-width:700px; text-align:center; padding:40px; margin:35px auto; }
.recovery-card h1 { font-size:34px; }
.recovery-card p { color:var(--muted); }
.recovery-card .setup-actions { justify-content:center; }
.recovery-icon { display:block; font-size:64px; color:var(--cyan); margin-bottom:18px; }
.message { color:var(--gold); margin:12px 0; text-align:center; overflow-wrap:anywhere; }
.message:empty { display:none; }
#room { display:grid; grid-template-columns:minmax(0,1fr) 270px; grid-template-areas:"show identity" "show players"; grid-template-rows:auto 1fr; gap:18px; align-items:start; }
.show-card { grid-area:show; padding:30px; min-width:0; }
.player-status { grid-area:identity; padding:22px; border-top:3px solid var(--cyan); min-width:0; }
.identity-line { display:flex; align-items:center; gap:12px; }
.identity-line small { color:var(--muted); font-size:11px; }
#identity { margin:5px 0 0; font-size:23px; line-height:1.5; overflow-wrap:anywhere; }
.own-score { font-size:38px; font-weight:900; margin:24px 0 12px; }
.own-score small { font-size:13px; color:var(--muted); font-weight:400; }
.own-score.secret { font-size:18px; line-height:1.7; color:var(--gold); }
#owner-note { font-size:12px; margin:8px 0; }
#owner-note:empty { display:none; }
.room-reference { border-top:1px solid var(--line); padding-top:14px; color:var(--muted); font-size:10px; }
.room-reference b { font-weight:400; letter-spacing:2px; margin-right:8px; }
.show-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:22px; }
#round-title { font-size:17px; line-height:1.5; margin:0; }
.show-heading .kicker { color:var(--muted); font-size:11px; margin-bottom:6px; }
.phase-timer { display:flex; align-items:center; gap:10px; flex-shrink:0; }
#timer-label { font-size:11px; color:var(--muted); margin:0; max-width:110px; }
.timer { display:grid; place-items:center; width:46px; height:46px; border:2px solid var(--cyan); border-radius:50%; font-size:22px; font-weight:800; }
.timer.urgent { border-color:var(--pink); }
.timer[data-answering="false"] { border-color:#7d8ca5; }
.hero-copy { color:var(--muted); line-height:1.8; font-size:15px; }
.hero-copy:empty { display:none; }
.question-meta { font-size:12px; color:var(--gold); margin-bottom:15px; }
.question-title,.preview-title { font-size:clamp(26px,2.65vw,38px); line-height:1.65; margin:12px 0 26px; overflow-wrap:anywhere; }
.media-stage { display:grid; place-items:center; gap:12px; width:100%; margin:0 0 20px; padding:14px; border:1px solid var(--line); border-radius:18px; background:#0c1427; overflow:hidden; }
.media-stage.failed { border-style:dashed; }
.question-image { display:block; width:100%; max-width:760px; max-height:min(46vh,520px); object-fit:contain; border-radius:12px; background:#08101f; }
.question-audio { display:none; }
.audio-play { min-width:min(100%,260px); min-height:58px; }
.media-status,.media-fallback,.media-fallback-clue { margin:0; color:var(--muted); text-align:center; line-height:1.7; }
.media-fallback { color:var(--gold); }
.media-fallback-clue { color:#d8e7e9; font-weight:700; }
.media-retry { min-height:44px; }
.controls,.choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; }
.controls:empty { display:none; }
.answer-button { min-height:76px; padding:18px; text-align:right; font-size:18px; line-height:1.7; overflow-wrap:anywhere; }
.controls.long-answers { grid-template-columns:1fr; }
.answer-button.selected { border:2px solid var(--cyan); background:#16414c; box-shadow:inset -5px 0 var(--cyan); }
.answer-button.selected:after { content:"●"; color:var(--cyan); margin-right:12px; }
.answer-button.selected[data-feedback="ACCEPTED_LOCKED"]:after { content:"✓"; }
.answer-button[aria-disabled="true"] { cursor:default; }
.answer-feedback,.answer-retry,.locked-copy,.centered,.start-button,.no-power,.next-room-note { grid-column:1/-1; }
.answer-feedback { margin:0; color:var(--cyan); font-weight:700; line-height:1.8; }
.answer-feedback:empty { display:none; }
.answer-progress { color:var(--muted); font-size:13px; margin:15px 0 0; }
.answer-progress:empty { display:none; }
.locked-copy { padding:16px; border:1px solid var(--line); border-radius:14px; line-height:1.8; margin:0; }
.waiting-copy,.muted,.centered { color:var(--muted); line-height:1.8; }
.announcement { padding:13px 16px; border:1px solid var(--line); border-radius:14px; font-size:14px; line-height:1.8; }
.announcement.double { border-color:#8a743c; color:var(--gold); }
.announcement.challenge { border-color:#835173; color:#ffadd0; }
.announcement.retry { border-color:#9c5263; color:#ffd0d7; }
.power { min-height:82px; text-align:right; font-size:18px; }
.power.double { border-color:var(--gold); color:var(--gold); }
.power.challenge { border-color:var(--pink); color:#ffc0da; }
.no-power { border-style:dashed; }
.players-card { grid-area:players; padding:20px; min-width:0; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.section-heading h2 { font-size:16px; margin:0; }
#score-note { font-size:11px; color:var(--muted); margin:0; }
.players { display:grid; gap:10px; margin:17px 0 0; padding:0; list-style:none; }
.player { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); min-width:0; }
.player:last-child { border-bottom:0; }
.player .avatar { width:37px; height:37px; font-size:19px; border-radius:12px; }
.player.mine { border-radius:12px; padding:12px; background:#1b3945; border:1px solid #386a76; }
.player.offline .player-detail { color:var(--gold); }
.player-name { font-size:14px; font-weight:700; overflow-wrap:anywhere; flex:1; }
.player-detail { color:var(--cyan); font-size:11px; text-align:left; }
.player-rank { font-size:23px; color:var(--gold); min-width:28px; }
#room[data-state="LOBBY"] { grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr); grid-template-areas:"players share" "players show"; }
#room[data-state="LOBBY"] .player-status { display:none; }
#room[data-state="LOBBY"] .players-card { padding:30px; }
#room[data-state="LOBBY"] .section-heading h2 { font-size:26px; }
#room[data-state="LOBBY"] .player { padding:20px; border-radius:16px; background:#1a2942; border:1px solid var(--line); }
#room[data-state="LOBBY"] .player.mine { background:#1b3945; border-color:#386a76; }
#room[data-state="LOBBY"] .player-name { font-size:20px; }
#room[data-state="LOBBY"] .player .avatar { width:48px; height:48px; font-size:25px; }
#room[data-state="LOBBY"] .show-card { padding:22px; }
#room[data-state="LOBBY"] .show-heading { border:0; margin:0; padding:0; }
#room[data-state="LOBBY"] .hero-copy { margin-bottom:0; }
.lobby-share { grid-area:share; padding:25px; text-align:center; }
.lobby-share h2 { font-size:18px; margin:10px 0; }
#share-code { display:block; color:var(--gold); font-size:46px; letter-spacing:6px; margin:15px 0; }
.lobby-share p { color:var(--muted); font-size:13px; }
.share-actions { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
#room[data-state="STANDINGS"] { grid-template-areas:"players identity" "players show"; }
#room[data-state="STANDINGS"] .players-card { padding:30px; }
#room[data-state="STANDINGS"] .player-name { font-size:22px; }
#room[data-state="STANDINGS"] .player-detail { font-size:21px; color:var(--gold); }
.result-banner { text-align:center; padding:12px 0 26px; margin-bottom:24px; border-bottom:1px solid var(--line); animation:reveal .35s ease both; }
.result-icon { display:grid; place-items:center; width:84px; height:84px; border:2px solid #558b71; background:#184a3c; color:#adf5cc; font-size:45px; border-radius:26px; margin:0 auto 16px; }
.result-banner.wrong .result-icon { border-color:#b96b80; background:#52253a; color:#ffbad0; }
.result-banner.neutral .result-icon { border-color:#9b8554; background:#473923; color:var(--gold); }
.result-banner h2 { font-size:43px; line-height:1.5; margin:10px 0; }
.result-delta { display:block; font-size:40px; font-weight:900; color:var(--gold); margin:12px 0; }
.result-banner .power-consequence { display:block; margin:12px auto 0; padding:13px; border:1px solid #907843; border-radius:12px; width:fit-content; font-size:16px; color:var(--gold); }
.result-question { font-size:20px; color:var(--muted); line-height:1.7; }
.choice { padding:16px; border:1px solid var(--line); border-radius:14px; font-size:17px; line-height:1.8; overflow-wrap:anywhere; }
.choice.correct { border:2px solid #62b98d; background:#16392f; }
.choice.selected-wrong { border:2px solid #cf7a93; background:#382237; }
.choice-mark { display:block; font-size:12px; font-weight:700; color:#d8e7e9; margin-top:7px; }
.own-choice { font-size:15px; line-height:1.8; color:var(--muted); }
#room[data-state="PODIUM"],#room[data-state="ENDED"] { grid-template-areas:"show show" "players identity"; }
#room[data-state="PODIUM"] .show-heading,#room[data-state="PODIUM"] .hero-copy { display:none; }
.trophy { font-size:45px; text-align:center; margin:0; }
.podium-title { text-align:center; font-size:42px; line-height:1.6; margin:12px 0 26px; }
.podium-stage { display:flex; flex-wrap:wrap; align-items:end; justify-content:center; gap:18px; margin:0 auto 28px; max-width:850px; }
.podium-place { text-align:center; flex:1 1 170px; min-width:0; border:1px solid #5e6d86; border-top:4px solid #b7c7df; border-radius:20px 20px 0 0; padding:24px 15px; background:#1c2940; min-height:190px; }
.podium-place.first { background:#443821; border-color:var(--gold); min-height:240px; }
.podium-place.third { min-height:160px; border-color:#bf916d; }
.podium-place h3 { overflow-wrap:anywhere; font-size:24px; margin:14px 0; }
.podium-place p { font-size:25px; font-weight:800; color:var(--gold); margin:0; }
.podium-place small { display:block; margin-bottom:15px; color:var(--muted); }
.personal-finish { text-align:center; padding:20px; border:1px solid #897247; border-radius:15px; color:var(--gold); font-size:22px; line-height:1.7; }
.next-room-note { color:var(--muted); font-size:13px; text-align:center; margin:0; }
.site-footer { margin-top:32px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
[hidden] { display:none!important; }
@keyframes reveal { from { opacity:.3; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media(max-width:950px) { .landing { gap:30px; }.preview-friends>span { flex-direction:column; }.how li { flex-direction:column; align-items:flex-start; }#room { grid-template-columns:minmax(0,1fr) 235px; }.form-layout { gap:28px; padding:28px; }.show-card { padding:24px; } }
@media(max-width:720px) {
 .app { padding:0 16px 25px; }.topbar { padding:20px 0; margin-bottom:20px; }.brand { font-size:29px; }.tagline { font-size:10px; max-width:200px; }.connection { font-size:10px; padding:7px; }
 .landing { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding:10px 0; gap:35px; }.hero h1 { font-size:43px; margin:18px 0; }.intro { font-size:17px; }.hero .setup-actions button { min-width:0; flex:1; min-height:56px; }.how { margin-top:24px; gap:8px; }.how li { padding:12px 9px; font-size:11px; }.how small { font-size:9px; }.preview-friends>span { flex-direction:row; padding:12px 8px; font-size:10px; gap:7px; }.preview-friends .avatar { width:32px; height:32px; font-size:17px; border-radius:10px; }.preview-card { padding:22px; }.preview-card h2 { font-size:25px; }
 .form-layout { grid-template-columns:1fr; gap:18px; margin:0; padding:24px; }.form-copy h1 { font-size:31px; }.form-copy>p { font-size:14px; margin-bottom:0; }.form-moment { display:none; }.form-fields input { font-size:17px; }.recovery-card { margin:0; padding:28px 20px; }.recovery-card h1 { font-size:29px; }.setup-actions { flex-wrap:wrap; }
 #room,#room[data-state="LOBBY"],#room[data-state="STANDINGS"],#room[data-state="PODIUM"],#room[data-state="ENDED"] { grid-template-columns:minmax(0,1fr); gap:14px; grid-template-areas:"identity" "show" "players"; }
 #room[data-state="LOBBY"] { grid-template-areas:"share" "players" "show"; }#room[data-state="STANDINGS"] { grid-template-areas:"identity" "players" "show"; }
 .player-status { padding:12px 15px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-radius:17px; }.identity-line { gap:9px; }.identity-line small { display:none; }.identity-line .avatar { width:35px; height:35px; font-size:18px; border-radius:11px; }#identity { font-size:17px; margin:0; }.own-score { font-size:25px; margin:0; white-space:nowrap; }.own-score small { font-size:10px; }.own-score.secret { font-size:12px; white-space:normal; max-width:145px; }.room-reference,#owner-note { display:none; }
 .show-card { padding:20px 17px; border-radius:20px; }.show-heading { margin-bottom:18px; padding-bottom:13px; gap:8px; }#round-title { font-size:14px; }.phase-timer { gap:7px; }#timer-label { font-size:10px; max-width:75px; }.timer { width:37px; height:37px; font-size:18px; }.hero-copy { font-size:13px; }.question-title,.preview-title { font-size:25px; line-height:1.65; margin:12px 0 20px; }.question-meta { font-size:11px; }
 .media-stage { padding:10px; margin-bottom:16px; }.question-image { max-height:36vh; }.audio-play { width:100%; }
 .controls,.choices { grid-template-columns:1fr; gap:10px; margin-top:18px; }.answer-button { min-height:62px; padding:13px 15px; font-size:17px; }.answer-feedback { font-size:14px; }.answer-progress { font-size:12px; }.power { font-size:17px; min-height:66px; }
 .players-card { padding:18px; }.lobby-share { padding:23px; }#share-code { font-size:39px; }#room[data-state="LOBBY"] .players-card { padding:20px; }#room[data-state="LOBBY"] .player { padding:14px; }#room[data-state="LOBBY"] .player-name { font-size:17px; }#room[data-state="STANDINGS"] .players-card { padding:20px; }#room[data-state="STANDINGS"] .player-name { font-size:18px; }#room[data-state="STANDINGS"] .player-detail { font-size:17px; }
 .result-banner { padding:5px 0 22px; }.result-banner h2 { font-size:34px; }.result-icon { width:65px; height:65px; font-size:35px; border-radius:21px; }.result-delta { font-size:32px; }.result-question { font-size:17px; }.choice { font-size:16px; }.result-banner .power-consequence { font-size:14px; }
 .podium-title { font-size:30px; }.podium-stage { gap:8px; }.podium-place { flex-basis:85px; padding:18px 7px; min-height:160px; }.podium-place.first { min-height:205px; }.podium-place.third { min-height:140px; }.podium-place .avatar { width:36px; height:36px; font-size:20px; border-radius:12px; }.podium-place h3 { font-size:16px; }.podium-place p { font-size:19px; }.podium-place small { font-size:10px; }.personal-finish { font-size:18px; padding:15px; }
}
@media (max-width: 430px) { .preview-choices { font-size:11px; }.preview-choices span { padding:12px 9px; }.form-layout { padding:22px 18px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; } }

.result-delta small { font-size:.6em; }

/* Closest estimates share the production show stage and keep native form focus. */
.estimate-form { grid-column:1/-1; width:min(540px,100%); margin-inline:auto; display:grid; gap:14px; text-align:start; }
.estimate-field { display:flex; align-items:center; gap:16px; font-size:24px; }
.estimate-field input { background:#0c1427; color:inherit; border:1px solid #62718a; border-radius:14px; min-width:0; width:100%; font-size:36px; text-align:center; padding:16px; }
.estimate-submit { min-height:62px; font-size:22px; }
.estimate-submit[aria-disabled="true"] { opacity:.65; cursor:default; }
.estimate-reveal { text-align:center; }
.reveal-label { color:var(--muted); font-size:20px; margin:8px 0; }
.canonical-estimate { font-size:clamp(36px,5vw,64px); margin:8px 0 14px; }
.closest-summary { font-weight:800; }
.estimate-standings { list-style:none; padding:0; display:grid; gap:10px; }
.estimate-row { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:12px; padding:16px; border:1px solid var(--line); border-radius:16px; text-align:start; background:#17233a; }
.estimate-row.mine { outline:2px solid var(--cyan); outline-offset:2px; }
.estimate-row.closest { border-color:#90dfac; background:#183c34; }
.estimate-value { font-size:24px; overflow-wrap:anywhere; }
.estimate-award { font-weight:800; }
@media(max-width:600px) {
 .estimate-field input { font-size:30px; padding:12px; }
 .estimate-row { grid-template-columns:1fr auto; padding:12px; gap:8px; }
 .estimate-award { grid-column:1/-1; }
 .estimate-value { font-size:22px; }
}
