:root{color-scheme:light;--bg:#faf7f2;--ink:#302c2a;--muted:#77716c;--accent:#9d493b;--line:#ded8cf}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #9d493b;outline-offset:5px}.topbar{max-width:1120px;margin:auto;padding:27px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:19px;font-weight:800;letter-spacing:-.8px}.brand span{display:block;font-size:9px;letter-spacing:2.5px;font-weight:500;margin-top:6px}.home{font-size:12px;text-decoration:none;color:var(--muted)}main{max-width:1040px;margin:auto;padding:55px 32px 30px}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:2.5px}.intro{text-align:center;max-width:650px;margin:0 auto 36px}h1{font-size:clamp(35px,6vw,62px);font-weight:500;line-height:1.22;letter-spacing:-2.5px;margin:18px 0 20px}h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400}p{line-height:1.8;color:var(--muted);font-size:14px}.intro p{margin:10px 0}.pill{display:inline-block;padding:6px 11px;border:1px solid var(--line);border-radius:30px;font-size:11px;color:var(--muted)}.setup{max-width:660px;margin:auto;background:#fffdf9;border:1px solid var(--line);padding:26px;border-radius:18px}.label{font-size:13px;font-weight:700;margin:0 0 14px}.modes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mode{border:1px solid var(--line);background:transparent;border-radius:10px;padding:17px 5px;color:var(--muted)}.mode.active{border-color:var(--accent);background:#f7ebe5;color:var(--accent)}.mode b{display:block;font-size:15px;margin-bottom:6px}.mode small{font-size:11px}.primary{background:var(--accent);border:0;color:white;padding:17px 22px;border-radius:9px;font-weight:700}.wide{width:100%;margin-top:20px}.secondary{border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 18px;border-radius:9px}.note{font-size:11px;text-align:center;line-height:1.7;color:var(--muted);margin-top:14px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:38px 0 16px}.section-head h2{font-size:16px;font-weight:600}.section-head span{font-size:11px;color:var(--muted)}.samples{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sample{border-top:2px solid var(--tone);padding:18px;background:#fffdf9}.sample h3{font-size:15px;margin:0 0 9px}.sample p{font-size:12px;margin:0}.match-head{text-align:center;margin-bottom:26px}.match-head h1{font-size:34px;margin:14px 0}.progress{height:4px;background:#e8e1d8;border-radius:3px;overflow:hidden;margin:16px 0 9px}.progress div{background:var(--accent);height:100%;transition:width .25s}.progress-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.arena{display:grid;grid-template-columns:1fr 44px 1fr;align-items:center}.versus{text-align:center;color:var(--accent);font:italic 21px Georgia,serif}.profile{background:#fffdfa;border:1px solid var(--line);border-radius:14px;overflow:hidden}.profile-top{padding:25px 25px 22px;background:var(--tone);position:relative}.profile-top small{letter-spacing:2px;font-size:10px}.profile-top h2{font-size:38px;font-weight:500;letter-spacing:-1.5px;margin:25px 0 10px}.profile-top .tagline{color:#393331;font-size:13px}.number{position:absolute;right:22px;top:22px;font-family:Georgia,serif;opacity:.5}.profile-body{padding:24px}.name{font-size:18px;font-weight:700}.age{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.tags{display:flex;gap:6px;margin:13px 0}.tags span{font-size:11px;padding:5px 8px;border-radius:5px;background:#f1ece5}.profile p{font-size:13px;min-height:47px}.image-link{display:inline-block;color:var(--accent);font-size:13px;text-underline-offset:4px;margin:6px 0 10px}.choose{width:100%;margin-top:16px}.actions{display:flex;justify-content:center;gap:10px;margin-top:25px;flex-wrap:wrap}.actions button:disabled{opacity:.35;cursor:default}footer{max-width:780px;margin:25px auto;padding:25px;font-size:11px;color:var(--muted);text-align:center;line-height:1.7}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#302c2a;color:white;border-radius:9px;padding:13px 20px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:5}#toast.visible{opacity:1}.result{max-width:540px;margin:auto}.result-title{text-align:center}.result-title h1{font-size:38px}.insight{padding:22px;border:1px solid var(--line);border-radius:12px;margin-top:20px}.insight h3{font-size:15px;margin-top:0}.insight p{margin-bottom:0}.manual-share{width:100%;margin-top:15px;padding:12px;font:inherit;border:1px solid var(--line);border-radius:7px}.resume{display:block;margin:12px auto 0;color:var(--accent);background:transparent;border:0;text-decoration:underline;font-size:13px}@media(max-width:600px){.topbar{padding:20px}.brand{font-size:17px}main{padding:35px 16px 15px}h1{letter-spacing:-1.6px}.setup{padding:20px}.samples{grid-template-columns:1fr 1fr}.arena{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:stretch}.versus{font-size:13px;align-self:center}.profile-top{padding:18px 13px}.profile-top h2{font-size:26px;margin-top:30px}.profile-top .tagline{font-size:11px;min-height:30px;line-height:1.5}.number{right:12px;top:18px;font-size:12px}.profile-body{padding:14px 12px}.name{font-size:16px}.age{display:block;margin:5px 0}.tags{gap:4px;flex-wrap:wrap}.tags span{font-size:10px}.profile p{font-size:12px;min-height:88px}.profile .detail{min-height:65px}.primary{padding:15px 12px;font-size:13px}.image-link{font-size:11px}.result .profile p{min-height:0}.result .profile-top h2{font-size:38px}.result .age{display:inline;margin-left:7px}.result .profile-body{padding:22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.portrait{aspect-ratio:1;position:relative;background:var(--tone);overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;display:block}.portrait img[hidden]{display:none}.photo-note{position:absolute;bottom:10px;left:10px;background:rgba(255,253,249,.9);padding:5px 8px;border-radius:5px;font-size:10px;color:#514841}.photo-error{position:absolute;inset:30% 12px auto;text-align:center;line-height:1.8;font-size:13px;color:#302c2a}.profile-top{padding:16px 24px}.profile-top h2{margin:15px 0 8px;font-size:30px}.profile-top .number{top:17px}.profile-body{padding-top:18px}.profile p{margin:10px 0}@media(max-width:600px){.profile-top{padding:15px 12px}.profile-top h2{font-size:24px}.profile-top small{font-size:9px;letter-spacing:1px}.photo-note{font-size:8px;left:5px;bottom:5px;padding:4px}.profile-top .number{font-size:10px;right:9px}}
.portrait{aspect-ratio:4/5}.photo-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse at 25% 20%,#ffffff80,transparent 65%);text-align:center}.photo-placeholder>span{font-size:clamp(25px,5vw,42px);font-weight:500;letter-spacing:-1px}.photo-placeholder small{font-size:12px;letter-spacing:2px;margin:15px}.photo-placeholder p{font-size:11px;min-height:0;opacity:.7}

button.portrait{display:block;width:100%;padding:0;border:0;color:inherit;font:inherit;text-align:inherit}button.portrait:hover img{filter:brightness(1.04)}

.sample img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px;margin-bottom:14px}.sample img[hidden]{display:none}

