:root{color-scheme:light;--bg:#f4f7fb;--surface:rgba(255,255,255,0.78);--surface-strong:#ffffff;--text:#0f172a;--muted:#5b6475;--line:rgba(148,163,184,0.22);--primary:#2563eb;--primary-strong:#1d4ed8;--shadow:0 20px 60px rgba(15,23,42,0.10)}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;font-family:Aptos,Pretendard Variable,Pretendard,Segoe UI Variable,Noto Sans KR,sans-serif;background:radial-gradient(circle at top left,rgba(37,99,235,.14),transparent 28%),radial-gradient(circle at bottom right,rgba(14,165,233,.12),transparent 24%),linear-gradient(180deg,#f8fbff 0,var(--bg) 100%);color:var(--text)}button,input{font:inherit}.page-shell{min-height:100vh;padding:32px 20px;display:flex;align-items:center;justify-content:center}.hero-card{width:min(1120px,100%);border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:32px;padding:40px;box-shadow:var(--shadow)}.hero-copy{max-width:760px}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(37,99,235,.08);color:var(--primary-strong);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hero-copy h1{margin:18px 0 12px;font-size:clamp(2.1rem,4vw,4.1rem);line-height:1.04;letter-spacing:-.05em}.hero-copy p{margin:0;max-width:620px;color:var(--muted);font-size:1.02rem;line-height:1.7}.panel-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,420px);grid-gap:24px;gap:24px;margin-top:32px}.input-panel,.preview-panel{border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.85);padding:24px}.input-panel{gap:18px}.field,.input-panel{display:flex;flex-direction:column}.field{gap:10px}.field span{font-size:.96rem;font-weight:700}.field input{width:100%;padding:16px 18px;border:1px solid rgba(148,163,184,.35);border-radius:18px;background:var(--surface-strong);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.field input:focus{border-color:rgba(37,99,235,.62);box-shadow:0 0 0 5px rgba(37,99,235,.12);transform:translateY(-1px)}.button-row{display:flex;gap:12px;padding-top:8px}.button-row button{flex:1 1;border:0;border-radius:16px;padding:15px 18px;font-weight:700;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background-color .18s ease}.button-row button:hover:not(:disabled){transform:translateY(-1px)}.button-row button:disabled{opacity:.45;cursor:not-allowed}.primary-button{background:var(--primary);color:#fff}.primary-button:hover:not(:disabled){background:var(--primary-strong)}.secondary-button{background:#e8eefc;color:#19346d}.preview-panel{display:flex;flex-direction:column;justify-content:space-between;gap:16px}.preview-card{min-height:360px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(240,246,255,.98));border:1px solid rgba(148,163,184,.2)}.qr-image{width:min(100%,320px);height:auto;display:block;border-radius:20px}.qr-placeholder{text-align:center;color:var(--muted)}.placeholder-box{width:160px;height:160px;margin:0 auto 18px;border-radius:24px;background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(14,165,233,.18));border:1px dashed rgba(37,99,235,.28)}.network-summary{padding:18px 2px 2px}.summary-label{display:block;margin-bottom:6px;color:var(--primary-strong);font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.network-summary strong{display:block;font-size:1.1rem}.network-summary p{margin:8px 0 0;color:var(--muted);line-height:1.6}@media (max-width:900px){.hero-card{padding:28px 18px;border-radius:28px}.panel-grid{grid-template-columns:1fr}.preview-card{min-height:300px}.button-row{flex-direction:column}}