@import "https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Nunito:wght@400;500;600;700&display=swap";:root{--green-dark:#1b5e20;--green:#2e7d32;--green-light:#4caf50;--gold:#d4a843;--gold-dark:#b8912e;--slate:#1a2332;--warm:#fefbf6;--cream:#fdf8f0;--text:#1c2127;--muted:#5a6370;--divider:#e8dfd0;--danger:#c0392b}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--warm);font-family:Nunito,system-ui,sans-serif}h1,h2,h3{font-family:Lora,Georgia,serif}button{cursor:pointer;font-family:inherit}a{color:var(--green-dark)}.login-wrap{background:var(--slate);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:400px;padding:2.75rem 2.25rem}.login-mark{color:var(--warm);letter-spacing:.04em;font-family:Lora,serif;font-size:1.6rem;font-weight:700}.login-mark span{color:var(--gold);letter-spacing:.18em;text-transform:lowercase;font-size:.8em;font-weight:400;display:block}.login-sub{color:#ffffff80;margin:.5rem 0 2rem;font-size:.85rem}.login-card input{width:100%;color:var(--warm);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;outline:none;margin-bottom:.9rem;padding:.8rem 1rem;font-size:.95rem}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d4a84326}.login-err{color:#ef7a6d;min-height:1.2em;margin-bottom:.6rem;font-size:.82rem}.btn{letter-spacing:.02em;border:none;border-radius:11px;padding:.72rem 1.3rem;font-size:.92rem;font-weight:700;transition:transform .15s,box-shadow .25s,background .2s}.btn-primary{background:linear-gradient(135deg, var(--green-dark), var(--green));color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px #1b5e204d}.btn-block{width:100%}.btn-ghost{color:var(--muted);border:1px solid var(--divider);background:0 0}.btn-ghost:hover{color:var(--text);background:#fff}.btn-danger{color:var(--danger);background:0 0;border:1px solid #e7c6c1}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{border-radius:9px;padding:.45rem .85rem;font-size:.82rem}.shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--divider);background:#fff;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex}.brand{color:var(--green-dark);letter-spacing:.03em;font-family:Lora,serif;font-size:1.15rem;font-weight:700}.brand span{color:var(--gold);text-transform:lowercase;letter-spacing:.12em;font-weight:400}.brand small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:-2px;font-family:Nunito,sans-serif;font-size:.68rem;display:block}.topbar .user{color:var(--muted);align-items:center;gap:.9rem;font-size:.85rem;display:flex}.tb-left{align-items:center;gap:.7rem;display:flex}.hamburger{border:1px solid var(--divider);width:40px;height:38px;color:var(--text);background:0 0;border-radius:9px;justify-content:center;align-items:center;display:none}.hamburger:hover{background:var(--cream)}.hamburger svg{width:20px;height:20px}.body{grid-template-columns:260px 1fr;display:grid}.sidebar{border-right:1px solid var(--divider);background:#fff;padding:1.2rem .8rem}.side-title{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.6rem;padding:0 .6rem;font-size:.68rem}.side-item{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:9px;padding:.6rem .8rem;font-size:.95rem;display:block}.side-item:hover{background:var(--cream)}.side-item.active{background:var(--green);color:#fff;font-weight:600}.side-item.soon{color:#b7bdc6;cursor:default}.side-item.soon:after{content:"presto";float:right;background:var(--cream);color:var(--muted);border-radius:6px;padding:.1rem .4rem;font-size:.62rem}.main{padding:2rem 2.5rem}.page-head{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-head h1{font-size:1.8rem}.page-head p{color:var(--muted);margin-top:.2rem;font-size:.9rem}.list{flex-direction:column;gap:.7rem;display:flex}.card-row{border:1px solid var(--divider);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.card-row:hover{box-shadow:0 4px 18px #0000000d}.card-row .r-main{min-width:0}.card-row .r-title{font-family:Lora,serif;font-size:1.05rem;font-weight:600}.card-row .r-meta{color:var(--muted);margin-top:.15rem;font-size:.8rem}.card-row .r-actions{flex-shrink:0;gap:.5rem;display:flex}.badge{letter-spacing:.03em;border-radius:20px;padding:.12rem .5rem;font-size:.68rem;font-weight:700;display:inline-block}.badge-pub{color:var(--green-dark);background:#e4f3e5}.badge-draft{color:var(--gold-dark);background:#fbeedc}.empty{text-align:center;color:var(--muted);border:1px dashed var(--divider);background:#fff;border-radius:13px;padding:3rem 1rem}.form{border:1px solid var(--divider);background:#fff;border-radius:15px;flex-direction:column;gap:1.1rem;padding:1.6rem;display:flex}.field label{margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.field .hint{color:var(--muted);margin-bottom:.35rem;font-size:.76rem}.field input[type=text],.field input[type=datetime-local],.field select,.field textarea{border:1px solid var(--divider);width:100%;color:var(--text);background:var(--warm);border-radius:10px;outline:none;padding:.7rem .85rem;font-family:inherit;font-size:.95rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-light);background:#fff;box-shadow:0 0 0 3px #4caf501f}.field textarea{resize:vertical;min-height:90px}.field .check{align-items:center;gap:.55rem;font-size:.95rem;display:flex}.field .check input{width:18px;height:18px;accent-color:var(--green)}.row2{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.thumb{margin-top:.5rem}.thumb img{border:1px solid var(--divider);border-radius:10px;max-height:130px}.form-actions{border-top:1px solid var(--divider);justify-content:flex-end;gap:.7rem;padding-top:1.1rem;display:flex}.notice{border-radius:10px;padding:.7rem 1rem;font-size:.88rem}.notice-err{color:var(--danger);background:#fbeae7}.notice-ok{color:var(--green-dark);background:#e4f3e5}.login-cross{opacity:.95;width:42px;height:42px;margin:0 auto .9rem;display:block}.login-card{animation:.5s cubic-bezier(.16,1,.3,1) both pop}.main{animation:.25s both fade}@keyframes pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.side-item{align-items:center;gap:.6rem;display:flex}.side-item svg{opacity:.85;flex-shrink:0;width:18px;height:18px}.side-item.soon:after{float:none;margin-left:auto}.card-row .r-main{flex:1}.row-thumb{object-fit:cover;border:1px solid var(--divider);border-radius:9px;flex-shrink:0;width:52px;height:52px}.row-thumb.ph{background:var(--cream)}.form-grid{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.form-grid .field.full{grid-column:1/-1}.rt{border:1px solid var(--divider);background:#fff;border-radius:10px;overflow:hidden}.rt-tools{background:var(--cream);border-bottom:1px solid var(--divider);gap:.2rem;padding:.4rem;display:flex}.rt-tools button{color:var(--text);background:0 0;border:none;border-radius:7px;padding:.3rem .6rem;font-size:.9rem}.rt-tools button:hover{background:#fff}.rt-area{outline:none;min-height:210px;padding:.85rem 1.05rem;font-size:.98rem;line-height:1.65}.rt-area:focus{box-shadow:inset 0 0 0 2px #4caf5026}.rt-area h2{margin:.8rem 0 .3rem;font-family:Lora,serif;font-size:1.45rem}.rt-area h3{margin:.7rem 0 .3rem;font-family:Lora,serif;font-size:1.2rem}.rt-area ol{margin:.45rem 0 .45rem 1.3rem}.rt-area blockquote{border-left:3px solid var(--gold);color:var(--muted);margin:.5rem 0;padding:.2rem 0 .2rem 1rem;font-style:italic}.rt-tools .rt-sep{background:var(--divider);align-self:stretch;width:1px;margin:.1rem .25rem}.rt-area p{margin:.45rem 0}.rt-area ul{margin:.45rem 0 .45rem 1.3rem}.rt-area a{color:var(--green-dark)}.nested-group{border:1px solid var(--divider);border-radius:12px;flex-direction:column;gap:1rem;padding:1rem 1.1rem 1.1rem;display:flex}.nested-group>legend{color:var(--green-dark);padding:0 .5rem;font-family:Lora,serif;font-size:1.02rem;font-weight:600}.nested-list{flex-direction:column;gap:.6rem;display:flex}.list-item-row{align-items:flex-start;gap:.5rem;display:flex}.list-item-row textarea{flex:1;min-height:46px}.list-item{border:1px solid var(--divider);background:var(--warm);border-radius:10px;flex-direction:column;gap:.8rem;padding:.9rem;display:flex}.list-item-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:700;display:flex}.list-add{align-self:flex-start}.img-upload{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.img-upload-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.file-label{display:inline-flex;position:relative;overflow:hidden}.file-label input[type=file]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}@media (width<=768px){.topbar{padding:.7rem 1rem}.brand{font-size:1.05rem}.brand small,.topbar .user span{display:none}.hamburger{display:inline-flex}.body{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--divider);display:none}.sidebar.open{animation:.18s fade;display:block}.main{padding:1.1rem}.page-head{flex-direction:column;align-items:stretch;gap:.8rem}.page-head .btn{width:100%}.card-row{flex-wrap:wrap}.card-row .r-main{flex:60%}.card-row .r-actions{justify-content:flex-end;width:100%}.form{padding:1.1rem}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.rt-tools{flex-wrap:wrap}.login-card{padding:2.25rem 1.5rem}}
