@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-family:Noto Sans KR,sans-serif;line-height:1.5;font-weight:400;color:#1c1a16;background-color:#f5f2ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f5f2ea}a{color:inherit;text-decoration:none}button{font-family:inherit}:root{--bg: #f5f2ea;--bg-strong: #e9e2d4;--card: #fdfbf6;--ink: #1c1a16;--muted: #6b6256;--accent: #ff7a3d;--accent-strong: #ff5a1f;--accent-soft: rgba(255, 122, 61, .12);--teal: #1e7e7a;--line: rgba(28, 26, 22, .12);--shadow: 0 18px 40px rgba(28, 26, 22, .12)}.page{min-height:100vh;background:radial-gradient(circle at top,#fff 0%,var(--bg) 35%,var(--bg-strong) 100%);color:var(--ink);padding:32px clamp(20px,4vw,48px) 48px;position:relative;overflow:hidden}.glow{position:absolute;inset:-40% auto auto -20%;width:520px;height:520px;background:radial-gradient(circle,#ff7a3d40,#ff7a3d00 70%);filter:blur(2px);pointer-events:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.logo{display:flex;align-items:baseline;gap:12px}.logo-mark{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:24px;letter-spacing:.08em}.logo-sub{font-family:Noto Sans KR,sans-serif;font-size:14px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;position:relative;box-shadow:0 8px 16px #1c1a161f;cursor:pointer}.icon-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:999px;background:var(--accent-strong)}.icon{font-size:14px}.layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:28px}.hero{display:flex;flex-direction:column;gap:20px;animation:rise .7s ease forwards}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--teal);font-weight:600}h1{font-family:Space Grotesk,sans-serif;font-size:clamp(28px,4vw,44px);margin:0;line-height:1.1}h1 span{display:block;color:var(--accent-strong)}.hero-copy{font-size:16px;color:var(--muted);max-width:560px;line-height:1.7}.hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 60%,rgba(255,122,61,.08) 100%);opacity:0;transition:opacity .3s ease}.card:hover:after{opacity:1}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{margin:0;font-weight:600;font-size:16px}.card-sub{margin:6px 0 0;color:var(--muted);font-size:13px}.pill{padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--muted);background:#fff}.pill.success{background:#1e7e7a1f;color:var(--teal);border-color:#1e7e7a4d}.pill.accent{background:var(--accent-soft);color:var(--accent-strong);border-color:#ff7a3d4d}.attendance-score{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}.score-label{margin:0 0 6px;font-size:12px;color:var(--muted)}.score-value{margin:0;font-size:28px;font-weight:700;font-family:Space Grotesk,sans-serif}.score-value span{font-size:14px;font-weight:500;color:var(--muted);margin-left:6px}.score-divider{width:1px;height:42px;background:var(--line)}.progress{display:flex;flex-direction:column;gap:8px}.progress-top{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.progress-bar{height:8px;background:#1c1a1614;border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:80%;background:linear-gradient(90deg,var(--accent-strong),#ff9a3d);border-radius:999px;animation:grow 1s ease forwards}.attendance-actions{display:flex;gap:12px}.primary,.ghost,.outline,.chip{font-family:Noto Sans KR,sans-serif;font-weight:600;border-radius:12px;padding:12px 16px;border:none;cursor:pointer}.primary{background:var(--accent-strong);color:#fff;box-shadow:0 12px 20px #ff5a1f40}.ghost{background:#1c1a160d;color:var(--ink)}.outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.chip{padding:8px 14px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:12px}.wallet-total{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--muted)}.wallet-total strong{font-size:32px;color:var(--ink);font-family:Space Grotesk,sans-serif}.wallet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.wallet-list li{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.side{display:flex;flex-direction:column;gap:18px;animation:rise .9s ease forwards}.market{background:linear-gradient(150deg,#fff,#ff7a3d14)}.market-head{display:flex;align-items:center;justify-content:space-between}.market-copy{margin:0;color:var(--muted);line-height:1.6}.market-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.market-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px}.tag{font-size:11px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:#1c1a160a}.activity-item strong{display:block;font-size:14px}.activity-item span{font-size:12px;color:var(--muted)}.activity-item em{font-style:normal;font-weight:600;color:var(--teal)}.activity-item.pending{background:#ff7a3d1f}.activity-item.new{background:#1e7e7a1f}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes grow{0%{width:0}to{width:80%}}@media(max-width:980px){.layout,.hero-grid,.attendance-score{grid-template-columns:1fr}.score-divider{display:none}.market-items{grid-template-columns:1fr}}@media(max-width:640px){.topbar{flex-direction:column;align-items:flex-start}.attendance-actions{flex-direction:column}}
