:root{--berkeley-blue: #003262;--california-gold: #FDB515;--founders-rock: #3B7EA1;--medalist: #C4820E;--wellman-tile: #D9661F;--soybean: #859438;--south-hall: #6C3302;--primary: var(--berkeley-blue);--primary-hover: #002244;--accent: var(--california-gold);--bg: #f4f6f8;--card-bg: #ffffff;--text: #212529;--text-muted: #666;--border: #ddd;--input-bg: #fff;--code-bg: #f1f1f1;--success: #2e7d32}[data-theme=dark]{--primary: var(--founders-rock);--primary-hover: #539dc2;--bg: #121212;--card-bg: #1e1e1e;--text: #e0e0e0;--text-muted: #a0a0a0;--border: #333;--input-bg: #2c2c2c;--code-bg: #2c2c2c;--success: #66bb6a}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--primary: var(--founders-rock);--primary-hover: #539dc2;--bg: #121212;--card-bg: #1e1e1e;--text: #e0e0e0;--text-muted: #a0a0a0;--border: #333;--input-bg: #2c2c2c;--code-bg: #2c2c2c;--success: #66bb6a}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg);color:var(--text);margin:0;padding:2rem;line-height:1.6;transition:background-color .3s,color .3s}.container{max-width:800px;margin:0 auto;background:var(--card-bg);padding:2.5rem;border-radius:12px;box-shadow:0 4px 12px #0000001a;border-top:6px solid var(--primary)}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}h1{margin-top:0;color:var(--primary);font-size:1.75rem;font-weight:700;letter-spacing:-.5px}p{color:var(--text-muted);margin-bottom:2rem}.section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.section:last-child{border-bottom:none;padding-bottom:0}label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.9rem;color:var(--text)}input[type=text],input[type=file]{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:6px;box-sizing:border-box;font-size:1rem;background:var(--input-bg);color:var(--text);transition:border-color .2s}input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0032621a}.row{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.col{flex:1;min-width:250px}button{background-color:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}button:disabled{background-color:var(--border);color:var(--text-muted);cursor:not-allowed;transform:none}.btn-secondary{background-color:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:#0000000d}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1rem 0;font-weight:500}.stats div{background:var(--bg);padding:1rem;border-radius:6px;text-align:center}.stats span{display:block;font-size:1.5rem;font-weight:700;color:var(--primary);margin-top:.25rem}pre{background:var(--code-bg);padding:.75rem;border-radius:6px;overflow-x:auto;font-size:.85rem;margin:.25rem 0;border:1px solid var(--border);color:var(--text)}.sample-item{margin-bottom:1.5rem;border-left:4px solid var(--primary);padding-left:1rem;background:var(--bg);padding:1rem;border-radius:0 6px 6px 0}.sample-item strong{display:block;margin-bottom:.25rem;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.theme-btn{background:transparent;color:var(--text);padding:.5rem;font-size:1.25rem}.theme-btn:hover{background:#0000000d;transform:none}#loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--berkeley-blue)}[data-theme=dark] #loading-overlay{background:#000000b3;color:var(--california-gold)}.loading-spinner{width:50px;height:50px;border:5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
