:root{color:#171716;background:#e9e8e2;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,Apple SD Gothic Neo,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--text: #171716;--muted: #6e6d67;--quiet: #9a9991;--surface: #fbfaf6;--field: #f2f1eb;--wash: #e9e8e2;--line: #deddd4;--line-strong: #171716;--accent: #405747;--danger: #9a231f}*{box-sizing:border-box}html{background:var(--wash)}body{margin:0;min-width:320px;min-height:100vh;background:var(--wash)}button,input{font:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--text);color:var(--surface)}.page{width:min(100%,430px);min-height:100svh;margin:0 auto;padding:20px;background:var(--surface);position:relative}.narrow-page,.question-page{display:grid;align-items:stretch}.document-label{margin:0;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:6px;padding:0 18px;background:transparent;color:var(--text);font-size:.98rem;font-weight:800;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,opacity .15s ease}.button:hover:not(:disabled),.button:focus-visible{background:var(--text);color:var(--surface);transform:translateY(-1px)}.button:disabled{border-color:var(--line);color:var(--quiet);cursor:not-allowed;opacity:.68}.button--dark{background:var(--text);color:var(--surface)}.button--dark:hover:not(:disabled),.button--dark:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--surface)}.landing-page{display:grid;padding:0 20px}.landing-hero{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;gap:28px;padding:18px 0 24px;position:relative}.landing-hero:before{content:"";position:absolute;top:74px;bottom:110px;left:0;width:1px;background:var(--line-strong)}.brand-line,.hero-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;color:var(--muted);font-size:.86rem;font-weight:750;letter-spacing:0}.brand-line{min-height:34px;border-bottom:1px solid var(--line)}.brand-line span:first-child{color:var(--text);font-size:1.08rem;font-weight:900}.hero-copy{align-self:center;display:grid;gap:18px;padding-left:20px}.hero-copy h1,.start-form h1,.wait-state h1,.question h1,.result-actions h1{margin:0;color:var(--text);font-size:2.42rem;font-weight:900;letter-spacing:0;line-height:1.08;word-break:keep-all}.hero-copy h1{max-width:9em}.hero-copy p{max-width:20rem;margin:0;color:var(--muted);font-size:1rem;line-height:1.72;word-break:keep-all}.hero-actions{display:grid;gap:12px;color:var(--muted)}.hero-actions .button,.start-form,.wait-state,.test-sheet{width:100%}.start-form,.wait-state{display:grid;align-content:start;gap:24px;min-height:calc(100svh - 40px);padding:10px 0 12px}.start-form h1,.wait-state h1,.result-actions h1{max-width:12em;font-size:1.76rem;line-height:1.18}.wait-state p:not(.document-label){margin:0;color:var(--muted);font-size:.96rem;line-height:1.7;word-break:keep-all}.relationship-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;min-inline-size:0;margin:4px 0 0;border:0;padding:0}.relationship-options legend{grid-column:1 / -1;margin-bottom:10px;padding:0;color:var(--muted);font-size:.86rem;font-weight:800;letter-spacing:0}.option-tab{min-height:48px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--text);cursor:pointer;text-align:center;font-size:.98rem;font-weight:800;transition:background .15s ease,color .15s ease,border-color .15s ease}.option-tab.is-selected{background:var(--text);border-color:var(--text);color:var(--surface)}.input-block,.share-link{display:grid;gap:10px;color:var(--muted);font-size:.88rem;font-weight:800;letter-spacing:0}.input-block input,.share-link input{width:100%;min-width:0;min-height:54px;border:1px solid var(--line);border-radius:6px;padding:0 14px;background:var(--field);color:var(--text);font-size:1rem;outline:none;transition:border-color .15s ease,background .15s ease}.share-link input{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem}.input-block input:focus,.share-link input:focus{border-color:var(--line-strong);background:var(--surface)}.progress{display:grid;gap:10px;margin-bottom:22px;padding-top:2px}.progress__meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:800}.progress__track{height:4px;border-radius:999px;background:var(--line);overflow:hidden}.progress__bar{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .26s ease}.question{min-height:calc(100svh - 86px);display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:20px;padding-bottom:10px}.question .document-label{color:var(--muted)}.question h1{max-width:18rem;font-size:1.46rem;line-height:1.42}.choice-list{align-self:end;display:grid;gap:9px}.choice-button{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:8px;padding:0 12px 0 15px;background:var(--field);color:var(--text);text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.choice-button:hover,.choice-button:focus-visible{background:var(--text);border-color:var(--text);color:var(--surface);transform:translateY(-1px)}.choice-button span:first-child{word-break:keep-all}.choice-button span:last-child{display:inline-flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:999px;color:inherit;font-size:.8rem;font-weight:900}.result-page{display:grid;align-content:start;gap:18px}.result-actions{display:grid;gap:16px;padding:8px 0 0}.result-actions h1{font-size:1.58rem}.action-row{display:grid;grid-template-columns:1fr;gap:9px}.error-text{margin:0;color:var(--danger);font-size:.9rem;line-height:1.55}.floating-error{width:100%;margin-top:12px}.form-note{margin:0;color:var(--muted);font-size:.95rem;line-height:1.65;word-break:keep-all}.share-area{width:100%;overflow-x:hidden}.report-paper{width:100%;margin:0 auto;border:1px solid var(--line-strong);border-radius:2px;background:#fffefa;padding:18px}.report-paper__header{display:grid;gap:18px;border-bottom:1px solid var(--line-strong);padding-bottom:18px}.report-paper__header h1{max-width:11em;margin:8px 0 0;font-size:1.72rem;font-weight:900;line-height:1.16;letter-spacing:0;word-break:keep-all}.report-paper dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.report-paper dl div{display:grid;gap:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px}.report-paper dt{color:var(--muted);font-size:.72rem;font-weight:800}.report-paper dd{margin:0;font-size:.92rem;font-weight:800;line-height:1.45}.report-summary{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line-strong)}.report-summary div{display:grid;gap:8px;border-right:1px solid var(--line);padding:20px 10px}.report-summary div:last-child{border-right:0}.report-summary p,.report-summary span{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45}.report-summary strong{color:var(--text);font-size:2.85rem;font-weight:950;line-height:.95}.score-table{display:grid;gap:0;padding:18px 0}.score-row{display:grid;grid-template-columns:74px 1fr 32px;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:11px 0;font-size:.82rem}.score-row__track{height:3px;border-radius:999px;background:var(--line);overflow:hidden}.score-row__track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.score-row strong{text-align:right}.report-columns{display:grid;gap:20px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:20px 0}.report-columns h2,.needed-words h2{margin:0 0 12px;font-size:.96rem}.report-columns ol,.needed-words ol{display:grid;gap:14px;margin:0;padding-left:18px}.report-columns li{padding-left:4px}.report-columns li strong,.report-columns li span{display:block}.report-columns li strong{margin-bottom:4px;font-size:.94rem}.report-columns li span,.needed-words li span{color:var(--muted);font-size:.84rem;line-height:1.58}.needed-words{padding:20px 0}.needed-words li{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--line)}.needed-words li strong{font-size:.94rem;line-height:1.52;word-break:keep-all}.report-paper__footer{display:grid;gap:4px;border-top:1px solid var(--line-strong);padding-top:12px;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.45}@media(min-width:720px){body{display:grid;justify-items:center}.page{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 24px 80px #17171614}}@media(max-width:360px){.page{padding:16px}.landing-page{padding:0 16px}.hero-copy h1{font-size:2.08rem}.start-form h1,.wait-state h1,.result-actions h1{font-size:1.56rem}.question h1{font-size:1.28rem}.report-summary strong{font-size:2.45rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
