body{background:#0e131a;margin:0}html[lang="zh-CN"] .ends .cjk,html[lang="zh-CN"] .axis .cjk,html[lang="zh-CN"] #pChart th .cjk,html[lang="zh-CN"] .rowlbl .cjk,html[lang="zh-CN"] #presets button .cjk,html[lang="zh-CN"] #qsel .cjk,html[lang="zh-CN"] .qpop h3 .cjk{display:none}html[lang="zh-CN"] body{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}html[lang="zh-CN"] button,html[lang="zh-CN"] input,html[lang="zh-CN"] select{font-family:inherit}html[lang="zh-CN"] .pin{display:none}.local-footer{max-width:1500px;margin:12px auto;padding:8px 18px;color:#8e9aab;font:12px/1.8 system-ui,sans-serif}.local-footer a{color:#c6ab86}.local-footer span{display:block}html[lang="zh-CN"] .comparepairs button{min-width:0}html[lang="zh-CN"] .grpsum{letter-spacing:0}

/* Standalone viewport layout: use the window instead of an embedded-page cap. */
html, body { width:100%; min-height:100%; }
.stage { width:100%; max-width:none; margin:0; border:0; border-radius:0; }
.local-footer { width:100%; max-width:none; margin:0; padding:5px 18px; border-top:1px solid #26303c; }
html[lang="zh-CN"] .whalf.editing::after { content:" · 编辑中"; }

@media (min-width:900px) {
  body { display:flex; flex-direction:column; height:100vh; height:100dvh; overflow:hidden; }
  .stage { flex:1 1 auto; height:auto; min-height:0; --pressure-width:clamp(146px,10vw,200px); --panel-width:clamp(320px,25vw,440px); }
  .grid { grid-template-columns:var(--pressure-width) minmax(0,1fr) var(--panel-width); }
  .local-footer { flex:none; font-size:11px; line-height:1.6; display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
  .local-footer span { margin-left:auto; }
  .stage header { padding:14px 22px; gap:12px 18px; align-items:center; }
  .stage h1 { font-size:22px; }
  .stage header p { font-size:12px; }
  .modeseg button { min-height:34px; padding:7px 14px; font-size:12px; }
  .panel { padding:18px 22px; scrollbar-width:thin; scrollbar-color:#43515c transparent; }
  .panel h2, .grptog { font-size:12px; letter-spacing:.04em; }
  .grptog { min-height:30px; }
  .panel h2 .cjk { font-size:16px; }
  .ctrl { margin-top:12px; }
  .ctrl .lab b { font-size:15px; }
  .ctrl .lab em, .ctrl .ends, .scopelbl, .scopehd, .subcap, .poshint, .grpsum { font-size:11px; line-height:1.6; }
  .rangewrap input[type="range"] { height:30px; }
  .posscope, .wristscope { gap:6px; }
  .posscope button, .wristscope button, .seg button { min-height:32px; font-size:12px; }
  .posscope button .cjk { font-size:14px; }
  .scopeblock { padding:10px 0; margin-bottom:12px; }
  .scopeblock + .scopeblock { margin-top:-12px; }
  .now { font-size:12px; line-height:1.65; padding:10px 12px; }
  .resetbtn, .undobtn, .picbtn { min-height:30px; font-size:11px; }
  .drawerbtn { min-height:40px; font-size:12px; }
  .libdrawer { width:var(--panel-width); padding:18px 20px; }
  .libhead h2 { font-size:15px; }
  .presets { gap:7px; }
  .presets button { min-height:40px; font-size:13px; }
  .qaddrow { align-items:flex-start; line-height:1.6; }
  .qaddrow button { flex:none; }
  .pchartwrap { margin-top:16px; }
  table.pchart { font-size:11px; }
  table.pchart caption, table.pchart thead th, table.pchart td .organ, .organsel, .organsel select { font-size:10px; line-height:1.5; }
  table.pchart th, table.pchart td { padding:7px 6px; }
  table.pchart tbody th .wsub { font-size:9px; }
  .gutter { overflow-y:auto; scrollbar-width:thin; }
  .gutter .bean { left:12px; }
  .gutter .bean b { font-size:13px; }
  .gutter .bean em { font-size:10px; line-height:1.5; }
  .gutter .cap { font-size:11px; }
  .gutter .cap .cjk { font-size:14px; }
  .scaleseg, .pressrow { padding:7px 9px; gap:5px; }
  .scaleseg button, .pressrow button { font-size:10px; min-height:30px; }
  .gmeter { padding:9px 12px; }
  .meter i, .gcap, .gnote { font-size:10px; letter-spacing:0; }
  .meter .bpm, .meter .lv { font-size:11px; line-height:1.5; }
  .gcontact { padding:8px 12px; }
  .viewbar { top:16px; left:16px; gap:6px; }
  .viewbar button { min-height:32px; font-size:12px; }
  .levels { top:16px; right:16px; }
  .readout { left:16px; bottom:16px; right:16px; }
  .rleft { max-width:min(72%,680px); padding:12px 16px; }
  .verdict { font-size:18px; }
  .verdict small { font-size:12px; line-height:1.6; }
  .readout .note { font-size:13px; line-height:1.65; }
  .tracestrip { height:clamp(96px,12vh,150px); padding:8px 16px; }
  .tracestrip .cap { font-size:10px; letter-spacing:0; gap:12px; flex-wrap:wrap; }
  .tracestrip .credit { font-size:9px; letter-spacing:.04em; }
  .compareHint, .compareout { font-size:13px; }
  .comparemeta, .comparedisappear, .comparelegend, #compareHint { font-size:11px; line-height:1.6; }
  .comparesurface button, .comparepairs button { min-height:32px; font-size:11px; }
  .comparegrid { gap:6px; }
  .comparegrid button { min-height:34px; }
}

@media (min-width:900px) and (max-width:1199.98px) {
  .stage { --pressure-width:130px; --panel-width:300px; }
  .stage header { padding:10px 16px; gap:8px 12px; }
  .stage h1 { font-size:19px; }
  .stage header .brand { display:none; }
  .stage header p { font-size:11px; }
  .modeseg button { padding:5px 9px; font-size:11px; }
  .panel { padding:14px 16px; }
  .viewbar button { padding:5px 7px; font-size:11px; }
  .local-footer { font-size:10px; }
}

@media (max-width:899.98px) {
  .stage { min-height:100vh; min-height:100dvh; }
  .panel { padding:16px; }
  .ctrl { max-width:none; }
  .local-footer { padding:10px 16px; }
}
