:root{color-scheme:light;--primary:#087dd9;--primary-dark:#0568ba;--soft:#edf6ff;--ink:#162b43;--muted:#697c90;--line:#dbe5ef;--error:#c23d3d;font:16px/1.6 "PingFang SC","Helvetica Neue",Arial,"Microsoft YaHei",sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:#edf3f9;-webkit-text-size-adjust:100%;padding:30px 20px 150px}button,input,select,textarea{font:inherit;color:inherit}button,input[type=radio],input[type=checkbox],input[type=range],select,summary{cursor:pointer}button{touch-action:manipulation}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #79bdff;outline-offset:3px}
.survey-shell{max-width:900px;margin:0 auto;border-radius:20px;overflow:clip;background:#fff;box-shadow:0 8px 40px #173c6410}.survey-banner{height:90px;background:#bee4ff url('/header.png') center/cover no-repeat}.survey-heading{padding:34px 40px 26px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:13px;letter-spacing:.06em;font-weight:600}h1{font-size:28px;font-weight:650;letter-spacing:.02em;line-height:1.4;margin:0 0 18px}.description{font-size:15px;color:#53677c;line-height:1.85;margin:0}.survey-benefits{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:12px;margin-top:18px}.survey-benefits span::before{content:'✓';color:var(--primary);margin-right:5px}.survey-content{padding:0 28px 26px}.load-status{text-align:center;padding:40px 0;color:var(--muted)}.load-error{color:var(--error)}
.notice{border:1px solid #e5d39c;background:#fff9e9;border-radius:12px;color:#795e1c;font-size:14px;padding:12px 16px;margin-bottom:16px}.notice p{margin:0}.notice button{display:inline-flex;align-items:center;min-height:44px;padding:5px 10px;background:#fff;border:1px solid #d8c486;border-radius:7px;margin:10px 8px 0 0}.progress-panel{margin:0 12px 24px;padding-top:2px}.progress-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:3px 12px;font-size:13px;margin-bottom:9px}.save-status{color:var(--muted);font-size:12px}.save-status.warning{color:#a57212}progress{appearance:none;display:block;width:100%;height:6px;border:0;border-radius:10px;overflow:hidden;background:#e8eef5}progress::-webkit-progress-bar{background:#e8eef5}progress::-webkit-progress-value{background:var(--primary);border-radius:10px;transition:width .2s}progress::-moz-progress-bar{background:var(--primary);border-radius:10px}
.question{border:1px solid #e3ebf3;border-radius:14px;margin:0 0 18px;padding:23px 22px;scroll-margin-top:20px}.question:focus{outline:none}.question-title{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;font-size:17px;font-weight:600;line-height:1.65}.question-number{display:flex;align-items:center;justify-content:center;flex:0 0 27px;min-height:27px;margin-top:1px;border-radius:7px;background:var(--soft);color:var(--primary);font-size:14px;font-weight:600}.question-title-text{flex:1;min-width:0}.required{display:inline-block;color:#9a6e6e;font-size:11px;white-space:nowrap;font-weight:400;margin-left:7px;vertical-align:2px}.optional{color:var(--muted)}.question-controls{min-width:0;padding:0;margin:0;border:0}.question-help{font-size:13px;line-height:1.7;color:var(--muted);margin:-6px 0 14px}.options{display:grid;gap:10px}.option{min-height:54px;display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;cursor:pointer;line-height:1.55;transition:border-color .15s,background .15s}.option.chosen{border-color:#5aa9e8;background:var(--soft)}.option-input{appearance:none;position:relative;flex:0 0 22px;width:22px;height:22px;border:1.5px solid #b2c2d1;background:#fff;margin:0}.option-input[type=radio]{border-radius:50%}.option-input[type=checkbox]{border-radius:5px}.option-input:checked{border-color:var(--primary);background:var(--primary)}.option-input[type=radio]:checked::after{content:'';position:absolute;inset:6px;background:#fff;border-radius:50%}.option-input[type=checkbox]:checked::after{content:'';position:absolute;width:6px;height:11px;left:6px;top:2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.option-label{flex:1}.select-input,.answer-textarea{width:100%;display:block;background:#fff;border:1px solid #cbd9e6;border-radius:10px;padding:12px 14px;min-height:54px}.select-input{max-width:450px}.answer-textarea{min-height:138px;resize:vertical;line-height:1.75}.text-count{text-align:right;color:var(--muted);font-size:12px;margin-top:6px}
.matrix-head{display:grid;grid-template-columns:150px repeat(5,minmax(0,1fr));gap:6px;color:var(--muted);font-size:12px;text-align:center;margin-bottom:8px}.matrix-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px;align-items:center;padding:10px 0;border-top:1px solid #e8eef5}.matrix-row-title{font-weight:500;font-size:15px;padding-right:8px}.matrix-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.matrix-option,.rating-choice{position:relative;display:block;cursor:pointer;min-width:0}.matrix-option input,.rating-choice input{position:absolute;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.matrix-face{min-height:48px;border:1px solid #dce6f0;background:#f8fafd;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;text-align:center}.matrix-score{font-size:16px;line-height:24px}.matrix-description{display:none}.matrix-option input:checked+.matrix-face,.rating-choice input:checked+.rating-face{background:var(--soft);border-color:#419ce1;color:var(--primary-dark);box-shadow:inset 0 0 0 1px #419ce1}.matrix-option input:focus-visible+.matrix-face,.rating-choice input:focus-visible+.rating-face{outline:3px solid #79bdff;outline-offset:2px}.rating-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.rating-options.long{grid-template-columns:repeat(6,minmax(0,1fr))}.rating-face{min-height:72px;display:flex;align-items:center;flex-direction:column;justify-content:center;border:1px solid var(--line);background:#f8fafd;border-radius:10px;padding:8px 2px;gap:1px;text-align:center}.rating-score{font-size:21px;font-weight:600;line-height:28px}.rating-description{font-size:12px;line-height:18px}.long .rating-face{min-height:58px}.rating-endpoints{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:10px}
.ranking-options{display:grid;gap:9px}.rank-row{display:flex;align-items:center;gap:3px;min-height:62px;border:1px solid var(--line);border-radius:10px;padding-right:6px;background:#fff}.rank-row.selected{background:var(--soft);border-color:#a4cdef}.rank-select{background:transparent;border:0;flex:1;min-width:0;display:flex;align-items:center;gap:11px;text-align:left;padding:12px;min-height:60px;line-height:1.45}.rank-badge{flex:0 0 28px;height:28px;border:1px solid #b7c9d8;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#8298ac;background:#fff;font-size:14px}.selected .rank-badge{background:var(--primary);border-color:var(--primary);color:#fff}.rank-adjust{flex:0 0 46px;width:46px;min-height:46px;border:1px solid #c8d9e9;background:#fff;border-radius:8px;color:var(--primary-dark);font-size:21px;margin-left:3px}.rank-adjust:disabled{color:#b9c7d4;border-color:#e1e9f0;background:#f4f7fa;cursor:default}
.number-input{width:142px;min-width:0;min-height:56px;border:1px solid #bdcfdf;border-radius:10px;background:#fff;padding:8px 12px;text-align:center;font-size:23px;font-weight:500}.number-input::-webkit-inner-spin-button,.number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input[type=number]{-moz-appearance:textfield}.slider-value{display:flex;justify-content:center;align-items:baseline;gap:10px;margin-bottom:15px}.slider-unit{color:var(--muted);font-size:15px}.range-input{width:100%;min-width:0;height:48px;margin:0;accent-color:var(--primary);background:transparent}.range-input::-webkit-slider-thumb{width:28px;height:28px}.scale-labels{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.scale-labels span:last-child{text-align:right}.quick-values{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.quick-button{min-height:46px;flex:1 0 54px;padding:7px 9px;border:1px solid #d5e1ec;border-radius:8px;background:#f7fafd;font-size:14px;white-space:nowrap}.quick-button.chosen{background:var(--soft);border-color:#419ce1;color:var(--primary-dark)}.allocation-rows{display:grid;gap:12px}.allocation-row{padding:16px;border:1px solid #e3ebf3;border-radius:12px;background:#f8fafd}.allocation-label{margin-bottom:12px;font-size:15px;font-weight:500}.allocation-controls{display:flex;justify-content:space-between;align-items:center;gap:10px}.allocation-controls .number-input{flex:1;width:100%;min-height:52px;max-width:180px;font-size:22px}.step-button{flex:0 0 48px;width:48px;min-height:48px;border:1px solid #c5d7e8;border-radius:9px;background:#fff;color:var(--primary-dark);font-size:22px}.allocation-row .range-input{margin-top:8px}.allocation-total{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:15px 16px;background:var(--soft);border-radius:10px;margin-top:14px;color:#365c7d;font-size:13px}.allocation-total strong{font-size:16px;font-weight:600}.allocation-total.complete{color:#247247;background:#ecf8f0}.allocation-total.exceeded{color:#b54040;background:#fff0f0}
.question.invalid{border-color:#df9696;box-shadow:0 0 0 1px #df969622}.question-error{color:var(--error);font-size:13px;line-height:1.65;margin:12px 0 0}.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#ffffffed;border-top:1px solid #dce5ee;box-shadow:0 -4px 18px #173c6408;backdrop-filter:blur(12px);padding:12px 20px max(12px,env(safe-area-inset-bottom))}.bottom-inner{width:820px;max-width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 auto}.bottom-progress{flex:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;min-width:90px}.bottom-progress strong{font-size:18px;font-weight:600;white-space:nowrap}.bottom-progress span{color:var(--muted);font-size:12px;white-space:nowrap}.submit-button,.secondary-button{min-height:48px;border-radius:10px;font-size:15px;padding:10px 24px;font-weight:500}.submit-button{border:1px solid var(--primary);background:var(--primary);color:#fff;min-width:144px}.submit-button:hover{background:var(--primary-dark)}.secondary-button{border:1px solid #c9d9e7;background:#fff;color:#365c7d}.submit-button:disabled{opacity:.7;cursor:wait}.form-status{flex-basis:100%;margin:0;color:var(--error);font-size:12px;line-height:1.6}.form-status.pending{color:#566d82}.form-status:empty{display:none}.survey-footer{display:flex;justify-content:center;align-items:baseline;gap:10px 18px;flex-wrap:wrap;padding:15px 12px 5px;font-size:12px;color:#7d8fa1}.survey-footer a{min-height:44px;display:inline-flex;align-items:center;color:#6a8196;text-decoration:none}.privacy-notice{display:contents}.privacy-notice summary{display:inline-flex;min-height:44px;align-items:center;list-style:none;text-decoration:underline;text-underline-offset:3px}.privacy-notice summary::-webkit-details-marker{display:none}.privacy-notice p{flex-basis:100%;order:2;margin:0;text-align:left;line-height:1.8}.success-panel{padding:35px 20px 55px;text-align:center;outline:none}.success-mark{margin:0 auto 22px;width:64px;height:64px;background:#e8f5ed;color:#2b905b;border-radius:50%;font-size:36px;line-height:64px}.success-panel h2{font-size:25px;margin:0 0 12px}.success-panel p{max-width:440px;margin:0 auto 12px;font-size:15px;color:#61778a;line-height:1.8}.success-panel .eyebrow{font-size:12px;color:#2b905b}.success-panel .success-hint{font-size:13px;margin-top:23px;color:#8a99a8}fieldset:disabled input,fieldset:disabled label,fieldset:disabled button{cursor:default}fieldset:disabled{opacity:.8}
@media(hover:hover){.option:hover,.rank-row:hover{border-color:#88b8df}.quick-button:hover,.step-button:hover{background:var(--soft)}}
@media(max-width:699px){body{padding:0 0 150px;background:#f3f7fb}.survey-shell{width:100%;max-width:none;border-radius:0;box-shadow:none;overflow:visible;background:#f3f7fb}.survey-banner{height:50px}.survey-heading{background:#fff;padding:23px 20px 22px}h1{font-size:24px;margin-bottom:14px}.eyebrow{font-size:12px}.description{font-size:14px}.survey-benefits{gap:5px 14px;font-size:11px}.survey-content{padding:18px 12px 20px}.progress-panel{margin:0 8px 18px}.progress-caption{font-size:12px}.save-status{font-size:11px}.notice{margin:0 0 14px;padding:12px}.question{background:#fff;margin-bottom:14px;padding:20px 16px;border-radius:14px;scroll-margin-top:12px}.question-title{font-size:16px;gap:8px;margin-bottom:16px}.question-number{flex-basis:25px;min-height:25px;font-size:13px}.required{font-size:10px;margin-left:5px}.option{padding:12px;min-height:56px;gap:11px;font-size:15px}.question-help{font-size:12px}.matrix-head{display:none}.matrix-row{display:block;padding:15px 0;border-top:1px solid #e4ecf4}.matrix-row:first-child{border-top:0;padding-top:0}.matrix-row:last-child{padding-bottom:0}.matrix-row-title{margin-bottom:10px;padding:0;font-size:15px}.matrix-options{gap:5px}.matrix-face{min-height:76px;padding:7px 2px;border-radius:8px;gap:3px}.matrix-score{font-size:18px;font-weight:600}.matrix-description{display:block;font-size:11px;line-height:17px;overflow-wrap:anywhere}.rating-options{gap:6px}.rating-face{min-height:78px;border-radius:9px}.rating-score{font-size:21px}.rating-description{font-size:11px;line-height:17px}.long .rating-face{min-height:61px}.rank-row{min-height:62px;padding-right:5px;gap:1px}.rank-select{font-size:14px;padding:10px 8px;gap:8px}.rank-badge{flex-basis:26px;height:26px;font-size:13px}.rank-adjust{flex-basis:44px;width:44px;min-height:48px;margin-left:3px}.quick-values{gap:6px}.quick-button{min-height:46px;padding:7px 5px;flex-basis:47px;font-size:12px}.allocation-row{padding:14px 12px}.allocation-controls{gap:8px}.allocation-controls .number-input{min-height:52px;font-size:22px;padding:8px 4px}.step-button{flex-basis:48px;width:48px}.allocation-label{font-size:14px}.allocation-total{padding:13px}.allocation-total strong{font-size:15px}.bottom-bar{padding:10px 12px max(10px,env(safe-area-inset-bottom))}.bottom-inner{gap:8px}.bottom-progress{flex:1;min-width:65px;display:block;line-height:1.4}.bottom-progress strong{display:block;font-size:16px}.bottom-progress span{font-size:10px}.submit-button,.secondary-button{font-size:14px;padding:10px 13px;min-height:48px}.submit-button{min-width:112px}.secondary-button{min-width:90px}.survey-footer{font-size:11px;gap:6px 16px;padding:8px}.success-panel{margin-top:10px;border-radius:14px;background:#fff;padding:36px 20px 42px}}
@media(max-width:340px){.rating-options.long{grid-template-columns:repeat(5,minmax(0,1fr))}.question{padding-left:13px;padding-right:13px}.secondary-button{min-width:80px;padding-left:9px;padding-right:9px}.submit-button{min-width:100px;padding-left:9px;padding-right:9px}}
body.survey-complete #survey-benefits,body.survey-complete #survey-description,body.survey-complete .survey-heading>.eyebrow{display:none!important}
body.survey-complete #survey-benefits span::before{content:none!important}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Compact questionnaire layout: normal visual scale with clear tap targets. */
:root { font-size: 15px; line-height: 1.55; }
body { padding: 22px 16px 108px; }
.survey-shell { max-width: 820px; border-radius: 12px; }
.survey-banner { height: 54px; }
.survey-heading { padding: 22px 30px 18px; }
.survey-heading > .eyebrow { display: none; }
h1 { font-size: 23px; margin-bottom: 12px; }
.description { font-size: 14px; line-height: 1.7; }
.survey-benefits { margin-top: 10px; gap: 4px 14px; }
.survey-content { padding: 0 22px 20px; }
.progress-panel { margin: 0 6px 16px; }
.progress-caption { font-size: 12px; margin-bottom: 6px; }
progress { height: 4px; }
.question { border-radius: 9px; padding: 16px; margin-bottom: 12px; }
.question-title { font-size: 15px; line-height: 1.55; gap: 8px; margin-bottom: 11px; }
.question-number { flex-basis: 23px; min-height: 23px; font-size: 12px; border-radius: 5px; }
.question-help { font-size: 12px; line-height: 1.55; margin: -2px 0 10px; }
.options { gap: 6px; }
.option { min-height: 44px; padding: 9px 11px; gap: 9px; border-radius: 6px; font-size: 15px; line-height: 1.5; }
.option-input { width: 18px; height: 18px; flex-basis: 18px; }
.option-input[type=radio]:checked::after { inset: 5px; }
.option-input[type=checkbox]:checked::after { width: 5px; height: 9px; left: 5px; top: 2px; }
#q1 .options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.select-input, .answer-textarea { font-size: 16px; min-height: 44px; padding: 8px 11px; border-radius: 6px; }
.answer-textarea { min-height: 96px; line-height: 1.6; }
.matrix-head { font-size: 12px; grid-template-columns: 128px repeat(5, minmax(0, 1fr)); gap: 4px; margin-bottom: 5px; }
.matrix-row { grid-template-columns: 128px minmax(0, 1fr); padding: 7px 0; gap: 4px; }
.matrix-row-title { font-size: 14px; }
.matrix-options { gap: 4px; }
.matrix-face { min-height: 44px; padding: 4px 1px; border-radius: 6px; gap: 0; background: #fff; }
.matrix-score { font-size: 16px; line-height: 21px; font-weight: 500; }
.rating-options { gap: 5px; }
.rating-face { min-height: 58px; padding: 5px 1px; border-radius: 6px; gap: 0; background: #fff; }
.rating-score { font-size: 17px; line-height: 23px; font-weight: 500; }
.rating-description { font-size: 11px; line-height: 15px; }
.long .rating-face { min-height: 44px; }
.long .rating-description { display: none; }
.rating-endpoints { font-size: 12px; margin-bottom: 6px; }
.ranking-options { gap: 6px; }
.rank-row { min-height: 46px; border-radius: 6px; padding-right: 3px; gap: 1px; }
.rank-select { min-height: 44px; padding: 8px; gap: 8px; font-size: 14px; overflow-wrap: anywhere; }
.rank-badge { flex-basis: 23px; height: 23px; font-size: 12px; border-radius: 5px; }
.rank-adjust { flex-basis: 44px; width: 44px; min-height: 44px; margin-left: 2px; border-radius: 6px; font-size: 18px; }
.number-input { width: 76px; min-height: 44px; padding: 7px 6px; font-size: 16px; border-radius: 6px; }
.slider-box { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 0 10px; align-items: center; }
.slider-value { grid-column: 2; grid-row: 1; justify-content: flex-end; align-items: center; gap: 5px; margin: 0; }
.slider-track { grid-column: 1; grid-row: 1; min-width: 0; }
.slider-unit { font-size: 13px; }
.range-input { height: 44px; }
.range-input::-webkit-slider-thumb { width: 22px; height: 22px; }
.scale-labels { font-size: 11px; gap: 6px; }
.quick-values { grid-column: 1 / -1; gap: 5px; margin-top: 7px; }
.quick-button { min-height: 40px; flex-basis: 46px; padding: 6px 5px; font-size: 12px; border-radius: 6px; background: #fff; }
#q10 .question-help, #q14 .question-help { display: none; }
.allocation-rows { gap: 0; }
.allocation-row { display: grid; grid-template-columns: minmax(90px, 1fr) 194px; gap: 0 8px; align-items: center; padding: 8px 0; border: 0; border-bottom: 1px solid #e3ebf3; border-radius: 0; background: transparent; }
.allocation-row:last-child { border-bottom: 0; padding-bottom: 0; }
.allocation-label { grid-column: 1; grid-row: 1; margin: 0; font-size: 14px; }
.allocation-controls { grid-column: 2; grid-row: 1; gap: 4px; }
.allocation-controls .number-input { flex: 1 1 64px; width: 64px; max-width: 76px; min-width: 52px; min-height: 44px; padding: 7px 3px; font-size: 16px; }
.step-button { flex-basis: 44px; width: 44px; min-height: 44px; border-radius: 6px; font-size: 18px; }
.allocation-row .range-input { grid-column: 1 / -1; margin-top: 0; height: 36px; }
.allocation-total { padding: 10px 11px; margin-top: 10px; gap: 4px 10px; border-radius: 7px; font-size: 12px; }
.allocation-total strong { font-size: 14px; }
.bottom-bar { padding: 8px 16px max(8px, env(safe-area-inset-bottom)); }
.bottom-inner { width: 776px; gap: 7px; }
.bottom-progress strong { font-size: 15px; }
.bottom-progress span { font-size: 11px; }
.submit-button, .secondary-button { min-height: 44px; font-size: 14px; padding: 8px 16px; border-radius: 7px; }
.submit-button { min-width: 116px; }
.success-panel { padding: 26px 16px 35px; }
.success-panel h2 { font-size: 22px; }
.success-mark { width: 48px; height: 48px; line-height: 48px; font-size: 27px; margin-bottom: 16px; }
@media (max-width: 699px) {
  body { padding: 0 0 96px; }
  .survey-banner { height: 32px; }
  .survey-heading { padding: 18px 18px 16px; }
  h1 { font-size: 21px; margin-bottom: 10px; }
  .survey-benefits { gap: 4px 12px; }
  .survey-content { padding: 12px 10px 16px; }
  .progress-panel { margin: 0 4px 12px; }
  .question { padding: 14px 12px; margin-bottom: 10px; border-radius: 9px; }
  .question-title { font-size: 15px; margin-bottom: 10px; gap: 7px; }
  .question-number { flex-basis: 23px; min-height: 23px; font-size: 12px; }
  .option { min-height: 44px; padding: 9px 10px; font-size: 15px; gap: 9px; }
  .matrix-row { display: block; padding: 9px 0; }
  .matrix-row-title { margin-bottom: 5px; font-size: 14px; }
  .matrix-face { min-height: 54px; padding: 4px 1px; gap: 0; }
  .matrix-score { font-size: 16px; line-height: 21px; }
  .matrix-description { font-size: 11px; line-height: 15px; }
  .rating-face { min-height: 58px; }
  .rating-score { font-size: 17px; }
  .rating-description { font-size: 11px; line-height: 15px; }
  .long .rating-face { min-height: 44px; }
  .rank-row { min-height: 46px; padding-right: 3px; }
  .rank-select { padding: 8px; min-height: 44px; font-size: 14px; }
  .rank-badge { flex-basis: 23px; height: 23px; }
  .rank-adjust { min-height: 44px; width: 44px; flex-basis: 44px; }
  .quick-button { min-height: 40px; font-size: 12px; padding: 6px 4px; }
  .allocation-row { grid-template-columns: minmax(80px, 1fr) 184px; padding: 7px 0; }
  .allocation-controls { gap: 4px; }
  .allocation-controls .number-input { font-size: 16px; min-height: 44px; padding: 7px 3px; }
  .allocation-label { font-size: 14px; }
  .step-button { flex-basis: 44px; width: 44px; }
  .allocation-total { padding: 10px; }
  .allocation-total strong { font-size: 14px; }
  .bottom-bar { padding: 7px 10px max(7px, env(safe-area-inset-bottom)); }
  .bottom-progress { min-width: 60px; line-height: 1.35; }
  .bottom-progress strong { font-size: 14px; }
  .bottom-progress span { font-size: 10px; }
  .submit-button, .secondary-button { min-height: 44px; min-width: 88px; padding: 8px 11px; font-size: 13px; }
  .submit-button { min-width: 104px; }
  .success-panel { padding: 28px 16px; }
}
@media (max-width: 359px) {
  .rating-options.long { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .allocation-row { grid-template-columns: minmax(64px, 1fr) 178px; gap: 0 6px; }
  .submit-button, .secondary-button { min-width: 80px; padding: 8px; }
  .submit-button { min-width: 96px; }
}
