:root{color:#202124;background:#f6f7f9;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{color:#fff;background:#2f5bea;border:0;border-radius:10px;min-height:44px;padding:10px 16px;font-weight:700}button.secondary{color:#28324b;background:#e7eaf2}button:disabled{opacity:.5}.app{min-height:100vh;padding-bottom:80px}.topbar{z-index:2;background:#fffffff5;border-bottom:1px solid #dfe3ec;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:20px}.nav{gap:8px;display:flex}.nav button{min-height:40px}.page{max-width:1180px;margin:0 auto;padding:20px}.grid{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:20px;display:grid}.panel{background:#fff;border:1px solid #e0e4ed;border-radius:14px;padding:18px}.panel h2,.panel h3{margin-top:0}label{margin:14px 0 6px;font-weight:700;display:block}input,select,textarea{background:#fff;border:1px solid #bec6d7;border-radius:9px;width:100%;padding:11px}textarea{resize:vertical;min-height:220px}.method{gap:8px;display:flex}.method label{flex:1;margin:0}.method input{width:auto}.check-label{font-weight:600}.check-label input{width:auto;margin-right:8px}.calculate-button{width:100%;margin:8px 0}.actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.sticky-save{z-index:3;position:fixed;bottom:18px;right:20px}.status{background:#fff5d6;border-radius:8px;margin:12px 0;padding:10px 12px}.tabs{gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:#28324b;background:#eef1f7}.tabs button.active{color:#fff;background:#2f5bea}.result-box{border:1px dashed #b8c1d4;border-radius:10px;min-height:220px;padding:16px}.speech-panel{border:1px solid #dfe3ec;border-radius:10px;padding:12px}.speech-panel label{font-weight:600}.speech-panel label input{width:auto;margin-right:8px}.interim{color:#394b78;background:#eef4ff;border-radius:8px;margin-top:12px;padding:10px}.history-row{border-bottom:1px solid #e5e8ef;grid-template-columns:1fr auto;gap:12px;padding:14px 0;display:grid}.muted{color:#697386;font-size:14px}@media (width<=760px){.grid{grid-template-columns:1fr}.page,.topbar{padding:12px}.sticky-save{width:calc(100% - 24px);bottom:12px;left:12px;right:12px}}
