:root{--bg:#fdf6ec;--surface:#fff;--surface-soft:#fff1e3;--ink:#2b2118;--muted:#6b5d50;--line:#ecdccb;--accent:#c2410c;--accent-hover:#9a3412;--accent-soft:#ffedd5;--accent-ink:#fff;--want:#1d5fa8;--visited:#2f7a47;--danger:#b42318;--star:#b45309;--focus:#2563eb;--slot-frame:#7c2d12;--slot-window:#fffaf2;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #2b21180f, 0 8px 24px #2b21180f;color:var(--ink);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2{letter-spacing:-.02em}a{color:var(--accent);font-weight:600}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.loading{text-align:center;color:var(--muted);padding:48px 16px}label{margin:10px 0 4px;font-size:.92rem;font-weight:600;display:block}input,select,textarea{font:inherit;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;padding:9px 12px;transition:border-color .15s}input:hover,select:hover,textarea:hover{border-color:#d9c2aa}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}textarea{resize:vertical}button,.button{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}button:hover,.button:hover{background:var(--surface-soft);color:var(--ink);border-color:#d9c2aa}button:active{transform:translateY(1px)}button[type=submit],button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button[type=submit]:hover,button.primary:hover,.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}button:disabled{opacity:.5;cursor:not-allowed}button.danger{color:var(--danger)}button.danger:hover{color:var(--danger);background:#fff1f0;border-color:#f1b5ae}.wide-button{width:100%;padding:12px 18px}.error{color:var(--danger);min-height:1.2em;margin:4px 0;font-size:.92rem}.field-error{font-size:.86rem}.hint{color:var(--muted);margin:4px 0 0;font-size:.86rem}.notice{background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid #fdc89a;margin:12px 0;padding:10px 14px}.landing{flex-direction:column;justify-content:center;max-width:960px;min-height:100vh;margin:0 auto;padding:48px 16px;display:flex}.hero{text-align:center;background:radial-gradient(circle at 9% 24%, #ffe1c2 0 40px, transparent 41px), radial-gradient(circle at 92% 68%, #ffead6 0 56px, transparent 57px), var(--surface);box-shadow:var(--shadow);border-radius:28px;padding:56px 24px 48px}.eyebrow{background:var(--accent-soft);color:var(--accent-hover);border-radius:999px;margin:0;padding:4px 14px;font-size:.9rem;font-weight:700;display:inline-block}.hero h1{margin:16px 0 8px;font-size:clamp(2.4rem,7vw,3.6rem)}.lead{max-width:520px;color:var(--muted);margin:0 auto;font-size:1.08rem}.hero .notice{max-width:420px;margin:20px auto 0}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.hero-actions .button{min-width:140px;padding:12px 24px}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.features li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.features strong{margin-bottom:4px;display:block}.features span{color:var(--muted);font-size:.94rem}.auth{place-items:center;min-height:100vh;padding:32px 16px;display:grid}.auth-card{background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:24px;padding:28px 28px 20px}.brand{font-size:.95rem;text-decoration:none}.auth-card h1{margin:8px 0 12px;font-size:1.7rem}.auth-footer{text-align:center;color:var(--muted);font-size:.94rem}.app{max-width:1120px;margin:0 auto;padding:0 16px 48px}.app-header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fdf6eceb;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px 20px;padding:12px 16px;display:flex;position:sticky;top:0}.app-header h1{white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:1.35rem;display:flex}.account{align-items:center;gap:10px;min-width:0;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.account button{flex:none;padding:6px 14px;font-size:.9rem}.layout{gap:0 20px;display:grid}@media (width>=960px){.layout{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:18px 20px 20px}section h2{margin:0 0 8px;font-size:1.15rem}.field{flex-direction:column;display:flex}.restaurant-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px;display:grid}.restaurant-form .wide{grid-column:1/-1}.actions{gap:8px;margin-top:12px;display:flex}.recommend{background:linear-gradient(160deg, #fff 0%, var(--surface-soft) 100%)}.recommend-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.recommend-controls .field{flex:130px}.recommend-controls button{flex:none;padding:10px 22px}.slot-frame{background:radial-gradient(circle, #fde68a 0 3px, transparent 4px) 6px 1px / 22px 12px repeat-x, radial-gradient(circle, #fde68a 0 3px, transparent 4px) 6px calc(100% - 1px) / 22px 12px repeat-x, var(--slot-frame);border-radius:20px;margin-top:16px;padding:14px 12px}.slot{background:linear-gradient(180deg, #e9dccb 0%, var(--slot-window) 22%, var(--slot-window) 78%, #e9dccb 100%);height:72px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;padding:0 14px;font-size:1.5rem;font-weight:800;display:flex;overflow:hidden;box-shadow:inset 0 2px 6px #00000040}.slot-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.slot.spinning .slot-name{animation:90ms ease-out slot-roll}.slot.stopped{color:var(--accent-hover)}.slot.stopped .slot-name{animation:.32s ease-out slot-stop}@keyframes slot-roll{0%{opacity:.2;transform:translateY(-70%)}to{opacity:1;transform:translateY(0)}}@keyframes slot-stop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}.result-card{background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius);overflow-wrap:anywhere;margin-top:14px;padding:14px 16px}.result-card .name{font-size:1.4rem}.result-label{color:var(--accent-hover);margin:0 0 4px;font-weight:700}.filter-bar{grid-template-columns:2fr 1fr 1fr;gap:0 10px;margin-bottom:12px;display:grid}@media (width<=520px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .field:first-child{grid-column:1/-1}}.result-count{color:var(--muted);margin:0 0 6px;font-size:.9rem}.empty{color:var(--muted);text-align:center;padding:24px 0}.restaurant-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.restaurant-list>li{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:14px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.restaurant-list>li:hover{border-color:#dcc3a8;box-shadow:0 4px 14px #2b21180f}.restaurant-list>li.editing{background:var(--surface-soft);border-color:var(--accent)}.restaurant-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.name{font-size:1.05rem;font-weight:700}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;font-size:.9rem;display:flex}.chip{background:var(--surface-soft);color:var(--ink);border-radius:999px;padding:1px 10px}.badge{border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:700}.status-want{color:var(--want);background:#e7f0fb}.status-visited{color:var(--visited);background:#e6f4ea}.stars{color:var(--star);letter-spacing:1px}.memo{white-space:pre-wrap;border-radius:var(--radius-sm);background:#fcf9f5;margin:8px 0 0;padding:8px 10px;font-size:.92rem}.item-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.item-actions button{padding:4px 14px;font-size:.88rem}@media (width<=520px){.app-header h1{font-size:1.1rem}.hero{padding:40px 18px 36px}section{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
