:root{font-family:'Meiryo','メイリオ','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','YuGothic','Noto Sans JP',sans-serif;color:#263946;background:#eaf3f9;line-height:1.5;--app-header:#DCEFFC;--app-header-ink:#245779;--app-accent:#A9D5F2;--app-accent-ink:#194E70;--app-bg:#F5FAFE;--app-border:#D5E7F3;--app-muted:#627B8D;--app-shadow:0 5px 18px rgba(62,119,155,.08);--ink:#16324f;--teal:#397da6;--red:#a9282c;--amber:#996600;--card:#fff}*{box-sizing:border-box}html{font-size:18px;background:#eaf3f9}body{margin:0 auto;max-width:760px;min-width:300px;min-height:100vh;background:var(--app-bg);-webkit-font-smoothing:antialiased}.app-header{background:var(--app-header);color:var(--app-header-ink);padding:11px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--app-border)}.app-header h1{font-size:1.12rem;margin:0;font-weight:800}.eyebrow{font-size:.58rem;letter-spacing:.1em;margin:0 0 1px;color:var(--app-muted)}.safety{padding:8px 16px;background:#fff7df;border-bottom:1px solid #ead9a9;font-size:.72rem}.tabs{position:sticky;top:0;z-index:30;display:flex;background:var(--app-header);border-bottom:1px solid var(--app-border);box-shadow:0 4px 14px rgba(62,119,155,.06);overflow:auto}.tab{flex:1;background:transparent;color:var(--app-header-ink);border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 9px;white-space:nowrap;opacity:.58}.tab.active{color:var(--app-accent-ink);border-color:var(--app-header-ink);background:rgba(255,255,255,.72);opacity:1}main{margin:auto;padding:14px}.view{display:none}.view.active{display:block}.stack{display:grid;gap:12px}.card,fieldset{background:var(--card);border:1px solid var(--app-border);border-radius:15px;padding:15px 14px;box-shadow:var(--app-shadow)}.card h2,legend{font-size:.9rem;font-weight:800;color:var(--ink)}.card h2{margin:0 0 8px}.card p{margin:6px 0}.card ul{margin:8px 0;padding-left:21px}.warning{border-left:6px solid var(--red);background:#fff7f7}.caution{border-left:6px solid #d39a00;background:#fffaf0}.info{border-left:6px solid var(--app-accent)}.case-status{font-weight:700;margin:0 0 10px;color:var(--app-muted)}.badge{display:inline-block;border-radius:999px;background:#e8f3fa;color:var(--app-accent-ink);padding:2px 8px;font-size:.75rem;margin-left:6px}form{display:grid;gap:14px}fieldset{margin:0}legend{padding:0 6px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}label{display:grid;gap:4px;font-size:.78rem;font-weight:700}label:has(input[type=checkbox]){display:flex;align-items:center;font-weight:500}input,select,textarea{width:100%;font:inherit;padding:10px;border:1px solid #b9d5e7;border-radius:9px;background:#fff;color:#263946}input[type=checkbox]{width:18px;height:18px;accent-color:var(--app-header-ink)}button,.file-button{font:inherit;font-weight:800;border:0;border-radius:10px;background:var(--app-accent);color:var(--app-accent-ink);padding:10px 14px;cursor:pointer}.secondary{background:#e9f3f9;color:var(--app-header-ink)}.app-header .secondary{background:rgba(255,255,255,.88);color:var(--app-header-ink);border:1px solid #b9d5e7;border-radius:999px;padding:7px 12px;font-size:.72rem}.action-bar,.actions{display:flex;gap:9px;flex-wrap:wrap}.action-bar{position:sticky;bottom:0;background:rgba(245,250,254,.94);padding:10px 0}.file-button input{display:none}.case-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--app-border)}.case-row:last-child{border:0}.case-row button{padding:7px 9px}.danger{background:#f4dddd;color:#8c2024}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f8fc;padding:10px;border-radius:8px;font-size:.72rem}footer{text-align:center;color:var(--app-muted);font-size:.68rem;padding:28px 10px}@media(max-width:520px){.grid,.checks{grid-template-columns:1fr}main{padding:10px}.card,fieldset{border-radius:12px;padding:13px}}
html,body{max-width:100%;overflow-x:hidden}.app-header>div,.card,fieldset{min-width:0}.app-header button{flex:0 0 auto}.card,.card li{overflow-wrap:anywhere}
@media(max-width:520px){.app-header{align-items:center}.app-header button{width:auto}}
.reference-section{margin-top:16px}.source-link{display:inline-block;margin-top:8px;color:#075e58;font-weight:700}.source-meta{color:#62777b;font-size:.8rem}
@media(max-width:520px){.tab{flex:0 0 25%;width:25%;min-width:0;padding:12px 4px;font-size:.9rem}}
.calculator{margin-top:12px;padding:12px;background:#f2f7f6;border-radius:10px}.calculator p{margin:8px 0 0;font-size:.84rem}
.tri-state-grid{align-items:end}.tri-state-grid select{padding-block:8px}
.compact-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.label-with-help{display:flex;align-items:center;gap:6px}.help-button,.icon-button{display:inline-grid;place-items:center;border-radius:999px;padding:0;width:22px;height:22px;line-height:1;background:#dcebea;color:#075e58}.help-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:16px;padding:18px;box-shadow:0 16px 50px #102f3760;color:#18252b}.help-dialog::backdrop{background:#102f3780}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dialog-heading h2{margin:0;color:var(--ink);font-size:1.1rem}.icon-button{flex:0 0 auto;font-size:1.2rem}.help-dialog dl{display:grid;grid-template-columns:2rem 1fr;gap:9px 8px;margin:16px 0}.help-dialog dt{font-weight:800;color:var(--teal)}.help-dialog dd{margin:0}.dialog-note{margin:0;padding:10px;border-radius:8px;background:#fff4d6;font-size:.84rem}
@media(max-width:520px){.compact-grid,.tri-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
  .app-header{padding:9px 10px;gap:7px}.app-header h1{font-size:1rem}.app-header .secondary{padding:7px 10px}
  .safety{padding:7px 10px;font-size:.78rem}.tab{padding:9px 3px}
  main{padding:7px}.card,fieldset{padding:10px}.stack{gap:8px}form{gap:9px}
  .grid{gap:7px}.checks{gap:6px;margin:5px 0 8px}label{gap:2px;font-size:.8rem}
  input,select{min-height:38px;padding:6px 8px;border-radius:7px}textarea{padding:8px}
  .tri-state-grid select{padding-block:6px}.calculator{margin-top:8px;padding:9px}.action-bar{padding:7px 0}
}
