/* =========================================================================
   Kinozine — hesaplar, profiller, ayarlar, yasal sayfalar, pencereler, formlar
   styles.css'teki tasarım sistemini (kâğıt, mürekkep, ofset gölge) kullanır.
   ========================================================================= */

.spacer { flex: 1; }
.search-trigger span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.noscript { padding: 40px var(--gutter); font-size: 16px; }
body[data-chrome="admin"] .nav, body[data-chrome="admin"] .footer, body[data-chrome="admin"] .tabbar, body[data-chrome="admin"] #banner { display: none; }
body[data-chrome="admin"] main { padding-bottom: 0; }

/* ——— Duyuru şeridi ——— */
.banner { background: var(--mustard); color: #1d1b17; border-bottom: 1.5px solid var(--ink); font-size: 14px; font-weight: 600; }
.banner.is-warning { background: var(--tomato); color: #fff; }
.banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; }
.banner .icon-btn { color: inherit; }
.banner .icon-btn:hover { background: rgba(0, 0, 0, 0.1); }

/* ——— Avatarlar ——— */
.ava { width: 40px; height: 40px; flex: none; border-radius: 50%; overflow: hidden; display: grid; place-items: center; border: 1.5px solid var(--ink); background: var(--card); }
.ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ava--initials { background: color-mix(in srgb, var(--pc, var(--mustard)) 62%, #fff); color: #1d1b17; font-family: var(--f-display); font-weight: 900; font-size: 18px; line-height: 1; }
.ava.sm { width: 32px; height: 32px; }
.ava.sm.ava--initials { font-size: 14px; }
.ava.lg { width: 88px; height: 88px; border-width: 2px; }
.ava.lg.ava--initials { font-size: 38px; }
.ava.xl { width: 148px; height: 148px; border-width: 2.5px; }
.ava.xl.ava--initials { font-size: 64px; }
.avatar-btn { border-radius: 50%; transition: transform 0.2s var(--spring); }
.avatar-btn:hover { transform: rotate(-8deg) scale(1.05); }
.avatar-btn[aria-expanded="true"] .ava { box-shadow: 3px 3px 0 var(--offset); }
.menu-user { display: flex; align-items: center; gap: 10px; padding: 8px 8px 6px; }
.menu-user b { display: block; font-size: 14.5px; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-user .meta { text-transform: none; letter-spacing: 0; }

/* ——— Düğme ekleri ——— */
.btn-danger { background: var(--danger); color: #fff; box-shadow: 3px 3px 0 var(--offset); }
.btn-danger:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--offset); }
.btn-danger:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--offset); }
.btn-ghost.is-danger { color: var(--danger); border-color: var(--danger); }
.btn-block { width: 100%; }
.btn.is-busy { position: relative; pointer-events: none; color: transparent; }
.btn.is-busy > * { visibility: hidden; }
.btn.is-busy::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; border: 2.2px solid var(--spin, var(--ink)); border-right-color: transparent; animation: spin 0.7s linear infinite; }
.btn-primary.is-busy { --spin: var(--paper); }
.btn-danger.is-busy { --spin: #fff; }
@keyframes spin { to { transform: rotate(360deg); } }
.btn-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.icon.flip { transform: rotate(180deg); }
.nav-right .btn-sm { height: 36px; }
.select-sm select { height: 36px; font-size: 13px; }
.select .select-lead { position: absolute; left: 11px; right: auto; width: 15px; height: 15px; }
.select:has(.select-lead) select { padding-left: 32px; }
.select-block, .select-block select { width: 100%; }
.select-block select { height: 46px; font-size: 15px; font-weight: 500; }

/* ——— Rozet ve bilgi kutusu ——— */
.badge { display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px; border-radius: 6px; border: 1.5px solid var(--rule); font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; vertical-align: middle; color: var(--ink-2); }
.badge .icon { width: 13px; height: 13px; stroke-width: 2.4; }
.badge.is-ok { color: var(--st-watching); border-color: currentColor; background: color-mix(in srgb, var(--st-watching) 10%, transparent); }
.badge.is-warn { color: var(--st-onhold); border-color: currentColor; background: color-mix(in srgb, var(--st-onhold) 10%, transparent); }
.badge.is-bad { color: var(--danger); border-color: currentColor; background: color-mix(in srgb, var(--danger) 10%, transparent); }
.badge.is-team { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.callout { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0; padding: 14px 16px; border: 1.5px solid var(--ink); border-radius: 10px; background: color-mix(in srgb, var(--mustard) 20%, var(--card)); font-size: 14.5px; }
.callout > .icon { margin-top: 1px; color: var(--ink); }
.callout > div, .callout > p { flex: 1; min-width: 0; }
.callout b { font-weight: 700; }
.callout div p { margin-top: 2px; color: var(--ink-2); }
.callout .btn { align-self: center; }
.callout.is-info { background: color-mix(in srgb, var(--cobalt) 12%, var(--card)); }
.callout.is-danger { background: color-mix(in srgb, var(--danger) 12%, var(--card)); border-color: var(--danger); }
.callout.is-danger > .icon { color: var(--danger); }
.page > .callout { margin-top: 0; margin-bottom: 28px; }

/* ——— Formlar ——— */
.form { display: block; }
.form .field + .field, .form .field + .form-actions, .form .field + .field-check, .form .field-check + .field-check { margin-top: 18px; }
.form .btn-block { margin-top: 24px; }
.form-narrow { max-width: 440px; }
.form-actions { display: flex; gap: 10px; }
.field-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.form .field-label, .pf-editor .field-label { display: inline; margin: 0; font-size: 14px; font-weight: 600; }
.field-link { font-size: 13px; font-weight: 600; color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; }
.field-link:hover { color: var(--tomato-text); }
.input-wrap { position: relative; display: flex; align-items: center; }
.input { width: 100%; height: 46px; padding: 0 14px; border: 1.5px solid var(--ink); border-radius: 10px; background: var(--card); color: var(--ink); font: inherit; font-size: 15px; transition: box-shadow 0.15s, border-color 0.15s; }
.input::placeholder { color: var(--ink-3); }
.input:focus { outline: none; box-shadow: 3px 3px 0 var(--tomato); }
.input[aria-invalid="true"] { border-color: var(--danger); box-shadow: 3px 3px 0 color-mix(in srgb, var(--danger) 40%, transparent); }
.textarea { height: auto; min-height: 120px; padding: 12px 14px; line-height: 1.55; resize: vertical; }
.input-wrap .input-btn { position: absolute; right: 5px; width: 36px; height: 36px; border-radius: 8px; display: grid; place-items: center; color: var(--ink-2); }
.input-wrap .input-btn:hover { background: var(--paper-2); color: var(--ink); }
.input-wrap .input-btn .icon { width: 18px; height: 18px; }
.input-wrap:has(.input-btn) .input { padding-right: 46px; }
.input-prefix { position: absolute; left: 13px; font-family: var(--f-mono); font-size: 12.5px; color: var(--ink-3); pointer-events: none; }
.input-suffix { position: absolute; right: 13px; font-family: var(--f-mono); font-size: 13px; color: var(--ink-3); pointer-events: none; }
.input-wrap:has(.input-suffix) .input { padding-right: 160px; }
.field-hint { margin-top: 7px; font-size: 13px; color: var(--ink-2); display: flex; flex-wrap: wrap; gap: 4px 12px; }
.field-error { margin-top: 7px; font-size: 13px; font-weight: 600; color: var(--danger); }
.form-alert { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 18px; padding: 12px 14px; border: 1.5px solid var(--danger); border-radius: 10px; background: color-mix(in srgb, var(--danger) 10%, var(--card)); color: var(--ink); font-size: 14px; font-weight: 500; }
.form-alert .icon { color: var(--danger); margin-top: 1px; flex: none; }
.form-alert[hidden] { display: none; }
.url-preview { font-family: var(--f-mono); font-size: 12.5px; color: var(--ink-3); }
.url-preview b { color: var(--ink); font-weight: 600; }
.name-status { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; }
.name-status .icon { width: 14px; height: 14px; stroke-width: 2.6; }
.name-status.is-ok { color: var(--st-watching); }
.name-status.is-bad { color: var(--danger); }
.name-status.is-checking { color: var(--ink-3); }
.pw-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 9px; }
.pw-meter span { height: 5px; border-radius: 3px; background: var(--paper-2); transition: background-color 0.25s; }
.pw-meter[data-level="1"] span:nth-child(-n+1) { background: var(--danger); }
.pw-meter[data-level="2"] span:nth-child(-n+2) { background: var(--st-onhold); }
.pw-meter[data-level="3"] span:nth-child(-n+3) { background: var(--mustard); }
.pw-meter[data-level="4"] span { background: var(--st-watching); }
.pw-label { min-height: 1.4em; }

.check { position: relative; display: flex; align-items: flex-start; gap: 11px; cursor: pointer; font-size: 14.5px; line-height: 1.45; }
.check input { position: absolute; left: 0; top: 0; width: 22px; height: 22px; margin: 0; opacity: 0; cursor: pointer; }
.check-box { width: 22px; height: 22px; flex: none; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 6px; background: var(--card); transition: background-color 0.15s, transform 0.15s var(--spring); }
.check-box .icon { width: 15px; height: 15px; stroke-width: 3; opacity: 0; color: var(--paper); transform: scale(0.6); transition: opacity 0.15s, transform 0.2s var(--spring); }
.check input:checked + .check-box { background: var(--ink); }
.check input:checked + .check-box .icon { opacity: 1; transform: none; }
.check input:focus-visible + .check-box { outline: 2.5px solid var(--tomato); outline-offset: 2px; }
.check:active .check-box { transform: scale(0.9); }
.check-label a { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; border: 0; font-family: inherit; font-size: inherit; text-transform: none; letter-spacing: 0; padding: 0; display: inline; }

.switch-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0; cursor: pointer; }
.switch-row + .switch-row { border-top: 1.5px dotted var(--rule); }
.switch-text b { display: block; font-size: 15px; }
.switch-text .meta { display: block; margin-top: 3px; text-transform: none; letter-spacing: 0; font-family: var(--f-body); font-size: 13.5px; }
.switch { position: relative; flex: none; width: 50px; height: 30px; }
.switch input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; z-index: 1; }
.switch-track { position: absolute; inset: 0; border: 1.5px solid var(--ink); border-radius: 999px; background: var(--paper-2); transition: background-color 0.2s; }
.switch-track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 21px; height: 21px; border-radius: 50%; background: var(--card); border: 1.5px solid var(--ink); transition: transform 0.25s var(--spring); }
.switch input:checked + .switch-track { background: var(--tomato); }
.switch input:checked + .switch-track::after { transform: translateX(20px); }
.switch input:focus-visible + .switch-track { outline: 2.5px solid var(--tomato); outline-offset: 3px; }
.switch input:disabled + .switch-track { opacity: 0.5; }

