@font-face{font-family:'Noto Sans KR';src:url('/fonts/noto-sans-kr.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'Noto Serif KR';src:url('/fonts/noto-serif-kr.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
:root{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;color:#40344d;background:#fbf8f4;line-height:1.7}*{box-sizing:border-box}body{margin:0}header{padding:22px 6%;border-bottom:1px solid #e9dfec;font-family:inherit;font-size:24px;font-weight:bold}header a{float:right;font:14px system-ui;color:#79618c}main{max-width:760px;margin:45px auto;padding:0 22px}h1{font-size:38px;line-height:1.3;font-weight:650;font-family:inherit;letter-spacing:-1px}h2{font-size:26px;font-weight:600;font-family:inherit}p{color:#74677d}.eyebrow{color:#9976ae;font-size:13px;letter-spacing:3px}aside,section{padding:26px;border:1px solid #e9dfec;border-radius:22px;margin:24px 0;background:#fff}aside{background:#eee7f4}aside p{font-size:14px;margin-bottom:0}label{display:block;font-weight:650;margin:16px 0}select{display:block;width:100%;padding:14px;border:1px solid #daccdf;border-radius:12px;background:#fcf9ff;color:#51415e;font:inherit;margin-top:7px}button{border:0;border-radius:12px;padding:17px;background:#79539a;color:#fff;font:inherit;width:100%;margin-top:20px;cursor:pointer}button:disabled{opacity:.5}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{font-size:14px}.check input{margin-right:8px}summary{cursor:pointer;color:#79539a}.grades{display:flex;gap:12px;flex-wrap:wrap}.grade{padding:13px;background:#f3edf8;border-radius:14px;flex:1;text-align:center;min-width:130px}.grade strong{display:block;font-size:30px;font-weight:650;font-family:inherit}.code{font-size:28px;letter-spacing:3px}footer{text-align:center;margin:55px 0;font-size:13px}a{color:#79539a}@media(max-width:480px){h1{font-size:34px}section,aside{padding:20px}.pair{grid-template-columns:1fr}}
input:not([type=checkbox]):not([type=radio]){display:block;width:100%;padding:14px;border:1px solid #daccdf;border-radius:12px;background:#fcf9ff;color:#51415e;font:inherit;margin-top:7px}.hint{font-size:13px}.story p{white-space:pre-line}.story h3{margin-top:30px;font-size:19px;color:#694681}.story{border-top:1px solid #eee2f5;margin-top:26px}
textarea{display:block;width:100%;font:inherit;line-height:1.8;color:#40344d;padding:14px;border:1px solid #daccdf;border-radius:10px;resize:vertical}#operator-scripts section{padding:16px}#operator-editor{margin-top:30px}
.intimacy-reading{padding:20px;background:#f5eef7;border:1px solid #e3cde9;border-radius:16px;margin:24px 0}.intimacy-reading h4{color:#714281;margin:22px 0 8px}.intimacy-reading p{line-height:1.9}

input[type=radio]{accent-color:#79539a;width:18px;height:18px;vertical-align:middle}#mode-title~.check{padding:14px;border:1px solid #dfd0e9;border-radius:12px;font-size:16px;cursor:pointer}#pool-notice{margin-bottom:0}#mode-status{font-size:14px;color:#64447b}

.card-tabs{display:flex;gap:12px;position:sticky;top:0;background:#fbf8f4;padding:8px 0;z-index:2}.card-tabs button{margin:0;background:#eee7f4;color:#604473}.card-tabs button[aria-selected=true]{background:#79539a;color:white}.match-card{padding:22px 0;border-top:1px solid #e9dfec}.match-card p{white-space:pre-line}.match-card .story-reading{background:#f7f2fa;padding:18px;border-radius:14px}.card-tabs button:focus-visible{outline:3px solid #a97dca;outline-offset:3px}[hidden]{display:none!important}

.preference-card{margin:28px 0;padding:22px;background:#f4edf8;border:1px solid #dcc8e8;border-radius:16px}.preference-card h3{margin:0;color:#674279}.preference-card>p{font-size:14px}.saved-preferences{background:#f4edf8;padding:16px;border-radius:12px;line-height:1.9}

.match-card .story-reading{line-height:1.95;word-break:keep-all;overflow-wrap:anywhere}.match-card .story-reading h4{font-size:18px;line-height:1.6;color:#624276;margin:32px 0 14px}.match-card .story-reading p{margin:0 0 26px;white-space:pre-line}.match-card .story-reading summary{line-height:1.7;padding:4px 0}

.story-caution{padding:16px;margin:14px 0 22px;background:#fff5e9;border-color:#eed4b7}.story-caution strong{color:#885826}.story-caution p{margin:8px 0!important}.story-feedback{border-top:1px solid #e5d8ed;margin-top:28px;padding-top:10px}.story-feedback>p{font-size:13px}

.match-card>h3{font-size:23px;margin:8px 0 10px;color:#533869}.match-card>p{font-size:14px;margin:6px 0}.match-card>small{display:block;font-size:12px;color:#95879e;margin:8px 0 22px}.match-card .story-reading{background:transparent;padding:0;border-radius:0;margin-top:28px}#matches-panel>p{font-size:13px;margin:8px 0;color:#92849b}#matches-mode{font-size:12px}#account-results>p{font-size:14px}

.usage-tutorial{margin-top:38px;scroll-margin-top:90px}.usage-tutorial>h2{margin-bottom:16px}.usage-tutorial ol,.usage-tutorial ul{padding-left:24px}.usage-tutorial li{margin:12px 0;line-height:1.85}.usage-tutorial details{padding:14px 0!important;margin:0!important;border:0!important;border-bottom:1px solid #e8deed!important;border-radius:0!important;background:transparent!important}.usage-tutorial summary{font-weight:650;line-height:1.7;margin:0!important}.usage-tutorial details p{font-size:14px;line-height:1.9}.tutorial-shortcut{font-size:13px;margin:8px 0 18px}.tutorial-note{font-size:13px;line-height:1.8}.usage-tutorial table{font-size:14px}.usage-tutorial th,.usage-tutorial td{white-space:normal;line-height:1.8}

h1,h2,h3,header,.grade strong{font-family:inherit;letter-spacing:-.035em}body{-webkit-font-smoothing:antialiased}input,textarea,select,button{font-family:inherit}

.welcome{margin:0 0 18px}.welcome h1{font-size:clamp(23px,3.8vw,29px);font-weight:650;line-height:1.5;margin:0 0 15px}.welcome p{font-size:14px;line-height:1.9;max-width:62ch;white-space:pre-line;margin:0 0 12px}.welcome>a{font-size:12.5px;text-underline-offset:4px}.service-note{font-size:12.5px;line-height:1.8;margin:18px 0;color:#83758b}#invitation-banner p{font-size:13px;line-height:1.9}#matching-choices{margin:30px 0 22px;padding:22px;background:#f8f4fb}#matching-choices h2{font-size:21px;margin-top:0}#matching-choices>p,#pool-notice{font-size:13px;line-height:1.85}#matching-choices #pool-notice{padding:17px;margin:18px 0}#matching-choices #pool-notice p{font-size:12.5px}.restore-card{padding:20px 24px;margin:24px 0;border:1px solid #e9dfec;border-radius:18px;background:#fff;scroll-margin-top:24px}.restore-card>summary{font-size:14px;font-weight:600}.restore-card>p,#privacy-notice{font-size:12.5px;line-height:1.85}#status:empty{display:none}#saved-matching-slot:empty{display:none}


/* Reference edition: one typography and color system across the live service. */
:root{--paper:#fcf8f3;--ink:#332e4d;--muted:#797384;--line:#eae2e6;--accent:#7854ac;font-family:'Noto Sans KR',sans-serif;color:var(--ink);background:var(--paper)}
body{font-family:'Noto Sans KR',sans-serif;background:radial-gradient(ellipse at 94% 20%,#f4e8f3 0,transparent 38%),var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,header>strong,header>a,header,.brand,.serif,.grade strong,.scores strong{font-family:'Noto Serif KR',serif;letter-spacing:-.045em;font-weight:500;color:#5d466d}
input,select,textarea,button,summary,label,header small,header span{font-family:'Noto Sans KR',sans-serif}
input,select,textarea{background:#fbf9fc;border-color:#e8e0ed;border-radius:10px;color:#64566e}
input:focus,select:focus,textarea:focus{outline:2px solid #ae90c3;outline-offset:2px}
section,article,.card,.person,.report,.chart-card,.restore-card{border-color:#ece4ec;box-shadow:0 5px 22px #69487003;border-radius:22px}
aside,.privacy{background:#f1ebf4;border-color:#ece4ec;border-radius:22px}
button{border-radius:11px;transition:background .18s,transform .18s}
button:hover:not(:disabled){transform:translateY(-1px)}
p{line-height:1.95}header{border-color:#e9dfeb}a{color:#7854ac}
.grade,.scores>div{background:#f2eaf8}.eyebrow{color:#91739e}
@media(prefers-reduced-motion:reduce){button{transition:none}button:hover:not(:disabled){transform:none}}

.welcome{padding:30px 28px;border:1px solid #ffffffb0;border-radius:26px;background:linear-gradient(115deg,#f3eaf7,#f8edf0 58%,#f5e7dc);position:relative;overflow:hidden}.welcome h1{font-family:'Noto Serif KR',serif;font-weight:500;line-height:1.65;color:#463450;letter-spacing:-.05em}.welcome p{font-size:13px;color:#847086}.account-tabs{background:#f0eaf2;border-radius:30px;padding:5px;gap:5px}.account-tabs button{border-radius:25px}.account-tabs button[aria-selected=true]{background:#7a57a0}.service-note{color:#8a7c91}#matching-choices{background:#f5eff8;border-color:#ece4ec}button{background:#7a57a0}button:hover:not(:disabled){background:#66448c}@media(max-width:520px){.welcome{padding:25px 22px;border-radius:23px}.welcome h1{font-size:25px}main{margin-top:25px}}

#save-complete{scroll-margin-top:24px;background:linear-gradient(115deg,#f0e8f6,#fbf1e9);border:1px solid #ddcbe8;padding:24px 26px}#save-complete h2{font-size:24px;margin:0 0 12px}#save-complete p{font-size:14px;margin:0}#saved-invite-slot #direct-panel{margin-top:16px}#invite-url{display:block;width:100%;font-size:13px;padding:14px;overflow-wrap:anywhere}#invite-output{font-size:14px}#copy-invite{margin-top:10px}

.connection-control{margin:20px 0;padding:20px;background:#f4edf8;border:1px solid #e4d7ed;border-radius:16px}.connection-control button{margin:8px 8px 0 0}.connection-control p{font-size:14px}
