:root{--ink:#142119;--lime:#d9ff43;--paper:#f4f2ec;--muted:#69736b;--line:#d9ddd8}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper)}button,input{font:inherit}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em}.public-page{min-height:100vh;padding:8vw;background:radial-gradient(circle at 80% 20%,#edff9a,transparent 25%),var(--paper)}.public-page h1{font-size:clamp(3rem,8vw,7rem);line-height:.87;margin:1.5rem 0}.public-page h1 em{color:#799700;font-family:Georgia,serif}.public-page>p{font-size:1.2rem;color:var(--muted)}.radio-card{margin-top:4rem;display:flex;align-items:center;gap:1rem;background:#fff;padding:12px;border-radius:18px;max-width:520px;box-shadow:0 15px 40px #1c2a1e15}.radio-card img{width:84px;height:84px;object-fit:cover;border-radius:12px}.radio-card div{display:grid;gap:5px;flex:1}.radio-card span{color:var(--muted)}.live-dot{width:12px;height:12px;border-radius:50%;background:#ea4d43;margin-right:1rem}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.brand-panel{background:var(--ink);color:white;padding:5vw;display:flex;flex-direction:column;justify-content:space-between}.brand-mark,.logo span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--ink);font:800 1.2rem Georgia}.brand-panel h1{font:italic clamp(4rem,7vw,7rem)/.82 Georgia;margin:0 0 2rem}.brand-panel p{color:#a9b3ac;line-height:1.6}.form-panel{display:grid;place-items:center;padding:3rem}.form-wrap{width:min(440px,100%)}.form-wrap h2{font:italic 3rem Georgia;margin:1rem 0 .3rem}.muted,.upload-form>p,header p{color:var(--muted)}.stack-form{display:grid;gap:.8rem;margin-top:2.5rem}.stack-form label{font-size:.85rem;font-weight:700}.password-field{display:flex;border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.password-field input{border:0;outline:0;padding:1rem;flex:1;min-width:0}.password-field button{border:0;background:#fff;padding:0 1rem;font-weight:700}.primary-button{border:0;border-radius:8px;background:var(--ink);color:white;padding:1rem 1.2rem;font-weight:750;display:flex;justify-content:space-between;cursor:pointer}.primary-button:hover{background:#263a2d}.secure-note{text-align:center;color:#849087;font-size:.72rem;margin-top:2rem}.dashboard{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.dashboard aside{position:sticky;top:0;height:100vh;background:var(--ink);color:#fff;padding:2rem 1.4rem;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:.8rem;color:white;text-decoration:none;font-weight:750}.dashboard nav{margin-top:4rem}.dashboard nav a{display:block;color:#aeb9b1;text-decoration:none;padding:.9rem;border-radius:8px}.dashboard nav a.active{background:#ffffff10;color:var(--lime)}.dashboard aside form{margin-top:auto}.logout{border:0;background:none;color:#aeb9b1;cursor:pointer;padding:.8rem}.admin-main{padding:4rem 5vw}.admin-main header{display:flex;justify-content:space-between;align-items:end}.admin-main header h1{font:italic 3.4rem Georgia;margin:.5rem 0}.admin-main header a{color:var(--ink);font-weight:700}.image-editor{margin-top:3rem;display:grid;grid-template-columns:1.25fr .75fr;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.preview{min-height:500px;background:#e5e5de;padding:1rem;position:relative}.preview>span{position:absolute;z-index:1;background:var(--ink);color:white;padding:.45rem .65rem;border-radius:4px;font-size:.65rem;font-weight:800;letter-spacing:.1em}.preview img{width:100%;height:100%;min-height:460px;object-fit:cover;border-radius:8px}.upload-form{padding:3rem;display:flex;flex-direction:column}.upload-form h2{font:italic 2rem Georgia;margin:0}.dropzone{border:1.5px dashed #aeb8b0;border-radius:10px;padding:3rem 1rem;text-align:center;display:grid;gap:.5rem;margin:2rem 0 1rem;cursor:pointer}.dropzone span,.dropzone small,.filename{color:var(--muted)}.filename{font-size:.8rem;margin-bottom:1.5rem;overflow-wrap:anywhere}.upload-form .primary-button{margin-top:auto}.messages{margin:1.5rem 0}.message{padding:.9rem 1rem;border-radius:7px;background:#e8eee9}.message.success{border-left:4px solid #5f8c1a}.message.error{border-left:4px solid #cf4a42;background:#f9e9e7}@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.brand-panel{min-height:35vh}.brand-panel h1{font-size:4rem;margin-top:3rem}.dashboard{grid-template-columns:1fr}.dashboard aside{height:auto;position:static;flex-direction:row;align-items:center;gap:1rem}.dashboard nav{display:none}.dashboard aside form{margin:0 0 0 auto}.admin-main{padding:2rem 1rem}.admin-main header{align-items:start}.image-editor{grid-template-columns:1fr}.preview{min-height:320px}.preview img{min-height:290px}.upload-form{padding:2rem}.public-page{padding:3rem 1.5rem}}
.story-editor{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:3rem;margin-top:3rem;padding:2rem;background:#fff;border:1px solid var(--line);border-radius:16px}.phone-preview{aspect-ratio:9/16;position:relative;overflow:hidden;background:#101010;border:8px solid #17211b;border-radius:24px;color:white;box-shadow:0 18px 45px #15221a30}.phone-preview>img{position:absolute;width:100%;height:100%;object-fit:cover}.story-shade{position:absolute;inset:0;background:linear-gradient(#0002,#0000 60%,#000b)}.story-copy{position:absolute;left:7%;right:7%;top:13%;padding:1rem .7rem;background:#06101c99;text-align:center;font-size:clamp(1rem,2vw,1.45rem);line-height:1.35;white-space:pre-line}.story-copy strong{display:block;margin-top:.8rem;font:1.2em Georgia}.story-footer{position:absolute;bottom:0;left:0;right:0;background:#181818eF;padding:.8rem;text-align:center;font-size:.72rem;font-weight:700}.story-form{display:grid;align-content:start;gap:.7rem}.story-form h2,.section-title h2{font:italic 2.2rem Georgia;margin:0}.story-form>p{color:var(--muted);margin:0 0 .5rem}.story-form label:not(.dropzone){font-size:.78rem;font-weight:750;margin-top:.3rem}.story-form input,.story-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fafafa;padding:.85rem;resize:vertical}.dropzone.compact{padding:1.3rem;margin:.4rem 0}.story-form .primary-button{margin-top:.8rem}.gallery-section,.legacy-section{margin-top:4rem}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem}.section-title>span{color:var(--muted);font-size:.85rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.2rem}.gallery-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.gallery-thumb{aspect-ratio:9/16;position:relative;color:white;overflow:hidden}.gallery-thumb>img{width:100%;height:100%;object-fit:cover}.gallery-thumb>div{position:absolute;left:7%;right:7%;top:13%;padding:.6rem;background:#06101c99;text-align:center}.gallery-thumb p{font-size:.85rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.gallery-thumb strong{font:1rem Georgia}.gallery-card form{padding:.7rem}.gallery-card button{width:100%;border:0;background:#f6e8e7;color:#a8322d;border-radius:6px;padding:.6rem;cursor:pointer}.empty-state{border:1px dashed var(--line);padding:3rem;text-align:center;color:var(--muted);border-radius:12px}.legacy-section .image-editor{margin-top:0}@media(max-width:850px){.story-editor{grid-template-columns:1fr;padding:1rem}.phone-preview{width:min(100%,340px);margin:auto}.admin-main header>a{display:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.official-check{display:flex;align-items:center;gap:.75rem;background:#f3f8df;border:1px solid #d9e89d;border-radius:8px;padding:.8rem;margin:.35rem 0}.official-check input{width:18px;height:18px;accent-color:var(--ink)}.official-check span{display:grid;gap:.15rem}.official-check small{color:var(--muted);font-weight:400}.gallery-card.is-official{border:2px solid #92ad21;box-shadow:0 8px 24px #657c1725}.official-badge{position:absolute;z-index:2;top:.65rem;left:.65rem;background:var(--lime);color:var(--ink);padding:.4rem .55rem;border-radius:99px;font-size:.65rem;font-weight:900;letter-spacing:.08em}.card-actions{display:grid;gap:.3rem;padding:.5rem}.card-actions form{padding:0}.gallery-card .set-official{background:#edf5cd;color:#50640b;font-weight:750}.official-status{text-align:center;padding:.6rem;color:#61780e;font-size:.78rem;font-weight:800}
.brand-panel,.dashboard aside{background:#092b4b}.primary-button{background:#092b4b}.primary-button:hover{background:#15466f}.brand-mark,.logo span{background:#cceff7;color:#092b4b}.dashboard nav a.active{color:#cceff7;background:#fff1}.public-page{background:radial-gradient(circle at 80% 20%,#cceff7,transparent 28%),#eef8fb}.public-page h1 em{color:#245b88}.official-check{background:#e6f5fa;border-color:#b6dce9}.gallery-card.is-official{border-color:#28628f;box-shadow:0 8px 24px #092b4b25}.official-badge{background:#cceff7;color:#092b4b}.gallery-card .set-official{background:#e3f3f8;color:#174d76}.official-status{color:#245b88}.message.success{border-left-color:#28628f}.phone-preview{border-color:#092b4b}.story-form input[type=checkbox]{accent-color:#28628f}
:root{--ink:#092b4b;--lime:#cceff7;--paper:#eef8fb;--muted:#607789;--line:#cbdde6}
.notification-section{margin-top:4rem}.notification-section .section-title a{color:var(--ink);font-size:.85rem;font-weight:750}.notification-layout{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:2rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:2rem}.notification-form{display:grid;align-content:start;gap:.8rem;padding:1.5rem;background:#eef8fb;border-radius:12px}.notification-form label{font-size:.8rem;font-weight:800}.notification-form textarea{width:100%;padding:1rem;border:1px solid var(--line);border-radius:8px;resize:vertical;font:inherit}.notification-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.notification-history h3{margin:0 0 1rem}.notification-list{display:grid;gap:.7rem;max-height:390px;overflow:auto}.notification-list article{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:10px}.notification-list article>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:#092b4b;color:#fff;font-size:.7rem;font-weight:900}.notification-list p{margin:0 0 .35rem;line-height:1.4}.notification-list time{color:var(--muted);font-size:.7rem}@media(max-width:850px){.notification-layout{grid-template-columns:1fr;padding:1rem}}
