:root{--paper: #f3e9dc;--paper-deep: #e6d8c6;--paper-warm: #fbf5ec;--ink: #2a2320;--ink-soft: #6b5b4e;--ink-faint: #9c8a79;--gold: #c9a24c;--gold-lit: #f2e3ae;--gold-dark: #8c6e27;--kakao: #ffe812;--kakao-ink: #2c1e00;--naver: #03c75a;--edge: #2a2320;--shadow-hard: 3px 3px 0 var(--edge);--shadow-soft: 0 10px 28px rgba(74, 55, 34, .16);--display: "Fraunces", "IBM Plex Sans KR", Georgia, serif;--body: "IBM Plex Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--r-sm: 10px;--r-md: 16px;--r-lg: 26px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;-webkit-text-size-adjust:100%}body{font-family:var(--body);color:var(--ink);background:var(--paper);overscroll-behavior-y:none}#root{min-height:100%}button{font:inherit;color:inherit}.app{position:relative;min-height:100dvh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 14px) calc(env(safe-area-inset-right) + 18px) calc(env(safe-area-inset-bottom) + 12px) calc(env(safe-area-inset-left) + 18px);background:radial-gradient(120% 78% at 50% 6%,#fdf7ee,#fdf7ee00 62%),radial-gradient(96% 62% at 50% 108%,#c9a24c29,#c9a24c00 70%),linear-gradient(168deg,var(--paper) 0%,var(--paper-deep) 100%)}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9;opacity:.42;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.36'/%3E%3C/svg%3E")}.masthead{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}.masthead__brand{display:flex;align-items:center;gap:11px}.masthead__mark{font-size:30px;line-height:1;color:var(--gold-dark);text-shadow:0 1px 0 var(--gold-lit)}.masthead h1{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(23px,6.4vw,30px);letter-spacing:-.018em;line-height:1;font-variation-settings:"SOFT" 22,"WONK" 1}.masthead p{margin:3px 0 0;font-size:11.5px;font-weight:500;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-faint)}.mutebtn{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(42,35,32,.16);background:#fffdf9b8;font-size:17px;cursor:pointer;transition:transform .16s,border-color .16s}.mutebtn:active{transform:scale(.92)}.mutebtn:hover{border-color:#2a232066}.stage{position:relative;z-index:2;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:18px 0 6px}.wheel{position:relative;width:min(88vw,400px);aspect-ratio:1;animation:drop-in .85s cubic-bezier(.16,1,.3,1) both}@keyframes drop-in{0%{opacity:0;transform:translateY(-26px) scale(.9) rotate(-9deg)}to{opacity:1;transform:none}}.wheel__svg{display:block;width:100%;height:100%;overflow:visible}.wheel__pawl{transition:none;filter:drop-shadow(0 2px 3px rgba(74,55,34,.4))}.wheel__label{font-family:var(--display);font-weight:900;fill:#33291f;letter-spacing:.04em;font-variation-settings:"SOFT" 18,"WONK" 1;paint-order:stroke;stroke:#ffffff80;stroke-width:2.4px;stroke-linejoin:round}.wheel__sub{font-family:var(--body);font-weight:600;fill:#33291f94;letter-spacing:-.01em}.wheel__hub1{font-family:var(--display);font-weight:900;font-size:19px;fill:var(--ink);letter-spacing:.05em;font-variation-settings:"SOFT" 20,"WONK" 1}.wheel__hub3{font-family:var(--body);font-weight:500;font-size:8.6px;fill:var(--ink-faint);letter-spacing:.09em}.wheel__hit{position:absolute;top:3%;right:3%;bottom:3%;left:3%;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.wheel__hit:focus-visible{outline:3px dashed var(--gold-dark);outline-offset:5px}.spinbtn{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:13px 44px 14px;border:2.5px solid var(--edge);border-radius:999px;background:linear-gradient(178deg,var(--gold-lit) 0%,var(--gold) 52%,#b58d38 100%);box-shadow:var(--shadow-hard);cursor:pointer;transition:transform .11s ease,box-shadow .11s ease;animation:drop-in .85s .1s cubic-bezier(.16,1,.3,1) both;-webkit-tap-highlight-color:transparent}.spinbtn span{font-family:var(--display);font-weight:900;font-size:21px;letter-spacing:.16em;text-indent:.16em;font-variation-settings:"SOFT" 20,"WONK" 1}.spinbtn small{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.02em;color:#2a232094}.spinbtn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--edge)}.spinbtn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--edge)}.tally{margin:0;font-size:12px;font-weight:500;color:var(--ink-faint);letter-spacing:.01em;animation:fade-up .7s .25s both}.tally strong{color:var(--ink-soft);font-weight:700}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.state{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;max-width:400px;padding:26px 20px}.state h2{margin:0;font-family:var(--display);font-weight:900;font-size:25px;font-variation-settings:"SOFT" 20,"WONK" 1}.state__msg{margin:0;font-size:14px;line-height:1.6;color:var(--ink-soft);word-break:break-word}.state__spinner{width:46px;height:46px;border-radius:50%;border:4px solid rgba(201,162,76,.28);border-top-color:var(--gold-dark);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.setup{text-align:left;width:100%;padding:15px 17px;border:2px solid var(--edge);border-radius:var(--r-md);background:var(--paper-warm);box-shadow:var(--shadow-hard);font-size:13px;line-height:1.65}.setup p{margin:0 0 8px;font-weight:600}.setup ol{margin:0;padding-left:19px;color:var(--ink-soft)}.setup li{margin-bottom:4px}.setup code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 5px;border-radius:5px;background:#c9a24c33}.retry{padding:10px 26px;border:2px solid var(--edge);border-radius:999px;background:var(--paper-warm);font-weight:700;cursor:pointer;box-shadow:var(--shadow-hard)}.retry:active{transform:translate(3px,3px);box-shadow:none}.colophon{position:relative;z-index:2;flex:0 0 auto;display:flex;justify-content:center;gap:8px;padding-top:8px;font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#2a23206b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease}.scrim.is-open{opacity:1;pointer-events:auto}.sheet{position:fixed;z-index:21;left:0;right:0;bottom:0;max-height:90dvh;display:flex;flex-direction:column;border-top:2.5px solid var(--edge);border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--paper-warm);box-shadow:0 -14px 44px #4a372242;transform:translateY(101%);transition:transform .42s cubic-bezier(.16,1,.3,1);will-change:transform}.sheet.is-open{transform:translateY(0)}@media (min-width: 640px){.sheet{left:50%;right:auto;width:560px;transform:translate(-50%,101%);border-left:2.5px solid var(--edge);border-right:2.5px solid var(--edge)}.sheet.is-open{transform:translate(-50%)}}.sheet__head{position:relative;flex:0 0 auto;padding:10px 20px 16px;border-bottom:2px solid var(--edge);border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(180deg,var(--tone, #eee) 0%,color-mix(in srgb,var(--tone, #eee) 45%,var(--paper-warm)) 100%)}.sheet__grip{width:42px;height:4px;margin:0 auto 12px;border-radius:999px;background:#2a232047}.sheet__eyebrow{margin:0 0 2px;font-size:10.5px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:#2a23208c}.sheet__title h2{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-family:var(--display);font-weight:900;font-size:clamp(28px,8.4vw,36px);letter-spacing:-.012em;line-height:1.05;font-variation-settings:"SOFT" 22,"WONK" 1}.sheet__en{font-family:var(--body);font-weight:600;font-size:16px;letter-spacing:-.01em;color:#2a232085}.sheet__count{margin:7px 0 0;font-size:12.5px;color:#2a2320a8}.sheet__count strong{font-weight:700;color:var(--ink)}.sheet__close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:2px solid var(--edge);background:#ffffffb3;font-size:13px;line-height:1;cursor:pointer}.sheet__close:active{transform:scale(.9)}.sheet__body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 18px 6px}.sheet__empty{padding:30px 8px;text-align:center;font-size:14px;line-height:1.6;color:var(--ink-soft)}.sheet__pickrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sheet__label{margin:0 0 9px;font-size:10.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-faint)}.sheet__label--spaced{margin-top:24px}.linkbtn{border:0;background:none;padding:0;font-size:12.5px;font-weight:700;color:var(--gold-dark);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linkbtn:active{opacity:.6}.sheet__list{display:flex;flex-direction:column;gap:11px}.morebtn{width:100%;margin-top:13px;padding:12px;border:2px dashed rgba(42,35,32,.3);border-radius:var(--r-md);background:none;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}.morebtn:hover{border-color:var(--edge);color:var(--ink)}.sheet__foot{flex:0 0 auto;padding:12px 18px calc(env(safe-area-inset-bottom) + 14px);border-top:2px solid rgba(42,35,32,.14);background:var(--paper-warm)}.spinagain{width:100%;padding:15px;border:2.5px solid var(--edge);border-radius:999px;background:linear-gradient(178deg,var(--gold-lit) 0%,var(--gold) 55%,#b58d38 100%);font-weight:700;font-size:16px;cursor:pointer;box-shadow:var(--shadow-hard)}.spinagain:active{transform:translate(3px,3px);box-shadow:none}.card{padding:14px 15px 13px;border:2px solid var(--edge);border-radius:var(--r-md);background:#fffdf9}.card--featured{border-width:2.5px;box-shadow:var(--shadow-hard);background:linear-gradient(180deg,color-mix(in srgb,var(--tone, #fff) 26%,#fffdf9),#fffdf9 58%)}.card__head{margin-bottom:9px}.card__name{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.28}.card--featured .card__name{font-size:21px}.card__detail{margin:3px 0 0;font-size:12px;color:var(--ink-faint)}.card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{padding:3px 9px;border-radius:999px;border:1.5px solid rgba(42,35,32,.18);font-size:11.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap}.chip--dist{border-color:var(--gold-dark);background:#c9a24c2e;color:#6d5417}.chip--link{text-decoration:none;color:var(--ink-soft)}.chip--link:hover{border-color:var(--edge);color:var(--ink)}.card__addr{margin:0 0 12px;font-size:12.5px;line-height:1.5;color:var(--ink-soft)}.card__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:8px 10px;border:2px solid var(--edge);border-radius:var(--r-sm);font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .1s ease;-webkit-tap-highlight-color:transparent}.btn:active{transform:translateY(2px)}.btn--kakao{background:var(--kakao);color:var(--kakao-ink)}.btn--naver{background:var(--naver);color:#fff}.btn--menu{grid-column:1 / -1;background:var(--paper-warm);color:var(--ink)}@media (prefers-reduced-motion: reduce){.wheel,.spinbtn,.tally{animation:none}.sheet,.scrim{transition-duration:1ms}}@media (max-height: 700px){.stage{gap:15px;padding-top:10px}.wheel{width:min(72vw,320px)}.spinbtn{padding:11px 38px 12px}.spinbtn span{font-size:17px}}
