@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2")}:root{--bg:#0e1726;--surface:#16223a;--surface-raised:#1c2a45;--readout-bg:#0a111d;--line:#2a3a57;--ink:#eaf1fb;--ink-dim:#b7c6de;--muted:#8295b4;--accent:#e9a23b;--accent-press:#cf8a27;--readout:#f3bd5d;--danger:#d98a8a;--font-ui:system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius:14px;--radius-sm:10px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background-color:var(--bg);background-image:radial-gradient(120% 80% at 50% -10%, #1a2740 0%, var(--bg) 60%);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;line-height:1.7}.app-shell{width:100%;max-width:560px;padding:28px 18px calc(48px + env(safe-area-inset-bottom));padding-left:calc(18px + env(safe-area-inset-left));padding-right:calc(18px + env(safe-area-inset-right));margin:0 auto}.app-footer{text-align:center;color:var(--muted);margin-top:28px;font-size:12px;line-height:1.8}.app-footer a{color:inherit;text-underline-offset:3px;white-space:nowrap;text-decoration:underline}.app-header{margin-bottom:22px}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:500}.title{letter-spacing:.01em;margin:8px 0 6px;font-size:30px;font-weight:700;line-height:1.25}.subtitle{color:var(--ink-dim);margin:0;font-size:15px}.accent-rule{background:var(--accent);border-radius:2px;width:56px;height:3px;margin-top:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;padding:18px}.input-panel{flex-direction:column;gap:12px;display:flex}.field-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}.input-guide{color:var(--ink-dim);margin:-4px 0 0;font-size:13px;line-height:1.7}.metar-input{resize:vertical;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--readout-bg);width:100%;min-height:96px;color:var(--readout);font-family:var(--font-mono);letter-spacing:.04em;caret-color:var(--accent);padding:14px;font-size:17px;font-weight:500;line-height:1.6}.metar-input::placeholder{color:#4f617e;letter-spacing:.02em}.metar-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:#0000}.button-row{gap:12px;display:flex}.btn{border-radius:var(--radius-sm);min-height:54px;font-family:var(--font-ui);cursor:pointer;flex:1;padding:0 16px;font-size:16px;font-weight:600;transition:background-color .15s,border-color .15s,transform 50ms}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{border:1px solid var(--accent);background:var(--accent);color:#1a1206}.btn-primary:active{background:var(--accent-press);border-color:var(--accent-press)}.btn-ghost{border:1px solid var(--line);color:var(--ink-dim);background:0 0}.btn-ghost:active{background:var(--surface-raised)}.results{animation:.28s both rise}.format-detection{color:#8fb0d6;letter-spacing:.03em;margin-bottom:12px;font-size:14px;font-weight:600}.readout-block{margin-bottom:16px}.readout-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:500}.readout{border-radius:var(--radius-sm);background:var(--readout-bg);border:1px solid var(--line);color:var(--readout);font-family:var(--font-mono);letter-spacing:.06em;word-break:break-word;padding:16px;font-size:16px;font-weight:500;line-height:1.7;box-shadow:inset 0 1px #0006,inset 0 0 0 1px #f3bd5d0d}.caution{border-radius:var(--radius-sm);border:1px solid #e9a23b66;border-left:4px solid var(--accent);background:#e9a23b14;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.caution-icon{color:var(--accent);font-size:18px;line-height:1.5}.caution-title{color:var(--ink);font-size:15px;font-weight:600}.caution-body{color:var(--ink-dim);font-size:14px;font-family:var(--font-mono);letter-spacing:.03em;word-break:break-word;margin-top:2px}.cards{flex-direction:column;gap:12px;display:flex}.element-card{--tint:var(--muted);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--tint);border-radius:var(--radius-sm);padding:14px 16px}.ec-top{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;display:flex}.ec-chip{letter-spacing:.04em;color:var(--tint);white-space:nowrap;background:#ffffff0f;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.ec-raw{font-family:var(--font-mono);letter-spacing:.05em;color:var(--readout);word-break:break-word;font-size:16px;font-weight:600}.ec-desc{color:var(--ink);margin:0;font-size:15px;line-height:1.65}.error-card{border-color:#d98a8a73;border-left:4px solid var(--danger)}.error-title{color:var(--ink);margin-bottom:6px;font-size:17px;font-weight:700}.error-msg{color:var(--danger);font-size:15px;font-family:var(--font-mono);letter-spacing:.02em;word-break:break-word;margin:0 0 8px}.error-hint{color:var(--ink-dim);margin:0;font-size:14px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.summary-card{background:var(--surface-raised);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);margin-bottom:18px;padding:18px}.summary-label{font-family:var(--font-ui);letter-spacing:.08em;color:var(--accent);margin-bottom:8px;font-size:13px;font-weight:600}.summary-text{color:var(--ink);margin:0;font-size:16px;line-height:1.85}.disclaimer{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#0f172a8c;margin-top:32px;padding:18px}.disclaimer h2{letter-spacing:.08em;color:var(--accent);margin:0 0 10px;font-size:14px}.disclaimer p{margin:0 0 8px;font-size:13px;line-height:1.8}.disclaimer p:last-child{margin-bottom:0}.btn-clear{color:var(--muted);border:1px solid var(--line);background:0 0}.btn-clear:hover{color:var(--ink);background:#94a3b81f}.oral-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);border-left:4px solid #6e8bb0;margin-bottom:18px;padding:18px}.oral-label{font-family:var(--font-ui);letter-spacing:.08em;color:#8fb0d6;margin-bottom:12px;font-size:13px;font-weight:600}.oral-lines{flex-direction:column;gap:6px;display:flex}.oral-line{color:var(--ink);margin:0;font-size:16px;line-height:1.7}.oral-note{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.6}
