:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #1a1a1a;--color-muted: #6b7280;--color-accent: #1d4ed8;--color-accent-hover: #1e40af;--color-border: #e5e7eb;--color-error: #b91c1c;--color-tag-bg: #eef2ff;--color-tag-text: #3730a3;--radius: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55;color:var(--color-text);background:var(--color-bg)}#app{min-height:100vh;display:flex;flex-direction:column}main{flex:1;max-width:880px;margin:2rem auto;padding:0 1rem;width:100%}h1,h2,h3{margin-top:0;font-weight:600;line-height:1.2}h1{font-size:2rem;margin-bottom:1rem}h2{font-size:1.4rem;margin-bottom:.75rem}h3{font-size:1.05rem;margin-bottom:.5rem}p{margin:.5rem 0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--color-muted)}.error{color:var(--color-error);margin-top:.5rem}button,.button{font:inherit;padding:.55rem 1.1rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}button:disabled{opacity:.6;cursor:not-allowed}button.primary,.button.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}button.primary:hover:not(:disabled),.button.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}button.secondary,.button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}button.secondary:hover:not(:disabled),.button.secondary:hover:not(:disabled){border-color:var(--color-muted)}button.linklike{background:none;border:none;color:var(--color-accent);padding:0;font:inherit;cursor:pointer}button.linklike:hover{text-decoration:underline}input,textarea{font:inherit;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%}input:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;font-weight:500}form{display:flex;flex-direction:column}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header .brand{font-weight:600;font-size:1.05rem;color:var(--color-text)}.app-header nav{display:flex;align-items:center;gap:1.25rem;font-size:.95rem}.landing-cta{display:flex;gap:.75rem;margin-top:1.5rem}.landing-cta .primary,.landing-cta .secondary{text-decoration:none;display:inline-block}.auth-page{max-width:420px}.auth-page form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.auth-page button[type=submit]{align-self:flex-start}.catalogue .verify-banner{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent, #f59e0b);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.catalogue .verify-banner p{margin:0 0 .75rem}.catalogue .verify-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.catalogue .verify-actions .success{color:var(--color-success, #10b981);font-size:.9rem}.catalogue .course-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.catalogue .course-list{grid-template-columns:1fr 1fr}}.course-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.course-card h2{margin-top:.5rem;font-size:1.2rem}.course-card .course-meta{display:flex;gap:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted)}.course-card .description{flex:1;color:var(--color-muted);margin-bottom:1rem}.course-actions{display:flex;align-items:center;gap:.5rem;margin-top:auto}.course-actions .price{font-weight:600;font-size:1.05rem;margin-right:auto}.course-actions .owned-badge{font-size:.85rem;font-weight:500;padding:.3rem .75rem;border-radius:999px;background:var(--color-tag-bg);color:var(--color-tag-text)}.course-view header{margin-bottom:1.5rem}.request-question,.active-question{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.request-question textarea{margin-bottom:1rem}.question-meta{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.tag{background:var(--color-tag-bg);color:var(--color-tag-text);padding:.2rem .6rem;border-radius:999px;font-size:.85rem;font-weight:500}.tag.marks{background:#fef3c7;color:#92400e}.question-text{background:var(--color-bg);border-left:3px solid var(--color-accent);padding:1rem 1.25rem;margin:0 0 1.25rem;font-size:1.05rem;border-radius:0 var(--radius) var(--radius) 0}.answer-form textarea{margin-bottom:1rem}.grade-display h2{margin-bottom:.25rem}.grade-actions{display:flex;gap:.5rem;margin-top:1.25rem}.remaining{margin-top:1rem;font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;max-width:520px;width:100%;box-shadow:0 10px 30px #0003}.modal textarea{margin:1rem 0}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.purchase-result{max-width:520px}
