/* transit.html */

        .weather-banner { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:40px; }
        .weather-card { background:rgba(255,255,255,.05);backdrop-filter:blur(15px);border:1px solid var(--primary);border-radius:20px;padding:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 0 20px var(--primary-glow);animation:weatherFloat 4s ease-in-out infinite; }
        .weather-temp { font-size:2rem;font-weight:700; }
        .weather-icon { font-size:2.5rem;color:var(--primary); }
        @keyframes weatherFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
        .transit-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:25px;margin-top:20px; }
        .vrs-widget { width:100%;height:min(500px,65dvh);min-height:360px;border:0;background:#fff;border-radius:0 0 15px 15px;filter:invert(.9) hue-rotate(180deg) brightness(1.1); }
        .stop-card { padding:0!important;overflow:hidden;border-top:1px solid var(--border); }
        .stop-header { padding:15px;background:rgba(0,0,0,.5);display:flex;align-items:center;gap:10px; }
        .stop-header h2 { margin:0;color:var(--primary);font-size:1.1rem; }
        @media (max-width:600px) {
            .weather-banner { grid-template-columns:1fr; }
            .vrs-widget { min-height:320px; }
        }

/* games.html */

        .game-container { width:100%;max-width:900px;height:min(600px,70dvh);min-height:360px;background:#000;border:2px solid var(--primary);box-shadow:0 0 30px var(--primary-glow);border-radius:20px;overflow:hidden;display:none;margin:30px auto;position:relative; }
        .jsdos-container,#ruffle-canvas,ruffle-player { width:100%!important;height:100%!important; }
        .game-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:25px;margin-top:20px; }
        .game-card { color:#fff;text-align:center;cursor:pointer;padding:50px!important;font:inherit; }
        .game-card i { font-size:4rem;color:var(--primary);margin-bottom:20px; }
        #loading-overlay { position:absolute;inset:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;color:var(--primary);font-weight:bold;letter-spacing:2px;text-align:center;padding:20px; }
        .mobile-game-note { display:none;margin:10px auto;max-width:650px;opacity:.8;text-align:center; }
        @media (max-width:700px) {
            #arcade-header h1 { font-size:clamp(2rem,8vw,3rem);letter-spacing:-1px;overflow-wrap:anywhere; }
            .game-card { padding:32px 20px!important; }
            .game-container { height:min(520px,65dvh);min-height:300px;border-radius:12px; }
            .mobile-game-note { display:block; }
        }

/* islam.html */

        .islam-body { background:var(--bg-main);color:var(--text); }
        .islam-card { background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:28px; }
        .arabic { font-family:"Amiri",serif;font-size:clamp(1.6rem,7vw,2.2rem);text-align:right;direction:rtl;color:var(--primary);line-height:1.8;overflow-wrap:anywhere; }
        .hadith-badge { display:inline-block;background:var(--bg-main);color:var(--primary);padding:6px 16px;border-radius:8px;font-weight:bold;margin-top:25px;font-size:.85rem;border:1px solid var(--border-glow); }
        @media (max-width:600px) {
            .islam-card { padding:22px!important; }
            .islam-title { font-size:clamp(2rem,12vw,3rem)!important;overflow-wrap:anywhere; }
        }

/* login.html */

        .login-card { max-width:450px;margin:10vh auto;text-align:center;padding:50px!important;border-top:1px solid var(--border); }
        #err { color:#fff;display:none;margin-top:20px;font-size:.8rem;background:rgba(255,45,85,.18);padding:12px;border-radius:8px;border:1px solid #ff2d55; }
        @media (max-width:500px) { .login-card { margin:5vh auto;padding:28px 20px!important; } }

/* anime.html */

        .anime-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:25px;margin-top:30px; }
        .ani-card { color:#fff;padding:0!important;overflow:hidden;border-bottom:4px solid var(--primary);height:auto;display:flex;flex-direction:column;cursor:pointer;position:relative;text-align:left;font:inherit; }
        .ani-card img { width:100%;height:280px;object-fit:cover; }
        .ani-info { padding:12px;background:rgba(10,11,16,.9);flex:1; }
        .ani-title { font-size:.85rem;font-weight:bold;color:var(--primary);height:2.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
        .ani-score { position:absolute;top:10px;right:10px;background:var(--primary);color:#000;padding:3px 8px;border-radius:5px;font-weight:bold;font-size:.75rem;z-index:5; }
        #anime-modal-backdrop { display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);overflow-y:auto;padding:40px 20px; }
        #anime-modal-backdrop.open { display:flex;justify-content:center;align-items:flex-start; }
        #anime-modal { background:rgba(10,11,16,.97);border:1px solid var(--primary);box-shadow:0 0 40px var(--primary-glow);border-radius:20px;width:100%;max-width:960px;position:relative;overflow:hidden;margin-bottom:50px; }
        #modal-close { position:absolute;top:18px;right:20px;z-index:100;background:var(--primary);color:#000;border:0;border-radius:50%;width:44px;height:44px;font-size:1.2rem;cursor:pointer;font-weight:bold; }
        #modal-banner { display:flex;min-height:320px;background:#000;border-bottom:2px solid var(--primary); }
        #modal-cover { width:230px;min-width:230px;object-fit:cover;border-right:2px solid var(--primary); }
        #modal-header-info { padding:40px;flex:1;display:flex;flex-direction:column;justify-content:center; }
        #modal-title-en { font-size:clamp(1.6rem,5vw,2.2rem);font-weight:bold;color:var(--primary);line-height:1.2;margin-bottom:15px;overflow-wrap:anywhere; }
        .modal-badge { background:rgba(255,255,255,.07);border:1px solid var(--primary);color:var(--primary);padding:6px 16px;border-radius:20px;font-size:.75rem;font-weight:bold;text-transform:uppercase;margin:5px;display:inline-block; }
        .modal-body { padding:40px; }
        .modal-section-title { color:var(--primary);font-size:.8rem;font-weight:bold;text-transform:uppercase;letter-spacing:3px;border-left:4px solid var(--primary);padding-left:15px;margin:40px 0 20px; }
        #modal-stats-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));gap:15px; }
        .stat-item { background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:15px;text-align:center;overflow-wrap:anywhere; }
        .stat-val { font-size:1.1rem;font-weight:bold;color:var(--primary); }
        .stat-lbl { font-size:.65rem;opacity:.6;text-transform:uppercase;margin-top:5px; }
        #modal-chars-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:20px; }
        .char-card { background:rgba(255,255,255,.03);border-radius:15px;overflow:hidden;border:1px solid rgba(255,255,255,.08); }
        .char-card img { width:100%;height:160px;object-fit:cover; }
        .char-info { padding:12px; }
        .char-name { font-size:.8rem;font-weight:bold;color:var(--primary); }
        .char-role,.char-va { font-size:.7rem;opacity:.7;margin-top:5px; }
        .relation-item { display:flex;gap:15px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.03);padding:12px 20px;border-radius:12px;margin-bottom:10px;overflow-wrap:anywhere; }
        .rel-type { font-size:.75rem;font-weight:bold;color:var(--primary);text-transform:uppercase; }
        .rel-name { font-size:.85rem;text-align:right; }
        @media (max-width:768px) {
            #anime-modal-backdrop { padding:12px; }
            #modal-banner { flex-direction:column; }
            #modal-cover { width:100%;height:300px;min-width:0;border-right:0;border-bottom:2px solid var(--primary); }
            #modal-header-info,.modal-body { padding:24px; }
        }
        @media (max-width:420px) {
            #modal-cover { height:240px; }
            #modal-header-info,.modal-body { padding:18px; }
            .relation-item { align-items:flex-start;flex-direction:column; }
            .rel-name { text-align:left; }
        }

/* Reusable layout utilities extracted from the existing documents. */















.archive-secure-card{border-top:1px solid var(--border);}
.archive-section-title{color:var(--primary);font-size:1.6rem;margin-bottom:20px;}
.post-editor{min-height:180px;padding-left:15px!important;}
.space-top-15{margin-top:15px;}



.game-engine-label{display:block;font-size:.85rem;opacity:.6;margin-top:10px;}
.game-loading-title{font-size:2rem;margin-bottom:15px;}
.text-center{text-align:center;}
.game-exit-button{margin-top:20px;background:var(--secondary);color:#fff;}


.space-top-10{margin-top:10px;}
.source-list{list-style:none;}
.source-entry{margin:10px 0;padding-left:15px;border-left:3px solid var(--primary);}



.islam-title{text-align:center;color:var(--primary);font-family:Amiri;font-size:3rem;margin:40px 0;}
.archive-divider-title{color:var(--text);border-bottom:1px solid var(--border);padding-bottom:15px;margin-bottom:20px;}
.reflection-action{margin-top:20px;}



.guestbook-textarea{height:100px;padding-top:15px!important;}
.guestbook-submit{width:100%;height:50px;letter-spacing:2px;}
.space-top-12{margin-top:12px;}

.login-heading{margin-bottom:35px;}
.login-title{color:var(--primary);font-size:clamp(1.4rem,8vw,1.8rem);letter-spacing:5px;text-transform:uppercase;overflow-wrap:anywhere;}
.login-rule{width:50px;height:3px;background:var(--accent);margin:10px auto;border-radius:2px;box-shadow:0 0 10px var(--accent);}
.login-subtitle{font-size:.75rem;opacity:.65;margin-bottom:25px;letter-spacing:2px;}
.login-submit{width:100%;margin-top:20px;height:50px;letter-spacing:2px;}





.span-full{grid-column:1/-1}
.modal-status{padding:80px 20px}
.synopsis{line-height:1.8;white-space:pre-wrap}
