.calm-page{background:var(--page-bg);color:var(--text-strong)}
.calm-shell{width:min(1140px,calc(100% - 32px));margin:0 auto;padding:42px 0 56px}
.calm-hero{max-width:850px;margin-bottom:22px}
.calm-kicker{display:inline-flex;align-items:center;min-height:28px;padding:5px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font:800 .78rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.calm-hero h1{margin:14px 0 10px;color:var(--text-strong);font:900 2.55rem/1.06 var(--font-display);letter-spacing:0}
.calm-hero h1 span{color:var(--accent)}
.calm-hero p{margin:0;color:var(--text-soft);font-size:1.05rem;line-height:1.7}
.calm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:18px;align-items:start}
.calm-panel{background:var(--panel);border:1px solid var(--header-border);border-radius:8px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px}
.calm-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:17px}
.calm-panel-head h2,.calm-info h2,.calm-faq-head h2{margin:0 0 5px;color:var(--text-strong);font:900 1.14rem/1.2 var(--font-display)}
.calm-panel-head p,.calm-info p,.calm-faq-head p{margin:0;color:var(--text-muted);line-height:1.6}
.calm-drop{display:grid;place-items:center;gap:7px;min-height:190px;border:2px dashed color-mix(in srgb,var(--accent) 38%,var(--header-border));border-radius:8px;background:var(--panel-soft);color:var(--text-soft);text-align:center;cursor:pointer;padding:20px;transition:border-color .18s ease,background .18s ease}
.calm-drop strong{color:var(--text-strong);font:900 1.12rem/1.2 var(--font-display)}
.calm-drop span{max-width:560px;color:var(--text-muted);font-size:.94rem;line-height:1.5}
.calm-drop.is-drag{border-color:var(--accent);background:var(--accent-soft)}
.calm-field{display:grid;gap:8px;margin:0}
.calm-option-space{margin-top:14px}
.calm-field>span{color:var(--text-muted);font:800 .76rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}
.calm-field input{width:100%;min-height:48px;border:1px solid var(--header-border);border-radius:8px;background:var(--panel-soft);color:var(--text-strong);padding:11px 48px 11px 12px;font:750 .95rem/1.45 var(--font-body);outline:none}
.calm-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.calm-input-wrap{position:relative}
.calm-input-wrap small{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:900}
.calm-ghost-btn{min-height:42px;border:1px solid var(--header-border);border-radius:8px;padding:0 13px;background:var(--panel-soft);color:var(--text-soft);font-family:var(--font-display);font-weight:900;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.calm-ghost-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.calm-note,.calm-file-card,.calm-recommendation{display:grid;gap:5px;margin-top:16px;padding:13px;border:1px solid var(--header-border);border-radius:8px;background:var(--panel-soft)}
.calm-note strong,.calm-file-card strong{color:var(--accent);font:900 .98rem/1.2 var(--font-display)}
.calm-note span,.calm-file-card span{color:var(--text-muted);font-size:.9rem;line-height:1.5}
.calm-progress{height:9px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--header-border) 65%,transparent);margin-top:8px}
.calm-progress div{width:0;height:100%;border-radius:999px;background:var(--accent);transition:width .2s ease}
.calm-verdict{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0;padding:22px;border:1px solid var(--header-border);border-left:5px solid var(--accent);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.calm-verdict span{display:inline-flex;margin-bottom:8px;color:var(--accent);font:900 .78rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.calm-verdict h2{margin:0 0 6px;color:var(--text-strong);font:900 1.32rem/1.2 var(--font-display)}
.calm-verdict p{margin:0;color:var(--text-muted);line-height:1.55}
.calm-verdict strong{color:var(--text-strong);font:900 clamp(2rem,5vw,3.2rem)/1 var(--font-display);white-space:nowrap}
.calm-verdict.is-pass{border-left-color:var(--accent)}
.calm-verdict.is-warn{border-left-color:#f59e0b}
.calm-verdict.is-fail{border-left-color:#ef4444}
.calm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.calm-stat{min-height:105px;padding:15px;border:1px solid var(--header-border);border-bottom:3px solid var(--accent);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.calm-stat strong{display:block;color:var(--text-muted);font:800 .74rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}
.calm-stat b{display:block;margin-top:8px;color:var(--text-strong);font:900 1.25rem/1.15 var(--font-display);overflow-wrap:anywhere}
.calm-stat span{display:block;margin-top:6px;color:var(--text-muted);font-size:.88rem;line-height:1.4}
.calm-meter{display:grid;gap:10px}
.calm-meter-track{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;min-height:58px;border:1px solid var(--header-border);border-radius:8px;overflow:hidden;background:var(--panel-soft)}
.calm-zone{display:grid;place-items:center;color:var(--text-muted);font:900 .78rem/1.2 var(--font-display);text-transform:uppercase;text-align:center}
.calm-low{background:color-mix(in srgb,#3b82f6 12%,transparent)}
.calm-pass{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--text-strong)}
.calm-high{background:color-mix(in srgb,#ef4444 13%,transparent)}
#meterNeedle{position:absolute;top:0;bottom:0;width:3px;left:50%;background:var(--text-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-strong) 12%,transparent);transition:left .25s ease}
.calm-meter-scale{display:grid;grid-template-columns:repeat(5,1fr);color:var(--text-muted);font-size:.86rem}
.calm-meter-scale span{text-align:center}
.calm-recommendation{margin-top:16px;color:var(--text-soft);line-height:1.55}
.calm-recommendation strong{color:var(--text-strong)}
.calm-disclaimer{margin-top:14px!important;padding:13px;border:1px solid color-mix(in srgb,#f59e0b 45%,var(--header-border));border-radius:8px;background:color-mix(in srgb,#f59e0b 9%,var(--panel-soft));color:var(--text-soft)!important}
.calm-disclaimer strong{color:var(--text-strong)}
.calm-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--header-border)}
.calm-info-grid h3,.calm-faq-item h3{margin:0 0 7px;color:var(--text-strong);font:900 1rem/1.25 var(--font-display)}
.calm-faq{margin-top:20px}
.calm-faq-head{max-width:760px;margin-bottom:16px}
.calm-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.calm-faq-item{padding:17px;border:1px solid var(--header-border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.calm-faq-item p{margin:0;color:var(--text-muted);line-height:1.6}
.is-hidden{display:none!important}
@media (max-width:980px){.calm-grid,.calm-info-grid,.calm-faq-grid{grid-template-columns:1fr}.calm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.calm-shell{width:min(100% - 24px,640px);padding-top:28px}.calm-hero h1{font-size:2rem}.calm-panel{padding:17px}.calm-summary{grid-template-columns:1fr}.calm-verdict{align-items:flex-start;flex-direction:column}.calm-verdict strong{white-space:normal}.calm-meter-track{grid-template-columns:1fr;min-height:126px}.calm-zone{min-height:42px}.calm-ghost-btn{width:100%}}
