:root{--color-primary-dark:#171513;--color-dark-surface:#211e1a;--color-dark-surface-2:#2a2622;--color-warm-ivory:#f5f0e8;--color-warm-ivory-light:#faf7f2;--color-soft-beige:#ded4c4;--color-soft-beige-light:#ebe4d8;--color-terracotta:#b86f52;--color-terracotta-hover:#a05e43;--color-terracotta-subtle:#f6ece7;--color-warm-gold:#c5a46d;--color-warm-gold-hover:#b2915a;--color-warm-gold-subtle:#f7f3ea;--color-white:#fff;--font-serif:"Lora", "Newsreader", "Georgia", "Times New Roman", serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-primary:#171513;--text-secondary:#5a534c;--text-muted:#847c73;--text-on-dark:#f5f0e8;--text-on-dark-secondary:#c8bfb3;--border-subtle:#ded4c4;--border-strong:#baae9b;--border-on-dark:#37332d;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-subtle:0 1px 3px #1715130d;--shadow-card:0 2px 6px #1715130a, 0 1px 2px #17151305;--shadow-modal:0 12px 36px #17151329;--transition-smooth:all .2s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-warm-ivory);color:var(--text-primary);font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-warm-ivory);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;line-height:1.6;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,.font-serif{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:-.01em;font-weight:500;line-height:1.25}h1{font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:600}h2{font-size:clamp(1.75rem,3vw,2.35rem)}h3{font-size:clamp(1.25rem,2vw,1.6rem)}h4{font-size:1.15rem}p{color:var(--text-secondary);font-size:1rem}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}.container-narrow{max-width:760px;margin-left:auto;margin-right:auto}.label-academic{text-transform:uppercase;letter-spacing:.08em;color:var(--color-terracotta);align-items:center;gap:.35rem;font-size:.725rem;font-weight:600;display:inline-flex}.label-academic.gold{color:var(--color-warm-gold)}.label-academic.charcoal{color:var(--color-primary-dark)}.label-academic.subtle{color:var(--text-muted)}.badge-dept{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);background-color:var(--color-soft-beige-light);border:1px solid var(--color-soft-beige);color:var(--color-primary-dark);align-items:center;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-dept.terracotta{background-color:var(--color-terracotta-subtle);color:var(--color-terracotta);border-color:#b86f5240}.badge-dept.gold{background-color:var(--color-warm-gold-subtle);color:#8c6a30;border-color:#c5a46d59}.card-academic{background-color:var(--color-white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);transition:var(--transition-smooth);overflow-wrap:anywhere;word-break:break-word;padding:1.75rem}.card-academic:hover{border-color:var(--border-strong)}.card-dark{background-color:var(--color-dark-surface);border:1px solid var(--border-on-dark);border-radius:var(--radius-md);color:var(--text-on-dark);padding:2rem}.card-dark h1,.card-dark h2,.card-dark h3,.card-dark h4{color:var(--text-on-dark)}.card-dark p{color:var(--text-on-dark-secondary)}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.35rem;font-size:.925rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background-color:var(--color-primary-dark);color:var(--color-warm-ivory);border-color:var(--color-primary-dark)}.btn-primary:hover:not(:disabled){background-color:#27231f;border-color:#27231f}.btn-terracotta{background-color:var(--color-terracotta);color:var(--color-white);border-color:var(--color-terracotta)}.btn-terracotta:hover:not(:disabled){background-color:var(--color-terracotta-hover);border-color:var(--color-terracotta-hover)}.btn-secondary{color:var(--color-primary-dark);border-color:var(--border-subtle);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--color-soft-beige-light);border-color:var(--border-strong)}.btn-dark-outline{color:var(--text-on-dark);border-color:var(--border-on-dark);background-color:#0000}.btn-dark-outline:hover:not(:disabled){background-color:var(--color-dark-surface-2);border-color:var(--color-soft-beige)}.btn-sm{padding:.45rem .9rem;font-size:.825rem}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-primary);letter-spacing:.01em;font-size:.85rem;font-weight:600}.form-label span.req{color:var(--color-terracotta);margin-left:.2rem}.form-input,.form-select,.form-textarea{font-family:var(--font-sans);background-color:var(--color-white);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition-smooth);outline:none;padding:.7rem .9rem;font-size:.95rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary-dark);box-shadow:0 0 0 2px #17151314}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.notice-box{border-radius:var(--radius-sm);align-items:flex-start;gap:.65rem;margin-bottom:1.25rem;padding:.9rem 1.1rem;font-size:.875rem;display:flex}.notice-box.error{color:#8c2f20;background-color:#fdf2f0;border:1px solid #f0c4bc}.notice-box.warning{color:#7a5714;background-color:#fff9ed;border:1px solid #f3e0b5}.notice-box.success{color:#265b32;background-color:#f1f6f2;border:1px solid #c4d9c7}.notice-box.info{background-color:var(--color-warm-gold-subtle);border:1px solid var(--color-soft-beige);color:var(--color-primary-dark)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#17151399;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-dialog{background-color:var(--color-warm-ivory);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-modal);padding:2rem;overflow-y:auto}.section{padding:4.5rem 0}.section-dark{background-color:var(--color-primary-dark);color:var(--text-on-dark)}.section-dark h1,.section-dark h2,.section-dark h3{color:var(--text-on-dark)}.section-dark p{color:var(--text-on-dark-secondary)}.academic-divider{background-color:var(--border-subtle);border:none;height:1px;margin:3rem 0}.academic-divider.dark{background-color:var(--border-on-dark)}.grid-2{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:3rem 0}}
