/*
Theme Name: DTTT Community
Theme URI: https://dttt.caothang.edu.vn/
Author: Bộ môn ĐTVT
Description: Giao diện newsfeed hiện đại cho cộng đồng ĐTVT.
Version: 1.4.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: dttt-community
*/
.dttt-sheet-note{display:none!important}
select{height:39px!important;min-height:39px!important;padding-top:7px!important;padding-bottom:7px!important}
.dttt-quick-access{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.dttt-course-quick-access{grid-template-columns:repeat(4,minmax(0,1fr))!important}.dttt-quick-access a>span{min-width:0}.dttt-quick-access strong{line-height:1.25}.dttt-quick-access small{line-height:1.35}@media(max-width:900px){.dttt-quick-access,.dttt-course-quick-access{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:420px){.dttt-quick-access a{gap:9px}.dttt-quick-access small{font-size:11px}}
select{appearance:none;-webkit-appearance:none;min-height:46px;padding:11px 46px 11px 14px!important;border:1px solid #c8d5e2!important;border-radius:11px!important;background-color:#fbfdff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23265d91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px!important;color:#172438!important;font:inherit!important;font-weight:650!important;line-height:1.35!important;box-shadow:0 1px 2px rgba(18,52,80,.03);cursor:pointer;transition:border-color .18s,box-shadow .18s,background-color .18s}select:hover{border-color:#8fb3d4!important;background-color:#fff!important}select:focus{outline:0;border-color:#2870b4!important;box-shadow:0 0 0 4px rgba(40,112,180,.13)!important;background-color:#fff!important}select:disabled{opacity:.62;cursor:not-allowed;background-color:#edf2f6!important}select[multiple]{background-image:none!important;padding-right:14px!important;min-height:120px}select option{color:#172438;background:#fff;font-weight:500}
.dttt-staff-hero{background:linear-gradient(115deg,#123450,#206b7e 62%,#00a6c7 100%)}.dttt-staff-board{margin-top:42px}.dttt-context-hero .dttt-hero-stat span{max-width:180px;overflow:hidden;text-overflow:ellipsis}
.dttt-course-hero-context{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:13px}.dttt-course-hero-context a{color:#fff;text-decoration:none;font-weight:800}.dttt-course-hero-context span{color:#bfe5ef;border-left:1px solid rgba(255,255,255,.3);padding-left:12px}.dttt-course-hero .dttt-course-status{display:inline-flex;background:rgba(255,255,255,.14);color:#9cf1d1;border:1px solid rgba(255,255,255,.22)}.dttt-course-hero h1{margin-top:12px}.dttt-course-hero-time{display:block;margin-top:10px;color:#cfe6ee}.dttt-course-quick-access{grid-template-columns:repeat(4,1fr)}.dttt-course-context-actions{max-width:1180px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dttt-course-context-actions p{margin:0;color:var(--dttt-muted)}
.dttt-highlight-kind.is-tuyen-dung{background:#f0eaff;color:#6940a5}
.dttt-highlight-carousel{position:relative;border-radius:18px;overflow:hidden;background:#062b55;box-shadow:0 16px 38px rgba(18,48,78,.18)}.dttt-highlight-slides{position:relative;aspect-ratio:16/8.5;min-height:390px}.dttt-highlight-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}.dttt-highlight-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}.dttt-highlight-slide .dttt-highlight-image{position:absolute;inset:0;min-height:0}.dttt-highlight-slide .dttt-highlight-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,43,.93) 0%,rgba(3,22,43,.72) 45%,rgba(3,22,43,.08) 85%),linear-gradient(0deg,rgba(3,22,43,.62),transparent 50%)}.dttt-highlight-slide .dttt-highlight-image img,.dttt-highlight-slide .dttt-image-placeholder{width:100%;height:100%;min-height:0;object-fit:cover}.dttt-highlight-overlay{position:absolute;z-index:2;left:0;bottom:0;width:min(68%,620px);padding:34px 34px 52px;color:#fff}.dttt-highlight-overlay h3{font-size:clamp(24px,3.2vw,38px);line-height:1.12;margin:13px 0 10px;letter-spacing:-.6px}.dttt-highlight-overlay h3 a{color:#fff;text-decoration:none}.dttt-highlight-overlay p{font-size:14px;line-height:1.55;color:#dce9f6;margin:0 0 10px}.dttt-highlight-overlay time{font-size:11px;color:#b9cee1}.dttt-carousel-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(4,29,54,.5);backdrop-filter:blur(8px);color:#fff;font-size:28px;line-height:1;cursor:pointer}.dttt-carousel-arrow:hover{background:#0755a5}.dttt-carousel-arrow.is-prev{left:14px}.dttt-carousel-arrow.is-next{right:14px}.dttt-carousel-dots{position:absolute;z-index:4;left:34px;bottom:20px;display:flex;align-items:center;gap:8px}.dttt-carousel-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#4f9ded;box-shadow:0 0 0 2px rgba(255,255,255,.45);opacity:.72;cursor:pointer;transition:transform .2s,opacity .2s}.dttt-carousel-dots button.is-tuyen-sinh{background:#f05a28}.dttt-carousel-dots button.is-thong-bao{background:#f3c331}.dttt-carousel-dots button.is-tin-tuc{background:#4f9ded}.dttt-carousel-dots button.is-hoat-dong-nganh{background:#21b58b}.dttt-carousel-dots button.is-tuyen-dung{background:#9a68d8}.dttt-carousel-dots button.is-active{transform:scale(1.55);opacity:1;box-shadow:0 0 0 2px #fff}@media(max-width:680px){.dttt-highlight-slides{aspect-ratio:4/5;min-height:470px}.dttt-highlight-slide .dttt-highlight-image:after{background:linear-gradient(0deg,rgba(3,22,43,.96) 0%,rgba(3,22,43,.72) 46%,rgba(3,22,43,.08) 78%)}.dttt-highlight-overlay{width:100%;padding:24px 22px 54px}.dttt-highlight-overlay h3{font-size:24px}.dttt-highlight-overlay p{font-size:13px}.dttt-carousel-arrow{width:36px;height:36px;top:38%;font-size:24px}.dttt-carousel-dots{left:22px;bottom:20px;max-width:calc(100% - 44px);flex-wrap:wrap}}
.dttt-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dttt-highlight-grid article{display:grid;grid-template-columns:42% 1fr;min-height:190px;background:#fff;border:1px solid var(--dttt-border);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.dttt-highlight-grid article:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(18,48,78,.1)}.dttt-highlight-image{display:block;min-height:190px;background:linear-gradient(135deg,#ddecfa,#eef7ff);overflow:hidden}.dttt-highlight-image>img{width:100%;height:100%;object-fit:cover}.dttt-image-placeholder{width:100%;height:100%;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0755a5,#00a6c7);color:#fff}.dttt-image-placeholder b{font-size:26px}.dttt-image-placeholder small{margin-top:5px;opacity:.8}.dttt-highlight-body{padding:15px;display:flex;flex-direction:column;align-items:flex-start}.dttt-highlight-kind{display:inline-block;padding:5px 8px;border-radius:12px;background:#e8f2ff;color:#0755a5;font-size:10px;font-weight:850;letter-spacing:.5px;text-decoration:none}.dttt-highlight-kind.is-tuyen-sinh{background:#fff0e8;color:#c14e18}.dttt-highlight-kind.is-thong-bao{background:#fff7d9;color:#906a00}.dttt-highlight-kind.is-hoat-dong-nganh{background:#e6f8f2;color:#087760}.dttt-highlight-body h3{font-size:17px;line-height:1.35;margin:9px 0 6px}.dttt-highlight-body h3 a{color:inherit;text-decoration:none}.dttt-highlight-body p{font-size:13px;line-height:1.45;color:var(--dttt-muted);margin:0 0 8px}.dttt-highlight-body time{font-size:11px;color:var(--dttt-muted);margin-top:auto}@media(max-width:680px){.dttt-highlight-grid{grid-template-columns:1fr}.dttt-highlight-grid article{grid-template-columns:38% 1fr;min-height:170px}.dttt-highlight-image,.dttt-image-placeholder{min-height:170px}.dttt-highlight-body p{display:none}}
.dttt-archive-head{background:#eaf2f9;border-bottom:1px solid #d5e0ea}.dttt-archive-head>div{max-width:1180px;margin:auto;padding:34px 24px}.dttt-archive-head h1{margin:5px 0 0;font-size:34px}.dttt-archive-head p{color:#68798e;margin-bottom:0}
.dttt-inline-contact .dttt-phone-grid{grid-template-columns:1fr!important}.dttt-inline-contact .dttt-phone-grid a{grid-template-columns:36px 1fr;display:grid!important}.dttt-inline-contact .dttt-phone-grid strong{font-size:11px;font-weight:650;color:var(--dttt-muted);text-transform:uppercase;letter-spacing:.5px}.dttt-inline-contact .dttt-phone-grid small{font-size:15px;font-weight:800;color:var(--dttt-blue);margin-top:2px;letter-spacing:.2px}
.dttt-contact-details{border-top:1px solid var(--dttt-border)}.dttt-contact-details summary{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;cursor:pointer;color:var(--dttt-blue);font-size:13px;font-weight:800;list-style:none}.dttt-contact-details summary::-webkit-details-marker{display:none}.dttt-contact-details[open] summary span{transform:rotate(45deg)}.dttt-contact-details summary span{font-size:18px;transition:.2s}@media(max-width:900px){.dttt-guest-layout>.dttt-public-aside{order:-1}.dttt-guest-layout>.dttt-public-aside .dttt-widget{margin-bottom:12px}.dttt-contact-details:not([open]) .dttt-panel{display:none}.dttt-phone-grid{grid-template-columns:1fr 1fr!important}.dttt-inline-contact .dttt-phone-grid strong{font-size:10px}.dttt-inline-contact .dttt-phone-grid small{font-size:14px}}@media(max-width:520px){.dttt-phone-grid{grid-template-columns:1fr!important}}
.dttt-inline-contact{padding:0!important;overflow:hidden;border:0!important;box-shadow:0 10px 28px rgba(18,48,78,.1);background:#fff!important;color:var(--dttt-text)!important}.dttt-contact-head{padding:20px;background:linear-gradient(135deg,#062b55,#0755a5);color:#fff}.dttt-contact-head .dttt-eyebrow{color:#75dfef}.dttt-contact-head h3{font-size:22px;margin:5px 0}.dttt-contact-head p{font-size:13px;color:#d5e7fa;margin:0}.dttt-phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.dttt-phone-grid a{display:flex;align-items:center;gap:8px;background:#edf6ff;border:1px solid #d6e7f7;border-radius:10px;padding:10px;color:inherit!important;text-decoration:none}.dttt-phone-grid b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--dttt-blue);color:#fff}.dttt-phone-grid strong,.dttt-phone-grid small{display:block}.dttt-phone-grid small{font-size:11px;color:var(--dttt-blue);margin-top:2px}.dttt-inline-contact .dttt-panel{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:12px!important}.dttt-inline-contact .dttt-panel h2{font-size:17px;margin:0 0 8px}.dttt-inline-contact .dttt-contact-grid{grid-template-columns:1fr!important;gap:0!important}.dttt-inline-contact .dttt-contact p{margin:8px 0;font-size:12px}.dttt-inline-contact .dttt-contact input:not([type=checkbox]),.dttt-inline-contact .dttt-contact select,.dttt-inline-contact .dttt-contact textarea{padding:8px!important;margin-top:3px!important;font-size:12px}.dttt-inline-contact .dttt-contact textarea{min-height:70px}.dttt-inline-contact .dttt-button{width:100%;background:var(--dttt-orange)!important}.dttt-inline-contact .dttt-success{background:#e5f7ee;padding:10px;border-radius:8px}
.dttt-inline-contact .dttt-facebook-link{background:#eef3ff;border-color:#d8e1fb}.dttt-inline-contact .dttt-facebook-link b{background:#1877f2;font-family:Arial,sans-serif;font-size:20px;text-transform:lowercase}.dttt-inline-contact .dttt-facebook-link small{font-size:12px}
.dttt-guest-layout{align-items:start}.dttt-guest-layout .dttt-priority{margin-bottom:34px}.dttt-guest-layout .dttt-feature-grid{grid-template-columns:1.25fr 1fr}.dttt-guest-layout .dttt-feature-grid article.is-lead{grid-row:span 3}.dttt-guest-layout .dttt-public-aside{position:sticky;top:88px;max-height:calc(100vh - 100px);overflow:auto;scrollbar-width:thin}.dttt-news-stream{margin-top:10px}@media(max-width:900px){.dttt-guest-layout .dttt-public-aside{position:static;max-height:none;overflow:visible}.dttt-guest-layout .dttt-feature-grid{grid-template-columns:1fr 1fr}.dttt-guest-layout .dttt-feature-grid article.is-lead{grid-column:1/-1;grid-row:auto}}@media(max-width:680px){.dttt-guest-layout .dttt-feature-grid{grid-template-columns:1fr}}
.dttt-schedule-widget{padding:0!important;overflow:hidden;border:0!important;box-shadow:0 10px 28px rgba(18,48,78,.1)}.dttt-widget-title{padding:20px 20px 15px;background:linear-gradient(135deg,#f4f9ff,#fff)}.dttt-widget-title h3{font-size:22px;margin:5px 0 4px}.dttt-widget-title p{color:var(--dttt-muted);font-size:13px;margin:0}.dttt-schedule-links{padding:6px 12px}.dttt-schedule-links a{display:grid!important;grid-template-columns:42px 1fr 18px;align-items:center;gap:10px;padding:13px 8px!important;border-top:1px solid var(--dttt-border);text-decoration:none;transition:.18s}.dttt-schedule-links a:first-child{border-top:0}.dttt-schedule-links a:hover{background:#f3f8fd;border-radius:9px;transform:translateX(2px)}.dttt-schedule-links b{width:40px;height:40px;border-radius:10px;background:#e6f1ff;color:var(--dttt-blue);display:grid;place-items:center;font-size:11px;letter-spacing:.4px}.dttt-schedule-links a:nth-child(2) b{background:#e3f8f3;color:#087d68}.dttt-schedule-links a:nth-child(3) b{background:#fff2e8;color:#bd591d}.dttt-schedule-links a:nth-child(4) b{background:#f2ebff;color:#7142a8}.dttt-schedule-links strong,.dttt-schedule-links small{display:block}.dttt-schedule-links strong{font-size:14px}.dttt-schedule-links small{font-size:11px;color:var(--dttt-muted);margin-top:3px;line-height:1.35}.dttt-schedule-links i{font-style:normal;color:#8ca0b3}.dttt-sheet-note{display:block;padding:0 20px 18px;color:var(--dttt-muted);line-height:1.4}
:root{--dttt-blue:#0755a5;--dttt-bg:#f4f7fb;--dttt-surface:#fff;--dttt-text:#14243a;--dttt-muted:#68798e;--dttt-border:#dce4ed}*{box-sizing:border-box}body{margin:0;background:var(--dttt-bg);color:var(--dttt-text);font-family:Inter,system-ui,-apple-system,sans-serif}.dttt-site-header{height:68px;background:#fff;border-bottom:1px solid var(--dttt-border);position:sticky;top:0;z-index:20}.dttt-header-inner{max-width:1240px;height:100%;margin:auto;padding:0 24px;display:flex;align-items:center;gap:22px}.dttt-logo{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:235px}.dttt-logo-mark{width:42px;height:42px;background:var(--dttt-blue);border-radius:12px;color:#fff;display:grid;place-items:center;font-weight:900}.dttt-logo small{display:block;color:var(--dttt-muted)}.dttt-search{flex:1;max-width:520px}.dttt-search input{width:100%;padding:11px 15px;border:1px solid var(--dttt-border);border-radius:12px;background:#f1f5f9}.dttt-account{margin-left:auto;color:var(--dttt-blue);font-weight:700;text-decoration:none}.dttt-layout{max-width:1240px;margin:auto;padding:24px;display:grid;grid-template-columns:220px minmax(0,650px) 290px;gap:22px}.dttt-left,.dttt-right{position:sticky;top:92px;height:max-content}.dttt-userbox,.dttt-widget,.dttt-feed-item,.dttt-page{background:var(--dttt-surface);border:1px solid var(--dttt-border);border-radius:14px}.dttt-userbox,.dttt-widget{padding:16px;margin-bottom:14px}.dttt-userbox strong{display:block}.dttt-userbox small{color:var(--dttt-muted)}.dttt-nav{display:grid;gap:5px}.dttt-nav a{padding:12px 14px;border-radius:10px;color:inherit;text-decoration:none;font-weight:650}.dttt-nav a:hover,.dttt-nav .current-menu-item>a{background:#e4f1ff;color:var(--dttt-blue)}.dttt-feed-filter{display:flex;gap:7px;overflow:auto;margin-bottom:14px}.dttt-feed-filter a{background:#fff;border:1px solid var(--dttt-border);border-radius:20px;padding:8px 13px;color:inherit;text-decoration:none;white-space:nowrap}.dttt-feed-item{padding:18px;margin-bottom:15px}.dttt-feed-meta{display:flex;align-items:center;gap:10px;color:var(--dttt-muted);font-size:13px}.dttt-avatar{width:40px;height:40px;border-radius:50%;background:#e34c26;color:white;display:grid;place-items:center;font-weight:800}.dttt-feed-meta div{flex:1}.dttt-feed-meta strong{display:block;color:var(--dttt-text)}.dttt-kind{background:#e7f2ff;color:var(--dttt-blue);padding:5px 8px;border-radius:12px;font-size:11px;font-weight:800}.dttt-feed-item h2{font-size:20px;margin:15px 0 9px}.dttt-feed-item h2 a{color:inherit;text-decoration:none}.dttt-feed-item p{line-height:1.58}.dttt-thumb img{width:100%;height:auto;border-radius:11px}.dttt-feed-actions{border-top:1px solid var(--dttt-border);padding-top:11px;color:var(--dttt-muted);display:flex;gap:22px;font-size:13px}.dttt-widget h3{margin:0 0 12px}.dttt-widget ul{list-style:none;margin:0;padding:0}.dttt-widget li{padding:10px 0;border-top:1px solid #edf1f5}.dttt-widget li:first-child{border-top:0}.dttt-widget a{color:inherit;text-decoration:none}.dttt-page{padding:24px}.dttt-mobile-nav{display:none}.dttt-footer{max-width:1240px;margin:20px auto;padding:25px;color:var(--dttt-muted);border-top:1px solid var(--dttt-border)}@media(max-width:980px){.dttt-layout{grid-template-columns:190px minmax(0,1fr)}.dttt-right{display:none}}@media(max-width:680px){.dttt-site-header{height:60px}.dttt-header-inner{padding:0 12px}.dttt-logo{min-width:0}.dttt-logo span:last-child,.dttt-search{display:none}.dttt-layout{display:block;padding:12px 10px 72px}.dttt-left{display:none}.dttt-feed-item{padding:15px}.dttt-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--dttt-border);z-index:30;justify-content:space-around;padding:10px}.dttt-mobile-nav a{color:inherit;text-decoration:none;font-size:12px;font-weight:700}}
:root{--dttt-deep:#062b55;--dttt-cyan:#00a6c7;--dttt-orange:#f05a28}body{background:#f3f6f9}.dttt-site-header{box-shadow:0 4px 22px rgba(15,43,73,.06)}.dttt-logo{min-width:300px}.dttt-logo-mark{background:linear-gradient(135deg,var(--dttt-blue),var(--dttt-cyan));border-radius:10px}.dttt-logo-image{width:44px;height:44px;object-fit:contain}.dttt-account{display:flex;align-items:center;gap:8px}.dttt-account-dot{width:9px;height:9px;border-radius:50%;background:#21b573;box-shadow:0 0 0 4px #dff7eb}.dttt-login{background:var(--dttt-blue);color:#fff;padding:10px 15px;border-radius:10px}.dttt-hero{background:linear-gradient(115deg,#062b55 0%,#0755a5 62%,#0089aa 100%);color:#fff;overflow:hidden;position:relative}.dttt-hero:after{content:"";position:absolute;width:420px;height:420px;border:70px solid rgba(255,255,255,.07);border-radius:50%;right:-120px;top:-210px}.dttt-hero-inner{max-width:1240px;margin:auto;padding:54px 24px 62px;display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:1}.dttt-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.06;max-width:790px;margin:10px 0 14px;letter-spacing:-1.5px}.dttt-hero p{font-size:17px;line-height:1.6;max-width:700px;margin:0;color:#d9ebff}.dttt-eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:850;color:var(--dttt-cyan)}.dttt-hero .dttt-eyebrow{color:#7ee7f5}.dttt-hero-stat{display:flex;align-items:center;gap:14px;border-left:1px solid rgba(255,255,255,.35);padding-left:24px;min-width:220px}.dttt-hero-stat strong{font-size:34px}.dttt-hero-stat span{font-size:13px;color:#d9ebff}.dttt-quick-access{max-width:1180px;margin:-27px auto 34px;position:relative;z-index:3;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--dttt-border);border-radius:15px;box-shadow:0 14px 40px rgba(18,48,78,.13);overflow:hidden}.dttt-quick-access a{display:flex;align-items:center;gap:12px;padding:19px;text-decoration:none;color:inherit;border-left:1px solid var(--dttt-border);transition:.2s}.dttt-quick-access a:first-child{border-left:0}.dttt-quick-access a:hover{background:#f4f9ff;transform:translateY(-2px)}.dttt-quick-access b{font-size:11px;color:#9aa9b8}.dttt-quick-access strong,.dttt-quick-access small{display:block}.dttt-quick-access small{color:var(--dttt-muted);margin-top:3px}.dttt-quick-access .is-primary strong{color:var(--dttt-orange)}.dttt-home-section,.dttt-student-board,.dttt-public-layout{max-width:1180px;margin:0 auto 34px;padding:0}.dttt-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.dttt-section-head h2{font-size:27px;margin:4px 0 0;letter-spacing:-.5px}.dttt-section-head>a{color:var(--dttt-blue);text-decoration:none;font-weight:700}.dttt-feature-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.dttt-feature-grid article{background:#fff;border:1px solid var(--dttt-border);border-radius:14px;overflow:hidden}.dttt-feature-grid article.is-lead{grid-row:span 2}.dttt-feature-grid article>div{padding:17px}.dttt-feature-image{display:block;aspect-ratio:16/9;background:#dfe8f1;overflow:hidden}.dttt-feature-image img{width:100%;height:100%;object-fit:cover}.dttt-feature-grid h2{font-size:18px;margin:10px 0 7px}.dttt-feature-grid .is-lead h2{font-size:25px}.dttt-feature-grid h2 a{color:inherit;text-decoration:none}.dttt-feature-grid p{color:var(--dttt-muted);line-height:1.5;margin-bottom:0}.dttt-public-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.dttt-public-aside{position:sticky;top:90px;height:max-content}.dttt-side-link{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--dttt-border);font-weight:650}.dttt-contact-widget{background:var(--dttt-deep);color:#fff;border:0}.dttt-contact-widget p{color:#c8daee;line-height:1.5}.dttt-button-link{display:inline-block;background:var(--dttt-orange);color:#fff!important;padding:10px 14px;border-radius:8px;font-weight:750}.dttt-feed-actions a{color:var(--dttt-blue);font-weight:750;text-decoration:none}.dttt-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.dttt-tags a{font-size:12px;background:#edf3f8;color:#516579;text-decoration:none;padding:5px 8px;border-radius:12px}.dttt-student-board{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.7fr);gap:22px}.dttt-dashboard-main,.dttt-dashboard-card{background:#fff;border:1px solid var(--dttt-border);border-radius:14px;padding:20px}.dttt-dashboard-card{margin-bottom:16px}.dttt-dashboard-card h3{margin-top:0}.dttt-dashboard-card>a{display:block;color:inherit;text-decoration:none;padding:11px 0;border-top:1px solid var(--dttt-border)}.dttt-dashboard-card small{display:block;color:var(--dttt-muted);margin-top:4px}.dttt-notice-list>a{display:flex;gap:15px;padding:14px 0;border-top:1px solid var(--dttt-border);color:inherit;text-decoration:none}.dttt-notice-list time{font-weight:850;color:var(--dttt-orange);min-width:42px}.dttt-notice-list strong,.dttt-notice-list small{display:block}.dttt-notice-list small{color:var(--dttt-muted);margin-top:4px}.dttt-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.dttt-resource-grid>a{background:#fff;border:1px solid var(--dttt-border);border-radius:13px;padding:18px;color:inherit;text-decoration:none}.dttt-resource-grid>a>span{font-size:10px;font-weight:850;color:var(--dttt-cyan)}.dttt-resource-grid h3{margin:9px 0}.dttt-resource-grid p{color:var(--dttt-muted);line-height:1.5}.dttt-page img{max-width:100%;height:auto}.dttt-page{line-height:1.7}.dttt-footer{max-width:none;background:var(--dttt-deep);color:#c2d3e5;text-align:center;margin-top:50px;border:0}.dttt-mobile-nav{box-shadow:0 -4px 18px rgba(0,0,0,.08)}@media(max-width:1200px){.dttt-quick-access,.dttt-home-section,.dttt-student-board,.dttt-public-layout{margin-left:20px;margin-right:20px}}@media(max-width:900px){.dttt-feature-grid{grid-template-columns:1fr 1fr}.dttt-feature-grid article.is-lead{grid-column:1/-1}.dttt-public-layout,.dttt-student-board{grid-template-columns:1fr}.dttt-public-aside{position:static}.dttt-resource-grid{grid-template-columns:repeat(2,1fr)}.dttt-hero-stat{display:none}}@media(max-width:680px){.dttt-logo{min-width:0}.dttt-hero-inner{padding:38px 18px 48px}.dttt-quick-access{margin:-22px 10px 24px;grid-template-columns:1fr 1fr}.dttt-quick-access a{border-bottom:1px solid var(--dttt-border);padding:14px}.dttt-home-section,.dttt-student-board,.dttt-public-layout{margin-left:10px;margin-right:10px}.dttt-feature-grid,.dttt-resource-grid{grid-template-columns:1fr}.dttt-section-head h2{font-size:23px}.dttt-login{padding:8px 10px;font-size:12px}.dttt-account-dot{display:none}}
.dttt-subject-picker{max-width:1180px;margin:26px auto 0;padding:14px 24px;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--dttt-border);border-radius:14px;box-shadow:0 6px 22px rgba(18,48,78,.06)}.dttt-subject-picker .dttt-eyebrow{margin-right:auto}.dttt-subject-picker form{display:flex;align-items:center;gap:10px;margin:0}.dttt-subject-picker label{font-weight:800;font-size:13px;color:var(--dttt-muted)}.dttt-subject-picker select{border:1px solid var(--dttt-border);border-radius:10px;padding:9px 12px;font:inherit;background:#fbfdff;color:var(--dttt-text);min-width:280px}.dttt-subject-picker button{border:0;background:var(--dttt-blue);color:#fff;border-radius:10px;padding:9px 14px;font-weight:750;cursor:pointer}@media(max-width:700px){.dttt-subject-picker{flex-wrap:wrap;padding:14px}.dttt-subject-picker form{width:100%}.dttt-subject-picker select{min-width:0;width:100%}}
html{scroll-behavior:smooth}
.dttt-portal-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px;padding:6px;background:#fff;border:1px solid var(--dttt-border);border-radius:14px;box-shadow:0 4px 14px rgba(18,48,78,.04)}
.dttt-filter-btn{background:transparent;border:0;padding:8px 16px;border-radius:10px;font:inherit;font-size:13px;font-weight:750;color:var(--dttt-muted);cursor:pointer;transition:.18s}
.dttt-filter-btn:hover{color:var(--dttt-blue);background:#f1f7fe}
.dttt-filter-btn.is-active{background:var(--dttt-blue);color:#fff;box-shadow:0 4px 12px rgba(7,85,165,.25)}
.dttt-join-panel{background:linear-gradient(135deg,#f0f7ff,#fff);border:1px solid #c9e0f7!important;border-radius:16px;padding:20px;margin-bottom:28px}
.dttt-join-input-group{display:flex;gap:12px;align-items:flex-end;margin-top:10px}
.dttt-join-input-group label{flex:1;font-weight:700;font-size:13px}
.dttt-join-input-group input{width:100%;margin-top:4px;padding:10px 14px;border:1px solid #b8d2ec;border-radius:10px;font-size:14px;background:#fff}
.dttt-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-bottom:30px}
.dttt-course-card{background:#fff;border:1px solid var(--dttt-border);border-radius:16px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 6px 18px rgba(18,48,78,.04)}
.dttt-course-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(18,48,78,.1);border-color:#a8c7e8}
.dttt-course-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.dttt-course-card-icon{width:44px;height:44px;border-radius:12px;background:#eaf4ff;display:grid;place-items:center;font-size:22px;border:1px solid #d0e4f9}
.dttt-course-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.dttt-badge{display:inline-block;padding:3px 8px;border-radius:8px;font-size:11px;font-weight:800}
.dttt-badge.is-credit{background:#e6f8f3;color:#087760;border:1px solid #c2f0e3}
.dttt-badge.is-sem{background:#f0effe;color:#5b45b0;border:1px solid #d8d4fa}
.dttt-course-card h3{font-size:17px;line-height:1.35;margin:0 0 8px;font-weight:800}
.dttt-course-card h3 a{color:var(--dttt-text);text-decoration:none}
.dttt-course-card h3 a:hover{color:var(--dttt-blue)}
.dttt-course-card p{font-size:13px;color:var(--dttt-muted);line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dttt-course-card-footer{margin-top:auto;padding-top:12px;border-top:1px dashed var(--dttt-border)}
.dttt-course-link{display:inline-flex;align-items:center;gap:6px;color:var(--dttt-blue);font-weight:800;font-size:13px;text-decoration:none;transition:gap .2s}
.dttt-course-card:hover .dttt-course-link{gap:10px}
.dttt-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:28px}
.dttt-portal-card{background:#fff;border:1px solid var(--dttt-border);border-radius:12px;padding:16px;transition:.18s}
.dttt-portal-card:hover{background:#f8fbff;border-color:#b5d3f2}
.dttt-portal-card h3{font-size:15px;margin:0 0 6px;line-height:1.35}
.dttt-portal-card h3 a{color:var(--dttt-text);text-decoration:none}
.dttt-portal-card p{font-size:13px;color:var(--dttt-muted);margin:0;line-height:1.45}
.dttt-portal-section{margin-bottom:28px}
.dttt-portal-section h2{font-size:20px;margin:0 0 14px;display:flex;align-items:center;gap:8px}
