@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Orbitron:wght@500;700;900&display=swap";:root{--bg: #0A0014;--surface: #1A0028;--primary: #00F5FF;--primary-dark: #00C2D1;--accent: #FF006E;--text: #F0F0FF;--text-muted: #A8A8C8;--border: #2A1845;--success: #10B981;--warning: #F59E0B;--danger: #FF006E;--radius: 4px;--shadow: 0 12px 36px rgba(0,0,0,.4), 0 0 28px #00F5FF26}body{margin:0;background:linear-gradient(135deg,#0a0014,#1a0028),repeating-linear-gradient(0deg,transparent,transparent 39px,#00F5FF11 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#FF006E08 40px),var(--bg);color:var(--text);font-family:JetBrains Mono,SF Mono,Consolas,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:20px;box-sizing:border-box;overflow-x:hidden;position:relative}.app-container{max-width:800px;width:100%;display:flex;flex-direction:column;gap:20px;position:relative;z-index:1}.card{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:25px;border:1px solid var(--border);position:relative;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#1a0028d9}.header-card{text-align:center;padding:30px 20px;display:flex;flex-direction:column;align-items:center;gap:10px}.header-icon{color:var(--primary)}h1{font-family:Orbitron,JetBrains Mono,monospace;font-size:2.5em;color:var(--primary);margin:0;line-height:1.2;text-shadow:0 0 15px var(--primary),0 0 25px var(--primary)}.subtitle{font-size:1.1em;color:var(--text-muted);margin:5px 0 0}.input-section{display:flex;flex-direction:column;gap:20px}.user-info-card h2,.events-input-card h2{font-family:Orbitron,JetBrains Mono,monospace;font-size:1.5em;color:var(--primary);margin-top:0;margin-bottom:20px;display:flex;align-items:center;gap:10px;text-shadow:0 0 8px var(--primary)}.input-hint{font-size:.9em;color:var(--text-muted);margin-top:-10px;margin-bottom:15px;line-height:1.5}.input-group{margin-bottom:15px}.input-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-muted);font-size:.95em}.input-group input[type=text],.input-group textarea{width:calc(100% - 20px);padding:10px;border:1px solid var(--border);border-radius:var(--radius);font-family:JetBrains Mono,monospace;font-size:1em;color:var(--text);background-color:var(--bg);box-shadow:inset 0 0 5px #00f5ff33;transition:border-color .2s ease,box-shadow .2s ease}.input-group input[type=text]:focus,.input-group textarea:focus{border-color:var(--primary);box-shadow:inset 0 0 5px #00f5ff66,0 0 8px var(--primary);outline:none}.input-group textarea{resize:vertical;min-height:100px}.grade-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.grade-tab{background-color:var(--surface);color:var(--text-muted);border:1px solid var(--border);padding:8px 15px;border-radius:20px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.9em;transition:all .2s ease;box-shadow:var(--shadow)}.grade-tab:hover{background-color:var(--border);color:var(--primary);box-shadow:0 0 10px var(--primary-dark)}.grade-tab.active{background-color:var(--primary);color:var(--surface);border-color:var(--primary);box-shadow:0 0 15px var(--primary)}.generate-button{background-color:var(--primary);color:var(--surface);border:none;padding:15px 25px;border-radius:var(--radius);font-family:Orbitron,monospace;font-size:1.2em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 0 24px var(--primary);font-weight:500}.generate-button:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:0 0 30px var(--primary)}.generate-button:disabled{background-color:var(--border);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.generating-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px;color:var(--text-muted);font-size:1.1em;text-align:center}.generating-tip{font-size:.9em;color:var(--accent);font-style:italic;text-shadow:0 0 5px var(--accent)}.spinner{animation:spin 1s linear infinite;color:var(--primary);text-shadow:0 0 10px var(--primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.handbook-display-section{display:flex;flex-direction:column;gap:20px}.handbook-cover{text-align:center;padding:40px 20px;background:linear-gradient(135deg,var(--surface) 0%,var(--bg) 100%);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#1a0028d9}.book-icon{width:80px;height:80px;margin-bottom:20px;filter:drop-shadow(0 0 10px var(--primary))}.book-icon-fallback{font-size:4em;margin-bottom:20px;display:block;filter:drop-shadow(0 0 10px var(--primary))}.handbook-title{font-family:Orbitron,monospace;font-size:3em;color:var(--primary);margin:0;line-height:1.1;text-shadow:0 0 20px var(--primary),0 0 30px var(--primary)}.handbook-subtitle{font-size:1.2em;color:var(--text-muted);margin-top:10px}.handbook-note{font-style:italic;color:var(--text-muted);margin-top:20px;font-size:.9em}.handbook-content{padding:30px;line-height:1.8;font-size:1.1em;white-space:pre-wrap}.content-paragraph{margin-bottom:25px;display:flex;flex-direction:column;gap:10px}.content-paragraph p{margin:0;color:var(--text)}.grade-section-header{display:flex;align-items:center;gap:15px;margin-bottom:10px;background-color:var(--bg);padding:8px 15px;border-radius:var(--radius);border:1px solid var(--border);width:fit-content;box-shadow:0 0 10px #00f5ff33}.grade-heading{font-family:Orbitron,monospace;font-size:1.6em;color:var(--primary);margin:0;line-height:1;text-shadow:0 0 8px var(--primary)}.grade-illustration{width:50px;height:50px;object-fit:contain;border-radius:8px;background-color:#00f5ff1a;padding:5px;filter:drop-shadow(0 0 5px var(--primary))}.grade-fallback-emoji{font-size:2.5em;line-height:1;filter:drop-shadow(0 0 5px var(--primary))}.handbook-actions{display:flex;gap:15px;justify-content:center;margin-top:20px}.action-button{border:none;padding:12px 20px;border-radius:var(--radius);font-family:JetBrains Mono,monospace;font-size:1em;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:var(--shadow)}.action-button.primary{background-color:var(--primary);color:var(--surface);box-shadow:0 0 15px var(--primary)}.action-button.primary:hover{background-color:var(--primary-dark);box-shadow:0 0 20px var(--primary)}.action-button.secondary{background-color:var(--surface);color:var(--primary);border:1px solid var(--primary);box-shadow:0 0 10px var(--primary)}.action-button.secondary:hover{background-color:var(--primary);color:var(--surface);box-shadow:0 0 15px var(--primary)}.action-button:disabled{background-color:var(--border);color:var(--text-muted);cursor:not-allowed;border-color:var(--border);box-shadow:none}.cloud-status-badge{position:absolute;top:10px;right:10px;background-color:#1a0028cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 10px;border-radius:20px;font-size:.8em;color:var(--text-muted);display:flex;align-items:center;gap:5px;box-shadow:var(--shadow);z-index:100;border:1px solid var(--border)}.cloud-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:var(--radius);display:flex;align-items:center;gap:8px;font-size:.9em;box-shadow:var(--shadow);z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cloud-toast.success{background-color:#10b981d9;color:var(--surface)}.cloud-toast.error{background-color:#ff006ed9;color:var(--surface)}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:1.2em;color:var(--text-muted);z-index:2000;text-align:center;background:linear-gradient(135deg,#0a0014,#1a0028),repeating-linear-gradient(0deg,transparent,transparent 39px,#00F5FF11 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#FF006E08 40px),var(--bg)}.cover-page{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-color:var(--bg);background-size:cover;background-position:center;color:var(--text);z-index:50;overflow:hidden;padding:20px;box-sizing:border-box}.cover-page .cover-title{font-family:Orbitron,monospace;font-size:4em;color:var(--primary);text-shadow:0 0 25px var(--primary),0 0 40px var(--primary-dark);margin-bottom:20px;z-index:2}.hero-container{position:relative;width:250px;height:250px;margin:30px 0;display:flex;justify-content:center;align-items:center;z-index:2;box-shadow:0 0 30px var(--primary),0 0 60px var(--accent);border-radius:50%;overflow:hidden}.hero-image{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 0 15px rgba(0,245,255,.5))}.hero-fallback{font-size:8em;line-height:1;color:var(--primary);text-shadow:0 0 15px var(--primary)}.cover-tagline{font-family:JetBrains Mono,monospace;font-size:1.5em;color:var(--text-muted);text-shadow:0 0 10px rgba(255,255,255,.2);margin-bottom:40px;z-index:2}.enter-button{background:linear-gradient(90deg,var(--primary),var(--accent));color:var(--surface);border:none;padding:15px 30px;border-radius:var(--radius);font-family:Orbitron,monospace;font-size:1.3em;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 0 20px var(--primary),0 0 40px var(--accent);z-index:2}.enter-button:hover{transform:scale(1.05);box-shadow:0 0 30px var(--primary),0 0 60px var(--accent)}.particle{position:absolute;background:linear-gradient(to right,var(--primary),var(--accent));border-radius:50%;pointer-events:none;opacity:0;z-index:1}.main-app-content{width:100%}@media (max-width: 600px){h1{font-size:2em}.cover-page .cover-title{font-size:2.5em}.hero-container{width:180px;height:180px}.hero-fallback{font-size:6em}.cover-tagline{font-size:1.1em}.enter-button{font-size:1em;padding:12px 20px}.handbook-title{font-size:2.5em}.card{padding:15px}.generate-button{font-size:1em;padding:12px 20px}.action-button{padding:10px 15px;font-size:.9em}.grade-tabs{justify-content:center}.grade-tab{padding:6px 12px}}
