@charset "UTF-8";:root{--accent: #e11d48;--accent2: #fb7185;--ink: #111827;--muted: rgba(17,24,39,.7);--line: rgba(17,24,39,.1);--bg1: rgba(225, 29, 72, .24);--bg2: rgba(251, 113, 133, .18)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--ink);overflow-x:hidden;background:radial-gradient(900px 540px at 16% 8%,var(--bg1),transparent 62%),radial-gradient(780px 520px at 84% 18%,var(--bg2),transparent 62%),radial-gradient(1100px 820px at 50% 115%,rgba(225,29,72,.1),transparent 60%),linear-gradient(180deg,#fff7f7,#fff 68% 100%)}.bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,44px)}.card{width:min(920px,100%);border-radius:26px;padding:clamp(18px,3.2vw,34px);background:#ffffffe6;border:1px solid rgba(17,24,39,.08);box-shadow:0 22px 70px #1118271f;backdrop-filter:blur(10px);margin:0 auto;animation:cardIn .26s ease-out}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{position:relative}.card:before{content:"";position:absolute;inset:-18px;background:radial-gradient(circle at 20% 10%,rgba(225,29,72,.18),transparent 58%),radial-gradient(circle at 90% 40%,rgba(251,113,133,.16),transparent 62%);filter:blur(18px);z-index:-1}.card h1{margin:0 0 10px;font-size:clamp(34px,4.6vw,54px);letter-spacing:-.03em}.card h2{margin:0 0 10px;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.02em}.card p{margin:10px 0;font-size:clamp(16px,1.6vw,19px);line-height:1.7;color:#111827db}.story{white-space:pre-line;color:#111827db}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.back{text-decoration:none;color:#111827c7;font-weight:850;padding:8px 10px;border-radius:12px;transition:background .12s ease}.back:hover{background:#e11d4814}.pill{font-size:13px;padding:7px 11px;border-radius:999px;background:#e11d481a;border:1px solid rgba(225,29,72,.22);color:#111827c7;font-weight:750}.progress{height:10px;border-radius:999px;background:#11182714;overflow:hidden;margin-bottom:14px}.progress .bar{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px;transition:width .32s ease}.q{margin-top:16px;display:grid;gap:8px}.q label{font-weight:900;font-size:16px;color:#111827e0;white-space:pre-line}.final-box p{line-height:1.7}.love{font-size:40px;font-weight:900;background:linear-gradient(45deg,#e11d48,#fb7185);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center}@keyframes lovePop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.typed{white-space:pre-line;line-height:1.7;font-size:16px}.cursor{display:inline-block;margin-left:3px;animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}.love{margin-top:24px;font-size:36px;font-weight:900;text-align:center;color:#e11d48;animation:lovePop .6s ease-out}@keyframes lovePop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.q input{width:100%;padding:16px;border-radius:16px;border:1px solid rgba(17,24,39,.16);font-size:18px;outline:none;background:#fffffff5;transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease}.q input:focus{border-color:#e11d487a;box-shadow:0 0 0 7px #e11d4821}.actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.btn{border:none;border-radius:16px;padding:13px 18px;cursor:pointer;color:#fff;font-weight:950;font-size:16px;text-decoration:none;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 12px 26px #e11d4840;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 16px 32px #e11d484d}.btn:active{transform:translateY(0)}.btn.ghost{background:#e11d4814;color:var(--accent);border:1px solid rgba(225,29,72,.35);box-shadow:none}.btn:disabled{opacity:.55;cursor:not-allowed}.hintbox{margin-top:12px;padding:12px 14px;border-radius:16px;background:#e11d480f;border:1px dashed rgba(225,29,72,.3);font-size:16px;color:#111827db}.feedback{margin-top:12px;font-weight:950;font-size:16px}.feedback.ok{color:#0a7a2f}.feedback.ko{color:#b00020}.final-box{margin-top:16px;padding:14px 16px;border-radius:18px;background:#e11d480f;border:1px solid rgba(17,24,39,.06)}.code{margin-top:12px;font-size:20px;font-weight:900}@media (max-width: 520px){.bg{padding:14px}.card{width:100%;border-radius:20px;padding:18px}.actions{gap:10px}.btn{width:100%;justify-content:center}}
