/* ── Reset & Base — Książeczka Tasi 📖🌸 ──────────── */
:root{--page:#fcf7f0;--page2:#f5ede0;--spine:#d4a070;--ink:#2a1a10;--dim:#8a6a5a;--ln:#dcc8b8;--ln2:#e8d8c8;--link:#8a4060;--linkv:#6a2040;--accent:#c07080;--accent2:#d88898;--good:#9a6a7a;--danger:#c04050;--maxw:960px;--shadow:rgba(80,40,20,.08);--ribbon:#d4607a}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;overflow-x:hidden;background:linear-gradient(to bottom,#e8d8c8 0%,#dcc8b8 50%,#e8d8c8 100%);color:var(--ink);font-family:Georgia,"Times New Roman","Palatino Linotype",serif;font-size:16px;line-height:1.75;min-height:100vh}

/* ── Book-spine left border ────────────────────────── */
body::before{content:'';position:fixed;top:0;left:0;width:12px;height:100%;background:linear-gradient(to right,#c8a888,#d4b098,#c8a888);z-index:0;box-shadow:2px 0 8px rgba(80,40,20,.1)}
body::after{content:'';position:fixed;top:0;right:0;width:8px;height:100%;background:linear-gradient(to left,#d8c8b8,#e0d0c0);z-index:0}

/* ── Header — zakładka jak w książce ───────────────── */
header{background:linear-gradient(135deg,#d88898,#c07080,#b06070);color:white;padding:16px 20px;position:relative;z-index:1;box-shadow:0 2px 12px rgba(80,40,20,.12)}
header::after{content:'';position:absolute;bottom:-6px;left:40px;right:40px;height:6px;background:var(--ribbon);border-radius:0 0 4px 4px;opacity:.7}
.top{max-width:var(--maxw);margin:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.brand{display:flex;align-items:center;gap:12px}
.logo{font-size:32px;line-height:1}
.brand h1{margin:0;font-size:22px;font-weight:700;line-height:1.2;font-family:Georgia,serif;letter-spacing:.5px}
.tagline{margin:3px 0 0;font-size:13px;opacity:.85;font-style:italic}
.nav{display:flex;gap:6px;flex-wrap:wrap}
.nav a{color:white;text-decoration:none;padding:6px 14px;border-radius:4px;font-size:13px;font-weight:600;transition:all .15s;background:rgba(255,255,255,.08)}
.nav a:hover{background:rgba(255,255,255,.2)}

/* ── Main layout — jak otwarta książka ────────────── */
main{max-width:var(--maxw);margin:0 auto;padding:28px 24px 48px;position:relative;z-index:1}
.split{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}
@media(max-width:780px){.split{grid-template-columns:1fr}}
.right{text-align:right}

/* ── Cards — kartki z książki ──────────────────────── */
.card{background:linear-gradient(135deg,#fefcf8,#fcf7f0);border:1px solid var(--ln);border-radius:4px;padding:28px;margin-bottom:20px;box-shadow:0 2px 12px var(--shadow),0 1px 3px rgba(80,40,20,.05);position:relative}
.card h2:first-child{margin-top:0;color:#8a4060;font-family:Georgia,serif}

/* ── Grid (home page etc.) ─────────────────────────── */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.grid>.card{margin:0}

/* ── Typography helpers ────────────────────────────── */
.muted{color:var(--dim);font-size:14px}
.tiny{font-size:13px;color:var(--dim)}

/* ── Article content ───────────────────────────────── */
.article{font-size:16px;line-height:1.85;color:var(--ink)}
.article h1{font-size:28px;font-weight:700;border-bottom:2px solid var(--accent);padding-bottom:8px;margin:0 0 16px;color:#7a3050;font-family:Georgia,serif;letter-spacing:.3px}
.article h2{font-size:21px;font-weight:600;border-bottom:1px solid var(--ln);padding-bottom:5px;margin:30px 0 12px;color:#8a4060;font-family:Georgia,serif}
.article h3{font-size:18px;font-weight:600;margin:24px 0 10px;color:#a05060}
.article p{margin:.9em 0;text-align:justify}
.article a{color:var(--link);text-decoration:none;border-bottom:1px dotted var(--ln)}
.article a:hover{border-bottom-color:var(--link)}
.article pre{background:var(--page2);border:1px solid var(--ln);border-radius:4px;padding:16px;overflow:auto;font-size:13px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.article code{background:var(--page2);padding:2px 6px;border-radius:3px;font-size:.9em;color:#7a3a4a}
.article pre code{background:transparent;padding:0}
.article ul,.article ol{margin:.7em 0;padding-left:32px}
.article li{margin:.35em 0}
.article blockquote{border-left:3px solid var(--accent);margin:1em 0;padding:10px 20px;background:var(--page);border-radius:0 4px 4px 0;color:#7a5a5a;font-style:italic}
.article table{border-collapse:collapse;margin:1em 0;font-size:14px}
.article th,.article td{border:1px solid var(--ln);padding:10px 14px;text-align:left}
.article th{background:var(--page2);font-weight:600;color:#7a3a4a}
.article hr{border:none;border-top:2px solid var(--ln);margin:30px 0}

/* ── Hero title ────────────────────────────────────── */
.heroTitle{font-size:30px;font-weight:700;margin:0 0 14px;line-height:1.2;color:#7a3050;font-family:Georgia,serif}

/* ── Trust badges ──────────────────────────────────── */
.trust{display:inline-block;padding:3px 12px;border-radius:3px;font-size:12px;font-weight:600;margin:0 0 10px;border:1px solid}
.trust.verified{background:#eaf0e5;color:#2a5a3a;border-color:#c8d8c0}
.trust.probable{background:#ede5f0;color:#4a2a6a;border-color:#d8c8e0}
.trust.fiction{background:#e5eaf0;color:#2a3a6a;border-color:#c8d0e0}
.trust.hallucinated{background:#f0ede5;color:#6a4a2a;border-color:#e0d0c0}
.trust.factcheck{background:#f0e5e5;color:#6a2a2a;border-color:#e0c0c0}
.trust.unknown{background:#ece8ea;color:#5a4a4a;border-color:#d8d0d0}

/* ── Notices ────────────────────────────────────────── */
.notice{border-left:3px solid var(--accent);padding:12px 16px;background:var(--page);border-radius:0 4px 4px 0;margin:12px 0;font-size:14px;border:1px solid var(--ln);border-left-width:3px}
.notice.warn{border-color:#c8a060;background:#fef8f0}
.notice.ok{border-color:var(--good);background:#f5edf0}

/* ── Tags ──────────────────────────────────────────── */
.tag{display:inline-block;background:var(--page2);color:#7a3a4a;padding:3px 9px;border-radius:3px;margin:3px;font-size:12px;font-weight:600;border:1px solid var(--ln)}

/* ── Buttons ───────────────────────────────────────── */
.btn,.nav a,button,input[type=submit]{display:inline-block;padding:8px 16px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;border:1px solid var(--ln);background:white;color:var(--ink);transition:all .12s;box-shadow:0 1px 4px var(--shadow)}
.btn:hover,button:hover,input[type=submit]:hover{background:var(--page2);border-color:var(--accent)}
.btn.good{background:var(--good);color:white;border-color:var(--good)}
.btn.good:hover{background:#885068}
.btn.danger{background:var(--danger);color:white;border-color:var(--danger)}
.btn.danger:hover{background:#a02838}
.btn.alt{background:var(--accent);color:white;border-color:var(--accent)}
.btn.alt:hover{background:#a85868}

/* ── Form elements ─────────────────────────────────── */
input[type=text],input[type=password],input[type=number],textarea,select{width:100%;padding:9px 13px;border:1px solid var(--ln);border-radius:4px;background:white;color:var(--ink);font:inherit;margin:4px 0 12px;transition:border-color .12s,box-shadow .12s}
input[type=text]:focus,input[type=password]:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(180,80,100,.08)}
textarea{min-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}
.search{display:flex;gap:10px;flex-wrap:wrap}
.search input[type=text]{flex:1;margin:0}
.search input[type=submit]{margin:0}

/* ── Tables ────────────────────────────────────────── */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 14px;border-bottom:1px solid var(--ln);text-align:left}
th{background:var(--page2);font-weight:600;font-size:13px;color:#7a3a4a}

/* ── Misc ──────────────────────────────────────────── */
.slug{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#7a4a5a;font-size:13px;font-weight:600}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pill{display:inline-flex;gap:6px;align-items:center;background:var(--page2);border:1px solid var(--ln);border-radius:4px;padding:4px 10px;color:#6a3a4a;font-weight:600;font-size:13px;margin:3px}
.empty{padding:30px;border:2px dashed var(--ln);border-radius:4px;text-align:center;color:var(--dim);background:var(--page)}
.checkboxline{display:flex;gap:8px;align-items:center;margin:4px 0 12px}
.checkboxline input{width:auto;margin:0}
.footer{text-align:center;color:var(--dim);padding:24px;font-size:13px;border-top:1px solid var(--ln);margin-top:30px;font-style:italic;position:relative;z-index:1}

/* ── References ────────────────────────────────────── */
.refs{margin-top:16px;padding-top:12px;border-top:1px solid var(--ln)}
.ref{background:var(--page);border-radius:4px;padding:14px;margin:10px 0;border:1px solid var(--ln);border-left:3px solid var(--accent)}
.ref .label{font-weight:700;font-size:15px;color:#7a3a4a}
.ref .meta{font-size:13px;color:var(--dim);margin:4px 0}
.ref .src-text{font-size:14px;margin:6px 0;padding:8px 12px;background:white;border-radius:4px;border:1px solid var(--ln)}
.ref .url{word-break:break-all}
.ref-count{font-size:13px;color:var(--dim);margin-left:6px}
.ref-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--page);padding:10px 14px;border-radius:4px;margin:5px 0;border:1px solid var(--ln)}
.mini-btn{padding:4px 12px;font-size:13px;border-radius:3px;border:1px solid var(--ln);cursor:pointer;font-weight:600;background:white;transition:all .1s}
.mini-btn:hover{background:var(--page2)}
.mini-btn.danger{color:var(--danger);border-color:var(--danger)}
.mini-btn.good{color:var(--good);border-color:var(--good)}

/* ── File pages ────────────────────────────────────── */
.file-list{display:grid;gap:12px}
.file-item{display:flex;justify-content:space-between;align-items:center;background:white;border-radius:4px;padding:12px 16px;border:1px solid var(--ln);flex-wrap:wrap;gap:8px}
.file-item .name{font-weight:700;color:#7a3a4a}
.file-item .path{font-size:13px;color:var(--dim);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* ── Generation logs admin ─────────────────────────── */
.log-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--ln);font-size:13px;flex-wrap:wrap}
.log-row .slug{min-width:100px}
.log-row .time{color:var(--dim);min-width:140px}

/* ── Maintenance mode page ─────────────────────────── */
.maintenance-card{max-width:520px;margin:60px auto;text-align:center;background:linear-gradient(135deg,#fdf6f0,#f5e6f0);border:3px solid var(--accent);border-radius:24px;padding:40px 32px;box-shadow:0 8px 32px rgba(180,80,120,.12)}
.maintenance-icon{font-size:64px;margin-bottom:12px}
.maintenance-title{color:#7a3050;font-size:24px;font-family:Georgia,serif;margin:0 0 16px}
.maintenance-text{color:#8a5a5a;font-size:15px;line-height:1.7;margin:10px 0}
.maintenance-footer{margin-top:20px;padding-top:16px;border-top:2px dashed var(--ln)}