/* ============================================================
   KUTUBXONA SAYT — ASOSIY CSS
   ============================================================ */
:root{
  --primary:#0d2a4a;--secondary:#c9a84c;--accent:#1a3d6e;
  --white:#fff;--off:#f4f6f9;--gray:#6b7a8d;--light:#e0e6ef;
  --text:#1a1a2e;--radius:12px;--shadow:0 2px 16px rgba(13,42,74,.1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito',sans-serif;background:var(--off);color:var(--text);font-size:16px;line-height:1.6;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;}
ul{list-style:none;}
body.hi-con{filter:contrast(2)!important;}
body.grayscale{filter:grayscale(1)!important;}
body.ul-links a{text-decoration:underline!important;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ACCESSIBILITY BTN */
.ab-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 12px;border-radius:5px;cursor:pointer;font-size:13px;font-family:'Nunito',sans-serif;transition:all .2s;}
.ab-btn:hover{background:var(--secondary);color:var(--primary);border-color:var(--secondary);}

/* TOPBAR */
.topbar{background:var(--primary);display:flex;justify-content:space-between;align-items:center;padding:6px 24px;flex-wrap:wrap;gap:6px;}
.tb-left{display:flex;align-items:center;gap:14px;}
.tb-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.online-dot{color:rgba(255,255,255,.8);font-size:12px;display:flex;align-items:center;gap:5px;}
.tb-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;padding:3px 9px;border-radius:4px;cursor:pointer;font-size:12px;font-family:'Nunito',sans-serif;transition:all .2s;}
.tb-btn:hover{background:var(--secondary);color:var(--primary);}
.lang-btn{padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700;color:rgba(255,255,255,.65);transition:all .2s;}
.lang-btn.active,.lang-btn:hover{background:var(--secondary);color:var(--primary);}
.tb-admin-btn{background:var(--secondary);color:var(--primary);padding:4px 14px;border-radius:20px;font-weight:700;font-size:12px;transition:all .2s;}
.tb-admin-btn:hover{background:#e8c97a;}

/* HEADER */
.site-header{background:#fff;box-shadow:0 2px 12px rgba(13,42,74,.1);position:sticky;top:0;z-index:200;}
.header-wrap{max-width:1280px;margin:0 auto;display:flex;align-items:center;padding:12px 24px;gap:20px;}
.logo-link{display:flex;align-items:center;gap:12px;min-width:160px;}
.logo-img{height:52px;width:auto;}
.logo-placeholder{width:52px;height:52px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--secondary);font-size:22px;}
.logo-text strong{font-family:'Playfair Display',serif;font-size:13px;color:var(--primary);display:block;line-height:1.35;max-width:200px;}
.mob-menu-btn{display:none;background:none;border:none;font-size:24px;color:var(--primary);cursor:pointer;}

/* NAV */
.main-nav{display:flex;gap:2px;flex:1;flex-wrap:wrap;}
.nav-it{position:relative;}
.nav-a{display:flex;align-items:center;gap:4px;padding:8px 13px;border-radius:6px;font-size:13px;font-weight:700;color:var(--primary);transition:all .2s;white-space:nowrap;}
.nav-a:hover,.nav-a.act{background:var(--primary);color:var(--secondary);}
.nav-arr{font-size:10px;transition:transform .2s;}
.nav-it:hover .nav-arr{transform:rotate(180deg);}
.sub-nav{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--light);border-radius:8px;box-shadow:var(--shadow);min-width:200px;z-index:300;padding:6px 0;}
.nav-it:hover .sub-nav{display:block;}
.sub-nav a{display:block;padding:9px 18px;font-size:13px;color:var(--primary);transition:background .15s;}
.sub-nav a:hover{background:var(--off);color:var(--secondary);}

