@font-face { font-family: "Pretendard"; src: url("/static/fonts/Pretendard-Thin.ttf") format("truetype"); font-weight: 100; font-style: normal; font-display: swap; } @font-face { font-family: "Pretendard"; src: url("/static/fonts/Pretendard-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: "Pretendard"; src: url("/static/fonts/Pretendard-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; } :root { color-scheme: light; --bg: #f5f7f9; --surface: #ffffff; --text: #17202a; --muted: #5d6975; --line: #d9e0e7; --accent: #146c5f; --accent-strong: #0e554b; --shadow: 0 18px 50px rgba(22, 31, 42, 0.12); } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); font-family: "Pretendard", "Segoe UI", "Apple SD Gothic Neo", system-ui, sans-serif; } a { color: inherit; text-decoration: none; } .auth-page { display: grid; place-items: center; padding: 28px; } .auth-shell { width: min(100%, 460px); } .auth-panel { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: 36px; } .eyebrow { margin: 0 0 8px; color: var(--accent); font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; } h1 { margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; letter-spacing: 0; } .lead { margin: 18px 0 28px; color: var(--muted); font-size: 16px; line-height: 1.6; } .note { margin: 18px 0 0; color: var(--muted); font-size: 13px; } .primary-button, .ghost-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 6px; font-weight: 700; white-space: nowrap; } .primary-button { width: 100%; background: var(--accent); color: #fff; padding: 0 18px; } .primary-button:hover { background: var(--accent-strong); } .ghost-button { border: 1px solid var(--line); background: #fff; padding: 0 14px; color: var(--muted); } .topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px clamp(20px, 5vw, 56px); background: var(--surface); border-bottom: 1px solid var(--line); } .account { display: flex; align-items: center; gap: 12px; min-width: 0; } .account img { width: 42px; height: 42px; border-radius: 50%; } .account strong, .account span { display: block; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .account span { color: var(--muted); font-size: 13px; } .menu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; padding: clamp(20px, 5vw, 56px); } .menu-card { display: flex; min-height: 150px; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 24px; box-shadow: 0 10px 30px rgba(22, 31, 42, 0.07); } .menu-card:hover { border-color: var(--accent); transform: translateY(-1px); } .menu-card span { font-size: 22px; font-weight: 800; line-height: 1.3; } .menu-card small { color: var(--muted); font-size: 14px; } @media (max-width: 720px) { .topbar { align-items: flex-start; flex-direction: column; } .account { width: 100%; align-items: flex-start; flex-wrap: wrap; } .ghost-button { margin-left: auto; } }