@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600;700&display=swap";:root{--bg-dark: #120518;--bg-card: rgba(30, 10, 40, .6);--bg-input: rgba(255, 255, 255, .03);--text-main: #f0e6f2;--text-muted: #a68ba8;--accent-gold: #d4af37;--accent-gold-hover: #ebd078;--border-thin: 1px solid rgba(212, 175, 55, .2);--border-gold: 1px solid rgba(212, 175, 55, .6);font-family:Inter,sans-serif;color:var(--text-main);background:var(--bg-dark)}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(circle at 50% 0%,rgba(212,175,55,.08) 0%,transparent 60%);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:500;letter-spacing:.05em;color:var(--accent-gold)}main{max-width:1120px;margin:0 auto;padding:40px 20px}h1:before,h1:after{content:"✧";margin:0 12px;font-size:.6em;opacity:.6;font-weight:300}.toolbar h1:before,.toolbar h1:after{display:none}.card{background:var(--bg-card);border:var(--border-thin);border-radius:2px;padding:32px;box-shadow:0 20px 50px #0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.week{border-radius:2px;padding:32px 24px;border:var(--border-thin);background:var(--bg-card);cursor:pointer;transition:all .4s ease;text-align:center;position:relative;overflow:hidden}.week:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:1px;background:var(--accent-gold);opacity:.5;transition:width .4s}.week:hover:before{width:100px;opacity:1}.week:hover{border-color:#d4af3766;transform:translateY(-4px);box-shadow:0 15px 30px #00000080}.week h2,.week h3{margin-top:0;font-size:1.8rem;margin-bottom:8px}.week.locked{opacity:.3;cursor:not-allowed;filter:grayscale(1)}.week.locked:hover{transform:none;border-color:#d4af3733}button{border:var(--border-gold);border-radius:0;padding:12px 24px;background:transparent;color:var(--accent-gold);font-family:Inter,sans-serif;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s}button:hover{background:#d4af371a;box-shadow:0 0 15px #d4af3733}button.secondary{border:var(--border-thin);color:var(--text-muted)}button.secondary:hover{border:var(--border-gold);color:var(--accent-gold)}input,select{border:0;border-bottom:var(--border-thin);border-radius:0;padding:12px 0;width:100%;background:transparent;color:var(--text-main);font-family:Inter,sans-serif;outline:none;transition:border .3s;font-size:1rem}input:focus,select:focus{border-bottom:1px solid var(--accent-gold)}label{display:grid;gap:4px;margin:20px 0;font-size:.85rem;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.error{color:#e07a7a;font-size:.9rem;margin-top:8px;letter-spacing:.05em}.toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:40px;justify-content:space-between;border-bottom:var(--border-thin);padding-bottom:24px}.toolbar h1{margin:0;font-size:2rem}.toolbar span{font-style:italic;color:var(--text-muted)}.content-shell{display:grid;gap:32px}.content-header h1{margin-bottom:8px;text-align:center;font-size:2.8rem}.content-canvas{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:32px;align-items:start}.content-list,.embedded-content{background:var(--bg-card);border:var(--border-thin);border-radius:2px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.content-list{display:grid;gap:12px}.content-list h2{font-size:1.2rem;margin-top:0;text-align:center;border-bottom:var(--border-thin);padding-bottom:16px;margin-bottom:16px}.content-card{width:100%;text-align:center;background:transparent;color:var(--text-muted);border:var(--border-thin);padding:16px}.content-card.selected,.content-card:hover{border:var(--border-gold);color:var(--accent-gold);background:#d4af370d}.html-content-frame{width:100%;height:100vh;min-height:900px;border:none;border-radius:0;background:transparent}.admin-section{margin-bottom:32px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;align-items:end}.choice-list{border:var(--border-thin);border-radius:2px;padding:24px;margin:24px 0;display:flex;flex-wrap:wrap;gap:16px 24px;background:#0003}.choice-list legend{padding:0 16px;font-family:Playfair Display,serif;color:var(--accent-gold);letter-spacing:.1em;font-size:1.1rem}.choice{display:inline-flex;align-items:center;gap:12px;margin:0;width:auto;font-size:.95rem;cursor:pointer;color:var(--text-main)}.choice input{width:16px;height:16px;accent-color:var(--accent-gold);cursor:pointer;border:1px solid var(--accent-gold)}.action-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}.table-wrap{overflow-x:auto;margin-top:32px;border:var(--border-thin);padding:1px}.admin-table{width:100%;border-collapse:collapse;min-width:900px;font-size:.9rem;background:var(--bg-card)}.admin-table th,.admin-table td{border-bottom:var(--border-thin);padding:20px 16px;text-align:left;vertical-align:middle}.admin-table th{font-family:Playfair Display,serif;color:var(--accent-gold);letter-spacing:.1em;font-weight:400;text-transform:uppercase;font-size:.85rem;border-bottom:var(--border-gold)}.admin-table tr:hover td{background:#ffffff05}.inline-input{width:min(240px,100%);margin-right:12px}.badge{display:inline-flex;border:var(--border-thin);border-radius:0;color:var(--accent-gold);padding:6px 12px;margin:4px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;background:#0003}.muted,.hint{color:var(--text-muted)}.hint{font-size:.8rem;margin-top:8px;font-style:italic}.status-ok{color:#a1c998;font-family:Playfair Display,serif;font-style:italic}.status-bad{color:#e07a7a;font-family:Playfair Display,serif;font-style:italic}.class-access-panel{border-top:var(--border-thin);padding-top:24px;margin-top:24px}.week-choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width: 768px){main{padding:24px 16px}.card,.content-list,.embedded-content{padding:20px}.toolbar{flex-direction:column;text-align:center;gap:12px}.toolbar h1{margin-bottom:4px}button{width:100%}.action-row button,.toolbar button{width:auto;flex:1 1 100%}.grid,.content-canvas{grid-template-columns:1fr}.html-content-frame{height:85vh;min-height:600px}}
