@font-face{font-family:Plex;src:url(fonts/IBMPlexSansKR-Regular.ttf);font-weight:400}@font-face{font-family:Plex;src:url(fonts/IBMPlexSansKR-Medium.ttf);font-weight:500}@font-face{font-family:Plex;src:url(fonts/IBMPlexSansKR-SemiBold.ttf);font-weight:600}@font-face{font-family:Plex;src:url(fonts/IBMPlexSansKR-Bold.ttf);font-weight:700}@font-face{font-family:Mono;src:url(fonts/IBMPlexMono-Medium.ttf)}
:root{--ink:#14171C;--muted:#6A707A;--subtle:#8A9099;--line:#E4E6EA;--surface:#F3F4F6;--orange:#FF6A2B}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Plex,'Apple SD Gothic Neo',sans-serif;font-size:14px}#app{max-width:430px;margin:auto;min-height:100dvh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;height:56px;flex-shrink:0;padding:0 20px;border-bottom:1px solid var(--line)}header b{font-size:18px;letter-spacing:-.04em}header span{color:var(--orange)}a{color:inherit;text-decoration:none}header a{font-size:13px;font-weight:600;min-height:44px;display:flex;align-items:center}main{flex:1;display:flex;flex-direction:column;padding:32px 20px 24px;gap:28px}h1,h2,p{margin:0}h1{font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-.02em}h2{font-size:20px}p{color:var(--muted);font-size:14px;line-height:1.5}.intro{display:flex;flex-direction:column;gap:8px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:16px}.stats>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 0}.stats>div+div{border-left:1px solid var(--line)}.stats span,.hint{font-size:12px;color:var(--muted)}.stats b{font-size:16px}.field{display:flex;flex-direction:column;gap:8px}label{font-size:13px;font-weight:500;color:var(--muted)}input{height:52px;border:1px solid var(--ink);border-radius:12px;padding:0 16px;min-width:0;font:400 16px Plex;color:var(--ink)}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.hint{color:var(--subtle)}button{font-family:inherit;font-size:14px;cursor:pointer;color:inherit;background:transparent;border:0}button:disabled{cursor:default;opacity:.4}.primary,.secondary{height:56px;border-radius:14px;width:100%;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center}.primary{color:#fff;background:var(--ink)}.primary:disabled{background:var(--line);color:var(--subtle);opacity:1}.secondary{border:1px solid var(--line)}.bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px}.link{min-height:44px;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}main.center{justify-content:center;align-items:center;text-align:center;padding:24px 32px;gap:20px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel{padding:16px;border-radius:16px;background:var(--surface)}.member{min-height:44px;display:flex;gap:12px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;background:var(--surface);display:grid;place-items:center}.pill{padding:4px 8px;border-radius:20px;background:var(--surface);font-size:11px}.members{display:flex;flex-direction:column;gap:4px}.section{font-size:13px;font-weight:500;color:var(--muted)}#status:empty{display:none}#status{padding:10px 20px;background:var(--surface);font-size:12px;color:#C23434}.timer{font:13px Mono;color:var(--orange)}.ranking{display:flex;flex-direction:column;gap:8px}.rank{display:flex;align-items:center;gap:12px;height:24px;font-size:13px}.rank>span:first-child{width:24px;font:12px Mono}.rank .menu{width:72px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rank .bar{flex:1;height:6px;border-radius:8px;background:var(--surface);overflow:hidden}.bar i{display:block;background:var(--ink);height:100%}.rank .count{width:32px;text-align:right;font:12px Mono}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange);margin-right:4px}.progress{display:flex;gap:4px}.progress i{flex:1;height:4px;border-radius:8px;background:var(--line)}.progress .done{background:var(--ink)}.progress .chance{background:var(--orange)}main.vote{padding-top:20px;gap:20px}.card{border:1px solid var(--line);border-radius:20px;overflow:hidden;touch-action:pan-y}.photo{height:clamp(160px,calc(100dvh - 460px),400px);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--subtle);font-size:12px}.photo img{width:100%;height:100%;object-fit:cover}.card-info{padding:20px;display:flex;flex-direction:column;gap:4px}.card-info h2{font-size:22px}.controls{display:flex;gap:10px;align-items:center}.circle{height:52px;width:52px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.circle.undo{height:40px;width:40px}.dark{background:var(--ink);border-color:var(--ink)}.chance-button{height:52px;flex:1;border-radius:30px;background:var(--orange);color:white;font-weight:700;font-size:15px}.summary{display:flex;flex-direction:column;gap:24px}.summary section{display:flex;flex-direction:column;gap:8px}.summary .row{padding:12px 16px;border-radius:12px;background:var(--surface)}.small{font-size:12px;border:1px solid var(--line);background:white;border-radius:8px;min-height:28px;padding:0 12px}.orange{color:var(--orange);border-color:var(--orange)}.tie-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tie-grid button{text-align:left;padding:0;border:1px solid var(--line);border-radius:20px;overflow:hidden}.tie-grid button.selected{border:2px solid var(--ink)}.tie-grid .photo{height:200px}.tie-grid h2{font-size:18px;padding:12px}.tie-grid p{padding:0 12px 12px;font-size:12px}.winner h1{font-size:40px;letter-spacing:-.04em}.winner .photo{height:180px;border-radius:20px}.spacer{flex:1}

input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

.ingredients{display:flex;gap:6px}.ingredients span{font-size:12px;color:var(--muted);padding:2px 8px;background:var(--surface);border-radius:6px}
.circle.undo{height:44px;width:44px}
.small{min-height:44px}
