:root{--bg-primary:#fdfaf6;--bg-secondary:#f4eee6;--bg-tertiary:#ebe3d5;--text-primary:#2a2520;--text-secondary:#5c5346;--text-tertiary:#8b7d6b;--accent-primary:#d35400;--accent-hover:#e67e22;--accent-muted:#f3e5db;--border-color:#e2d7c8;--font-serif:"Frank Ruhl Libre",serif;--max-width:800px;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:3rem;--spacing-xl:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 2px 4px #2a25200d;--shadow-md:0 4px 12px #2a252014}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;font-weight:400;line-height:1.6;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:700;line-height:1.2}h1{letter-spacing:-.02em;font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem;font-weight:500}p{margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:1.125rem}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.container{max-width:var(--max-width);padding:var(--spacing-md);width:100%;margin:0 auto}.main-content{min-height:100vh;padding:var(--spacing-sm)0;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}button,.button{justify-content:center;align-items:center;gap:var(--spacing-xs);background-color:var(--text-primary);color:var(--bg-primary);font-family:var(--font-serif);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}button:hover,.button:hover{background-color:var(--text-secondary);text-decoration:none;transform:translateY(-1px)}button:active,.button:active{transform:translateY(0)}button:disabled,.button:disabled{background-color:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;transform:none}button.secondary,.button.secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}button.secondary:hover,.button.secondary:hover{background-color:var(--bg-secondary);border-color:var(--text-tertiary)}textarea,input[type=text],input[type=password]{width:100%;font-family:var(--font-serif);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);resize:vertical;padding:1rem;font-size:1.125rem;transition:border-color .2s,box-shadow .2s}textarea:focus,input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted);outline:none}textarea::placeholder,input::placeholder{color:var(--text-tertiary);opacity:.5}.form-group{margin-bottom:var(--spacing-md)}.form-label{margin-bottom:var(--spacing-xs);color:var(--text-primary);font-weight:500;display:block}.card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md)}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin-top:var(--spacing-md)}.markdown-content ul,.markdown-content ol{margin-left:var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.markdown-content li{margin-bottom:var(--spacing-xs)}.markdown-content blockquote{border-left:3px solid var(--accent-primary);padding-left:var(--spacing-sm);margin-left:0;margin-bottom:var(--spacing-sm);color:var(--text-secondary);background-color:var(--accent-muted);padding:var(--spacing-sm);border-radius:0 var(--radius-sm)var(--radius-sm)0;font-style:italic}@media (max-width:600px){.container{padding:var(--spacing-sm)}.card{padding:var(--spacing-sm)var(--spacing-md)}}@media print{body{color:#000!important;background-color:#fff!important}.print-hidden,.stepTracker,.tabsStrip,button{display:none!important}.container{max-width:100%!important;padding:0!important}.tabContent{border:none!important;padding:0!important}div[style*="display: none"]{display:block!important}.markdown-content{page-break-inside:avoid}h2,h3{page-break-after:avoid}}
