:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #f2f4f6;--card: #ffffff;--line: #e5e8eb;--text: #1f2328;--muted: #6b7684;--brand: #3182f6;--brand-soft: #eaf2ff;--brand-strong: #1e5cc8}body{margin:0;background:var(--bg);font-family:Pretendard,Apple SD Gothic Neo,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%}html,body{overflow-x:hidden}html{-webkit-text-size-adjust:100%}#root{min-height:100vh;min-height:100dvh;display:grid;place-items:start center;overflow-x:clip;background:radial-gradient(1000px 500px at 10% -10%,rgba(49,130,246,.12),transparent 60%),radial-gradient(900px 450px at 100% 0%,rgba(35,98,210,.1),transparent 58%),var(--bg)}.wrap{width:100%;max-width:680px;margin:0 auto;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));padding-left:12px;padding-right:12px;display:grid;gap:clamp(10px,2vw,14px)}.card{background:color-mix(in srgb,var(--card) 90%,#f8fbff);border:1px solid color-mix(in srgb,var(--line) 88%,#dbe7ff);border-radius:clamp(14px,2vw,18px);padding:clamp(14px,2.2vw,20px);box-shadow:0 14px 30px #0f2d5a0f,0 2px 8px #0f2d5a0d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero h1{margin:0 0 10px;font-size:clamp(26px,6vw,34px);line-height:1.18}.hero p{margin:0 0 14px;color:#4b5563;line-height:1.45}.hero button{width:100%}button{border:0;background:linear-gradient(135deg,#2f80f5,#1d65d6);color:#fff;min-height:44px;padding:12px 14px;border-radius:12px;font-weight:700;font-size:clamp(14px,2.8vw,16px);letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 18px #3182f647}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:linear-gradient(135deg,#eef4ff,#e6efff);color:#2e5ea7;box-shadow:none}.result{background:linear-gradient(145deg,#0f4fbf,#2f80f5);color:#fff;border:0;box-shadow:0 10px 24px #3182f633}.eyebrow{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd9}.qri{font-size:clamp(30px,8vw,40px);font-weight:800;margin:4px 0}.type{font-weight:700;margin:0 0 8px;font-size:clamp(24px,5.6vw,34px)}.resultSummary{margin:10px 0;line-height:1.5;color:#ffffffeb}.band{display:inline-flex;margin:2px 0 8px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.band-critical{background:#ffffff38;color:#ffd2d8}.band-high{background:#fff3;color:#d9f4ff}.band-mid{background:#ffffff29;color:#d8ecff}.band-low{background:#ffffff2e;color:#d9ffe9}.band-safe{background:#ffffff2e;color:#e8ecff}.checklist{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}.checklist li{display:grid;grid-template-columns:76px 1fr;align-items:start;gap:10px;background:var(--brand-soft);padding:10px;border-radius:12px}.checkTerm{align-self:start;justify-self:center;background:var(--brand);color:#fff;border-radius:999px;font-size:12px;padding:4px 10px;font-weight:700;min-width:66px;text-align:center}.checklist li span:last-child{color:#1f3b6f;line-height:1.45}.scoreGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.scoreGrid div{padding:10px;border-radius:12px;background:#f8fbff;border:1px solid #e5eef8}.scoreGrid small{display:block;color:#6a7788;font-size:12px;margin-bottom:6px}.scoreGrid strong{font-size:22px;color:#102b57}.caution{border-left:4px solid #ef4444;background:linear-gradient(145deg,#fff7f7,#fff1f1)}.caution h3{margin-top:0;margin-bottom:6px;color:#7a202f}.caution p{margin:0;color:#7a202f;line-height:1.5}.result p:last-child,.caution p{font-size:14px}.scores{padding-left:18px;margin:8px 0 14px;display:grid;gap:6px;line-height:1.45}.qcard{text-align:center}.qcard h2{margin:14px auto;line-height:1.4;font-size:clamp(20px,5.2vw,30px);max-width:100%;word-break:keep-all}.progressHead{display:flex;justify-content:space-between;color:var(--muted)}.progressBar{height:8px;margin-top:6px;background:#edf2f7;border-radius:999px;overflow:hidden}.progressBar span{display:block;height:100%;background:var(--brand)}.scoreLine{overflow-x:clip}.scoreLine input{width:100%;max-width:100%;display:block;margin:12px 0 8px}.actions{margin-top:14px;display:flex;gap:10px}.actions button{flex:1}.actions-3{flex-wrap:wrap}.actions-3 button{min-width:160px}.modalOverlay{position:fixed;inset:0;background:#0f172a85;display:grid;place-items:center;z-index:50;padding:16px}.modalCard{width:min(100%,460px);background:#fff;border-radius:16px;padding:18px;box-shadow:0 20px 40px #02102b38}.modalCard h3{margin:0 0 8px}.modalCard p{margin:0 0 10px;color:#475569}.modalCard input{width:100%;border:1px solid #d0d7e2;border-radius:12px;padding:11px 12px;font-size:15px;outline:none}.modalCard input.error{border-color:#ef4444}.errText{display:block;margin-top:6px;color:#b91c1c}@media(hover:hover)and (pointer:fine){.card{transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-1px);box-shadow:0 18px 36px #0f2d5a1a,0 3px 10px #0f2d5a14}button{transition:filter .18s ease,transform .18s ease}button:hover{filter:brightness(.98);transform:translateY(-1px)}}@media(max-width:480px){.wrap{max-width:100%;padding-left:12px;padding-right:12px}.card{width:100%}.qcard h2{font-size:clamp(20px,6.2vw,28px)}.actions{position:static;padding-top:8px;padding-bottom:max(2px,env(safe-area-inset-bottom))}}@media(max-width:360px){.checklist li{grid-template-columns:1fr}.checkTerm{width:fit-content;justify-self:start}}@media(min-width:768px){.wrap{max-width:760px;padding-left:18px;padding-right:18px}.card{border-radius:18px}}@media(min-width:1024px){.wrap{max-width:820px;padding-left:20px;padding-right:20px}}@media(max-height:820px){.wrap{width:100%}}@media(max-height:700px)and (orientation:landscape){.wrap{padding-top:max(10px,env(safe-area-inset-top))}.card{padding:12px 14px}}