/* HERO */
.hero-section{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 60%,#1e4d8c 100%);overflow:hidden;}
.hero-slider{}
.hero-slide{display:flex;align-items:center;padding:40px 60px;gap:24px;max-width:1280px;margin:0 auto;}
.hero-text{flex:1;}
.hero-text blockquote{font-family:'Playfair Display',serif;font-size:26px;color:#e8c97a;font-style:italic;margin-bottom:14px;line-height:1.35;}
.hero-text p{color:rgba(255,255,255,.85);font-size:15px;line-height:1.7;max-width:440px;margin-bottom:20px;}
.hero-img-box{flex:0 0 340px;height:220px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);}
.hero-img-box img{width:100%;height:100%;object-fit:cover;}
.btn-primary{display:inline-block;background:var(--secondary);color:var(--primary);padding:10px 28px;border-radius:24px;font-weight:700;font-size:14px;transition:all .2s;border:none;cursor:pointer;font-family:'Nunito',sans-serif;}
.btn-primary:hover{background:#e8c97a;transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,168,76,.4);}
.slider-ctrl{display:flex;justify-content:center;align-items:center;gap:10px;padding:14px;background:rgba(0,0,0,.25);}
.s-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:all .2s;}
.s-dot.active{background:var(--secondary);transform:scale(1.2);}
.s-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:13px;transition:all .2s;}
.s-btn:hover{background:var(--secondary);color:var(--primary);}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* SEARCH */
.search-sec{background:#fff;padding:22px 0;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.s-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:14px;}
.stab{padding:6px 20px;border-radius:20px;border:2px solid var(--primary);font-weight:700;font-size:13px;cursor:pointer;background:#fff;color:var(--primary);font-family:'Nunito',sans-serif;transition:all .2s;}
.stab.active{background:var(--primary);color:var(--secondary);}
.s-bar{max-width:640px;margin:0 auto;display:flex;border-radius:32px;overflow:hidden;border:2px solid var(--primary);}
.s-bar input{flex:1;border:none;padding:11px 22px;font-size:15px;font-family:'Nunito',sans-serif;outline:none;}
.s-bar button{background:var(--primary);border:none;padding:0 22px;cursor:pointer;color:var(--secondary);font-size:16px;}
.s-results{max-width:640px;margin:10px auto 0;background:#fff;border:1px solid var(--light);border-radius:10px;display:none;box-shadow:var(--shadow);max-height:300px;overflow-y:auto;}
.sr-item{padding:12px 18px;border-bottom:1px solid var(--light);cursor:pointer;}
.sr-item:hover{background:var(--off);}
.sr-item h5{font-size:14px;color:var(--primary);margin-bottom:3px;}
.sr-item p{font-size:12px;color:var(--gray);}

/* SECTION */
.section{max-width:1280px;margin:0 auto;padding:40px 24px;}
.sec-title{font-family:'Playfair Display',serif;font-size:22px;color:var(--primary);text-align:center;margin-bottom:28px;}
.sec-title::after{content:'';display:block;width:60px;height:3px;background:var(--secondary);margin:10px auto 0;border-radius:2px;}
.more-link{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;color:var(--primary);font-weight:700;font-size:14px;}
.more-link:hover{color:var(--secondary);}

/* NEWS GRID */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
.news-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;transition:all .25s;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(13,42,74,.16);border-bottom:3px solid var(--secondary);}
.news-thumb{height:180px;overflow:hidden;}
.news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.news-card:hover .news-thumb img{transform:scale(1.05);}
.news-ph{height:180px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:48px;color:rgba(255,255,255,.2);}
.news-body{padding:14px;flex:1;}
.news-body h4{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:7px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.news-body p{font-size:12px;color:var(--gray);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.news-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--light);flex-wrap:wrap;gap:5px;}
.news-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--gray);}
.vbadge{display:flex;align-items:center;gap:4px;}
.btn-d{background:var(--primary);color:#fff;border:none;padding:5px 13px;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s;font-family:'Nunito',sans-serif;}
.btn-d:hover{background:var(--secondary);color:var(--primary);}

/* BOOKS */
.books-bg{background:linear-gradient(180deg,var(--off) 0%,#e8edf5 100%);padding:40px 0;}
.books-slide{display:flex;gap:16px;overflow-x:auto;padding:8px 4px 16px;scrollbar-width:thin;}
.book-card{flex:0 0 160px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:all .25s;display:flex;flex-direction:column;}
.book-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 10px 28px rgba(13,42,74,.18);}
.book-cov{height:185px;overflow:hidden;flex-shrink:0;}
.book-cov img{width:100%;height:100%;object-fit:cover;}
.book-cov-ph{height:185px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;text-align:center;padding:12px;color:#fff;line-height:1.3;flex-shrink:0;}
.book-info{padding:10px 12px;display:flex;flex-direction:column;flex:1;}
.book-info .ti{font-size:12px;font-weight:700;color:var(--primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px;flex:1;}
.book-info .au{font-size:11px;color:var(--gray);margin-bottom:6px;}
.book-info .vbadge{font-size:11px;color:var(--gray);display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:6px;border-top:1px solid var(--light);}

/* PDF */
.pdf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;}
.pdf-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:all .25s;}
.pdf-card:hover{transform:translateY(-4px);}
.pdf-cov{height:200px;background:var(--primary);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pdf-cov img{width:100%;height:100%;object-fit:cover;}
.pdf-icon{font-size:60px;color:var(--secondary);}
.pdf-body{padding:14px;}
.pdf-body h4{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.btn-read{display:block;text-align:center;background:var(--primary);color:#fff;padding:8px;border-radius:8px;font-size:13px;font-weight:700;border:none;cursor:pointer;width:100%;font-family:'Nunito',sans-serif;margin-top:8px;transition:all .2s;}
.btn-read:hover{background:var(--secondary);color:var(--primary);}

/* RESOURCES */
.res-sec{background:var(--primary);padding:40px 0;}
.res-sec .sec-title{color:#fff;}
.res-grid{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.res-card{background:#fff;border-radius:var(--radius);padding:18px 22px;min-width:150px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.2);transition:all .25s;cursor:pointer;text-decoration:none;display:block;color:var(--primary);}
.res-card:hover{transform:translateY(-4px);background:#fdf8ec;}
.res-icon{font-size:32px;margin-bottom:8px;}
.res-card img{max-height:40px;max-width:120px;object-fit:contain;margin:0 auto 8px;display:block;}
.res-name{font-weight:700;font-size:14px;color:var(--primary);}
.res-type{font-size:11px;color:var(--gray);margin-top:4px;}

/* PARTNERS LENTA */
.partners-sec{background:#e8edf5;padding:20px 0;overflow:hidden;}
.p-track{display:flex;gap:20px;animation:p-scroll 25s linear infinite;width:max-content;}
@keyframes p-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.p-item{background:#fff;border-radius:8px;padding:10px 20px;font-weight:700;font-size:13px;color:var(--primary);white-space:nowrap;box-shadow:0 1px 6px rgba(13,42,74,.08);display:flex;align-items:center;gap:8px;text-decoration:none;}
.p-item:hover{color:var(--secondary);}
.p-item img{height:26px;object-fit:contain;}

/* FOOTER */
.site-footer{background:var(--primary);color:#fff;padding:40px 0 0;}
.foot-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:200px 1fr 1fr 220px;gap:36px;margin-bottom:28px;}
.foot-col h4{font-family:'Playfair Display',serif;color:var(--secondary);margin-bottom:14px;font-size:15px;text-transform:uppercase;letter-spacing:1px;}
.foot-logo img{height:60px;margin-bottom:10px;}
.foot-logo p{font-size:12px;color:rgba(255,255,255,.65);line-height:1.5;}
.f-socials{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.fs{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .2s;text-decoration:none;}
.fs:hover{transform:scale(1.15);}
.fs.ig{background:#e1306c;color:#fff}
.fs.tg{background:#229ed9;color:#fff}
.fs.fb{background:#1877f2;color:#fff}
.fs.yt{background:#ff0000;color:#fff}
.fs.tw{background:#1da1f2;color:#fff}
.foot-col p{font-size:13px;color:rgba(255,255,255,.75);margin-bottom:9px;display:flex;align-items:flex-start;gap:9px;}
.foot-col p i{color:var(--secondary);margin-top:2px;flex-shrink:0;}
.foot-links li{margin-bottom:7px;}
.foot-links a{font-size:13px;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:7px;}
.foot-links a:hover{color:var(--secondary);}
.foot-bottom{background:rgba(0,0,0,.3);display:flex;justify-content:space-between;align-items:center;padding:14px 24px;flex-wrap:wrap;gap:8px;}
.foot-bottom p{font-size:12px;color:rgba(255,255,255,.45);}
.f-clock{font-size:13px;color:var(--secondary);font-weight:700;display:flex;align-items:center;gap:6px;}

/* BREADCRUMB */
.breadcrumb{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;gap:8px;align-items:center;font-size:13px;color:var(--gray);}
.breadcrumb a{color:var(--primary);font-weight:600;}
.breadcrumb a:hover{color:var(--secondary);}

/* NEWS DETAIL */
.news-detail{background:#fff;border-radius:var(--radius);padding:36px 40px;box-shadow:var(--shadow);max-width:860px;margin:0 auto;}
.news-detail h1{font-family:'Playfair Display',serif;font-size:26px;color:var(--primary);margin-bottom:16px;line-height:1.35;}
.nd-meta{display:flex;align-items:center;gap:16px;color:var(--gray);font-size:13px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--light);flex-wrap:wrap;}
.nd-content{font-size:15px;line-height:1.85;color:var(--text);}
.nd-content img{max-width:100%;border-radius:8px;margin:14px 0;height:auto;}
.nd-content p{margin-bottom:14px;}
.nd-content h1,.nd-content h2,.nd-content h3{font-family:'Playfair Display',serif;color:var(--primary);margin:18px 0 10px;}
.nd-content ul,.nd-content ol{padding-left:24px;margin-bottom:14px;}
.nd-content li{margin-bottom:6px;}
.nd-content blockquote{border-left:4px solid var(--secondary);padding:12px 18px;background:var(--off);margin:16px 0;border-radius:0 8px 8px 0;font-style:italic;}
.nd-content a{color:var(--accent);text-decoration:underline;}
.nd-content table{width:100%;border-collapse:collapse;margin:14px 0;}
.nd-content th,.nd-content td{padding:10px 14px;border:1px solid var(--light);font-size:13px;}
.nd-content th{background:var(--primary);color:#fff;}

/* BOOK DETAIL */
.book-det{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);max-width:960px;margin:0 auto;display:grid;grid-template-columns:260px 1fr;gap:36px;}
.bd-cover img{width:100%;border-radius:10px;box-shadow:0 6px 24px rgba(13,42,74,.2);}
.bd-title{font-family:'Playfair Display',serif;font-size:24px;color:var(--primary);margin-bottom:18px;line-height:1.35;}
.bd-meta{background:var(--off);border-radius:10px;padding:16px;border-left:4px solid var(--secondary);margin-bottom:20px;}
.bd-row{display:flex;align-items:center;gap:10px;font-size:14px;padding:6px 0;border-bottom:1px solid var(--light);}
.bd-row:last-child{border-bottom:none;}
.bd-row i{color:var(--secondary);width:18px;text-align:center;}
.bd-label{color:var(--gray);min-width:90px;font-weight:600;}
.bd-val{color:var(--primary);font-weight:700;}
.bd-annot h3{font-size:15px;font-weight:800;color:var(--primary);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--secondary);}
.bd-annot p{font-size:14px;line-height:1.8;color:var(--text);}
.bd-qr{text-align:center;padding:14px;background:var(--off);border-radius:10px;margin-top:16px;}
.bd-qr h3{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:8px;}
.bd-qr img{max-width:160px;border-radius:6px;}

/* CONTACT */
.contact-form{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);max-width:700px;margin:0 auto;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-weight:700;font-size:13px;color:var(--primary);margin-bottom:6px;}
.form-group input,.form-group textarea,.form-group select{width:100%;border:1px solid var(--light);border-radius:8px;padding:10px 14px;font-size:14px;font-family:'Nunito',sans-serif;outline:none;transition:border .2s;color:var(--text);}
.form-group input:focus,.form-group textarea:focus{border-color:var(--secondary);}
.form-group textarea{min-height:120px;resize:vertical;}
.btn-submit{background:var(--primary);color:#fff;border:none;padding:12px 32px;border-radius:24px;font-weight:700;font-size:15px;cursor:pointer;font-family:'Nunito',sans-serif;width:100%;transition:all .2s;}
.btn-submit:hover{background:var(--secondary);color:var(--primary);}
.cs-box{background:#fff;border-radius:var(--radius);padding:36px;text-align:center;box-shadow:var(--shadow);max-width:480px;margin:0 auto;}
.cs-icon{font-size:60px;color:#27ae60;margin-bottom:12px;}
.cs-box h3{font-family:'Playfair Display',serif;font-size:22px;color:var(--primary);margin-bottom:8px;}
.cs-box p{color:var(--gray);margin-bottom:18px;}
.cs-info{background:var(--off);border-radius:10px;padding:14px;margin-bottom:20px;text-align:left;}
.cs-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--light);font-size:14px;}
.cs-row:last-child{border-bottom:none;}
.cs-row span{color:var(--gray);}

/* PAGE */
.page-content{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);}
.page-content h1{font-family:'Playfair Display',serif;font-size:24px;color:var(--primary);margin-bottom:18px;}
.page-content img{border-radius:8px;margin:12px 0;}

/* SOCIAL POPUP */
.sp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.sp-box{background:#fff;border-radius:18px;padding:36px 32px;max-width:400px;width:90%;text-align:center;position:relative;animation:popIn .4s ease;}
@keyframes popIn{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
.sp-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--gray);}
.sp-box h3{font-family:'Playfair Display',serif;font-size:20px;color:var(--primary);margin-bottom:8px;}
.sp-box p{font-size:13px;color:var(--gray);margin-bottom:18px;}
.sp-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px;}
.sp-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;font-weight:700;font-size:12px;color:#fff;transition:all .2s;text-decoration:none;}
.sp-skip{background:none;border:none;color:var(--gray);font-size:12px;cursor:pointer;text-decoration:underline;font-family:'Nunito',sans-serif;}

/* CHATBOT */
.chat-widget{position:fixed;bottom:90px;right:24px;z-index:5000;}
.chat-toggle{background:var(--primary);color:var(--secondary);border:none;width:54px;height:54px;border-radius:50%;font-size:22px;cursor:pointer;box-shadow:0 4px 18px rgba(13,42,74,.3);position:relative;transition:all .3s;}
.chat-toggle:hover{background:var(--accent);transform:scale(1.08);}
.chat-badge{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.chat-box{display:none;flex-direction:column;position:absolute;bottom:68px;right:0;width:310px;background:#fff;border-radius:14px;box-shadow:0 8px 40px rgba(13,42,74,.2);overflow:hidden;max-height:420px;}
.chat-box.open{display:flex;animation:slideUp .3s ease;}
@keyframes slideUp{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
.chat-head{background:var(--primary);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;}
.chat-head-info{display:flex;align-items:center;gap:10px;}
.chat-av{background:var(--secondary);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;}
.chat-head strong{color:#fff;font-size:13px;display:block;}
.chat-head span{color:#4ade80;font-size:11px;}
.chat-head button{background:none;border:none;color:rgba(255,255,255,.7);font-size:16px;cursor:pointer;}
.chat-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;max-height:240px;}
.cmsg-bot .cbubble{background:var(--off);color:var(--text);border-radius:12px 12px 12px 2px;}
.cmsg-user .cbubble{background:var(--primary);color:#fff;border-radius:12px 12px 2px 12px;margin-left:auto;}
.cbubble{padding:8px 12px;font-size:13px;line-height:1.5;display:inline-block;max-width:85%;}
.cq-btns{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;}
.cq-btns button{background:#fff;border:1px solid var(--light);border-radius:14px;padding:4px 10px;font-size:11px;cursor:pointer;transition:all .2s;font-family:'Nunito',sans-serif;color:var(--primary);}
.cq-btns button:hover{background:var(--primary);color:#fff;border-color:var(--primary);}
.chat-inp{display:flex;border-top:1px solid var(--light);}
.chat-inp input{flex:1;border:none;padding:10px 12px;font-size:13px;outline:none;font-family:'Nunito',sans-serif;}
.chat-inp button{background:var(--primary);color:var(--secondary);border:none;padding:0 14px;cursor:pointer;font-size:14px;}

/* STATS FAB */
.stats-fab{position:fixed;bottom:24px;right:24px;z-index:4000;}
.sfab-btn{background:var(--secondary);color:var(--primary);border:none;width:48px;height:48px;border-radius:50%;font-size:18px;cursor:pointer;box-shadow:0 4px 16px rgba(201,168,76,.4);transition:all .3s;}
.sfab-btn:hover{transform:scale(1.1);}
.stats-panel{display:none;position:absolute;bottom:58px;right:0;width:300px;background:#fff;border-radius:12px;box-shadow:0 8px 40px rgba(13,42,74,.2);overflow:hidden;}
.stats-panel.open{display:block;animation:slideUp .3s ease;}
.sp-head{background:var(--primary);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;}
.sp-head h3{color:var(--secondary);font-size:14px;display:flex;align-items:center;gap:7px;}
.sp-head button{background:none;border:none;color:rgba(255,255,255,.7);font-size:15px;cursor:pointer;}
.sp-filters{padding:10px 12px;display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--light);}
.sfb{padding:4px 10px;border:1px solid var(--light);border-radius:12px;font-size:11px;font-weight:700;cursor:pointer;background:#fff;color:var(--primary);font-family:'Nunito',sans-serif;transition:all .2s;}
.sfb.active{background:var(--primary);color:var(--secondary);border-color:var(--primary);}
.sp-custom{padding:6px 12px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--light);}
.sp-custom input{border:1px solid var(--light);border-radius:5px;padding:3px 7px;font-size:11px;font-family:'Nunito',sans-serif;}
.sp-custom button{background:var(--primary);color:#fff;border:none;padding:4px 8px;border-radius:5px;cursor:pointer;}
.sp-body{padding:12px;}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.s-card{background:var(--off);border-radius:8px;padding:12px;text-align:center;}
.s-num{font-size:24px;font-weight:800;color:var(--primary);font-family:'Playfair Display',serif;}
.s-lbl{font-size:10px;color:var(--gray);margin-top:3px;display:flex;align-items:center;justify-content:center;gap:4px;}

/* PDF MODAL */
.pdf-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:9000;flex-direction:column;}
.pdf-modal-head{background:#0d2a4a;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.pdf-modal-head span{color:var(--secondary);font-weight:700;}
.pdf-modal-head button{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;}
.pdf-modal-body{flex:1;overflow:hidden;}
.pdf-modal-body iframe{width:100%;height:100%;border:none;}

/* RESPONSIVE */
@media(max-width:1024px){.foot-inner{grid-template-columns:1fr 1fr;}.book-det{grid-template-columns:1fr;}}
@media(max-width:768px){
  .mob-menu-btn{display:block;}
  .main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;box-shadow:var(--shadow);flex-direction:column;padding:14px;gap:4px;z-index:500;}
  .main-nav.open{display:flex;}
  .sub-nav{position:static;box-shadow:none;border:none;border-left:3px solid var(--secondary);margin-left:14px;border-radius:0;padding-left:4px;}
  .nav-it:hover .sub-nav{display:none;}
  .nav-it.open .sub-nav{display:block;}
  .hero-slide{flex-direction:column;padding:24px 20px;gap:16px;}
  .hero-img-box{flex:none;width:100%;height:180px;}
  .hero-text blockquote{font-size:18px;}
  .news-detail{padding:20px 16px;}
  .news-detail h1{font-size:20px;}
  .book-det{padding:20px;gap:20px;}
  .foot-inner{grid-template-columns:1fr;gap:22px;}
  .chat-box{width:280px;right:-14px;}
  .stats-panel{width:280px;right:-14px;}
}
@media(max-width:480px){
  .topbar{padding:5px 12px;}
  .header-wrap{padding:10px 14px;}
  .logo-img{height:42px;}
  .pdf-grid{grid-template-columns:repeat(2,1fr);}
}

/* PAGE HTML CONTENT — TinyMCE dan kelgan HTML to'g'ri ko'rinishi */
.page-html-content {
    font-size: 15px;
    line-height: 1.85;
    color: var(--text);
}
.page-html-content p { margin-bottom: 14px; }
.page-html-content h1,.page-html-content h2,.page-html-content h3,.page-html-content h4 {
    font-family: 'Playfair Display', serif;
    color: var(--primary);
    margin: 20px 0 10px;
    line-height: 1.35;
}
.page-html-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 12px 0;
    display: block;
}
.page-html-content ul,.page-html-content ol {
    padding-left: 24px;
    margin-bottom: 14px;
}
.page-html-content li { margin-bottom: 6px; }
.page-html-content blockquote {
    border-left: 4px solid var(--secondary);
    padding: 12px 20px;
    background: var(--off);
    margin: 16px 0;
    border-radius: 0 8px 8px 0;
    font-style: italic;
}
.page-html-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
}
.page-html-content th,.page-html-content td {
    padding: 10px 14px;
    border: 1px solid var(--light);
    font-size: 14px;
    text-align: left;
}
.page-html-content th {
    background: var(--primary);
    color: #fff;
    font-weight: 700;
}
.page-html-content a {
    color: var(--accent);
    text-decoration: underline;
}
.page-html-content strong { font-weight: 700; }
.page-html-content em { font-style: italic; }
.page-html-content span { /* TinyMCE span teglari uchun */ }

/* ================================================================
   XODIMLAR / RAHBARIYAT KARTOCHKALARI
   ================================================================ */
.sc-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 18px rgba(13,42,74,.08);
    border: 1px solid var(--light);
    margin-bottom: 22px;
    overflow: hidden;
    position: relative;
    transition: box-shadow .3s, transform .25s;
}
.sc-card:hover { box-shadow: 0 8px 36px rgba(13,42,74,.13); transform: translateY(-2px); }
.sc-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 4px; height: 100%;
    background: linear-gradient(180deg, var(--secondary), #e8c97a);
    border-radius: 14px 0 0 14px;
}

.sc-top {
    display: grid;
    grid-template-columns: 180px 1fr;
}

/* Photo column */
.sc-photo-col {
    background: linear-gradient(160deg, #eef1f8, #dde3f0);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px 20px;
    position: relative;
}
.sc-photo-col::after {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 1px; height: 100%;
    background: linear-gradient(180deg, var(--secondary), transparent);
}
.sc-photo-wrap { position: relative; width: 130px; }
.sc-photo-wrap img {
    width: 130px;
    height: 160px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
    box-shadow: 0 4px 18px rgba(13,42,74,.18);
}
.sc-photo-ph {
    width: 130px;
    height: 160px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 42px;
    font-weight: 800;
    font-family: 'Playfair Display', serif;
    box-shadow: 0 4px 18px rgba(13,42,74,.18);
}
.sc-num-badge {
    position: absolute;
    top: -10px; right: -10px;
    width: 28px; height: 28px;
    background: var(--secondary);
    color: var(--primary);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(201,168,76,.4);
}

/* Info column */
.sc-info-col {
    padding: 22px 26px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sc-pos-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 20px;
    width: fit-content;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.sc-pos-badge.gold {
    background: rgba(201,168,76,.1);
    color: #7a5a0a;
    border: 1px solid rgba(201,168,76,.3);
}
.sc-pos-badge.navy {
    background: rgba(13,42,74,.07);
    color: var(--primary);
    border: 1px solid rgba(13,42,74,.12);
}
.sc-name {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.25;
}
.sc-contacts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 18px;
}
.sc-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 12.5px;
}
.sc-contact-row i {
    color: var(--secondary);
    font-size: 11px;
    margin-top: 3px;
    flex-shrink: 0;
    width: 13px;
}
.sc-clabel {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--gray);
    display: block;
}
.sc-cval {
    color: var(--text);
    font-size: 12.5px;
    display: block;
    line-height: 1.4;
    text-decoration: none;
}
a.sc-cval:hover { color: var(--secondary); }

.sc-btns {
    display: flex;
    gap: 8px;
    margin-top: 6px;
    flex-wrap: wrap;
}
.sc-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-family: 'Nunito', sans-serif;
    font-size: 12px;
    font-weight: 700;
    transition: all .25s;
}
.sc-btn-bio {
    background: var(--primary);
    color: #fff;
}
.sc-btn-bio:hover, .sc-btn-bio.open { background: var(--secondary); color: var(--primary); }
.sc-btn-duty {
    background: transparent;
    color: var(--primary);
    border: 1.5px solid var(--light);
}
.sc-btn-duty:hover, .sc-btn-duty.open {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}
.sc-chev {
    font-size: 9px;
    transition: transform .3s;
}
.sc-btn.open .sc-chev { transform: rotate(180deg); }

/* Accordion */
.sc-accordion {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .5s cubic-bezier(.4,0,.2,1), opacity .35s ease;
}
.sc-accordion.open { max-height: 800px; opacity: 1; }
.sc-acc-inner {
    padding: 18px 26px 22px;
    border-top: 1px solid var(--light);
}
.sc-acc-label {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--secondary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.sc-acc-label::after { content:''; flex:1; height:1px; background:var(--light); }
.sc-acc-label i { font-size: 13px; }
.sc-acc-text {
    font-size: 14px;
    line-height: 1.85;
    color: var(--gray);
}
.sc-acc-text ul { padding-left: 18px; margin-top: 6px; }
.sc-acc-text li { margin-bottom: 5px; }
.sc-acc-text li::marker { color: var(--secondary); }

/* Responsive */
@media (max-width: 768px) {
    .sc-top { grid-template-columns: 1fr; }
    .sc-photo-col { padding: 20px; }
    .sc-photo-wrap img, .sc-photo-ph { width: 100px; height: 120px; }
    .sc-info-col { padding: 16px; }
    .sc-contacts { grid-template-columns: 1fr; }
    .sc-name { font-size: 17px; }
}

/* ================================================================
   YANGILIK DETAIL — 2 USTUNLI LAYOUT (asosiy + sidebar)
   ================================================================ */
.nd-layout {
    max-width: 1280px;
    margin: 0 auto;
    padding: 32px 24px;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 28px;
    align-items: start;
}
.nd-main {
    min-width: 0; /* overflow oldini olish */
}
/* Eski .section wrapperni olib tashlaymiz, layout o'zi wrap qiladi */
.nd-layout .news-detail {
    background: #fff;
    border-radius: var(--radius);
    padding: 32px 36px;
    box-shadow: var(--shadow);
}

/* SIDEBAR */
.nd-sidebar {
    position: sticky;
    top: 88px; /* header balandligi */
}
.nds-box {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}
.nds-title {
    background: var(--primary);
    color: var(--secondary);
    font-family: 'Playfair Display', serif;
    font-size: 14px;
    font-weight: 700;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.5px;
}
.nds-title i {
    font-size: 13px;
    animation: pulse 1.5s infinite;
}
.nds-list {
    padding: 8px 0;
}
.nds-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 16px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid var(--light);
    transition: background .2s;
}
.nds-item:last-child { border-bottom: none; }
.nds-item:hover { background: var(--off); }

.nds-thumb {
    flex-shrink: 0;
    width: 72px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
}
.nds-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.nds-item:hover .nds-thumb img { transform: scale(1.06); }
.nds-thumb-ph {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.4);
    font-size: 20px;
}

.nds-info {
    flex: 1;
    min-width: 0;
}
.nds-info h5 {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.45;
    margin-bottom: 5px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .2s;
}
.nds-item:hover .nds-info h5 { color: var(--secondary); }
.nds-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 10.5px;
    color: var(--gray);
}
.nds-meta i { color: var(--secondary); font-size: 9px; }

.nds-all {
    display: block;
    text-align: center;
    padding: 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    background: var(--off);
    border-top: 2px solid var(--secondary);
    text-decoration: none;
    transition: all .2s;
}
.nds-all:hover {
    background: var(--primary);
    color: var(--secondary);
}

/* Responsive */
@media (max-width: 1024px) {
    .nd-layout {
        grid-template-columns: 1fr 280px;
        gap: 20px;
    }
}
@media (max-width: 768px) {
    .nd-layout {
        grid-template-columns: 1fr;
        padding: 16px;
    }
    .nd-sidebar {
        position: static;
        order: -1; /* mobileda yuqorida turadi (ixtiyoriy) */
    }
    .nd-layout .news-detail {
        padding: 20px 16px;
    }
}

/* ================================================================
   KITOB DETAIL + TAVSIYA BLOKI
   ================================================================ */
.book-detail-page {
    background: var(--off);
}

/* TAVSIYA BLOKI */
.book-rec-section {
    background: linear-gradient(180deg, #fff 0%, var(--off) 100%);
    padding: 0 0 40px;
    margin-top: 8px;
    border-top: 2px solid var(--light);
}
.book-rec-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 10px;
}
.book-rec-title {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    padding-bottom: 10px;
}
.book-rec-title::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 48px; height: 3px;
    background: var(--secondary);
    border-radius: 2px;
}
.book-rec-title i {
    color: var(--secondary);
    font-size: 18px;
}
.book-rec-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 18px;
    border: 2px solid var(--primary);
    border-radius: 22px;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    text-decoration: none;
    transition: all .2s;
}
.book-rec-all:hover {
    background: var(--primary);
    color: var(--secondary);
}

/* TAVSIYA GRID */
.book-rec-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
}

/* TAVSIYA KARTA */
.book-rec-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow);
    cursor: pointer;
    transition: all .28s;
    display: flex;
    flex-direction: column;
}
.book-rec-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 12px 32px rgba(13,42,74,.18);
}

/* Muqova */
.brc-cover {
    position: relative;
    height: 200px;
    overflow: hidden;
    flex-shrink: 0;
}
.brc-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s;
    display: block;
}
.book-rec-card:hover .brc-cover img { transform: scale(1.07); }
.brc-ph {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 14px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
}

/* Hover overlay */
.brc-overlay {
    position: absolute;
    inset: 0;
    background: rgba(13,42,74,.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .28s;
}
.book-rec-card:hover .brc-overlay { opacity: 1; }
.brc-overlay span {
    background: var(--secondary);
    color: var(--primary);
    padding: 8px 18px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Info */
.brc-info {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.brc-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.45;
    margin-bottom: 4px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.brc-author {
    font-size: 11px;
    color: var(--gray);
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.brc-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: var(--gray);
    margin-top: auto;
    padding-top: 7px;
    border-top: 1px solid var(--light);
}
.brc-views {
    display: flex;
    align-items: center;
    gap: 4px;
}
.brc-views i { color: var(--secondary); }

/* Responsive */
@media (max-width: 1200px) {
    .book-rec-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px) {
    .book-rec-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
    .book-rec-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .brc-cover { height: 160px; }
    .book-rec-title { font-size: 18px; }
}

/* ================================================================
   PUZZLE O'YINI — TO'LIQ STIL
   ================================================================ */

/* Hero */
.pz-page { background: #f0f2f8; min-height: 60vh; }
.pz-hero {
    background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
    padding: 28px 0;
    position: relative;
    overflow: hidden;
}
.pz-hero::before {
    content: '';
    position: absolute; top: -60px; right: -60px;
    width: 240px; height: 240px; border-radius: 50%;
    background: rgba(201,168,76,.08);
}
.pz-hero-inner {
    max-width: 1280px; margin: 0 auto; padding: 0 24px;
    display: flex; align-items: center;
    justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.pz-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--secondary); color: var(--primary);
    padding: 4px 14px; border-radius: 20px;
    font-size: 11px; font-weight: 800;
    letter-spacing: 1.5px; text-transform: uppercase;
    margin-bottom: 10px;
}
.pz-hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: 24px; font-weight: 700;
    color: #fff; margin-bottom: 12px; line-height: 1.3;
}
.pz-hero-meta {
    display: flex; align-items: center; gap: 16px;
    flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,.8);
}
.pz-hero-meta span { display: flex; align-items: center; gap: 5px; }
.pz-hero-meta i { font-size: 11px; }
.pz-diff-easy   { color: #4ade80 !important; }
.pz-diff-medium { color: #fbbf24 !important; }
.pz-diff-hard   { color: #f87171 !important; }
.pz-hero-btns { display: flex; gap: 10px; flex-wrap: wrap; }

/* Buttons */
.pz-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 10px 20px; border-radius: 24px;
    font-family: 'Nunito', sans-serif;
    font-size: 13px; font-weight: 700; cursor: pointer;
    border: none; transition: all .25s;
}
.pz-btn-play   { background: var(--secondary); color: var(--primary); }
.pz-btn-play:hover { background: #e8c97a; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(201,168,76,.4); }
.pz-btn-hint   { background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.pz-btn-hint:hover { background: rgba(255,255,255,.25); }
.pz-btn-reset  { background: rgba(255,255,255,.1); color: rgba(255,255,255,.8); border: 1px solid rgba(255,255,255,.2); }
.pz-btn-reset:hover { background: rgba(255,255,255,.2); }

/* Main layout */
.pz-main {
    max-width: 1280px; margin: 0 auto;
    padding: 28px 24px;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 24px;
    align-items: start;
}

/* Game column */
.pz-game-col {}

/* Hint */
.pz-hint-box {
    background: #fff; border-radius: 12px;
    box-shadow: var(--shadow); overflow: hidden;
    margin-bottom: 18px; max-width: 380px;
}
.pz-hint-title {
    background: var(--primary); color: var(--secondary);
    padding: 10px 16px; font-size: 13px; font-weight: 700;
    display: flex; align-items: center; gap: 7px;
}
.pz-hint-img { width: 100%; display: block; object-fit: contain; max-height: 300px; }

/* Puzzle board */
.pz-board-wrap {
    background: #fff; border-radius: 16px;
    box-shadow: 0 4px 32px rgba(13,42,74,.15);
    padding: 16px;
    position: relative;
}
.pz-board {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    background: #e8edf5;
    border-radius: 10px;
    overflow: hidden;
    user-select: none;
    touch-action: none;
}

/* Start overlay */
.pz-start-overlay {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    z-index: 50;
    background: rgba(13,42,74,.5);
    backdrop-filter: blur(2px);
}
.pz-start-img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover;
    z-index: -1;
}
.pz-start-inner {
    text-align: center; color: #fff; z-index: 1;
}
.pz-start-inner i { font-size: 52px; color: var(--secondary); margin-bottom: 12px; display: block; }
.pz-start-inner p { font-size: 14px; color: rgba(255,255,255,.9); margin-bottom: 4px; }

/* Pieces */
.pz-piece {
    position: absolute;
    background-repeat: no-repeat;
    cursor: grab;
    transition: box-shadow .2s;
    border-radius: 2px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.3);
}
.pz-piece:hover { z-index: 10; box-shadow: 0 4px 16px rgba(13,42,74,.3), inset 0 0 0 2px rgba(255,255,255,.5); }
.pz-piece.dragging { cursor: grabbing; z-index: 1000; box-shadow: 0 8px 30px rgba(13,42,74,.4); transform: scale(1.04); transition: box-shadow .1s; }
.pz-piece.correct { box-shadow: inset 0 0 0 2px #4ade80, 0 0 8px rgba(74,222,128,.3); cursor: default; }

/* Progress */
.pz-progress-wrap {
    height: 6px; background: var(--light);
    border-radius: 3px; margin: 14px 0 6px; overflow: hidden;
}
.pz-progress-bar {
    height: 100%; background: linear-gradient(90deg, var(--secondary), #e8c97a);
    border-radius: 3px; transition: width .4s ease;
}
.pz-progress-label { text-align: center; font-size: 12px; color: var(--gray); font-weight: 600; }

/* Sidebar */
.pz-side-box {
    background: #fff; border-radius: 14px;
    box-shadow: var(--shadow); overflow: hidden;
    margin-bottom: 20px;
}
.pz-side-title {
    background: var(--primary); color: var(--secondary);
    padding: 12px 16px; font-size: 13px; font-weight: 700;
    display: flex; align-items: center; gap: 8px;
}
.pz-stats {
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    padding: 16px; gap: 10px;
}
.pz-stat {
    text-align: center; display: flex; flex-direction: column; gap: 4px;
}
.pz-stat-n {
    font-family: 'Playfair Display', serif;
    font-size: 20px; font-weight: 700; color: var(--primary);
}
.pz-stat span:last-child { font-size: 10px; color: var(--gray); text-transform: uppercase; letter-spacing: .8px; }

/* Other puzzles */
.pz-other-list { padding: 8px 0; }
.pz-other-item {
    display: flex; gap: 12px; align-items: center;
    padding: 10px 14px; text-decoration: none;
    color: inherit; border-bottom: 1px solid var(--light);
    transition: background .2s;
}
.pz-other-item:last-child { border-bottom: none; }
.pz-other-item:hover { background: var(--off); }
.pz-other-thumb {
    width: 52px; height: 65px; border-radius: 6px;
    overflow: hidden; flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(13,42,74,.15);
}
.pz-other-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pz-other-ph {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.5); font-size: 18px;
}
.pz-other-title { font-size: 12.5px; font-weight: 700; color: var(--primary); margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pz-other-meta { display: flex; align-items: center; justify-content: space-between; }

/* WIN MODAL */
.pz-win-modal {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.7);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
}
.pz-win-box {
    background: #fff; border-radius: 20px;
    padding: 40px 36px;
    text-align: center;
    max-width: 380px; width: 90%;
    position: relative; overflow: hidden;
    animation: popIn .5s cubic-bezier(.175,.885,.32,1.275);
}
.pz-win-confetti { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.pz-win-icon { font-size: 72px; margin-bottom: 8px; }
.pz-win-box h2 { font-family: 'Playfair Display', serif; font-size: 28px; color: var(--primary); margin-bottom: 8px; }
.pz-win-box p { color: var(--gray); margin-bottom: 18px; }
.pz-win-stats { display: flex; gap: 20px; justify-content: center; margin: 16px 0; }
.pz-win-stats div { display: flex; flex-direction: column; gap: 4px; }
.pz-win-stats span { font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 700; color: var(--primary); }
.pz-win-stats small { font-size: 11px; color: var(--gray); text-transform: uppercase; }

/* Confetti */
@keyframes confettiFall {
    0%   { transform: translateY(-20px) rotate(0deg); opacity: 1; }
    100% { transform: translateY(400px) rotate(720deg); opacity: 0; }
}
.pz-confetti-piece {
    position: absolute; top: -20px;
    animation: confettiFall linear infinite;
}

/* Responsive */
@media (max-width: 900px) {
    .pz-main { grid-template-columns: 1fr; }
    .pz-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 600px) {
    .pz-hero-inner { flex-direction: column; align-items: flex-start; }
    .pz-sidebar { grid-template-columns: 1fr; }
    .pz-hero h1 { font-size: 18px; }
}

/* ── GAMES LOBBY ── */
.gl-page{background:#f0f2f8;min-height:60vh}
.gl-hero{background:linear-gradient(135deg,var(--primary),var(--accent));padding:28px 0}
.gl-hero-inner{max-width:1280px;margin:0 auto;padding:0 24px}
.gl-badge{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);color:var(--primary);padding:4px 14px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}
.gl-hero h1{font-family:'Playfair Display',serif;font-size:28px;color:#fff;margin-bottom:8px}
.gl-hero p{color:rgba(255,255,255,.75);font-size:14px}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.gl-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:all .28s;display:flex;flex-direction:column}
.gl-card:hover{transform:translateY(-6px);box-shadow:0 12px 36px rgba(13,42,74,.18)}
.gl-card-thumb{position:relative;aspect-ratio:3/4;overflow:hidden}
.gl-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.gl-card:hover .gl-card-thumb img{transform:scale(1.07)}
.gl-card-ph{width:100%;height:100%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:48px;color:rgba(255,255,255,.3)}
.gl-overlay{position:absolute;inset:0;background:rgba(13,42,74,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .28s}
.gl-card:hover .gl-overlay{opacity:1}
.gl-play-btn{background:var(--secondary);color:var(--primary);padding:10px 20px;border-radius:22px;font-size:13px;font-weight:800;display:flex;align-items:center;gap:7px}
.gl-num{position:absolute;top:10px;left:10px;width:28px;height:28px;background:var(--secondary);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;box-shadow:0 2px 8px rgba(201,168,76,.4)}
.gl-diff-badge{position:absolute;bottom:8px;right:8px;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.gl-card-info{padding:12px 14px}
.gl-card-info h3{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gl-card-meta{display:flex;gap:12px;font-size:11px;color:var(--gray)}
.gl-empty{text-align:center;padding:60px 20px;color:var(--gray)}
.gl-empty i{font-size:64px;opacity:.15;display:block;margin-bottom:14px}

/* ── PUZZLE PAGE (shared styles reuse pz2-*) ── */
.pz2-page{background:#f0f2f8;min-height:80vh}
.pz2-hero{background:linear-gradient(135deg,var(--primary),var(--accent));padding:22px 0}
.pz2-hero-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pz2-badge{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);color:var(--primary);padding:3px 12px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.pz2-hero h1{font-family:'Playfair Display',serif;font-size:22px;color:#fff;margin-bottom:8px}
.pz2-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.8)}
.pz2-meta span{display:flex;align-items:center;gap:5px}
.pz2-btns{display:flex;gap:8px;flex-wrap:wrap}
.pz2-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:22px;font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all .25s;text-decoration:none}
.pz2-play{background:var(--secondary);color:var(--primary)}.pz2-play:hover{background:#e8c97a;transform:translateY(-2px)}
.pz2-hint{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3)}.pz2-hint:hover{background:rgba(255,255,255,.25)}
.pz2-pause{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}
.pz2-reset{background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.15)}
.pz2-main{max-width:1280px;margin:0 auto;padding:22px 24px;display:grid;grid-template-columns:1fr 285px;gap:20px;align-items:start}
.pz2-board-wrap{background:#fff;border-radius:16px;box-shadow:0 4px 32px rgba(13,42,74,.14);padding:14px}
.pz2-board{position:relative;width:100%;aspect-ratio:1;background:#e8edf5;border-radius:10px;overflow:hidden;user-select:none;touch-action:none}
.pz2-start-ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;background:rgba(13,42,74,.55);backdrop-filter:blur(3px)}
.pz2-start-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.pz2-start-inner{text-align:center;color:#fff}.pz2-start-inner i{font-size:52px;color:var(--secondary);display:block;margin-bottom:10px}.pz2-start-inner p{font-size:14px;opacity:.9;margin-bottom:12px}
.pz2-piece{position:absolute;cursor:grab;border:1px solid rgba(255,255,255,.2);transition:box-shadow .15s}
.pz2-piece:hover{z-index:10;box-shadow:0 4px 18px rgba(13,42,74,.35)}.pz2-piece.dragging{cursor:grabbing;z-index:1000;box-shadow:0 8px 32px rgba(13,42,74,.4);transform:scale(1.04);transition:none}
.pz2-piece.correct{box-shadow:inset 0 0 0 2px #4ade80,0 0 8px rgba(74,222,128,.3);cursor:default}
.pz2-hint-box{background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:14px;display:none}
.pz2-hint-title{background:var(--primary);color:var(--secondary);padding:9px 14px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}
.pz2-hint-img{width:100%;display:block;max-height:250px;object-fit:contain}
.pz2-prog-wrap{height:6px;background:var(--light);border-radius:3px;margin:12px 0 5px;overflow:hidden}
.pz2-prog-bar{height:100%;background:linear-gradient(90deg,var(--secondary),#e8c97a);border-radius:3px;transition:width .35s}
.pz2-prog-label{text-align:center;font-size:12px;color:var(--gray);font-weight:600}
.pz2-side-box{background:#fff;border-radius:14px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:18px}
.pz2-side-title{background:var(--primary);color:var(--secondary);padding:11px 14px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px}
.pz2-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:14px;gap:8px}
.pz2-stat{text-align:center}.pz2-stat-n{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--primary);display:block}.pz2-stat small{font-size:9px;color:var(--gray);text-transform:uppercase;letter-spacing:.7px}
.pz2-lb-list{padding:6px 0}
.pz2-lb-item{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--light)}
.pz2-lb-item:last-child{border-bottom:none}
.pz2-lb-rank{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}
.rank-1{background:#ffd700;color:#7a5a0a}.rank-2{background:#c0c0c0;color:#3d3d3d}.rank-3{background:#cd7f32;color:#fff}.rank-n{background:var(--off);color:var(--gray)}
.pz2-lb-player{flex:1;font-size:12.5px;font-weight:700;color:var(--primary)}.pz2-lb-time{font-size:12px;color:var(--secondary);font-weight:700}
.pz2-other-item{display:flex;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--light);cursor:pointer;text-decoration:none;color:inherit;transition:background .2s}
.pz2-other-item:hover{background:var(--off)}.pz2-other-item:last-child{border-bottom:none}
.pz2-other-thumb{width:48px;height:60px;border-radius:6px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 6px rgba(13,42,74,.15)}
.pz2-other-thumb img{width:100%;height:100%;object-fit:cover}
.pz2-other-ph{width:100%;height:100%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:16px}
.pz2-other-title{font-size:12px;font-weight:700;color:var(--primary);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pz2-other-meta{font-size:10.5px;color:var(--gray)}
.pz2-win{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(5px)}
.pz2-win-box{background:#fff;border-radius:20px;padding:40px 32px;text-align:center;max-width:360px;width:90%;position:relative;overflow:hidden;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}
.pz2-win-icon{font-size:72px;margin-bottom:10px}
.pz2-win-box h2{font-family:'Playfair Display',serif;font-size:26px;color:var(--primary);margin-bottom:6px}
.pz2-win-box p{color:var(--gray);margin-bottom:14px}
.pz2-win-stats{display:flex;gap:20px;justify-content:center;margin-bottom:14px}
.pz2-win-stats div{display:flex;flex-direction:column;gap:3px}
.pz2-win-stats span{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--primary)}
.pz2-win-stats small{font-size:10px;color:var(--gray);text-transform:uppercase}
.pz2-win-form{border-top:1px solid var(--light);padding-top:14px;margin-top:4px}
.pz2-win-form input{width:100%;border:1px solid var(--light);border-radius:8px;padding:9px 12px;font-family:'Nunito',sans-serif;font-size:13px;margin-bottom:8px;outline:none}
.pz2-win-form input:focus{border-color:var(--secondary)}
.pz2-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
@keyframes cfFall{0%{transform:translateY(-20px) rotate(0);opacity:1}100%{transform:translateY(450px) rotate(720deg);opacity:0}}
.cf-piece{position:absolute;top:-20px;animation:cfFall linear forwards}

/* ── CROSSWORD ── */
.cw-page{background:#f0f2f8;min-height:80vh}
.cw-hero{background:linear-gradient(135deg,var(--primary),var(--accent));padding:22px 0}
.cw-hero-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cw-badge{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);color:var(--primary);padding:3px 12px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.cw-hero h1{font-family:'Playfair Display',serif;font-size:22px;color:#fff;margin-bottom:8px}
.cw-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.8);flex-wrap:wrap}
.cw-meta span{display:flex;align-items:center;gap:5px}
.cw-btns{display:flex;gap:8px;flex-wrap:wrap}
.cw-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:22px;font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all .25s}
.cw-play{background:var(--secondary);color:var(--primary)}.cw-play:hover{background:#e8c97a}
.cw-check{background:rgba(46,204,113,.25);color:#fff;border:1px solid rgba(46,204,113,.4)}
.cw-hint{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3)}
.cw-reset{background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.15)}
.cw-main{max-width:1280px;margin:0 auto;padding:22px 24px;display:grid;grid-template-columns:1fr 285px;gap:20px;align-items:start}
.cw-grid-wrap{background:#fff;border-radius:14px;padding:16px;box-shadow:var(--shadow);overflow-x:auto}
.cw-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:1px;background:#ccc;border:1px solid #ccc;width:fit-content;min-width:100%}
.cw-cell{background:#fff;position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.cw-black{background:#2d3748}
.cw-num{position:absolute;top:1px;left:2px;font-size:9px;font-weight:700;color:#666;line-height:1}
.cw-inp{width:100%;height:100%;border:none;outline:none;text-align:center;font-size:16px;font-weight:700;color:var(--primary);background:transparent;text-transform:uppercase;cursor:pointer;padding:0;font-family:'Nunito',sans-serif}
.cw-inp:focus{background:rgba(201,168,76,.2)}
.cw-clues{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.cw-clue-col{background:#fff;border-radius:10px;padding:14px;box-shadow:var(--shadow)}
.cw-clue-title{font-weight:800;font-size:13px;color:var(--primary);margin-bottom:10px;display:flex;align-items:center;gap:7px;padding-bottom:8px;border-bottom:2px solid var(--secondary)}
.cw-clue-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--light);cursor:pointer;transition:background .15s;border-radius:4px;padding-left:4px}
.cw-clue-item:hover{background:var(--off)}.cw-clue-item:last-child{border-bottom:none}
.cw-clue-num{width:24px;height:24px;background:var(--primary);color:var(--secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}
.cw-side-box{background:#fff;border-radius:14px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:18px}
.cw-side-title{background:var(--primary);color:var(--secondary);padding:11px 14px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px}
.cw-lb{padding:6px 0}

/* ── WORD SEARCH ── */
.ws-page{background:#f0f2f8;min-height:80vh}
.ws-hero{background:linear-gradient(135deg,var(--primary),var(--accent));padding:22px 0}
.ws-hero-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ws-badge{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);color:var(--primary);padding:3px 12px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.ws-hero h1{font-family:'Playfair Display',serif;font-size:22px;color:#fff;margin-bottom:8px}
.ws-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.8);flex-wrap:wrap}
.ws-meta span{display:flex;align-items:center;gap:5px}
.ws-btns{display:flex;gap:8px;flex-wrap:wrap}
.ws-main{max-width:1280px;margin:0 auto;padding:22px 24px;display:grid;grid-template-columns:1fr 285px;gap:20px;align-items:start}
.ws-grid-wrap{background:#fff;border-radius:14px;padding:14px;box-shadow:var(--shadow);position:relative;display:inline-block;width:100%}
.ws-canvas{position:absolute;top:14px;left:14px;pointer-events:none;border-radius:4px}
.ws-cells{position:relative;display:grid}
.ws-cell{display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--primary);cursor:pointer;border-radius:4px;user-select:none;transition:background .1s}
.ws-cell:hover{background:rgba(201,168,76,.15)}
.ws-words-list{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0}
.ws-word-item{background:#fff;border:2px solid var(--light);border-radius:8px;padding:5px 12px;font-weight:700;font-size:13px;color:var(--primary);transition:all .3s}

/* ── FIND DIFFERENCE ── */
.fd-page{background:#f0f2f8;min-height:80vh}
.fd-hero{background:linear-gradient(135deg,var(--primary),var(--accent));padding:22px 0}
.fd-hero-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.fd-badge{display:inline-flex;align-items:center;gap:6px;background:var(--secondary);color:var(--primary);padding:3px 12px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.fd-hero h1{font-family:'Playfair Display',serif;font-size:22px;color:#fff;margin-bottom:8px}
.fd-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.8);flex-wrap:wrap}
.fd-meta span{display:flex;align-items:center;gap:5px}
.fd-btns{display:flex;gap:8px;flex-wrap:wrap}
.fd-main{max-width:1280px;margin:0 auto;padding:22px 24px;display:grid;grid-template-columns:1fr 285px;gap:20px;align-items:start}
.fd-images{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
.fd-img-wrap{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:#e8edf5}
.fd-img{width:100%;display:block;cursor:crosshair;border-radius:12px}
.fd-canvas{position:absolute;inset:0;pointer-events:none;border-radius:12px}
.fd-progress{height:8px;background:var(--light);border-radius:4px;overflow:hidden;margin-top:10px}
.fd-prog-bar{height:100%;background:linear-gradient(90deg,#27ae60,#4ade80);border-radius:4px;transition:width .4s}
@media(max-width:900px){.pz2-main,.cw-main,.ws-main,.fd-main{grid-template-columns:1fr}.cw-clues{grid-template-columns:1fr}}
@media(max-width:600px){.fd-images{grid-template-columns:1fr}.gl-grid{grid-template-columns:repeat(2,1fr)}}
