:root{--ink:#302b35;--muted:#716b77;--paper:#f8f4fa;--violet:#725f8d;--violet-dark:#58466f;--pink:#c5848f;--line:rgba(48,43,53,.16)}*{box-sizing:border-box}body{min-height:100vh;margin:0;color:var(--ink);font-family:"Noto Sans KR",sans-serif;background:radial-gradient(circle at 16% 15%,rgba(197,132,143,.13),transparent 28%),radial-gradient(circle at 86% 80%,rgba(114,95,141,.12),transparent 30%),var(--paper)}button,textarea{font:inherit}header,main,footer{width:min(900px,calc(100% - 36px));margin:auto}header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}header p{color:var(--muted);font-size:9px;letter-spacing:.2em}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-family:"Gowun Dodum";font-size:19px;font-weight:700;text-decoration:none}.brand span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--violet)}.view{display:none}.view.active{display:flex;animation:rise .35s ease}.input-view{min-height:calc(100vh - 76px);align-items:center;justify-content:space-between;gap:55px;padding:60px 4%}.copy{max-width:470px}.eyebrow{margin:0 0 18px;color:var(--violet);font-size:10px;font-weight:800;letter-spacing:.18em}h1,p{word-break:keep-all}h1{margin:0;font-family:"Gowun Dodum";font-size:clamp(49px,7vw,75px);font-weight:400;line-height:1.13;letter-spacing:-.06em}h1 em{color:var(--violet);font-style:normal}.copy>p:not(.eyebrow){margin:27px 0;color:var(--muted);font-size:14px;line-height:1.9}.picker-card{flex:0 0 370px;border:1px solid var(--line);padding:28px;background:rgba(255,255,255,.7);box-shadow:0 22px 55px rgba(54,42,64,.09)}.picker-card label{display:block;margin-bottom:10px;font-size:11px;font-weight:700}.picker-card textarea{width:100%;resize:vertical;min-height:180px;border:1px solid var(--line);border-radius:3px;padding:14px;color:var(--ink);font-size:13px;line-height:1.7;outline:none;background:#fff}.picker-card textarea:focus{border-color:var(--violet)}.meta{display:flex;justify-content:space-between;align-items:center;margin:9px 0 18px;color:var(--muted);font-size:10px}.meta button{border:0;padding:0;color:var(--violet);font-size:10px;background:none;cursor:pointer}.primary{min-height:52px;border:0;border-radius:3px;padding:0 22px;color:#fff;font-weight:700;cursor:pointer;background:var(--violet)}.primary:hover{background:var(--violet-dark)}.primary:disabled{opacity:.35;cursor:not-allowed}.picker-card .primary{width:100%}.primary span{margin-left:15px}.picker-card small{display:block;margin-top:10px;color:#8b858f;font-size:9px;text-align:center}.result-view{min-height:calc(100vh - 76px);flex-direction:column;align-items:center;justify-content:center;padding:60px 0;text-align:center}.machine{width:min(620px,100%);min-height:250px;display:grid;place-items:center;border:1px solid var(--line);padding:35px;background:rgba(255,255,255,.72);box-shadow:0 25px 70px rgba(54,42,64,.1)}.machine span{color:var(--muted);font-size:15px}.machine strong{display:none;font-family:"Gowun Dodum";font-size:clamp(42px,8vw,72px);font-weight:400;line-height:1.2;color:var(--violet)}.machine.done span{display:none}.machine.done strong{display:block;animation:pop .45s ease}.machine.rolling{animation:pulse .45s ease infinite alternate}.excuse{min-height:28px;margin:24px 0;color:var(--muted);font-family:"Gowun Dodum";font-size:19px}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.secondary{min-height:52px;border:1px solid var(--line);padding:0 19px;color:var(--ink);background:transparent;cursor:pointer}.hint{max-width:560px;margin-top:38px;color:#827c85;font-size:10px;line-height:1.7}footer{border-top:1px solid var(--line);padding:25px 0 36px}footer nav{display:flex;justify-content:center;gap:17px;flex-wrap:wrap}footer a{color:var(--muted);font-size:11px;text-decoration:none}.toast{position:fixed;left:50%;bottom:24px;padding:11px 16px;color:#fff;font-size:11px;background:var(--ink);opacity:0;transform:translate(-50%,10px);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pulse{to{transform:scale(.985);background:#f0e9f3}}@keyframes pop{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@media(max-width:730px){header p{display:none}.input-view{min-height:auto;flex-direction:column;align-items:stretch}.picker-card{flex-basis:auto;width:100%}}@media(max-width:500px){.actions{flex-direction:column;width:100%}.actions button{width:100%}}
