:root{--green-900:#06231b;--green-800:#0a3327;--green-700:#0f4735;--green-600:#1a5c46;--green-500:#2c7a5e;--green-400:#4f9c81;--green-300:#86bfa9;--green-200:#bfdecf;--green-100:#e2f0e8;--green-50:#f1f8f4;--surface:#f7f3e8;--surface-elevated:#fdfbf3;--surface-glass:rgba(253,251,243,0.65);--border-soft:rgba(15,71,53,0.12);--ink:#14261f;--ink-soft:#4b5f56;--ink-faint:#7c9089;--radius-lg:22px;--radius-md:14px;--radius-sm:10px;--neu-shadow:8px 8px 18px rgba(15,71,53,0.09),-8px -8px 18px rgba(255,255,255,0.75);--neu-shadow-inset:inset 4px 4px 10px rgba(15,71,53,0.08),inset -4px -4px 10px rgba(255,255,255,0.6);--glass-blur:blur(14px) saturate(140%)}@media (prefers-color-scheme:dark){:root{--green-900:#eaf6f0;--green-100:#123326;--green-50:#0d271d;--surface:#0d1a15;--surface-elevated:#122820;--surface-glass:rgba(18,40,32,0.55);--border-soft:rgba(191,222,207,0.14);--ink:#eaf3ee;--ink-soft:#b9cbc2;--ink-faint:#839489;--neu-shadow:8px 8px 18px rgba(0,0,0,0.35),-8px -8px 18px rgba(255,255,255,0.03);--neu-shadow-inset:inset 4px 4px 10px rgba(0,0,0,0.3),inset -4px -4px 10px rgba(255,255,255,0.02)}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--surface);color:var(--ink);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Malgun Gothic,sans-serif;line-height:1.7}a{color:var(--green-600)}@media (prefers-color-scheme:dark){a{color:var(--green-300)}}img,svg{max-width:100%;height:auto}.container{max-width:1080px;margin:0 auto;padding:0 20px}.glass-panel{background:var(--surface-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-soft)}.neu-card{border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);border:1px solid var(--border-soft)}.btn,.neu-card{background:var(--surface-elevated)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-sm);border:1px solid var(--border-soft);color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;box-shadow:var(--neu-shadow-inset)}.btn:focus-visible{outline:2px solid var(--green-300);outline-offset:2px}.btn-quiet{background:transparent;box-shadow:none;border-color:transparent}.btn-quiet,.muted{color:var(--ink-soft)}.stack{display:flex;flex-direction:column;gap:16px}