:root{--bg:#f7f1e7;--surface:#fffaf2;--surface-strong:#fff;--ink:#2f2721;--muted:#776d63;--line:#e9ddcf;--accent:#8b5e3c;--accent-dark:#6f4629;--danger:#a33a32;--success:#3d7151;--shadow:0 18px 50px #422d1a1a}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:radial-gradient(circle at 0 0,#fff7e8 0,#f7f1e7 44%,#efe4d7 100%);min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{width:100%;max-width:520px;min-height:100vh;box-shadow:var(--shadow);background:#fffaf2c7;margin:0 auto;padding:20px 18px 92px}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:6px 0 18px;display:flex}.logo-title{letter-spacing:-.04em;margin:0;font-size:20px}.logo-sub{color:var(--muted);margin:4px 0 0;font-size:12px}.hero{background:linear-gradient(135deg,#fffaf1,#f5e4cf);border:1px solid #8b5e3c29;border-radius:28px;padding:24px;box-shadow:0 16px 34px #47311c14}.hero h2{letter-spacing:-.06em;margin:0;font-size:26px;line-height:1.25}.hero p{color:var(--muted);margin:12px 0 0;line-height:1.7}.stack{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.section{margin-top:22px}.section-title{letter-spacing:-.04em;margin:0 0 12px;font-size:16px}.card{background:var(--surface-strong);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 8px 24px #3625150d}.card h3{letter-spacing:-.04em;margin:0 0 8px;font-size:18px}.card p{color:var(--muted);margin:0;line-height:1.65}.card-meta{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.badge{color:#5c4432;background:#f1e6d9;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge.danger{color:var(--danger);background:#ffe5df}.badge.success{color:var(--success);background:#e2f1e8}.badge.muted{color:var(--muted);background:#eee8df}.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px 16px;font-weight:800;display:inline-flex}.button:hover{background:var(--accent-dark)}.button.secondary{color:#5b4433;background:#eadccb}.button.ghost{color:var(--accent-dark);border:1px solid var(--line);background:0 0}.button.danger{background:var(--danger)}.button-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.button-row .button{flex:1;width:auto;min-width:120px}.form{gap:16px;display:grid}.field{gap:8px;display:grid}.field label{font-size:14px;font-weight:800}.field small{color:var(--muted);line-height:1.6}.input,.textarea,.select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:16px;outline:none;padding:13px 14px}.textarea{resize:vertical;min-height:150px;line-height:1.65}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5e3c1f}.checkbox-row,.radio-card{border:1px solid var(--line);background:#ffffffb3;border-radius:16px;align-items:flex-start;gap:10px;padding:13px;line-height:1.5;display:flex}.radio-list{gap:8px;display:grid}.notice{color:#5e4c3d;background:#fff7e9;border:1px solid #e7d4bd;border-radius:18px;padding:14px;font-size:14px;line-height:1.65}.error-message{color:var(--danger);background:#fff1ef;border:1px solid #ffd0ca;border-radius:14px;padding:12px;line-height:1.5}.success-message{color:var(--success);background:#effaf2;border:1px solid #cae6d2;border-radius:14px;padding:12px;line-height:1.5}.empty{text-align:center;color:var(--muted);padding:30px 18px}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#fffaf2f0;grid-template-columns:repeat(4,1fr);gap:4px;width:100%;max-width:520px;padding:10px 10px 14px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{color:var(--muted);border-radius:14px;place-items:center;gap:2px;padding:8px 4px;font-size:12px;display:grid}.bottom-nav a strong{font-size:17px;line-height:1}.bottom-nav a:hover{color:var(--ink);background:#f0e3d5}.inline-form{display:inline}.inline-form button{width:100%}.detail-content{white-space:pre-wrap;color:#46362b;line-height:1.75}@media (max-width:380px){.app-shell{padding-left:14px;padding-right:14px}.hero h2{font-size:23px}.grid-2{grid-template-columns:1fr}}
