*{box-sizing:border-box}
:root{--bg:#f3f5f8;--card:#fff;--text:#17202a;--muted:#697684;--line:#dde3ea;--accent:#2563eb;--accent2:#1748a5;--soft:#edf3ff;--danger:#b42318}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--accent);text-decoration:none}
button,input,select{font:inherit}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:13px 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{font-size:20px;font-weight:900;color:var(--text);letter-spacing:-.4px}.brand span{font-weight:600;color:var(--muted)}
.topbar nav{display:flex;align-items:center;gap:16px}.topbar nav a{font-weight:650}.new-link{background:var(--soft);padding:7px 10px;border-radius:8px}.user{color:var(--muted)}
.container{max-width:1180px;margin:0 auto;padding:28px 18px 60px}
.hero{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(135deg,#fff,#f5f8ff);border:1px solid var(--line);border-radius:18px;padding:28px 30px;margin-bottom:22px}
.hero h1{font-size:36px;letter-spacing:-1px;margin:2px 0 6px}.hero p{margin:0;max-width:700px;color:var(--muted);font-size:16px}
.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--accent);font-weight:900}
.button,button,.upload-btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:#fff;font-weight:750;cursor:pointer}
.button:hover,button:hover{filter:brightness(.97)}.button.big{padding:12px 18px}.button.secondary{background:#e9eef5;color:#243447}.danger{background:var(--danger)}
.dashboard-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}
.sidebar{position:sticky;top:76px;display:grid;gap:15px}
.filter-card,.calendar-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.filter-card h3{margin:0 0 13px}.filter-card label{font-size:12px;margin-top:11px}.filter-card input,.filter-card select{width:100%;padding:9px 10px;border:1px solid #cfd7df;border-radius:8px;background:#fff}.filter-card button{width:100%;margin-top:13px}.clear-filter{display:block;text-align:center;margin-top:10px;font-size:13px}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-head a{font-size:22px;padding:0 6px}.calendar-head strong{font-size:14px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekdays{margin-bottom:4px}.weekdays span{text-align:center;font-size:10px;color:var(--muted);font-weight:700}
.day{position:relative;min-height:31px;display:grid;place-items:center;border-radius:7px;color:var(--text);font-size:12px}.day:hover{background:#f2f5f9}.day.has-post{background:var(--soft);font-weight:800;color:var(--accent2)}.day.selected{outline:2px solid var(--accent)}.day small{position:absolute;right:2px;bottom:0;font-size:8px}
.result-head{display:flex;justify-content:space-between;margin:0 0 12px;color:var(--muted)}
.timeline{position:relative;display:grid;gap:16px}.timeline:before{content:"";position:absolute;left:92px;top:4px;bottom:4px;width:2px;background:#dbe2e9}
.timeline-item{position:relative;display:grid;grid-template-columns:78px 1fr;gap:28px}
.timeline-dot{position:absolute;left:86px;top:27px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--accent);z-index:2}
.timeline-date{text-align:right;padding-top:20px;font-size:12px;font-weight:800;color:#4b5b6a}.timeline-date span{display:block;font-size:11px;color:var(--muted);font-weight:500}
.timeline-card{overflow:hidden;min-height:160px;display:grid;grid-template-columns:220px 1fr;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 20px rgba(27,39,51,.04)}
.thumb{position:relative;background:#e8edf3;min-height:170px;overflow:hidden}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;display:block}.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.58);color:#fff;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}
.timeline-body{padding:19px 20px}.timeline-body h2{margin:5px 0 6px;font-size:23px;letter-spacing:-.4px}.timeline-body h2 a{color:var(--text)}
.post-topline{display:flex;align-items:center;gap:8px}.category-pill{display:inline-block;padding:4px 9px;border-radius:999px;background:#eaf2ff;color:#1748a5;font-size:11px;font-weight:800}
.excerpt{color:#53606c;line-height:1.55;margin:7px 0 10px}
.tag-row{display:flex;gap:7px;flex-wrap:wrap}.tag{font-size:12px;color:#53606c;background:#f3f5f7;padding:4px 8px;border-radius:999px}.card-actions{display:flex;gap:12px;margin-top:13px;font-size:13px;font-weight:700}
.empty,.viewer,.editor-wrap{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px}
.editor-wrap.wide{max-width:1000px;margin:0 auto}.editor-heading,.viewer-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}
.editor-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.span2{grid-column:1/-1}
label{display:block;font-weight:750;margin:13px 0 7px}.editor-meta-grid input,.login-card input{width:100%;padding:11px;border:1px solid #cfd7df;border-radius:9px;font-size:15px}.title-input{font-size:20px!important;font-weight:750}
.toolbar{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 8px}.toolbar button,.toolbar .upload-btn{background:#edf2f7;color:#243447;padding:8px 11px;font-weight:650}.sticky-tools{position:sticky;top:61px;background:#fff;padding:8px 0;z-index:10}
.editor{min-height:470px;border:1px solid #cfd7df;border-radius:11px;padding:18px;outline:none;background:#fff;font-size:17px;line-height:1.7;overflow-wrap:anywhere}.editor:empty:before{content:attr(data-placeholder);color:#9aa4ad}.editor:focus{border-color:#86aef2;box-shadow:0 0 0 3px rgba(31,111,235,.10)}
.editor img,.journal-content img{max-width:100%;height:auto;border-radius:10px}.editor video,.journal-content video{max-width:100%;height:auto;border-radius:10px;background:#000}
.hint,.meta,.muted{font-size:13px;color:var(--muted)}.tiny{font-size:10px}.form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.journal-view{max-width:950px;margin:0 auto}.journal-view h1{font-size:38px;letter-spacing:-.8px;margin:7px 0}.viewer-buttons{display:flex;gap:8px}.view-tags{margin-top:10px}.journal-content{font-size:18px;line-height:1.78;overflow-wrap:anywhere}.journal-content p{margin:1em 0}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 12px 35px rgba(0,0,0,.06)}.login-card button{width:100%;margin-top:18px}
.alert,.success{padding:10px 12px;border-radius:8px;margin:12px 0}.alert{background:#fdecea;color:#8a1c13}.success{background:#e8f7ec;color:#17632b}
.footer{text-align:center;color:var(--muted);font-size:12px;padding:22px}
@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:1fr 1fr}.timeline-card{grid-template-columns:170px 1fr}}
@media(max-width:650px){.topbar{padding:11px 12px}.topbar .user{display:none}.container{padding:14px 9px 45px}.hero{padding:20px;align-items:flex-start;flex-direction:column}.hero h1{font-size:30px}.sidebar{grid-template-columns:1fr}.timeline:before,.timeline-dot{display:none}.timeline-item{grid-template-columns:1fr;gap:5px}.timeline-date{text-align:left;padding:0 4px}.timeline-date span{display:inline;margin-left:6px}.timeline-card{grid-template-columns:1fr}.thumb{height:210px}.editor-heading,.viewer-head{flex-direction:column}.editor-meta-grid{grid-template-columns:1fr}.span2{grid-column:auto}.editor{min-height:380px}.sticky-tools{top:54px}.journal-view h1{font-size:30px}.viewer-buttons{width:100%}}