.character-story{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.personality-title{font-size:12px;line-height:1.7}.personality-title b{display:inline-block;color:var(--accent);background:#f5e8e1;padding:3px 7px;border-radius:5px;margin-right:3px}.character-story blockquote{margin:12px 0;font-size:13px;line-height:1.7;color:var(--accent)}.character-story small{display:block;color:var(--muted);font-size:10px;margin-top:12px}.character-story summary{font-size:12px;cursor:pointer;line-height:1.7}.profile .character-story p{min-height:0}.taste-result{background:#f5ece4}.taste-result h2{font-size:27px;letter-spacing:-1px}.taste-bars{display:grid;gap:12px;margin:22px 0}.taste-bars>div{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:12px}.taste-bars meter{grid-column:1/-1;width:100%;height:12px;accent-color:var(--accent)}

.playing main{padding-top:16px}.playing .topbar{padding-top:14px;padding-bottom:14px}.playing .match-head{margin-bottom:14px}.playing .match-head .eyebrow{display:none}.playing .match-head h1{font-size:25px;margin:0 0 6px}.playing .match-head p{margin:0;font-size:12px}.playing .progress{margin-top:10px}.playing .arena{align-items:start}.playing .versus{align-self:center}.playing .portrait{aspect-ratio:4/4.5}.playing .profile-top{padding:10px 14px}.playing .profile-top h2{font-size:24px;margin:8px 0 4px}.playing .profile-top .tagline{min-height:0}.playing .profile-body{padding:12px}.playing .profile-body>p{display:none}.playing .tags{margin:8px 0}.playing .character-story{margin-top:8px;padding-top:8px}.playing .choose{margin-top:10px;padding:12px}.playing .profile-top .number{display:none}@media(max-width:600px){.playing main{padding:12px 12px 20px}.playing .topbar{padding:12px 16px}.playing .match-head h1{font-size:21px}.playing .profile-top{padding:9px 10px}.playing .profile-top h2{font-size:21px}.playing .profile-body{padding:10px}.playing .personality-title{font-size:11px}.playing .character-story small{font-size:9px}.playing .profile .character-story p{min-height:0}.playing .age{font-size:10px}.playing .character-story summary{font-size:10px}}

#toast.show{opacity:1}

#instagram-share{width:min(440px,90vw);max-height:90dvh;overflow:auto;border:0;border-radius:18px;padding:22px;background:#f4eee6;color:#322d2b;box-sizing:border-box}#instagram-share::backdrop{background:#0009}#instagram-share h2{font-size:20px}#instagram-share img{display:block;width:160px;max-width:100%;margin:15px auto;border-radius:8px}#instagram-share img[hidden],#instagram-share a[hidden]{display:none}#instagram-share .download{text-decoration:none;text-align:center}#instagram-share .actions{gap:8px}