/* ——— Pencere ——— */
.modal-layer { position: fixed; inset: 0; z-index: 115; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.modal-scrim { position: absolute; inset: 0; background: color-mix(in srgb, var(--paper) 72%, transparent); animation: fadeIn 0.18s; }
.modal { position: relative; width: 100%; max-width: 480px; max-height: calc(100vh - 48px); display: flex; flex-direction: column; background: var(--card); border: 1.5px solid var(--ink); border-radius: 16px; box-shadow: 6px 6px 0 var(--offset); animation: popIn 0.3s var(--spring); }
.modal.is-wide { max-width: 720px; }
.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 18px 0 24px; }
.modal-title { font-family: var(--f-display); font-weight: 900; font-size: 30px; line-height: 1; text-transform: uppercase; }
.modal-body { padding: 16px 24px 24px; overflow-y: auto; overscroll-behavior: contain; font-size: 15px; }
.modal-body > p + * , .modal-body form > p + * { margin-top: 14px; }
.modal-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.modal > .modal-actions { margin: 0; padding: 0 24px 22px; }
.compose-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.compose-row + .field { margin-top: 18px; }

/* ——— Giriş / kayıt ——— */
.auth-page { padding-top: 56px; }
.auth-grid { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 420px); justify-content: center; align-items: center; gap: 88px; }
.auth-grid.is-single { grid-template-columns: minmax(0, 560px); }
.auth-title { font-family: var(--f-display); font-weight: 900; font-size: clamp(48px, 6vw, 72px); line-height: 0.88; text-transform: uppercase; }
.auth-sub { margin: 12px 0 28px; font-size: 16px; color: var(--ink-2); max-width: 440px; }
.auth-sub b { color: var(--ink); }
.auth-icon { width: 56px; height: 56px; margin-bottom: 18px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 14px; background: var(--mustard); color: #1d1b17; box-shadow: 3px 3px 0 var(--offset); transform: rotate(-4deg); }
.auth-icon .icon { width: 28px; height: 28px; }
.auth-links { display: flex; justify-content: space-between; gap: 16px; margin-top: 20px; }
.auth-switch { margin-top: 28px; padding-top: 20px; border-top: 1.5px dotted var(--rule); font-size: 14.5px; color: var(--ink-2); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.auth-state { text-align: center; display: flex; flex-direction: column; align-items: center; padding: 32px 0; }
.auth-state .doodle-art { width: 132px; height: 132px; margin-bottom: 12px; }
.auth-state .auth-sub { margin-left: auto; margin-right: auto; }
.auth-state .hint, .auth-state .callout { max-width: 460px; text-align: left; }
.auth-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.auth-aside { position: relative; }
.zine-note { position: relative; padding: 36px 34px 120px; background: var(--card); border: 1.5px solid var(--ink); border-radius: 6px; box-shadow: 5px 5px 0 var(--offset); transform: rotate(1.6deg); }
.zine-note .hand { font-size: 38px; line-height: 0.95; transform: rotate(-2deg); }
.zine-list { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; font-size: 15.5px; font-weight: 500; }
.zine-list li { display: flex; align-items: flex-start; gap: 10px; }
.zine-list .doodle-check { width: 24px; height: 24px; flex: none; stroke: var(--tomato); stroke-width: 3; }
.zine-note .doodle-art { position: absolute; right: 18px; bottom: 6px; width: 120px; height: 120px; transform: rotate(8deg); }

/* ——— Ayarlar ——— */
.settings-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; align-items: start; }
.side-tabs { position: sticky; top: calc(var(--nav-h) + 24px); display: flex; flex-direction: column; gap: 4px; }
.side-tab { display: flex; align-items: center; gap: 11px; height: 44px; padding: 0 14px; border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--ink-2); border: 1.5px solid transparent; transition: background-color 0.2s, color 0.2s; }
.side-tab .icon { width: 18px; height: 18px; }
.side-tab:hover { background: var(--paper-2); color: var(--ink); }
.side-tab[aria-current="page"] { background: var(--card); color: var(--ink); border-color: var(--ink); box-shadow: 3px 3px 0 var(--tomato); }
.set-section { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 1fr); gap: 32px; padding: 32px 0; border-top: 1.5px dotted var(--rule); }
.set-section:first-child { padding-top: 0; border-top: 0; }
.set-title { font-family: var(--f-display); font-weight: 900; font-size: 28px; line-height: 0.95; text-transform: uppercase; }
.set-desc { margin-top: 8px; font-size: 14px; color: var(--ink-2); }
.set-body { min-width: 0; max-width: 620px; }
.set-section.is-danger .set-title { color: var(--danger); }
.kv { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1.5px dotted var(--rule); font-size: 15px; }
.kv-key { color: var(--ink-2); font-size: 14px; }
.kv-val { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; min-width: 0; flex-wrap: wrap; justify-content: flex-end; overflow-wrap: anywhere; }
.kv-val code { font-family: var(--f-mono); font-size: 13px; }
.kv + .form, .kv + .hint, .callout + .form { margin-top: 18px; }
.status-row { display: flex; align-items: flex-start; gap: 14px; }
.status-row p { font-size: 14.5px; color: var(--ink-2); }
.session-list { list-style: none; margin: 0; padding: 0; }
.session-row { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1.5px dotted var(--rule); }
.session-icon { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 10px; background: var(--card); }
.session-text { flex: 1; min-width: 0; }
.session-name { font-weight: 600; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.session-text .meta { margin-top: 3px; text-transform: none; letter-spacing: 0; font-family: var(--f-body); font-size: 13px; }
.choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.choices.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choice { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px 16px; border: 1.5px solid var(--rule); border-radius: 12px; background: var(--card); transition: border-color 0.2s, box-shadow 0.15s; }
.choice:hover { border-color: var(--ink); }
.choice.is-on { border-color: var(--ink); box-shadow: 3px 3px 0 var(--tomato); }
.choice-title { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: 15px; }
.choice-title .icon { width: 16px; height: 16px; }
.choice-check { position: absolute; right: 12px; top: 12px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--paper); }
.choice-check .icon { width: 13px; height: 13px; stroke-width: 3; }
.theme-swatch { display: flex; width: 100%; height: 54px; margin-bottom: 8px; border: 1.5px solid var(--ink); border-radius: 8px; overflow: hidden; }
.theme-swatch i { flex: 1; }
.theme-swatch.is-light i:nth-child(1) { background: #f2ece0; }
.theme-swatch.is-light i:nth-child(2) { background: #faf6ee; }
.theme-swatch.is-light i:nth-child(3) { background: #e0452b; flex: 0.4; }
.theme-swatch.is-dark i:nth-child(1) { background: #17150f; }
.theme-swatch.is-dark i:nth-child(2) { background: #24211a; }
.theme-swatch.is-dark i:nth-child(3) { background: #ff5c3e; flex: 0.4; }
.theme-swatch.is-system { background: linear-gradient(135deg, #f2ece0 50%, #17150f 50%); }
.theme-swatch.is-system i { display: none; }
.codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 16px 0 0; padding: 16px 18px 16px 40px; border: 1.5px dashed var(--ink); border-radius: 10px; background: var(--paper); }
.codes code { font-family: var(--f-mono); font-size: 15px; font-weight: 600; letter-spacing: 0.06em; }
.steps { margin: 0 0 16px; padding-left: 20px; display: grid; gap: 6px; font-size: 14.5px; }
.qr { width: 196px; margin: 0 auto 14px; padding: 10px; background: #fff; border: 1.5px solid var(--ink); border-radius: 12px; }
.qr svg { width: 100%; height: auto; display: block; }
.manual-key { margin-bottom: 16px; font-size: 14px; }
.manual-key summary { cursor: pointer; font-weight: 600; color: var(--ink-2); }
.key-row { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 8px 8px 8px 14px; border: 1.5px solid var(--rule); border-radius: 8px; }
.key-row code { flex: 1; font-family: var(--f-mono); font-size: 14px; font-weight: 600; letter-spacing: 0.05em; word-break: break-all; }

/* ——— Profil ——— */
.profile-page { padding-bottom: 0; }
main:has(.profile-page) { padding-bottom: 0; }
.pf { --acc: #e0452b; --acc-ink: #fff; background: var(--paper); color: var(--ink); padding-bottom: 96px; }
.pf[data-accent="mustard"] { --acc: #f2b928; --acc-ink: #1d1b17; }
.pf[data-accent="cobalt"] { --acc: #2f67b1; --acc-ink: #fff; }
.pf[data-accent="mint"] { --acc: #3c9b63; --acc-ink: #fff; }
.pf[data-accent="grape"] { --acc: #6d55a3; --acc-ink: #fff; }
.pf[data-accent="pink"] { --acc: #e5679c; --acc-ink: #1d1b17; }
.pf[data-accent="teal"] { --acc: #22898a; --acc-ink: #fff; }
.pf[data-accent="ink"] { --acc: var(--ink); --acc-ink: var(--paper); }
.pf-theme-night { color-scheme: dark; --paper: #15161c; --paper-2: #23242d; --card: #1c1d25; --ink: #efe9dc; --ink-2: #b3ad9f; --ink-3: #7d786d; --line: rgba(239, 233, 220, 0.13); --rule: rgba(239, 233, 220, 0.3); --offset: #000; --tomato-text: #ff8064; }
.pf-theme-blush { --paper: #f6e2dd; --paper-2: #ecccc5; --card: #fcf1ee; }
.pf-theme-sage { --paper: #e2e9d8; --paper-2: #cfdac2; --card: #f2f5ec; }
.pf-theme-sky { --paper: #dde7f1; --paper-2: #c9d8e7; --card: #eff4f9; }
:root[data-theme="dark"] .pf-theme-blush { --paper: #241719; --paper-2: #352328; --card: #2c1d21; }
:root[data-theme="dark"] .pf-theme-sage { --paper: #161c14; --paper-2: #232c1f; --card: #1c2418; }
:root[data-theme="dark"] .pf-theme-sky { --paper: #131a22; --paper-2: #1f2934; --card: #18212b; }
@media (prefers-color-scheme: dark) {
  :root[data-theme="system"] .pf-theme-blush { --paper: #241719; --paper-2: #352328; --card: #2c1d21; }
  :root[data-theme="system"] .pf-theme-sage { --paper: #161c14; --paper-2: #232c1f; --card: #1c2418; }
  :root[data-theme="system"] .pf-theme-sky { --paper: #131a22; --paper-2: #1f2934; --card: #18212b; }
}
.pf-banner { height: 230px; border-bottom: 1.5px solid var(--ink); background-color: var(--paper-2); position: relative; overflow: hidden; }
.pf-banner.is-photo img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(1.05) contrast(1.05); }
.pf-banner.is-photo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle, rgba(0, 0, 0, 0.22) 1px, transparent 1.6px) 0 0 / 5px 5px; mix-blend-mode: multiply; }
.pat-stripes { background: repeating-linear-gradient(-45deg, var(--acc) 0 18px, var(--paper-2) 18px 36px); }
.pat-dots { background: radial-gradient(circle, var(--acc) 0 7px, transparent 7.5px) 0 0 / 28px 28px, radial-gradient(circle, var(--acc) 0 7px, transparent 7.5px) 14px 14px / 28px 28px, var(--paper-2); }
.pat-waves { background: radial-gradient(circle at 50% 100%, transparent 0 10px, var(--acc) 10.5px 16px, transparent 16.5px) 0 0 / 40px 20px, var(--paper-2); }
.pat-grid { background: linear-gradient(var(--acc) 0 2px, transparent 2px) 0 0 / 30px 30px, linear-gradient(90deg, var(--acc) 0 2px, transparent 2px) 0 0 / 30px 30px, var(--paper-2); }
.pat-rings { background: repeating-radial-gradient(circle at 18% 130%, var(--acc) 0 12px, var(--paper-2) 12px 26px); }
.pat-sun { background: repeating-conic-gradient(from -90deg at 50% 120%, var(--acc) 0 7deg, var(--paper-2) 7deg 14deg); }
.pf-wrap { padding-inline: var(--edge); }
.pf-head { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 28px; padding-top: 22px; }
.pf-ava-wrap { position: relative; margin-top: -96px; transform: rotate(-3deg); }
.pf-ava-wrap .ava { box-shadow: 5px 5px 0 var(--acc); }
.pf-ava-wrap .ava:not(.ava--initials) { background: var(--card); }
.pf-id { min-width: 0; }
.pf-name { font-family: var(--f-display); font-weight: 900; font-size: clamp(48px, 6vw, 84px); line-height: 0.86; text-transform: uppercase; overflow-wrap: anywhere; }
.pf-name.is-long { font-size: clamp(40px, 4.6vw, 64px); }
.pf-handle { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; font-family: var(--f-mono); font-size: 14px; font-weight: 600; color: var(--ink-2); }
.pf-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; }
.pf-meta span { display: inline-flex; align-items: center; gap: 6px; }
.pf-meta .icon { width: 14px; height: 14px; }
.pf-actions { display: flex; gap: 10px; }
.pf-tabs { margin-top: 32px; }
.tab-count { font-family: var(--f-mono); font-size: 14px; color: var(--ink-3); }
.pf-cols { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 32px; }
.pf-cols.is-wide { grid-template-columns: minmax(0, 1fr); }
.pf-side, .pf-main { display: grid; gap: 24px; min-width: 0; }
.pf-zine { max-width: 980px; margin: 32px auto 0; display: grid; gap: 28px; }
.pf-zine .pf-sec { background: transparent; border-width: 0 0 1.5px; border-style: dashed; border-color: var(--rule); border-radius: 0; padding: 0 0 28px; }
.pf-zine .pf-sec-title { font-size: 40px; }
.pf-sec { position: relative; background: var(--card); border: 1.5px solid var(--ink); border-radius: 12px; padding: 22px 24px 24px; min-width: 0; }
.pf-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.pf-sec-title { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-display); font-weight: 900; font-size: 26px; line-height: 1; text-transform: uppercase; }
.pf-sec-title::before { content: ""; width: 12px; height: 12px; flex: none; background: var(--acc); border: 1.5px solid var(--ink); transform: rotate(45deg); }
.pf-bio { white-space: pre-line; font-size: 15.5px; line-height: 1.6; overflow-wrap: anywhere; }
.pf-zine .pf-bio { font-size: 19px; }
.pf-links { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 6px; }
.pf-zine .pf-links { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.pf-link { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1.5px solid var(--rule); border-radius: 8px; font-size: 14px; transition: border-color 0.2s, background-color 0.2s; }
.pf-link:hover { border-color: var(--ink); background: var(--paper-2); }
.pf-link-k { font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-3); width: 84px; flex: none; }
.pf-link-v { flex: 1; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-link .icon { width: 15px; height: 15px; color: var(--ink-3); }
.pf-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.pf-stat b { display: block; font-family: var(--f-display); font-weight: 900; font-size: 44px; line-height: 0.9; font-variant-numeric: tabular-nums; }
.pf-stat b small { font-family: var(--f-mono); font-size: 12px; margin-left: 3px; color: var(--ink-2); }
.pf-stat .meta { display: block; margin-top: 6px; }
.pf-zine .pf-stat-grid, .pf-cols.is-wide .pf-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pf-zine .pf-stat b { font-size: 64px; }
.pf-stats .stack { margin-top: 22px; }
.pf-fav-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 24px 18px; }
.pf-zine .pf-fav-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 32px 22px; }
.pf-fav { position: relative; transform: rotate(var(--r, 0deg)); transition: transform 0.25s var(--spring); }
.pf-fav:hover { transform: rotate(0) translateY(-4px); }
.pf-fav a { display: block; }
.pf-fav-poster { border-radius: 6px; overflow: hidden; border: 1.5px solid var(--ink); box-shadow: 3px 3px 0 var(--offset); aspect-ratio: 2 / 3; }
.pf-fav-poster .art { height: 100%; }
.pf-fav-n { position: absolute; z-index: 3; left: -8px; top: -14px; min-width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--acc); color: var(--acc-ink); border: 1.5px solid var(--ink); font-size: 24px; }
.pf-fav-title { display: block; margin-top: 9px; font-size: 13.5px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-watch-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.pf-watch { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; transition: background-color 0.2s; }
.pf-watch:hover { background: var(--paper-2); }
.pf-watch-thumb { width: 46px; flex: none; aspect-ratio: 2 / 3; border-radius: 4px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14); }
.pf-watch-text { flex: 1; min-width: 0; display: grid; gap: 4px; }
.pf-watch-text b { font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-watch .progress { height: 7px; }
.pf-watch .progress > span { background-color: var(--acc); }
.pf-timeline { list-style: none; margin: 0; padding: 0; }
.pf-act { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; padding: 9px 0; }
.pf-act + .pf-act::before { content: ""; position: absolute; left: 6px; top: -9px; height: 18px; border-left: 1.5px dotted var(--rule); }
.pf-act-dot { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid var(--ink); background: var(--dot, var(--card)); transform: translateY(1px); }
.pf-act-dot.is-score { background: var(--star); }
.pf-act-text { font-size: 14.5px; }
.pf-act-text a { font-weight: 600; text-decoration: underline; text-decoration-color: var(--acc); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.pf-act time { white-space: nowrap; }
.pf-private { display: flex; align-items: center; gap: 12px; padding: 20px; border: 1.5px dashed var(--rule); border-radius: 12px; color: var(--ink-2); }
.pf-empty-note { padding: 20px 0; }
.pf-list { margin-top: 20px; }
.pf-list .folder-tabs { margin-top: 4px; }
.pl-rows { list-style: none; margin: 0; padding: 0; }
.pl-row { display: grid; grid-template-columns: minmax(0, 1fr) 70px 90px 150px; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1.5px dotted var(--rule); }
.pl-row:last-child { border-bottom: 0; }
.pl-title { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pl-score { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; }
.pl-score .icon { width: 14px; height: 14px; color: var(--star); }
.pl-status { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 600; }
/* Profil sahibi: satıra tıklayınca hızlı düzenleme (tüm satırı kaplayan görünmez düğme) */
.pl-row.is-editable, .pf-watch-list .is-editable { position: relative; }
.pl-row.is-editable { grid-template-columns: minmax(0, 1fr) 70px 90px 150px 20px; margin-inline: -10px; padding-inline: 10px; border-radius: 10px; transition: background-color 0.15s; }
.pl-row.is-editable:hover, .pf-watch-list .is-editable:hover .pf-watch { background: color-mix(in srgb, var(--mustard) 16%, transparent); }
.row-hit { position: absolute; inset: 0; z-index: 1; width: 100%; border-radius: 10px; cursor: pointer; }
.row-hit:focus-visible { outline-offset: -3px; }
.row-edit { display: grid; place-items: center; color: var(--ink-3); transition: color 0.15s, transform 0.2s var(--spring); }
.row-edit .icon { width: 16px; height: 16px; }
.is-editable:hover .row-edit { color: var(--ink); transform: rotate(-12deg); }
.pf-watch-list .is-editable .pf-watch { border-radius: 10px; transition: background-color 0.15s; }
.pf-watch-list .is-editable .row-edit { margin-left: auto; }

/* ——— Profil düzenleyici ——— */
.pf-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 40px; align-items: start; }
.pf-editor-form { min-width: 0; }
.pf-editor .set-section { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.pf-editor .set-body { max-width: 720px; }
.pf-editor .field + .field { margin-top: 18px; }
.pf-editor-preview { position: sticky; top: calc(var(--nav-h) + 20px); }
.preview-label { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.preview-label .icon { width: 15px; height: 15px; }
.preview-frame { height: min(70vh, 660px); overflow: hidden auto; border: 1.5px solid var(--ink); border-radius: 14px; box-shadow: 5px 5px 0 var(--offset); background: var(--paper); }
.preview-scale { zoom: 0.5; width: 100%; pointer-events: none; }
.preview-scale .pf { padding-bottom: 40px; }
.preview-scale .pf-wrap { padding-inline: 40px; }
.preview-scale .pf-cols { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
.ava-edit { display: flex; align-items: center; gap: 22px; margin-bottom: 22px; }
.ava-edit-pic { position: relative; }
.ava-edit-pic.is-busy::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: color-mix(in srgb, var(--paper) 60%, transparent); }
.ava-edit-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ava-edit-actions .hint { flex-basis: 100%; margin-top: 2px; }
.file-btn { cursor: pointer; }
.file-btn:focus-within { outline: 2.5px solid var(--tomato); outline-offset: 3px; }
.pick + .pick { margin-top: 22px; }
.pick-label { margin-bottom: 10px; font-size: 14px; font-weight: 600; }
.swatches { display: flex; flex-wrap: wrap; gap: 10px; }
.swatch { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px; border: 1.5px solid var(--rule); border-radius: 12px; background: var(--card); cursor: pointer; transition: border-color 0.2s, box-shadow 0.15s; }
.swatch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.swatch:hover { border-color: var(--ink); }
.swatch.is-on { border-color: var(--ink); box-shadow: 3px 3px 0 var(--tomato); }
.swatch:has(input:focus-visible) { outline: 2.5px solid var(--tomato); outline-offset: 2px; }
.swatch-label { font-size: 12.5px; font-weight: 600; }
.theme-chip { display: flex; width: 64px; height: 40px; border: 1.5px solid var(--ink); border-radius: 7px; overflow: hidden; background: var(--paper); }
.theme-chip i { flex: 1; }
.theme-chip i:last-child { background: var(--card); }
.swatches.is-dots .swatch { padding: 6px; border-radius: 50%; }
.accent-dot { width: 30px; height: 30px; border-radius: 50%; background: var(--c); border: 1.5px solid var(--ink); }
.layout-pic { display: grid; width: 88px; height: 58px; gap: 4px; padding: 6px; border: 1.5px solid var(--ink); border-radius: 7px; background: var(--paper); }
.layout-pic i { border-radius: 3px; background: var(--paper-2); border: 1px solid var(--rule); }
.layout-pic.is-classic { grid-template-columns: 1fr 2fr; grid-template-rows: 1fr 1fr; }
.layout-pic.is-classic i:nth-child(1) { grid-row: span 2; }
.layout-pic.is-zine { grid-template-rows: 1fr 1fr 1fr; }
.banner-swatch { padding: 4px; --acc: #e0452b; }
.banner-swatch[data-accent="mustard"] { --acc: #f2b928; }
.banner-swatch[data-accent="cobalt"] { --acc: #2f67b1; }
.banner-swatch[data-accent="mint"] { --acc: #3c9b63; }
.banner-swatch[data-accent="grape"] { --acc: #6d55a3; }
.banner-swatch[data-accent="pink"] { --acc: #e5679c; }
.banner-swatch[data-accent="teal"] { --acc: #22898a; }
.banner-swatch[data-accent="ink"] { --acc: var(--ink); }
.banner-swatch .pf-banner { width: 96px; height: 52px; border: 1.5px solid var(--ink); border-radius: 7px; }
.banner-hint { flex-basis: 100%; }
.sec-list, .fav-edit { list-style: none; margin: 0; padding: 0; }
.sec-row, .fav-row { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1.5px dotted var(--rule); }
.sec-row .check { flex: 1; align-items: center; }
.sec-row.is-off .check-label { color: var(--ink-3); }
.sec-move { display: inline-flex; gap: 2px; flex: none; }
.fav-n { width: 26px; text-align: center; font-size: 24px; flex: none; }
.fav-row .lrow-thumb { width: 36px; }
.fav-text { flex: 1; min-width: 0; display: grid; }
.fav-text b { font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fav-empty { padding: 10px 0; }
.links-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.pf-editor .links-grid .field + .field { margin-top: 0; }
.links-grid [data-field="letterboxd"] .input { padding-left: 128px; }
.links-grid [data-field="instagram"] .input { padding-left: 122px; }
.links-grid [data-field="x"] .input { padding-left: 58px; }
.links-grid [data-field="youtube"] .input { padding-left: 118px; }
.links-grid [data-field="tiktok"] .input { padding-left: 104px; }
.save-bar { position: sticky; bottom: calc(16px + var(--tabbar-h)); z-index: 20; grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 8px; padding: 10px 12px 10px 18px; border: 1.5px solid var(--ink); border-radius: 14px; background: var(--card); box-shadow: 4px 4px 0 var(--offset); transition: box-shadow 0.2s; }
.save-bar.is-dirty { box-shadow: 4px 4px 0 var(--tomato); }
body:has(.save-bar) .toast-region { bottom: calc(92px + var(--tabbar-h)); }
.save-bar .btn-row { margin: 0; }
.save-state { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--ink-2); }
.save-state .icon { width: 16px; height: 16px; color: var(--st-watching); stroke-width: 2.6; }
.picker-input { max-width: none; }
.picker-results { list-style: none; margin: 12px 0 0; padding: 0; max-height: 50vh; overflow-y: auto; }
.picker-item { width: 100%; display: flex; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 10px; text-align: left; }
.picker-item:hover:not(:disabled) { background: color-mix(in srgb, var(--mustard) 24%, transparent); }
.picker-item.is-added { opacity: 0.7; }
.picker-item .sr-text { display: grid; gap: 2px; }
.picker-item .sr-title, .picker-item .sr-meta { display: block; }
.picker-state { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: var(--ink-2); }
.picker-state .icon { width: 16px; height: 16px; }
.picker-item.is-added .picker-state { color: var(--st-watching); }
.picker-empty { padding: 20px 10px; }

/* ——— Yasal ——— */
.legal-page { padding-top: 40px; }
.legal-nav { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.legal-nav::-webkit-scrollbar { display: none; }
.legal-grid { display: grid; grid-template-columns: 250px minmax(0, 760px); gap: 64px; margin-top: 40px; align-items: start; }
.legal-toc { position: sticky; top: calc(var(--nav-h) + 24px); max-height: calc(100vh - var(--nav-h) - 48px); overflow-y: auto; }
.legal-toc ol { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 2px; }
.legal-toc a { display: block; padding: 6px 10px; border-radius: 8px; font-size: 13.5px; color: var(--ink-2); line-height: 1.35; }
.legal-toc a:hover { background: var(--paper-2); color: var(--ink); }
.legal-title { font-family: var(--f-display); font-weight: 900; font-size: clamp(44px, 5.4vw, 72px); line-height: 0.9; text-transform: uppercase; }
.legal-head .meta { margin-top: 12px; }
.legal-intro { margin-top: 24px; font-size: 17.5px; line-height: 1.65; }
.legal-sec { margin-top: 40px; scroll-margin-top: calc(var(--nav-h) + 20px); }
.legal-sec h2 { font-family: var(--f-display); font-weight: 800; font-size: 28px; line-height: 1; text-transform: uppercase; margin-bottom: 14px; }
.legal-sec p { font-size: 16px; line-height: 1.7; }
.legal-sec p + p { margin-top: 12px; }
.legal-sec ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.legal-sec li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.6; }
.legal-sec li::before { content: ""; position: absolute; left: 2px; top: 0.75em; width: 10px; height: 2px; background: var(--tomato); }
.legal-doc a { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.legal-toc-mobile { display: none; }
.legal-missing { padding: 1px 6px; border-radius: 4px; border: 1.5px dashed var(--danger); background: color-mix(in srgb, var(--mustard) 40%, transparent); color: var(--ink); font-family: var(--f-mono); font-size: 0.85em; }

/* ——— Sunucu tarafı içerik (arama motorları; uygulama yüklenince yerini etkileşimli sürüm alır) ——— */
.ssr-crumbs { margin-top: 28px; }
.ssr-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ssr-crumbs li + li::before { content: "›"; margin-right: 6px; color: var(--ink-3); }
.ssr-crumbs a { text-decoration: underline; text-underline-offset: 3px; }
.ssr .dhead { margin-top: 24px; }
.ssr .dymo { --c: var(--ink); --r: 0deg; }
.ssr-score { margin-top: 18px; font-size: 15px; }
.ssr-score b { font-family: var(--f-display); font-size: 30px; font-weight: 900; }
.ssr-cta { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14.5px; }
.ssr-body { max-width: 860px; }
.ssr-block { margin-top: 40px; }
.ssr-block .info-list { max-width: 640px; }
.ssr-rank { margin: 32px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 15.5px; }
.ssr-rank li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; padding: 8px 0; border-bottom: 1.5px dotted var(--rule); }
.ssr-rank .rank-num { font-size: 26px; min-width: 40px; }
.ssr-rank a { font-weight: 600; }
.ssr-links { margin: 0; padding-left: 18px; columns: 2 260px; column-gap: 32px; }
.ssr-links li { margin: 4px 0; break-inside: avoid; }
.ssr-links a { text-decoration: underline; text-underline-offset: 3px; }
.ssr-seasons { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.ssr-filmo { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.ssr-pager { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 40px; }
.ssr-tabs { margin-bottom: 28px; }
.ssr-footer-links a { font-weight: 500; }
.footer-explore a { font-weight: 500; }

/* ——— Nerede izlenir ——— */
.prov-group + .prov-group { margin-top: 16px; }
.prov-group .meta { margin-bottom: 8px; }
.prov-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.prov { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 5px; border: 1.5px solid var(--rule); border-radius: 999px; background: var(--card); font-size: 13.5px; font-weight: 600; }
.prov img { width: 28px; height: 28px; border-radius: 7px; }
.prov-list li { display: flex; }
:is(a, button).prov { color: inherit; text-decoration: none; cursor: pointer; transition: transform 0.15s var(--spring), box-shadow 0.15s, border-color 0.15s; }
:is(a, button).prov:hover { border-color: var(--ink); transform: translate(-1px, -1px); box-shadow: 2px 2px 0 var(--offset); }
:is(a, button).prov:focus-visible { border-radius: 999px; }
.prov-go { width: 14px; height: 14px; margin-left: -3px; color: var(--ink-3); }
a.prov:hover .prov-go { color: var(--tomato); }
.menu-note { margin: 0; padding: 8px 10px; max-width: 280px; font-size: 13.5px; line-height: 1.45; color: var(--ink-2); white-space: normal; }
.prov-attr { margin-top: 14px; }
.prov-attr a { text-decoration: underline; text-underline-offset: 3px; }

/* ——— Kişiler ——— */
.person-link { display: contents; color: inherit; }
.cast .person:has(.person-link):hover .person-name { text-decoration: underline; text-underline-offset: 3px; }
.info-list dd a { text-decoration: underline; text-underline-offset: 3px; }
.info-ext { margin-top: 16px; }
.person-head .dhead-poster .art { aspect-ratio: 2 / 3; }
.person-initials { display: grid; place-items: center; aspect-ratio: 2 / 3; background: color-mix(in srgb, var(--pc) 55%, #fff); color: #1d1b17; font-family: var(--f-display); font-weight: 900; font-size: 96px; border-radius: 6px; }
.person-facts { margin-top: 22px; max-width: 520px; }
.person-body { max-width: 980px; margin-top: 48px; }
.bio { position: relative; }
.bio.is-clamped { max-height: 13.5em; overflow: hidden; }
.bio.is-clamped::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4em; background: linear-gradient(transparent, var(--paper)); }
.bio + .btn-text { margin-top: 8px; }
.block-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.block-head .block-title { margin-bottom: 0; }
.seg-item .count { font-family: var(--f-mono); font-size: 11px; opacity: 0.7; }
.filmo { list-style: none; margin: 0; padding: 0; }
.filmo-row { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 2px 14px; padding: 10px 0; border-bottom: 1.5px dotted var(--rule); }
.filmo-year { grid-row: span 2; padding-top: 3px; }
.filmo-title { font-weight: 600; font-size: 15px; }
.filmo-title:hover { text-decoration: underline; text-underline-offset: 3px; }
.filmo-role { font-size: 13px; }

/* ——— Arama ——— */
.sr-thumb.is-person { border-radius: 50%; aspect-ratio: 1; display: grid; place-items: center; background: var(--paper-2); font-family: var(--f-display); font-weight: 900; font-size: 15px; }
.sr-thumb.is-person img { width: 100%; height: 100%; object-fit: cover; }
.sr-all { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 6px 4px 4px; padding: 10px; border-radius: 10px; border: 1.5px dashed var(--rule); font-size: 13.5px; font-weight: 600; }
.sr-all:hover { border-color: var(--ink); background: var(--paper-2); }
.sr-all .icon { width: 15px; height: 15px; }
.search-page-form { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; max-width: 640px; }
.search-page-form .search-input { max-width: none; flex: 1 1 280px; }
.search-page-form .search-input input { height: 46px; font-size: 15px; }
.genre-title { font-size: clamp(44px, 6vw, 84px); }

/* ——— Duyarlı düzen ——— */
.nav-link, .nav-right .btn { white-space: nowrap; }
@media (max-width: 1000px) {
  .nav-inner { gap: 20px; }
  .search-trigger { display: none; }
  .search-mobile { display: inline-grid; }
}
@media (max-width: 1100px) {
  .pf-editor { grid-template-columns: minmax(0, 1fr); }
  .pf-editor-preview { position: static; order: -1; }
  .preview-frame { height: 360px; }
  .settings-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .side-tabs { position: static; flex-direction: row; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--edge) * -1); padding: 2px var(--edge) 8px; }
  .side-tabs::-webkit-scrollbar { display: none; }
  .side-tab { flex: none; }
  .legal-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .legal-toc { display: none; }
  .legal-toc-mobile { display: block; padding: 12px 16px; border: 1.5px dotted var(--rule); border-radius: 12px; }
  .legal-toc-mobile summary { cursor: pointer; font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-2); }
  .legal-toc-mobile ol { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 2px; }
  .legal-toc-mobile a { display: block; padding: 5px 0; font-size: 14px; color: var(--ink-2); }
  .auth-grid { grid-template-columns: minmax(0, 480px); }
  .auth-aside { display: none; }
}
@media (max-width: 860px) {
  .pf-cols { grid-template-columns: minmax(0, 1fr); }
  .pf-head { grid-template-columns: auto minmax(0, 1fr); }
  .pf-actions { grid-column: 1 / -1; }
  .set-section { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 760px) {
  .nav-register { display: none; }
  .auth-page { padding-top: 28px; }
  .pf-banner { height: 150px; }
  .pf-head { grid-template-columns: minmax(0, 1fr); gap: 14px; padding-top: 0; }
  .pf-ava-wrap { margin-top: -58px; justify-self: start; }
  .ava.xl { width: 104px; height: 104px; }
  .ava.xl.ava--initials { font-size: 44px; }
  .pf-name { font-size: 44px; }
  .pf-name.is-long { font-size: 34px; }
  .pf-sec { padding: 18px; }
  .pf-zine .pf-sec-title { font-size: 30px; }
  .pf-zine .pf-stat-grid, .pf-cols.is-wide .pf-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-zine .pf-stat b { font-size: 48px; }
  .pf-fav-grid, .pf-zine .pf-fav-grid { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 22px 14px; }
  .pl-row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
  .pl-row.is-editable { grid-template-columns: minmax(0, 1fr) auto; }
  .pl-row .row-edit { display: none; }
  .pl-prog { display: none; }
  .pl-status { grid-column: 1 / -1; padding-left: 62px; }
  .links-grid { grid-template-columns: minmax(0, 1fr); }
  .choices.is-3 { grid-template-columns: minmax(0, 1fr); }
  .codes { grid-template-columns: minmax(0, 1fr); }
  .compose-row { grid-template-columns: minmax(0, 1fr); }
  .modal-layer { align-items: flex-end; padding: 0; }
  .modal { max-width: none; max-height: 92vh; border-radius: 16px 16px 0 0; border-bottom: 0; box-shadow: none; animation: sheetIn 0.32s var(--ease); }
  .modal-actions .btn { flex: 1; }
  .footer-top { align-items: flex-start; flex-direction: column; }
  .kv { flex-direction: column; align-items: flex-start; gap: 4px; }
  .kv-val { justify-content: flex-start; }
  .save-bar { padding: 10px 12px; }
  .save-bar .btn-row a { display: none; }
}
@keyframes sheetIn { from { transform: translateY(40px); opacity: 0; } }
