:root{--bg:#0e0f14;--panel:#191b24;--panel2:#222531;--line:#303443;--text:#f3f4f8;--muted:#9297aa;--pink:#ff5476;--purple:#816cff;--green:#00dca0;--yellow:#ffc857;--red:#ff4166}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;min-height:100dvh;overflow-x:hidden;color:var(--text);background:radial-gradient(circle at 50% -15%,#29213f 0,var(--bg) 45%);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible{outline:3px solid rgba(129,108,255,.8);outline-offset:3px}
.screen{display:none;width:min(820px,100%);min-height:100vh;min-height:100dvh;margin:auto;padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.screen.active{display:flex;flex-direction:column}.center{justify-content:center;text-align:center;gap:20px}
.eyebrow{color:var(--pink);font-size:.75rem;font-weight:900;letter-spacing:.16em}.logo{margin:0;font-size:clamp(2.5rem,9vw,4.2rem);font-weight:950;line-height:1.02;letter-spacing:-.065em;background:linear-gradient(135deg,#ff6685,#907cff 70%);-webkit-background-clip:text;color:transparent}.subtitle{max-width:560px;margin:0 auto;color:var(--muted);font-size:clamp(1rem,3.7vw,1.15rem);line-height:1.65}
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.pill{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(25,27,36,.85);color:#c7cad6;font-size:.75rem}.career{display:grid;grid-template-columns:repeat(3,1fr);width:min(500px,100%);margin:auto;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:rgba(25,27,36,.82)}.career div{padding:11px 8px;border-right:1px solid var(--line)}.career div:last-child{border:0}.career small{display:block;color:var(--muted);font-size:.66rem}.career strong{display:block;margin-top:3px;font-size:.86rem}
.btn{min-height:52px;padding:14px 26px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--pink),#ff718d);box-shadow:0 8px 25px rgba(255,84,118,.25);font-weight:850;cursor:pointer;transition:.15s;touch-action:manipulation}.btn:hover{transform:translateY(-2px);filter:brightness(1.07)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.secondary{border:1px solid var(--line);background:var(--panel2);box-shadow:none}.footer{color:#5f6475;font-size:.74rem}
.page-head{text-align:center;margin:12px 0 20px}.page-head h2{margin:7px 0 5px;font-size:clamp(1.65rem,6vw,2.2rem)}.page-head p{margin:0;color:var(--muted);line-height:1.5}.company-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:13px 15px;border:1px solid rgba(129,108,255,.3);border-radius:14px;background:rgba(129,108,255,.08);text-align:left}.company-strip small{display:block;color:var(--muted);font-size:.68rem}.company-strip strong{display:block;margin-top:3px;color:#d7d0ff}.step{flex:0 0 auto;color:var(--purple);font-size:.75rem;font-weight:850}
.section-label{margin:16px 0 8px;color:#d4d6df;font-size:.85rem;font-weight:850;text-align:left}.position-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.select-card{position:relative;min-height:90px;padding:14px;border:2px solid #2c3040;border-radius:14px;color:var(--text);background:var(--panel);text-align:left;cursor:pointer;transition:.16s}.select-card:hover{border-color:var(--purple)}.select-card.selected{border-color:var(--pink);background:rgba(255,84,118,.09);box-shadow:inset 0 0 0 1px var(--pink)}.select-card.selected::after{content:"✓";position:absolute;top:9px;right:11px;color:var(--pink);font-weight:900}.select-card strong{display:block;padding-right:17px}.select-card small{display:block;margin-top:6px;color:var(--muted);line-height:1.35}.trait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trait{min-height:74px}.selection-count{margin:10px 0 16px;color:var(--muted);font-size:.78rem;text-align:center}
.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.candidate{display:flex;min-width:0;flex-direction:column;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-align:left;transition:.16s}.candidate:hover{border-color:var(--purple);transform:translateY(-2px)}.candidate-top{display:flex;justify-content:space-between;gap:8px}.avatar{display:grid;width:45px;height:45px;place-items:center;border-radius:14px;background:linear-gradient(135deg,#3a315d,#222536);font-size:1.35rem}.fit{align-self:start;padding:5px 8px;border-radius:999px;color:var(--green);background:rgba(0,220,160,.09);font-size:.7rem;font-weight:850}.candidate h3{margin:12px 0 3px;font-size:1.05rem}.candidate .meta{color:var(--muted);font-size:.74rem}.candidate blockquote{min-height:54px;margin:12px 0;padding:9px 10px;border-left:3px solid var(--purple);background:#151720;color:#c8cad5;font-size:.76rem;line-height:1.45}.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.tag{padding:4px 6px;border-radius:6px;background:#282b39;color:#c8cad5;font-size:.66rem}.tag.want{color:#ffd4dc;background:rgba(255,84,118,.1)}.candidate .salary{margin-top:auto;padding:9px 0;color:#ddd;font-size:.78rem}.candidate .btn{width:100%;min-height:44px;padding:10px;font-size:.82rem}
#game-screen{gap:10px;padding-top:max(10px,env(safe-area-inset-top))}.hud{position:sticky;top:0;z-index:5;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(25,27,36,.95);box-shadow:0 10px 28px rgba(0,0,0,.2);backdrop-filter:blur(14px)}.hud-top{display:grid;grid-template-columns:1fr repeat(3,auto);gap:9px;align-items:center}.hud-stat{min-width:72px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:#151720;text-align:right}.hud-stat small{display:block;color:var(--muted);font-size:.62rem}.hud-stat strong{font-size:.86rem}.hud-stat.budget strong{color:var(--yellow)}.hud-stat.fit-stat strong{color:var(--green)}.meter-head{display:flex;justify-content:space-between;margin:10px 1px 5px;color:var(--muted);font-size:.72rem}.meter-head strong{color:var(--pink);font-size:.9rem}.meter-bg{height:12px;overflow:hidden;border-radius:999px;background:#2a2d3a}.meter-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--pink));transition:width .5s cubic-bezier(.22,1,.36,1)}.meter-fill.high{background:linear-gradient(90deg,#ff9e42,var(--pink));animation:pulse .7s infinite alternate}@keyframes pulse{to{filter:brightness(1.3);box-shadow:0 0 13px var(--pink)}}.offer{margin-top:9px;padding:8px 10px;border:1px solid rgba(129,108,255,.25);border-radius:10px;color:#d9d4ff;background:rgba(129,108,255,.07);font-size:.75rem;line-height:1.4;white-space:nowrap;overflow-x:auto}.offer strong{color:#a99bff}
.scene{display:grid;grid-template-columns:105px 1fr;gap:12px;align-items:center;min-height:132px;padding:11px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#211d2b,#171820)}.character-wrap{display:flex;flex-direction:column;align-items:center}.character{--bl:0deg;--br:0deg;position:relative;width:86px;height:96px;filter:drop-shadow(0 8px 9px rgba(0,0,0,.3));transition:.2s}.hair{position:absolute;top:2px;left:12px;width:63px;height:42px;z-index:2;border-radius:48% 52% 30% 35%;background:#25242c;transform:rotate(-3deg)}.face{position:absolute;top:18px;left:13px;width:62px;height:67px;z-index:3;border:2px solid #e6ae88;border-radius:45% 45% 49% 49%;background:#ffd2ae}.body{position:absolute;left:3px;bottom:0;width:80px;height:31px;border-radius:30px 30px 5px 5px;background:#4b526e}.eye{position:absolute;top:44px;width:9px;height:7px;z-index:5;border-radius:50%;background:#292630}.eye.left{left:27px}.eye.right{right:27px}.brow{position:absolute;top:36px;width:15px;height:3px;z-index:5;border-radius:3px;background:#4c3730}.brow.left{left:22px;transform:rotate(var(--bl))}.brow.right{right:22px;transform:rotate(var(--br))}.mouth{position:absolute;top:66px;left:37px;width:12px;height:6px;z-index:5;border-bottom:3px solid #b85f64;border-radius:50%}.character.interested{--bl:-8deg;--br:8deg}.character.interested .mouth{height:9px;border-bottom-color:#c4556c}.character.excited{--bl:-14deg;--br:14deg;animation:bob .45s infinite alternate}.character.excited .eye{height:9px}.character.excited .mouth{width:18px;left:34px;height:10px;background:#fff;border:2px solid #b85f64}@keyframes bob{to{transform:translateY(-2px)}}.mood{margin-top:2px;padding:4px 7px;border-radius:999px;background:#101118;color:var(--muted);font-size:.65rem}.scene-copy .name{color:var(--purple);font-size:.72rem;font-weight:850;letter-spacing:.05em}.scene-copy p{margin:6px 0 0;color:#d3d5df;font-size:.83rem;line-height:1.48}
.chat{display:flex;flex:1;min-height:155px;max-height:28vh;overflow-y:auto;flex-direction:column;gap:9px;padding:2px 1px 8px;overscroll-behavior:contain}.msg{max-width:88%;padding:11px 13px;border-radius:14px;font-size:.86rem;line-height:1.47;animation:fade .25s ease}.msg.candidate-msg{align-self:flex-start;border:1px solid var(--line);border-bottom-left-radius:4px;background:var(--panel)}.msg.recruiter{align-self:flex-end;border:1px solid #554987;border-bottom-right-radius:4px;background:linear-gradient(135deg,#392b5d,#282044)}.msg .name{margin-bottom:3px;color:var(--muted);font-size:.66rem;font-weight:800}@keyframes fade{from{opacity:0;transform:translateY(7px)}}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-bottom:env(safe-area-inset-bottom)}.choice{min-height:56px;padding:11px 12px;border:1px solid #373b4b;border-radius:12px;color:var(--text);background:var(--panel);text-align:left;font-size:.79rem;line-height:1.35;cursor:pointer;transition:.14s;touch-action:manipulation}.choice:hover{border-color:var(--pink);background:rgba(255,84,118,.07)}.choice:active{transform:scale(.985)}.choice:disabled{opacity:.35;cursor:not-allowed}.choice.final{border-color:rgba(0,220,160,.4);background:rgba(0,220,160,.07)}.choice.quit{border-color:rgba(255,84,118,.35)}.choice-meta{display:flex;gap:7px;margin-top:5px;color:var(--muted);font-size:.64rem}.choice-meta .cost{color:var(--yellow)}.admin-only{display:none!important}body.admin-enabled .admin-only{display:block!important}.admin-access{position:fixed;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:60;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;color:#c9ccda;background:rgba(19,21,29,.92);font-size:.7rem;font-weight:800;cursor:pointer;backdrop-filter:blur(10px)}body.admin-enabled .admin-access{color:var(--green);border-color:rgba(0,220,160,.4)}.admin-debug{margin-top:8px;padding:8px 10px;border:1px dashed rgba(0,220,160,.45);border-radius:10px;color:#b7f4df;background:rgba(0,220,160,.05);font-size:.68rem;line-height:1.5;white-space:normal}.admin-dialog{width:min(390px,calc(100% - 28px));padding:0;border:1px solid var(--line);border-radius:16px;color:var(--text);background:var(--panel);box-shadow:0 25px 80px rgba(0,0,0,.55)}.admin-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.admin-form{display:flex;flex-direction:column;gap:12px;padding:20px}.admin-form h3{margin:0}.admin-form p{margin:0;color:var(--muted);font-size:.8rem}.admin-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;color:#fff;background:#11131a;font:inherit}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-error{min-height:18px;color:var(--pink)!important}
.favor-effect{position:fixed;top:50%;left:50%;z-index:80;pointer-events:none;transform:translate(-50%,-50%) scale(.7);opacity:0;font-size:clamp(1.7rem,8vw,3.2rem);font-weight:950;letter-spacing:.08em;text-shadow:0 4px 18px rgba(0,0,0,.5)}.favor-effect.show{animation:favor-pop .95s cubic-bezier(.2,.8,.2,1) both}.favor-effect.up{color:var(--green)}.favor-effect.down{color:var(--pink)}.favor-effect.flat{color:var(--muted)}@keyframes favor-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.65) rotate(-5deg)}18%{opacity:1;transform:translate(-50%,-58%) scale(1.08) rotate(2deg)}72%{opacity:1;transform:translate(-50%,-65%) scale(1)}100%{opacity:0;transform:translate(-50%,-85%) scale(.96)}}
.character.male .face{background:#f3c49e;border-color:#d99d79}.character.female .face{background:#ffd4b7;border-color:#e5ae8f}.character.tan-skin .face{background:#d99b72;border-color:#bb7959}.character.deep-skin .face{background:#9d6248;border-color:#744432}.character.long-hair .hair{left:7px;width:74px;height:59px;border-radius:45% 55% 43% 43%;background:#211d29}.character.bob-hair .hair{left:8px;width:72px;height:53px;border-radius:48% 52% 37% 42%;background:#30232c}.character.curly-hair .hair{left:8px;width:72px;height:51px;border-radius:46%;background:#292028;box-shadow:4px 0 #292028,-4px 2px #292028}.character.fade-hair .hair{left:16px;width:56px;height:32px;border-radius:55% 45% 28% 28%;background:#24242b}.character.wave-hair .hair{left:11px;width:68px;height:46px;border-radius:48% 52% 24% 34%;background:#292431;transform:rotate(5deg)}.character.blazer .body{background:#39415d}.character.hoodie .body{height:35px;border-radius:25px 25px 10px 10px;background:#5a477d}.character.shirt .body{background:#37626c}.character.glasses .face::after{content:"";position:absolute;top:27px;left:10px;width:40px;height:12px;border:2px solid rgba(55,50,62,.72);border-radius:7px;box-shadow:20px 0 0 -2px #ffd4b7}
.ending-icon{font-size:3.2rem}.ending-title{margin:-8px 0 0;font-size:clamp(2rem,8vw,3rem);font-weight:950}.ending-title.win{color:var(--green)}.ending-title.mixed{color:var(--yellow)}.ending-title.lose{color:var(--pink)}.ending-desc{max-width:520px;margin:auto;color:var(--muted);line-height:1.65}.result-card{padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-align:left}.result-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.grade{color:var(--yellow);font-size:2rem;font-weight:950}.final-score{color:var(--green);font-size:1.2rem;font-weight:900}.breakdown{display:grid;grid-template-columns:1fr auto;gap:8px 15px;margin-top:13px;color:#cfd1dc;font-size:.83rem}.breakdown span:nth-child(even){color:#fff;font-weight:750;text-align:right}.ending-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#confetti{position:fixed;inset:0;z-index:100;width:100%;height:100%;pointer-events:none}
@media(max-width:620px){.screen{padding-left:13px;padding-right:13px}.position-grid,.trait-grid,.candidate-grid{grid-template-columns:1fr}.position-grid{max-height:31vh;overflow-y:auto}.trait-grid{grid-template-columns:1fr 1fr}.select-card{min-height:74px}.candidate-grid{gap:9px}.candidate{display:grid;grid-template-columns:auto 1fr;gap:0 11px}.candidate-top{grid-row:1/5}.candidate h3{margin-top:0}.candidate blockquote{grid-column:1/3;min-height:0}.candidate .tag-row,.candidate .salary,.candidate .btn{grid-column:1/3}.hud-top{grid-template-columns:1fr repeat(3,63px);gap:5px}.hud-stat{min-width:0;padding:6px}.scene{grid-template-columns:88px 1fr;min-height:116px;padding:8px}.character{transform:scale(.86)}.character.excited{animation:none}.chat{min-height:115px;max-height:23vh}.choices{grid-template-columns:1fr}.choice{min-height:49px;padding:9px 11px}.ending-actions{grid-template-columns:1fr}}
@media(max-height:720px) and (orientation:landscape){#game-screen{display:grid;grid-template-columns:42% 58%;grid-template-rows:auto 1fr}.hud{grid-column:1;grid-row:1}.scene{grid-column:1;grid-row:2}.chat{grid-column:2;grid-row:1;max-height:42vh;padding-left:9px}.choices{grid-column:2;grid-row:2;padding-left:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
