:root{--bg: #f7f5f2;--surface: #ffffff;--text: #22201c;--muted: #6f6a62;--border: #e4dfd7;--primary: #e8590c;--primary-text: #ffffff;--danger: #c92a2a;--warn-bg: #fff4e6;--warn-text: #a14b00;--radius: 12px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #1b1a18;--surface: #262421;--text: #f1eee9;--muted: #a8a299;--border: #3a3733;--primary: #ff7a2e;--primary-text: #1b1a18;--danger: #ff6b6b;--warn-bg: #3a2a18;--warn-text: #ffc078}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--primary)}h1{font-size:1.5rem;margin:0 0 8px}h2{font-size:1.15rem;margin:0 0 8px}.page{max-width:960px;margin:0 auto;padding:16px}.muted{color:var(--muted)}.small{font-size:.875rem}.error{color:var(--danger);margin:0}.warn{background:var(--warn-bg);color:var(--warn-text);padding:8px 12px;border-radius:8px;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600}input,select,textarea{font:inherit;font-weight:400;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.btn{font:inherit;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:600}.btn.danger{color:var(--danger)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.btn.small{padding:4px 10px;font-size:.875rem}code{font-family:ui-monospace,monospace;background:var(--warn-bg);padding:1px 6px;border-radius:6px}.group-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.group-item{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit}.group-item:hover{border-color:var(--primary)}.topnav{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topnav-inner{max-width:960px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.group-switch{font-weight:600;max-width:200px}.topnav-links{display:flex;gap:4px}.topnav-links a{text-decoration:none;color:var(--muted);padding:6px 10px;border-radius:8px}.topnav-links a.active{color:var(--primary);background:var(--warn-bg);font-weight:600}.topnav-user{margin-left:auto}.narrow{max-width:560px}.chip-group{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.chip-group legend{font-size:.85rem;font-weight:600;margin-bottom:6px;padding:0}.chip{font:inherit;font-size:.875rem;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.filter-panel{display:flex;flex-direction:column;gap:12px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.restaurant-card{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}.restaurant-card:hover{border-color:var(--primary)}.restaurant-name{overflow-wrap:anywhere}.excluded{opacity:.5}.badge{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;color:var(--badge);border:1px solid var(--badge)}.info{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.info dt{color:var(--muted)}.info dd{margin:0}.center{text-align:center}.roulette-layout{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:16px;align-items:start}@media (max-width: 720px){.roulette-layout{grid-template-columns:1fr}.wheel-area{order:-1}}.wheel-area{align-items:stretch}.wheel-wrap{position:relative;width:min(100%,380px);margin:0 auto;padding-top:14px}.wheel{width:100%;height:auto;display:block}.wheel-pointer{position:absolute;top:0;left:50%;width:28px;transform:translate(-50%);z-index:1}.wheel-pointer path{fill:var(--text)}.wheel-rim{fill:var(--surface);stroke:var(--border);stroke-width:2}.wheel-disc{transform-origin:0 0;transform-box:view-box}.wheel-seg{stroke:var(--surface);stroke-width:1.5}.wheel-empty{fill:var(--border)}.wheel-label{fill:#fff;font-weight:700;pointer-events:none}.wheel-hub{fill:var(--surface);stroke:var(--border);stroke-width:2}.spin-btn{align-self:center;min-width:180px;padding:12px 20px;font-size:1.05rem}.result-card{border-color:var(--primary);border-width:2px}.result-name{font-size:1.4rem;margin:0;overflow-wrap:anywhere}.nowrap{flex-wrap:nowrap}.strong{font-weight:600}.restaurant-card .restaurant-name{font-weight:700;color:inherit;text-decoration:none}.restaurant-card .restaurant-name:hover{color:var(--primary)}.restaurant-card:hover{border-color:var(--border)}label.check{flex-direction:row;align-items:center;gap:8px;font-weight:400;cursor:pointer}label.check input{width:18px;height:18px;accent-color:var(--primary)}.star{color:var(--border)}.star.on{color:#f59f00}.stars{display:inline-flex;gap:1px}.stars-sm{font-size:.9rem}.stars-md{font-size:1.4rem}.star-btn{font-size:1.6rem;line-height:1;padding:0 2px;border:0;background:none;color:var(--border);cursor:pointer}.star-btn.on{color:#f59f00}.star-btn:focus-visible{outline:2px solid var(--primary);border-radius:4px}.fav-btn{border:0;background:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--muted);padding:2px 4px}.fav-btn.on{color:#f59f00}.review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.review-item{border-top:1px solid var(--border);padding-top:8px}.review-memo{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}textarea{resize:vertical}.grow{flex:1 1 200px;min-width:0}.search-bar{flex-wrap:nowrap}.invite-code{font-size:1.4rem;letter-spacing:.15em;padding:4px 12px}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.member-list li{border-top:1px solid var(--border);padding-top:8px}.member-list li:first-child{border-top:0;padding-top:0}
