:root {
    --ttv-blue: #1d4ed8;
    --ttv-blue-dark: #1e40af;
    --ttv-sky: #0ea5e9;
    --ttv-bg: #f1f5f9;
    --ttv-card: #ffffff;
    --ttv-text: #0f172a;
    --ttv-muted: #64748b;
    --ttv-border: #e2e8f0;
    --ttv-soft: #f8fafc;
    --ttv-radius: 24px;
    --ttv-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ttv-theme {
    margin: 0;
    background: var(--ttv-bg);
    color: var(--ttv-text);
    font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.ttv-container { width: min(1240px, calc(100% - 32px)); margin: 0 auto; }
.ttv-skip-link { position: absolute; left: -999px; top: 12px; background: #fff; padding: 10px 14px; border-radius: 10px; z-index: 9999; }
.ttv-skip-link:focus { left: 12px; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }

.ttv-site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--ttv-blue);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 6px 20px rgba(15, 23, 42, .12);
}
.ttv-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 70px; }
.ttv-brand { display: flex; align-items: center; gap: 12px; min-width: 240px; }
.ttv-logo-box { width: 42px; height: 42px; border-radius: 18px; background: #fff; color: var(--ttv-blue); display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; }
.ttv-logo-box svg { width: 23px; height: 23px; fill: currentColor; }
.ttv-logo-box img { max-width: 34px; max-height: 34px; }
.ttv-brand strong { display: block; font-weight: 800; font-size: 20px; letter-spacing: -.02em; line-height: 1.1; }
.ttv-brand span { display: block; color: #dbeafe; font-size: 12px; line-height: 1.2; }
.ttv-main-nav { display: flex; align-items: center; gap: 4px; flex: 1; justify-content: center; }
.ttv-main-nav a, .ttv-wp-menu a { display: inline-flex; align-items: center; min-height: 38px; border-radius: 14px; padding: 0 10px; color: #eff6ff; font-weight: 800; font-size: 14px; }
.ttv-main-nav a:hover, .ttv-wp-menu a:hover { background: rgba(255,255,255,.14); }
.ttv-wp-menu { display:flex; gap:4px; list-style:none; margin:0; padding:0; }
.ttv-nav-highlight { background: #fff !important; color: var(--ttv-blue) !important; padding-inline: 14px !important; }
.ttv-header-actions { display:flex; align-items:center; gap:8px; }
.ttv-login-btn, .ttv-register-btn { border-radius: 14px; padding: 9px 12px; font-weight: 800; font-size: 14px; }
.ttv-login-btn { background: rgba(255,255,255,.12); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.ttv-register-btn { background: #fff; color: var(--ttv-blue); }
.ttv-mobile-toggle { display:none; border:0; border-radius: 14px; padding: 9px 12px; background:#fff; color:var(--ttv-blue); font-weight:800; }
.ttv-mobile-menu { display:none; background: var(--ttv-blue-dark); padding: 10px 16px 16px; }
.ttv-mobile-menu a { display:block; color:#fff; font-weight:800; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.ttv-mobile-menu.is-open { display:block; }

.ttv-site-main { padding: 20px 0 38px; }
.ttv-layout { display:grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; align-items:start; }
.ttv-content-column { display:flex; flex-direction:column; gap: 22px; }
.ttv-sidebar { display:flex; flex-direction:column; gap: 18px; position: sticky; top: 90px; }
.ttv-card, .ttv-side-card, .ttv-robot-card { background: var(--ttv-card); border:1px solid var(--ttv-border); border-radius: var(--ttv-radius); box-shadow: var(--ttv-shadow); padding: 18px; }
.ttv-card { overflow:hidden; }

.ttv-hero { background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 52%, #0ea5e9 100%); color:#fff; border-radius: 30px; padding: 30px; display:grid; grid-template-columns: 1.45fr .75fr; gap: 28px; align-items:center; box-shadow: var(--ttv-shadow); }
.ttv-badge { display:inline-flex; align-items:center; border-radius:999px; background:#eff6ff; color:var(--ttv-blue); padding:6px 11px; font-size:12px; font-weight:800; }
.ttv-hero h1 { margin:16px 0 0; font-size: clamp(30px, 4vw, 44px); line-height:1.08; letter-spacing:-.04em; font-weight: 800; max-width: 760px; }
.ttv-hero p { margin:14px 0 0; color:#e0f2fe; max-width: 720px; }
.ttv-hero-actions { display:flex; flex-wrap:wrap; gap: 12px; margin-top:22px; }
.ttv-white-btn, .ttv-transparent-btn, .ttv-primary-btn, .ttv-ghost-btn, .ttv-primary-link { display:inline-flex; align-items:center; justify-content:center; border-radius:18px; min-height:44px; padding: 0 18px; font-weight: 800; border:0; cursor:pointer; }
.ttv-white-btn { background:#fff; color:var(--ttv-blue); }
.ttv-transparent-btn { background: rgba(15,23,42,.22); color:#fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.24); }
.ttv-primary-btn { background: var(--ttv-blue); color:#fff; width:100%; }
.ttv-primary-btn:hover { background: var(--ttv-blue-dark); }
.ttv-primary-link { background: var(--ttv-blue); color:#fff; width:auto; }
.ttv-ghost-btn { color:#475569; background:#fff; border:1px solid var(--ttv-border); min-height:38px; padding-inline:14px; font-size:14px; }
.ttv-hero-stats { display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.19); border-radius: 26px; padding: 16px; }
.ttv-hero-stats div { background:#fff; color: var(--ttv-blue); border-radius: 20px; padding: 18px; min-height: 92px; }
.ttv-hero-stats strong { display:block; font-size: 28px; line-height: 1; font-weight: 800; }
.ttv-hero-stats span { display:block; color:#64748b; font-size:12px; font-weight:800; margin-top: 6px; }

.ttv-section-title { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.ttv-section-title-left { display:flex; align-items:center; gap:12px; }
.ttv-section-icon, .ttv-card-icon { width:42px; height:42px; border-radius:17px; background: var(--ttv-blue); color:#fff; display:grid; place-items:center; flex:0 0 auto; }
.ttv-section-icon svg, .ttv-card-icon svg { width:21px; height:21px; fill:currentColor; }
.ttv-section-title h2, .ttv-card-heading h2, .ttv-side-card h2 { margin:0; font-size:20px; line-height:1.15; font-weight:700; letter-spacing:-.02em; }
.ttv-section-title p, .ttv-card-heading p { margin:3px 0 0; color: var(--ttv-muted); font-size:14px; }
.ttv-grade-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:12px; }
.ttv-grade-card { display:block; background: var(--ttv-soft); border:1px solid var(--ttv-border); border-radius:20px; padding:16px; transition:.18s ease; }
.ttv-grade-card:hover { background:#eff6ff; border-color:#bfdbfe; transform: translateY(-1px); }
.ttv-grade-card strong { display:block; font-size:20px; font-weight:700; }
.ttv-grade-card span { display:block; color:var(--ttv-muted); font-size:14px; margin-top:3px; }
.ttv-two-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:22px; }
.ttv-list { display:flex; flex-direction:column; }
.ttv-list-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding: 13px 0; border-top:1px solid #f1f5f9; }
.ttv-list-row:first-child { border-top:0; padding-top:0; }
.ttv-list-row strong { display:block; font-weight:700; }
.ttv-list-row small { display:block; color:var(--ttv-muted); font-size:13px; margin-top:3px; }
.ttv-list-row em { flex:0 0 auto; font-style:normal; border-radius:999px; background:#f1f5f9; color:#475569; padding:5px 9px; font-size:12px; font-weight:800; }
.ttv-ranking-list { display:flex; flex-direction:column; gap:10px; }
.ttv-ranking-list div { display:flex; align-items:center; gap:12px; background: var(--ttv-soft); border-radius: 18px; padding: 12px; }
.ttv-ranking-list b { width:42px; height:42px; border-radius:16px; background:var(--ttv-blue); color:#fff; display:grid; place-items:center; }
.ttv-ranking-list span { min-width:0; flex:1; }
.ttv-ranking-list strong, .ttv-ranking-list small { display:block; }
.ttv-ranking-list small { color: var(--ttv-muted); font-size: 12px; }
.ttv-ranking-list em { font-style:normal; color:var(--ttv-blue); font-weight:800; font-size:14px; }
.ttv-topic-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; }
.ttv-topic-grid a { display:flex; justify-content:space-between; align-items:center; border:1px solid var(--ttv-border); border-radius:18px; padding:15px; font-weight:800; }
.ttv-topic-grid a:hover { background:#eff6ff; border-color:#bfdbfe; }
.ttv-topic-grid a::after { content:'›'; color:#94a3b8; font-size:24px; }

.ttv-card-heading { display:flex; align-items:center; gap:12px; margin-bottom: 15px; }
.ttv-robot-card { border:2px solid #dbeafe; }
.ttv-robot-card-expanded { max-width: 620px; margin-top: 22px; }
.ttv-robot-form { display:grid; gap: 12px; }
.ttv-robot-form label, .ttv-auth-form label, .ttv-guest-name label { display:block; color: var(--ttv-text); font-weight:800; font-size:13px; }
.ttv-robot-form span { display:block; color: var(--ttv-muted); margin-bottom: 6px; }
.ttv-robot-topic-field { display:block; }
.ttv-field-title { display:block; color: var(--ttv-muted); margin-bottom: 4px; font-weight:800; font-size:13px; }
.ttv-field-help { margin:0 0 10px; color: var(--ttv-muted); font-size:12px; line-height:1.35; font-weight:700; }
.ttv-topic-select-button {
    width:100%; height:46px; min-height:46px; border:1px solid var(--ttv-border); border-radius:17px; background:#fff; padding: 0 14px; outline:none; color: var(--ttv-text); font-weight:800; font-size:15px; line-height:1.2; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left;
}
.ttv-topic-select-button:hover, .ttv-robot-topic-field.is-open .ttv-topic-select-button { border-color:#bfdbfe; background:#eff6ff; }
.ttv-topic-select-button:focus { border-color: var(--ttv-blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.ttv-topic-select-button span { margin:0 !important; color: var(--ttv-text); font-size:15px; line-height:1.2; font-weight:800; }
.ttv-topic-caret { color:var(--ttv-blue) !important; font-size:18px; line-height:1; }
.ttv-topic-select-wrap { position:relative; }
.ttv-topic-dropdown {
    position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:40; background:#fff; border:1px solid #bfdbfe; border-radius:18px; box-shadow:0 18px 40px rgba(15,23,42,.14); padding:8px; max-height:245px; overflow:auto;
}
.ttv-topic-checks { display:grid; gap:4px; }
.ttv-topic-row { display:flex !important; align-items:center; gap:10px; margin:0; padding:10px 10px; border-radius:13px; cursor:pointer; font-size:14px !important; }
.ttv-topic-row:hover { background:#eff6ff; }
.ttv-topic-row input { width:17px; height:17px; accent-color: var(--ttv-blue); flex:0 0 auto; }
.ttv-topic-row span { display:block !important; margin:0 !important; color:#334155; font-weight:700; }
.ttv-topic-row input:checked + span { color:var(--ttv-blue); }
.ttv-selected-topics { margin-top:8px; border:1px dashed #cbd5e1; border-radius:14px; background:#f8fafc; color:#64748b; padding:9px 11px; font-size:12px; font-weight:800; line-height:1.35; }
.ttv-selected-topics.has-selection { border-style:solid; border-color:#bfdbfe; background:#eff6ff; color:#1e40af; }
.ttv-robot-form select, .ttv-auth-form input, .ttv-auth-form select, .ttv-guest-name input, .ttv-search-form input {
    width:100%; height:46px; min-height:46px; border:1px solid var(--ttv-border); border-radius:17px; background:#fff; padding: 0 14px; outline:none; color: var(--ttv-text); font-weight:800; font-size:15px; line-height:1.2;
}
.ttv-robot-form select:focus, .ttv-auth-form input:focus, .ttv-auth-form select:focus, .ttv-search-form input:focus { border-color: var(--ttv-blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.ttv-blue-card { background: linear-gradient(135deg, #0ea5e9, #2563eb); color:#fff; border:0; }
.ttv-blue-card p { color:#e0f2fe; }
.ttv-blue-card a { display:inline-flex; margin-top:8px; border-radius:14px; background:rgba(255,255,255,.18); padding:9px 13px; color:#fff; font-weight:800; }
.ttv-search-form { display:flex; gap:8px; }
.ttv-search-form button { border:0; border-radius:16px; background:var(--ttv-blue); color:#fff; padding:0 14px; font-weight:800; cursor:pointer; }
.ttv-comment-sample { margin:0; background:var(--ttv-soft); border-radius:18px; padding:14px; color:#475569; }
.ttv-empty-state, .ttv-note-box { background:#f8fafc; border:1px dashed #cbd5e1; border-radius:18px; color:#64748b; padding:14px; font-weight:700; }

.ttv-page-wrap { max-width: 980px; }
.ttv-page-card { padding: clamp(22px, 4vw, 38px); }
.ttv-page-card h1 { margin: 10px 0 0; font-size: clamp(30px, 4vw, 46px); line-height:1.08; letter-spacing:-.04em; font-weight:800; }
.ttv-page-lead { color:var(--ttv-muted); font-size:18px; max-width: 760px; }
.ttv-page-content { margin-top: 22px; }
.ttv-page-content a { color:var(--ttv-blue); font-weight:800; }
.ttv-auth-card { max-width: 720px; margin:0 auto; }
.ttv-auth-form { display:grid; gap: 13px; margin-top: 22px; }
.ttv-auth-form label { color: var(--ttv-muted); }
.ttv-auth-form input, .ttv-auth-form select { margin-top: 6px; }

.ttv-test-layout { display:grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items:start; }
.ttv-test-header h1 { margin: 14px 0 6px; font-size: clamp(28px, 3vw, 42px); line-height:1.12; font-weight:800; letter-spacing:-.03em; }
.ttv-test-header p { color: var(--ttv-muted); margin:0; }
.ttv-start-options { margin: 22px 0; background:#f8fafc; border:1px solid var(--ttv-border); border-radius:22px; padding:16px; }
.ttv-start-options h2 { margin:0 0 12px; font-size:20px; font-weight:800; }
.ttv-start-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:10px; }
.ttv-start-grid button { text-align:left; background:#fff; border:1px solid var(--ttv-border); border-radius:18px; padding:13px; cursor:pointer; }
.ttv-start-grid button.is-active { background:#eff6ff; border-color:#bfdbfe; }
.ttv-start-grid svg { width:20px; height:20px; fill:var(--ttv-blue); }
.ttv-start-grid strong, .ttv-start-grid span { display:block; }
.ttv-start-grid span { color:var(--ttv-muted); font-size:13px; margin-top:3px; }
.ttv-guest-name { margin-top: 12px; }
.ttv-test-shortcode-wrap { margin-top: 20px; }
.ttv-test-sidebar { position: sticky; top: 90px; display:flex; flex-direction:column; gap: 18px; }
.ttv-comments-wrap { grid-column:1 / -1; }
.ttv-test-archive-grid, .ttv-post-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px; margin-top:24px; }
.ttv-test-list-card a, .ttv-post-card a { display:block; height:100%; background:#fff; border:1px solid var(--ttv-border); border-radius:20px; padding:18px; }
.ttv-test-list-card a:hover, .ttv-post-card a:hover { border-color:#bfdbfe; background:#eff6ff; }
.ttv-test-list-card span { color:var(--ttv-blue); font-size:12px; font-weight:800; }
.ttv-test-list-card h2, .ttv-post-card h2 { margin:7px 0; font-size:20px; line-height:1.2; }
.ttv-test-list-card p, .ttv-post-card p { color:var(--ttv-muted); margin:0; }
.ttv-pagination { margin-top:24px; }

.ttv-site-footer { background:#0f172a; color:#e2e8f0; padding: 30px 0; }
.ttv-footer-inner { display:flex; justify-content:space-between; gap:22px; align-items:flex-start; }
.ttv-footer-inner p { margin:5px 0 0; color:#94a3b8; }
.ttv-footer-inner nav, .ttv-footer-menu { display:flex; gap:14px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.ttv-footer-inner a { color:#e2e8f0; font-weight:800; }

@media (max-width: 1120px) {
    .ttv-main-nav { display:none; }
    .ttv-mobile-toggle { display:inline-flex; }
    .ttv-layout, .ttv-test-layout { grid-template-columns: 1fr; }
    .ttv-sidebar, .ttv-test-sidebar { position:static; }
    .ttv-hero { grid-template-columns:1fr; }
    .ttv-hero-stats { max-width: 520px; }
}
@media (max-width: 780px) {
    .ttv-container { width: min(100% - 22px, 1240px); }
    .ttv-site-main { padding-top: 14px; }
    .ttv-header-actions .ttv-login-btn, .ttv-header-actions .ttv-register-btn { display:none; }
    .ttv-brand { min-width:0; }
    .ttv-brand strong { font-size:18px; }
    .ttv-brand span { display:none; }
    .ttv-hero { padding:22px; border-radius:24px; }
    .ttv-hero-stats, .ttv-grade-grid, .ttv-two-grid, .ttv-topic-grid, .ttv-start-grid, .ttv-test-archive-grid, .ttv-post-grid { grid-template-columns:1fr; }
    .ttv-section-title { align-items:flex-start; }
    .ttv-section-title .ttv-ghost-btn { display:none; }
    .ttv-footer-inner { flex-direction:column; }
}

/* v1.0.7 - Giriş sayfası ve en yeni öğrenciler */
.ttv-latest-students-card { background:#fff; }
.ttv-side-title-row { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.ttv-small-icon { width:40px; height:40px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:#eff6ff; color:var(--ttv-blue); font-weight:800; box-shadow:0 8px 18px rgba(37,99,235,.12); }
.ttv-side-title-row h2 { margin:0; font-size:18px; line-height:1.15; font-weight:800; color:var(--ttv-text); }
.ttv-side-title-row p { margin:3px 0 0; font-size:12px; color:var(--ttv-muted); font-weight:700; }
.ttv-new-student-list { display:grid; gap:10px; }
.ttv-new-student-item { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--ttv-border); border-radius:18px; background:#f8fafc; }
.ttv-student-avatar { width:38px; height:38px; flex:0 0 auto; border-radius:15px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, #2563eb, #0ea5e9); color:#fff; font-weight:800; text-transform:uppercase; }
.ttv-student-info { min-width:0; }
.ttv-student-info strong { display:block; font-size:14px; line-height:1.15; color:var(--ttv-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ttv-student-info span { display:block; margin-top:3px; font-size:12px; color:var(--ttv-muted); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ttv-login-card { max-width: 980px; }
.ttv-login-layout { display:grid; grid-template-columns: minmax(0, .95fr) minmax(320px, .7fr); gap:28px; align-items:center; }
.ttv-login-intro .ttv-page-lead { font-size:17px; line-height:1.65; }
.ttv-login-benefits { display:grid; gap:10px; margin-top:22px; }
.ttv-login-benefits div { padding:13px 14px; border:1px solid var(--ttv-border); border-radius:18px; background:#f8fafc; }
.ttv-login-benefits strong { display:block; color:var(--ttv-text); font-weight:800; }
.ttv-login-benefits span { display:block; margin-top:3px; color:var(--ttv-muted); font-size:13px; font-weight:700; }
.ttv-login-panel { border:1px solid #dbeafe; border-radius:26px; background:#f8fbff; padding:20px; box-shadow:0 14px 35px rgba(15,23,42,.06); }
.ttv-login-panel form { display:grid; gap:14px; margin:0; }
.ttv-login-panel p { margin:0; }
.ttv-login-panel label { display:block; margin:0 0 6px; color:var(--ttv-muted); font-size:13px; font-weight:800; }
.ttv-login-panel input[type="text"], .ttv-login-panel input[type="password"] { width:100%; height:48px; border:1px solid var(--ttv-border); border-radius:17px; background:#fff; padding:0 14px; outline:none; color:var(--ttv-text); font-size:15px; font-weight:800; }
.ttv-login-panel input[type="text"]:focus, .ttv-login-panel input[type="password"]:focus { border-color:var(--ttv-blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.ttv-login-panel .login-remember label { display:flex; align-items:center; gap:8px; margin:2px 0 0; color:var(--ttv-text); font-size:14px; }
.ttv-login-panel .login-remember input { width:16px; height:16px; accent-color:var(--ttv-blue); }
.ttv-login-panel .login-submit input, .ttv-login-full-btn { width:100%; min-height:48px; border:0; border-radius:17px; background:var(--ttv-blue); color:#fff; font-weight:800; font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.ttv-login-panel .login-submit input:hover, .ttv-login-full-btn:hover { background:#1d4ed8; color:#fff; }
.ttv-login-register-note { margin-top:14px; border-top:1px solid var(--ttv-border); padding-top:14px; text-align:center; color:var(--ttv-muted); font-size:14px; font-weight:800; }
.ttv-login-register-note a { color:var(--ttv-blue); font-weight:800; }
@media (max-width: 900px) {
    .ttv-login-layout { grid-template-columns:1fr; }
}


/* v1.0.8 - Sınıf sayfalarında dinamik test listesi */
.ttv-grade-tests-block { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--ttv-border); }
.ttv-grade-tests-block > h2 { margin:0 0 6px; font-size:24px; line-height:1.2; font-weight:700; color:var(--ttv-text); }
.ttv-grade-tests-block > p { margin:0 0 16px; color:var(--ttv-muted); }
.ttv-dynamic-test-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; }
.ttv-dynamic-test-card { display:block; border:1px solid var(--ttv-border); border-radius:20px; padding:16px; background:#fff; transition:.18s ease; }
.ttv-dynamic-test-card:hover { border-color:#bfdbfe; background:#eff6ff; transform:translateY(-1px); }
.ttv-dynamic-test-card h3 { margin:7px 0; font-size:18px; line-height:1.25; font-weight:700; color:var(--ttv-text); }
.ttv-dynamic-test-card .ttv-test-tag { display:inline-flex; border-radius:999px; background:#eff6ff; color:var(--ttv-blue); padding:4px 9px; font-size:12px; font-weight:700; }
.ttv-dynamic-test-card p { margin:0; color:var(--ttv-muted); font-size:14px; }
@media (max-width: 780px) { .ttv-dynamic-test-grid { grid-template-columns:1fr; } }


/* v1.0.9 - Sınıf sayfaları: konu başlığı kartları ve konuya göre test listesi */
.ttv-grade-intro { max-width: 780px; color: var(--ttv-muted); }
.ttv-grade-topic-block { margin-top: 22px; }
.ttv-grade-topic-block > h2 { margin:0 0 14px; font-size:24px; line-height:1.2; font-weight:700; color:var(--ttv-text); }
.ttv-grade-topic-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:12px; }
.ttv-grade-topic-card { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--ttv-border); border-radius:20px; padding:16px; background:#fff; transition:.18s ease; }
.ttv-grade-topic-card:hover, .ttv-grade-topic-card.is-active { border-color:#bfdbfe; background:#eff6ff; transform:translateY(-1px); }
.ttv-grade-topic-name { color:var(--ttv-text); font-size:16px; line-height:1.25; font-weight:700; }
.ttv-grade-topic-count { flex:0 0 auto; border-radius:999px; background:#eef4ff; color:var(--ttv-blue); padding:5px 9px; font-size:12px; font-weight:700; }
.ttv-grade-robot-note { margin-top:20px; border:1px dashed #bfdbfe; border-radius:20px; background:#f8fbff; padding:16px; color:var(--ttv-text); }
.ttv-grade-robot-note a { color:var(--ttv-blue); font-weight:800; }
.ttv-topic-result-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.ttv-topic-result-head h2 { margin:0 0 6px; font-size:24px; line-height:1.2; font-weight:700; color:var(--ttv-text); }
.ttv-topic-result-head p { margin:0; color:var(--ttv-muted); }
.ttv-clear-topic { flex:0 0 auto; border:1px solid var(--ttv-border); border-radius:14px; padding:9px 12px; color:var(--ttv-blue); font-size:14px; font-weight:800; background:#fff; }
.ttv-clear-topic:hover { background:#eff6ff; border-color:#bfdbfe; }
@media (max-width: 900px) { .ttv-grade-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ttv-grade-topic-grid { grid-template-columns:1fr; } .ttv-topic-result-head { display:block; } .ttv-clear-topic { display:inline-flex; margin-top:12px; } }

/* v1.0.10 - SEO odaklı sınıf / konu / test sayfaları */
.ttv-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:14px; color:var(--ttv-muted); font-size:13px; font-weight:700; }
.ttv-breadcrumb a { color:var(--ttv-blue); font-weight:800; }
.ttv-breadcrumb strong { color:var(--ttv-text); font-weight:800; }
.ttv-section-desc { margin:-6px 0 14px; color:var(--ttv-muted); font-size:15px; }
.ttv-seo-intro-box { margin:18px 0 0; border:1px solid #dbeafe; background:#f8fbff; border-radius:20px; padding:15px 16px; }
.ttv-seo-intro-box p { margin:0; color:#475569; font-size:15px; line-height:1.65; }
.ttv-related-tests { margin-top:28px; padding-top:24px; border-top:1px solid var(--ttv-border); }
.ttv-related-tests h2 { margin:0 0 14px; font-size:24px; line-height:1.2; font-weight:700; color:var(--ttv-text); }
.ttv-page-card h2, .ttv-test-card h2 { letter-spacing:-.02em; }

/* v1.0.11 - Profil menüsü, gerçek yorum listeleri ve modern yorum görünümü */
.ttv-profile-btn, .ttv-logout-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    border-radius:15px;
    font-size:14px;
    font-weight:800;
    transition:.18s ease;
}
.ttv-profile-btn {
    gap:8px;
    padding:5px 12px 5px 6px;
    background:rgba(255,255,255,.14);
    color:#fff;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.20);
}
.ttv-profile-btn:hover { background:rgba(255,255,255,.20); color:#fff; }
.ttv-profile-btn span {
    width:30px;
    height:30px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--ttv-blue);
    text-transform:uppercase;
    font-weight:800;
}
.ttv-profile-btn strong { font-weight:800; }
.ttv-logout-btn {
    padding:0 12px;
    background:#fff;
    color:var(--ttv-blue);
}
.ttv-logout-btn:hover { background:#eff6ff; color:var(--ttv-blue-dark); }
.ttv-latest-comments-card { background:#fff; }
.ttv-latest-comment-list { display:grid; gap:10px; }
.ttv-latest-comment-item {
    display:flex;
    gap:10px;
    padding:12px;
    border:1px solid var(--ttv-border);
    border-radius:18px;
    background:#f8fafc;
    transition:.18s ease;
}
.ttv-latest-comment-item:hover { border-color:#bfdbfe; background:#eff6ff; }
.ttv-comment-avatar {
    width:38px;
    height:38px;
    flex:0 0 auto;
    border-radius:15px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#2563eb,#0ea5e9);
    color:#fff;
    font-weight:800;
    text-transform:uppercase;
}
.ttv-latest-comment-item strong { display:block; font-size:14px; line-height:1.1; color:var(--ttv-text); font-weight:800; }
.ttv-latest-comment-item span { display:block; margin-top:2px; color:var(--ttv-muted); font-size:12px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:230px; }
.ttv-latest-comment-item p { margin:7px 0 0; color:#475569; font-size:13px; line-height:1.45; }
.ttv-comments-wrap { width:min(1240px, calc(100% - 32px)); margin:0 auto 28px; padding:0; }
.ttv-comments-card {
    width:100%;
    max-width:900px;
    background:#fff;
    border:1px solid var(--ttv-border);
    border-radius:26px;
    padding:22px;
    box-shadow:var(--ttv-shadow);
}
.ttv-comments-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding-bottom:16px;
    border-bottom:1px solid var(--ttv-border);
}
.ttv-comments-head h2 { margin:10px 0 4px; font-size:22px; line-height:1.2; font-weight:800; color:var(--ttv-text); }
.ttv-comments-head p { margin:0; color:var(--ttv-muted); font-size:14px; font-weight:600; }
.ttv-comments-head > strong {
    flex:0 0 auto;
    display:inline-flex;
    border-radius:999px;
    background:#eff6ff;
    color:var(--ttv-blue);
    padding:8px 12px;
    font-size:13px;
    font-weight:800;
}
.ttv-comment-list { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:12px; }
.ttv-comment-item {
    display:flex;
    gap:12px;
    margin:0;
    padding:14px;
    border:1px solid var(--ttv-border);
    border-radius:20px;
    background:#f8fafc;
}
.ttv-comment-body { min-width:0; flex:1; }
.ttv-comment-meta { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.ttv-comment-meta strong { display:block; font-weight:800; color:var(--ttv-text); }
.ttv-comment-meta span { display:block; margin-top:2px; color:var(--ttv-muted); font-size:12px; font-weight:700; }
.ttv-comment-meta em {
    flex:0 0 auto;
    border-radius:999px;
    background:#eaf2ff;
    color:var(--ttv-blue);
    padding:5px 10px;
    font-size:12px;
    font-style:normal;
    font-weight:800;
}
.ttv-comment-body p { margin:10px 0 0; color:#334155; line-height:1.65; }
.ttv-ranking-list .ttv-empty-state { width:100%; }
@media (max-width:780px) {
    .ttv-header-actions .ttv-profile-btn, .ttv-header-actions .ttv-logout-btn { display:none; }
    .ttv-comments-card { padding:16px; border-radius:22px; }
    .ttv-comments-head, .ttv-comment-meta { flex-direction:column; }
    .ttv-comment-item { align-items:flex-start; }
}
.ttv-secondary-link-btn { display:flex; align-items:center; justify-content:center; min-height:46px; margin-top:10px; border:1px solid var(--ttv-border); border-radius:17px; background:#fff; color:var(--ttv-blue); font-weight:800; }
.ttv-secondary-link-btn:hover { background:#eff6ff; border-color:#bfdbfe; color:var(--ttv-blue-dark); }

/* v1.0.12 - Popüler konular dinamik konu kartları */
.ttv-topic-grid-dynamic a { align-items:center; gap:12px; }
.ttv-topic-grid-dynamic a span { display:block; min-width:0; }
.ttv-topic-grid-dynamic a strong { display:block; font-weight:700; color:var(--ttv-text); }
.ttv-topic-grid-dynamic a small { display:block; margin-top:3px; color:var(--ttv-muted); font-size:12px; font-weight:700; }
.ttv-topic-grid-dynamic .ttv-empty-state { grid-column:1 / -1; }


/* Yasal ve bilgilendirme sayfaları */
.ttv-legal-page { max-width: 820px; }
.ttv-legal-page h2 { margin: 28px 0 10px; font-size: 22px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; }
.ttv-legal-page p { margin: 10px 0; color: #334155; }
.ttv-legal-page ul { margin: 10px 0 0 20px; padding: 0; color: #334155; }
.ttv-legal-page li { margin: 7px 0; }
.ttv-legal-page strong { color: #0f172a; font-weight: 800; }


.ttv-login-help { margin-top:8px; text-align:right; }
.ttv-login-help-link { color:var(--ttv-blue); font-size:14px; font-weight:800; text-decoration:none; }
.ttv-login-help-link:hover { text-decoration:underline; }
.ttv-status-box { margin:0 0 18px; padding:14px 16px; border-radius:18px; border:1px solid var(--ttv-border); background:#f8fafc; color:var(--ttv-text); font-size:14px; font-weight:700; line-height:1.6; }
.ttv-status-box strong { color:var(--ttv-text); }
.ttv-status-success { border-color:#bbf7d0; background:#f0fdf4; }
.ttv-status-error { border-color:#fecaca; background:#fef2f2; }
.ttv-status-info { border-color:#bfdbfe; background:#eff6ff; }
.ttv-auth-actions { margin-top:14px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.ttv-auth-text-link { color:var(--ttv-blue); font-weight:800; text-decoration:none; }
.ttv-auth-text-link:hover { text-decoration:underline; }
.ttv-password-note { margin-top:10px; color:var(--ttv-muted); font-size:13px; font-weight:700; line-height:1.6; }
.ttv-auth-form .ttv-submit-btn { width:100%; min-height:48px; border:0; border-radius:17px; background:var(--ttv-blue); color:#fff; font-weight:800; font-size:15px; cursor:pointer; }
.ttv-auth-form .ttv-submit-btn:hover { background:#1d4ed8; }
