*{margin:0;padding:0;box-sizing:border-box}body{font-family:Courier New,monospace;line-height:1.6;color:#333;background-color:#f0f0f0;margin:0;min-height:100vh}a{color:#3498db;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}ul,ol{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;color:#2c3e50}input,textarea,select{font-family:inherit;padding:.5rem;border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:1rem}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.btn{display:inline-block;padding:.5rem 1rem;background-color:#000;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;z-index:1}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease;z-index:-1}.btn:hover{background-color:#333;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn:hover:before{left:100%}.btn-secondary{background-color:#666}.btn-secondary:hover{background-color:#888}.app{display:flex;flex-direction:column;min-height:100vh;font-family:Courier New,monospace;background-color:#fff;color:#000}.app.theme-retro{background-color:beige;color:#333;font-family:Courier New,monospace}.app.theme-modern{background-color:#f0f2f5;color:#2c3e50;font-family:Arial,sans-serif}.app.theme-dark{background-color:#121212;color:#e0e0e0;font-family:Courier New,monospace}.app.theme-retro .navbar{background-color:#8b4513;color:beige}.app.theme-modern .navbar{background-color:#3498db;color:#fff;box-shadow:0 2px 10px #0000001a}.app.theme-dark .navbar{background-color:#1e1e1e;color:#e0e0e0;box-shadow:0 2px 10px #0000004d}.app.theme-retro .footer{background-color:#8b4513;color:beige}.app.theme-modern .footer{background-color:#3498db;color:#fff}.app.theme-dark .footer{background-color:#1e1e1e;color:#e0e0e0}.app.theme-retro .feature-card,.app.theme-retro .bbs-card,.app.theme-retro .university-card,.app.theme-retro .upload-form,.app.theme-retro .user-profile,.app.theme-retro .user-activity,.app.theme-retro .bbs-info,.app.theme-retro .comments-section,.app.theme-retro .auth-container,.app.theme-retro .search-filter,.app.theme-retro .no-results{background:#f9f6f0;border:1px solid #d4b896;box-shadow:0 2px 4px #8b45131a}.app.theme-modern .feature-card,.app.theme-modern .bbs-card,.app.theme-modern .university-card,.app.theme-modern .upload-form,.app.theme-modern .user-profile,.app.theme-modern .user-activity,.app.theme-modern .bbs-info,.app.theme-modern .comments-section,.app.theme-modern .auth-container,.app.theme-modern .search-filter,.app.theme-modern .no-results{background:#fff;border:1px solid #e0e0e0;box-shadow:0 4px 6px #0000001a;border-radius:12px}.app.theme-dark .feature-card,.app.theme-dark .bbs-card,.app.theme-dark .university-card,.app.theme-dark .upload-form,.app.theme-dark .user-profile,.app.theme-dark .user-activity,.app.theme-dark .bbs-info,.app.theme-dark .comments-section,.app.theme-dark .auth-container,.app.theme-dark .search-filter,.app.theme-dark .no-results{background:#1e1e1e;border:1px solid #333333;box-shadow:0 2px 8px #0000004d;color:#e0e0e0}.app.theme-retro .hero-section{background:#8b4513;color:beige;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNTAwIj48c3R5bGU+Lm5vdGUgeyBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JyBmb250LXNpemU6IDEycHg7IGZpbGw6ICNmNWY1ZGMsIDAuODsgfTwvc3R5bGU+PC9zdmc+)}.app.theme-modern .hero-section{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;background-image:none;box-shadow:0 10px 30px #3498db4d}.app.theme-dark .hero-section{background:#1e1e1e;color:#0f0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNTAwIj48c3R5bGU+Lm5vdGUgeyBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JyBmb250LXNpemU6IDEycHg7IGZpbGw6ICMwMGZmMDAsIDAuODsgfTwvc3R5bGU+PC9zdmc+);box-shadow:0 4px 6px #0000004d}.app.theme-retro .nav-links a{color:beige}.app.theme-modern .nav-links a{color:#fff;font-weight:500}.app.theme-dark .nav-links a{color:#e0e0e0}.app.theme-retro .btn{background-color:sienna;color:beige;border:1px solid #8b4513}.app.theme-retro .btn:hover{background-color:#8b4513}.app.theme-modern .btn{background-color:#3498db;color:#fff;border:none;border-radius:8px;box-shadow:0 2px 4px #3498db33}.app.theme-modern .btn:hover{background-color:#2980b9;box-shadow:0 4px 8px #3498db4d}.app.theme-dark .btn{background-color:#333;color:#e0e0e0;border:1px solid #555555;border-radius:4px}.app.theme-dark .btn:hover{background-color:#444}.app.theme-retro input,.app.theme-retro select,.app.theme-retro textarea{background-color:#f9f6f0;border:1px solid #d4b896;color:#333}.app.theme-modern input,.app.theme-modern select,.app.theme-modern textarea{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.75rem 1rem;font-size:1rem;color:#2c3e50;box-shadow:0 2px 4px #0000000d}.app.theme-dark input,.app.theme-dark select,.app.theme-dark textarea{background-color:#2c2c2c;border:1px solid #444444;border-radius:4px;color:#e0e0e0}.app.theme-retro .ascii-art{background:#2c2c2c;color:beige}.app.theme-modern .ascii-art{background:#2c2c2c;color:#fff;border-radius:8px;box-shadow:0 4px 6px #0003}.app.theme-dark .ascii-art{background:#000;color:#0f0;border:1px solid #333333}.navbar{background-color:#000;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.logo{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:2px}.nav-links{display:flex;list-style:none;gap:2rem}.nav-links a{color:#fff;text-decoration:none;font-weight:500;transition:color .3s ease}.nav-links a:hover{color:#ccc}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.footer{background-color:#000;color:#fff;text-align:center;padding:1rem;margin-top:auto}.home-page{text-align:center}.hero-section{background:#000;color:#0f0;padding:4rem 2rem;border-radius:8px;margin-bottom:3rem;box-shadow:0 4px 6px #0000001a;position:relative;overflow:hidden;font-family:Courier New,monospace;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNTAwIj48c3R5bGU+Lm5vdGUgeyBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JyBmb250LXNpemU6IDEycHg7IGZpbGw6ICMwMGZmMDAsIDAuODsgfTwvc3R5bGU+PC9zdmc+);background-size:cover;background-position:center}.hero-section .telnet-content{position:relative;z-index:1;text-align:left;max-width:800px;margin:0 auto;background-color:#000c;padding:2rem;border-radius:4px}.hero-section h1{font-size:1.5rem;margin-bottom:1rem;color:#0f0;text-transform:uppercase;letter-spacing:1px}.hero-section p{font-size:1rem;margin-bottom:1rem;opacity:.9;line-height:1.4}.hero-section .telnet-line{margin-bottom:.5rem}.hero-section .telnet-cursor{display:inline-block;width:8px;height:16px;background-color:#0f0;margin-left:2px}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.about-section{margin-bottom:3rem;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.features-section{margin-bottom:2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.feature-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.feature-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:4px;background:linear-gradient(90deg,transparent,#3498db,transparent);transition:left .5s ease}.feature-card:hover:before{left:100%}.feature-card h3{margin-bottom:1rem;color:#3498db}.bbs-list{margin-bottom:2rem}.search-filter{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.search-box{margin-bottom:1rem}.search-box input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.filter-options{display:flex;gap:1rem;flex-wrap:wrap}.filter-options select{flex:1;min-width:150px;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.bbs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.no-results{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;margin-top:2rem}.bbs-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease}.bbs-card:hover{transform:translateY(-5px)}.bbs-card h3{margin-bottom:.5rem;color:#2c3e50}.bbs-card .university{font-size:.9rem;color:#7f8c8d;margin-bottom:1rem}.bbs-card .year{font-size:.8rem;color:#3498db;margin-bottom:1rem}.university-list{margin-bottom:2rem}.university-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.university-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease}.university-card:hover{transform:translateY(-5px)}.university-card h3{margin-bottom:1rem;color:#2c3e50}.upload-page{max-width:800px;margin:0 auto}.upload-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.user-center{max-width:800px;margin:0 auto}.user-profile{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.user-activity{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.bbs-detail{max-width:800px;margin:0 auto}.bbs-info{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.bbs-info h2{margin-bottom:1rem;color:#2c3e50}.bbs-info .university{font-size:1.1rem;color:#7f8c8d;margin-bottom:.5rem}.bbs-info .year{font-size:1rem;color:#3498db;margin-bottom:1.5rem}.bbs-info .welcome-message{background:#f8f9fa;padding:1rem;border-radius:4px;margin-bottom:1.5rem;white-space:pre-wrap;font-family:Courier New,monospace}.bbs-info .ascii-art{background:#000;color:#fff;padding:1rem;border-radius:4px;margin-bottom:1.5rem;white-space:pre-wrap;font-family:Courier New,monospace;overflow-x:auto;font-size:12px;line-height:1.2}.ascii-art .color-red{color:red}.ascii-art .color-green{color:#0f0}.ascii-art .color-yellow{color:#ff0}.ascii-art .color-blue{color:#00f}.ascii-art .color-magenta{color:#f0f}.ascii-art .color-cyan{color:#0ff}.ascii-art .color-white{color:#fff}.comments-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.comment-form{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.comment{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.comment:last-child{border-bottom:none}.comment .commenter{font-weight:500;margin-bottom:.5rem}.comment .comment-time{font-size:.8rem;color:#7f8c8d;margin-bottom:.5rem}.auth-page{display:flex;justify-content:center;align-items:center;min-height:70vh}.auth-container{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.auth-form{margin-top:1.5rem}.error-message{background-color:#fee;color:#c00;padding:.5rem;border-radius:4px;margin-bottom:1rem}.success-message{background-color:#efe;color:#080;padding:.5rem;border-radius:4px;margin-bottom:1rem}.form-hint{font-size:.8rem;color:#7f8c8d;margin-top:.5rem;text-align:left}.auth-switch{margin-top:1.5rem;text-align:center}.btn-link{background:none;border:none;color:#3498db;cursor:pointer;font-family:inherit;padding:0;margin-left:.5rem;text-decoration:underline}.btn-link:hover{color:#2980b9}@media (max-width: 768px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:1rem}.main-content{padding:1rem}.hero-section{padding:2rem 1rem}.hero-section h1{font-size:2rem}.hero-buttons{flex-direction:column;align-items:center}.features-grid,.bbs-grid,.university-grid{grid-template-columns:1fr}.auth-container{padding:1.5rem}}
