body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#0e1020;color:#222}.wiki-shell{background:radial-gradient(circle at top left,#27316d,#0000 35%),#101322;display:grid;grid-template-columns:230px 1fr;min-height:100vh}.left-rail{background:#070a1ce0}.left-rail a:hover{background:#ffffff14}.page{padding:34px}.topbar{color:#d6dcff;font-size:14px;margin:0 auto 12px;max-width:1180px}button{border:0;cursor:pointer;font-weight:800;padding:8px 12px}.article,button{border-radius:6px}.article{background:#f7f7f7;border:1px solid #d0d0d0;margin:0 auto;max-width:1180px;overflow:hidden}.article-header{border-bottom:1px solid #ddd;padding:24px 28px 14px}.article-header h1{font-size:42px;font-weight:500;margin:0 0 14px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{background:#e6e6e6}.section-tabs{background:#fff;border-bottom:1px solid #ddd;display:flex;flex-wrap:wrap;gap:6px;padding:12px 24px}.section-tabs a{color:#0645ad;cursor:pointer;font-weight:700;padding:8px 10px}.content-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 330px;padding:24px}.article-body{font-size:16px;line-height:1.65}.article-body h2{border-bottom:1px solid #ccc;font-size:28px;margin-top:28px;padding-bottom:6px}.notice{background:#fff4cc;border:1px solid #e4c45a;border-radius:4px;font-weight:700;padding:12px 14px}.infobox{align-self:start;background:#fff;border:1px solid #aaa}.infobox h2{background:#d62828;color:#fff;font-size:22px;margin:0;padding:12px;text-align:center}.image-tabs button{background:#f0f0f0;border-bottom:1px solid #ccc;border-radius:0}.portrait{background:linear-gradient(135deg,#eee,#ccc);color:#555;display:grid;font-weight:900;height:320px;place-items:center}.infobox-section{background:#d62828;color:#fff;font-weight:900;padding:8px;text-align:center}.infobox dl{margin:0}.infobox dt{background:#efefef;border-top:1px solid #ccc;font-weight:900;padding:9px 12px}.infobox dd{border-top:1px solid #ddd;margin:0;padding:9px 12px}@media (max-width:900px){.wiki-shell{grid-template-columns:1fr}.left-rail{height:auto;position:static}.content-grid{grid-template-columns:1fr}.infobox{order:-1}.page{padding:14px}}.article,.article-body,.article-body h2,.article-body p,.infobox,.infobox dd,.infobox dt{color:#202122}.resident-list{margin:12px 0 24px;padding-left:24px}.resident-list li{color:#d7ddff;margin:8px 0}.resident-list a{color:#66b3ff;text-decoration:none}.resident-list a:hover{text-decoration:underline}.crime-entry{align-items:flex-start;display:flex;gap:20px;margin:20px 0}.crime-image{border:1px solid #444;border-radius:6px;flex-shrink:0;height:140px;object-fit:cover;width:220px}.crime-info{flex:1 1}.crime-date{color:#cfd7ff;font-size:15px;margin-bottom:8px}.crime-info p{line-height:1.6;margin:0}.crime-title{color:#202122;font-size:15px;font-weight:600;line-height:1.2;margin:0 0 6px}.image-tabs{display:flex}.image-tabs button{background:#ececec;border:none;cursor:pointer;flex:1 1;padding:10px}.image-tabs button.active{background:#2d6cdf;color:#fff}.portrait{margin-top:10px}.portrait img{border-radius:4px;display:block;width:100%}.wiki-image{margin:16px 0 22px}.section-image{border:1px solid #c8ccd1;display:block;width:100%}.wiki-image figcaption{background:#f8f9fa;border:1px solid #c8ccd1;border-top:none;color:#54595d;font-size:.85rem;padding:8px 10px}html{scroll-behavior:smooth}.article-body h2{scroll-margin-top:90px}body,html{overflow-x:hidden;width:100%}img{height:auto;max-width:100%}.page{min-width:0}.article{width:100%}.content-grid{min-width:0}.article-body{min-width:0;overflow-wrap:break-word}.left-rail{z-index:10}@media (max-width:1100px){.wiki-shell{grid-template-columns:190px 1fr}.content-grid{gap:18px;grid-template-columns:minmax(0,1fr) 290px;padding:18px}.page{padding:22px}.article-header h1{font-size:36px}}@media (max-width:900px){.wiki-shell{display:block}.left-rail{height:auto;padding:16px;position:static}.logo{font-size:22px;margin-bottom:12px}.left-rail a{display:inline-block;font-size:14px;margin:3px;padding:8px 10px}.page{padding:12px}.topbar{align-items:flex-start;flex-direction:column;gap:10px}.article-header{padding:18px 16px 12px}.article-header h1{font-size:32px}.section-tabs{flex-wrap:nowrap;overflow-x:auto;padding:10px;white-space:nowrap}.section-tabs a{flex:0 0 auto;font-size:14px}.content-grid{display:flex;flex-direction:column;gap:18px;padding:14px}.infobox{order:-1;width:100%}.portrait{height:auto;margin-top:0}.portrait img{height:auto;object-fit:cover;width:100%}.article-body{font-size:15.5px;line-height:1.6}.article-body h2{font-size:24px}.crime-entry{border-bottom:1px solid #ccc;flex-direction:column;gap:10px;padding-bottom:18px}.crime-image{height:auto;max-height:260px;width:100%}.crime-date,.resident-list li{color:#202122}.resident-list a{color:#0645ad}}@media (max-width:480px){.page{padding:8px}.article{border-radius:4px}.article-header h1{font-size:28px}.actions button,.image-tabs button,.topbar button{font-size:13px;padding:8px 10px}.content-grid{padding:12px}.article-body{font-size:15px}.article-body h2{font-size:22px}.notice{font-size:14px}.crime-title{font-size:16px}.infobox h2{font-size:20px}}body{background:#101322;font-family:Arial,Helvetica,sans-serif;margin:0}.home-shell{background:radial-gradient(circle at top left,#27316d,#0000 35%),#101322;display:grid;grid-template-columns:230px 1fr;min-height:100vh}.left-rail{background:#070a1ce6;color:#fff;height:100vh;padding:24px 18px;position:-webkit-sticky;position:sticky;top:0}.logo{font-size:24px;font-weight:900;margin-bottom:30px}.left-rail a{border-radius:8px;color:#d7ddff;cursor:pointer;display:block;font-weight:700;padding:12px 10px}.left-rail a:hover{background:#ffffff1a}.home-page{padding:24px}.topbar{align-items:center;color:#c9d0ff;display:flex;justify-content:space-between;margin-bottom:24px}.street-card button,.topbar button{background:#f3c969;border:none;border-radius:8px;color:#171717;cursor:pointer;font-weight:800;padding:10px 14px}.hero{background:#f5f1e8;border-radius:18px;box-shadow:0 12px 35px #00000059;margin-bottom:24px;padding:34px}.hero h1{color:#1f1b18;font-size:44px;margin:0 0 10px}.hero p{color:#514b44;font-size:17px;line-height:1.6;max-width:700px}.street-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.street-card{background:#f5f1e8;border:1px solid #d8cfbd;border-radius:16px;padding:22px}.street-card h2{color:#202020;margin:0 0 10px}.street-card p{color:#555;line-height:1.5}.street-image{border-radius:10px;height:180px;margin-bottom:14px;object-fit:cover;width:100%}@media (max-width:900px){.home-shell{grid-template-columns:1fr}.left-rail{align-items:center;display:flex;gap:10px;height:auto;overflow-x:auto;padding:16px;position:static}.logo{margin-bottom:0}.left-rail a,.logo{white-space:nowrap}.home-page{padding:18px}.hero h1{font-size:36px}}@media (max-width:600px){.left-rail{display:none}.home-page{padding:14px}.topbar{align-items:stretch;flex-direction:column;gap:12px}.topbar span{font-size:18px;font-weight:800}.topbar button{width:100%}.hero{border-radius:14px;padding:24px 18px}.hero h1{font-size:32px}.hero p{font-size:15px}.street-grid{grid-template-columns:1fr}.street-card{padding:18px}.street-image{height:160px}.street-card button{width:100%}}@media (max-width:380px){.hero h1{font-size:28px}.street-image{height:140px}}.login-wrapper{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 90px);padding:40px}.login-card{background:#fffffff0;border-radius:18px;box-shadow:0 20px 50px #00000059;max-width:430px;padding:34px;width:100%}.login-header h1{color:#15172b;font-size:36px;margin:0 0 10px}.login-header p{color:#555b75;line-height:1.5;margin:0 0 28px}.login-form{gap:20px}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{color:#22263d;font-weight:800;gap:8px}.login-form input{background:#f7f8ff;border:1px solid #c8cbe0;border-radius:10px;font-size:15px;outline:none;padding:14px 15px}.login-form input:focus{border-color:#5967ff;box-shadow:0 0 0 3px #5967ff2e}.login-form button{background:#20285f;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:900;margin-top:8px;padding:14px 16px}.login-form button:hover{background:#2f3a85}.login-error{color:#d32f2f;font-size:14px;margin:-8px 0 0}@media (max-width:900px){.login-wrapper{padding:24px}.login-card{max-width:500px}}@media (max-width:768px){.left-rail{display:none}.home-page{width:100%}.topbar{flex-wrap:wrap;gap:12px;padding:14px 18px}.topbar span{font-size:18px}.topbar button{width:100%}.login-wrapper{min-height:calc(100vh - 80px);padding:20px}.login-card{border-radius:14px;padding:24px;width:100%}.login-header h1{font-size:30px}.login-header p{font-size:15px}.login-form button,.login-form input{font-size:16px;width:100%}}@media (max-width:480px){.login-wrapper{padding:14px}.login-card{padding:20px 16px}.login-header h1{font-size:26px}.login-header p{font-size:14px}.login-form{gap:16px}.login-form input{padding:12px}.login-form button{padding:13px}}.blog-admin{background:radial-gradient(circle at top left,#e76f5129,#0000 32%),#fbf7ef;color:#1f1b18;min-height:100vh;padding:80px 7%}.admin-header{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin:0 auto 45px;max-width:1300px}.admin-header span{color:#e76f51;font-size:13px;font-weight:900;letter-spacing:4px;text-transform:uppercase}.admin-header h2{font-family:Georgia,serif;font-size:clamp(42px,7vw,78px);letter-spacing:-3px;line-height:.95;margin:12px 0}.admin-header p{color:#6d6259;font-size:17px}.post-count{background:#1f1b18;border-radius:28px;box-shadow:0 20px 50px #1f1b182e;color:#fffaf0;min-width:150px;padding:22px 28px;text-align:center}.post-count strong{display:block;font-size:38px;line-height:1}.post-count small{color:#f2c6b7;font-weight:800;letter-spacing:1px;text-transform:uppercase}.admin-layout{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:380px 1fr;margin:auto;max-width:1300px}.blog-form,.posts-panel{background:#fffaf0e6;border:1px solid #eadfce;border-radius:32px;box-shadow:0 24px 70px #1f1b1817}.blog-form{grid-gap:18px;display:grid;gap:18px;padding:28px;position:-webkit-sticky;position:sticky;top:24px}.blog-form h3,.posts-panel h3{font-family:Georgia,serif;font-size:30px}.blog-form label{grid-gap:8px;color:#5a5048;display:grid;font-size:13px;font-weight:900;gap:8px;letter-spacing:1px;text-transform:uppercase}.blog-form input,.blog-form textarea{background:#fffdf8;border:1px solid #e1d3c0;border-radius:18px;color:#1f1b18;font-size:15px;outline:none;padding:15px 16px;transition:.25s ease;width:100%}.blog-form input:focus,.blog-form textarea:focus{border-color:#e76f51;box-shadow:0 0 0 4px #e76f5124}.blog-form textarea{line-height:1.6;min-height:170px;resize:vertical}.blog-form button,.posts-panel-header button{border:none;border-radius:999px;cursor:pointer;font-weight:900;transition:.25s ease}.blog-form button{background:#e76f51;box-shadow:0 16px 35px #e76f5147;color:#fffaf0;font-size:16px;padding:16px 22px}.blog-form button:hover{background:#d95f42;transform:translateY(-2px)}.blog-form button:disabled{cursor:not-allowed;opacity:.65}.posts-panel{padding:28px}.posts-panel-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.posts-panel-header button{background:#1f1b18;color:#fffaf0;padding:11px 18px}.blog-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.blog-card{background:#fffdf8;border-radius:28px;transition:.3s ease}.blog-card:hover{box-shadow:0 24px 60px #e76f512e;transform:translateY(-6px)}.blog-card img{display:block;height:210px;object-fit:cover;width:100%}.blog-content{padding:24px}.blog-date{color:#e76f51;font-size:11px;font-weight:900;letter-spacing:2px;margin-bottom:12px;text-transform:uppercase}.blog-content h3{font-family:Georgia,serif;font-size:28px;line-height:1.05;margin-bottom:14px}.blog-content p{font-size:15px;line-height:1.7;margin-bottom:20px}.blog-link{background:#0000;border:none;color:#1f1b18;cursor:pointer;font-weight:900;padding:0}.blog-link:hover{color:#e76f51}.empty-box{background:#fffdf8;border:2px dashed #decfbc;border-radius:24px;color:#7b6d61;font-weight:800;padding:45px 20px;text-align:center}@media (max-width:1050px){.admin-layout{grid-template-columns:1fr}.blog-form{position:static}}@media (max-width:700px){.blog-admin{padding:60px 5%}.admin-header{align-items:stretch;flex-direction:column}.post-count{text-align:left}.blog-grid{grid-template-columns:1fr}.blog-form,.posts-panel{border-radius:24px;padding:22px}.posts-panel-header{align-items:stretch;flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0}.blog-section{background:radial-gradient(circle at 10% 20%,#e76f5129,#0000 30%),#fbf7ef;min-height:100vh;padding:100px 8%}.blog-card{background:#fffaf0;border:1px solid #eadfce;border-radius:42px;box-shadow:0 30px 80px #1f1b181f;display:grid;grid-template-columns:1fr 1fr;margin:auto auto 50px;max-width:1100px;overflow:hidden;transition:.35s}.blog-card:hover{box-shadow:0 40px 90px #e76f5138;transform:translateY(-10px)}.blog-image{background-position:50%;background-size:cover;min-height:480px}.blog-content{display:flex;flex-direction:column;justify-content:center;padding:55px}.blog-category{color:#e76f51;font-size:13px;font-weight:900;letter-spacing:3px;margin-bottom:18px;text-transform:uppercase}.blog-content h2{font-family:Georgia,serif;font-size:clamp(42px,6vw,70px);letter-spacing:-3px;line-height:.95;margin-bottom:24px}.blog-content p{color:#5a5048;font-size:18px;line-height:1.8;margin-bottom:34px}.blog-buttons{display:flex;flex-wrap:wrap;gap:15px}.blog-link,.delete-btn{border:none;border-radius:999px;cursor:pointer;font-weight:900;padding:15px 24px;transition:.25s}.blog-link{background:#1f1b18;color:#fff}.blog-link:hover{background:#e76f51;transform:translateX(6px)}.delete-btn{background:#d62828;color:#fff}.delete-btn:hover{background:#b71c1c}.no-posts{margin:auto;max-width:800px;padding:120px 20px;text-align:center}.no-posts h2{font-family:Georgia,serif;font-size:50px;margin-bottom:15px}.no-posts p{color:#666;font-size:18px}@media (max-width:850px){.blog-card{grid-template-columns:1fr}.blog-image{min-height:320px}.blog-content{padding:35px}.blog-content h2{font-size:42px}}.blog-topbar{display:flex;justify-content:flex-end;margin:0 auto 35px;max-width:1100px}.add-blog-btn{background:#e76f51;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:700;padding:14px 24px;transition:.25s}.add-blog-btn:hover{background:#d95d39;transform:translateY(-3px)}.article-page{background:radial-gradient(circle at 12% 12%,#e76f5126,#0000 28%),radial-gradient(circle at 90% 85%,#e9c46a38,#0000 30%),#fbf7ef;color:#1f1b18;min-height:100vh;padding:55px 8% 90px}.back-button{background:#fffaf0;border:2px solid #1f1b18;border-radius:999px;color:#1f1b18;cursor:pointer;font-weight:900;margin-bottom:35px;padding:13px 22px;transition:.25s ease}.back-button:hover{background:#1f1b18;color:#fff;transform:translateY(-3px)}.article-card-full{background:#fffaf0;border:1px solid #eadfce;border-radius:38px;box-shadow:0 30px 80px #1f1b181f;margin:auto;max-width:930px;overflow:hidden}.article-cover{background-position:50%;background-size:cover;height:470px;width:100%}.article-body{padding:50px}.article-meta{color:#e76f51;display:flex;flex-wrap:wrap;font-size:13px;font-weight:900;gap:10px;letter-spacing:2px;margin-bottom:22px;text-transform:uppercase}.article-body h1{font-family:Georgia,serif;font-size:clamp(44px,7vw,74px);letter-spacing:-3px;line-height:.95;margin-bottom:38px}.article-content p{color:#4f4740;font-size:20px;line-height:2;margin-bottom:30px}.article-empty,.article-loading{background:#fffaf0;border-radius:30px;box-shadow:0 25px 60px #1f1b181a;font-family:Georgia,serif;font-size:36px;margin:120px auto;max-width:700px;padding:40px;text-align:center}@media (max-width:768px){.article-page{padding:35px 5% 70px}.article-card-full{border-radius:28px}.article-cover{height:280px}.article-body{padding:30px}.article-body h1{letter-spacing:-2px}.article-content p{font-size:18px}}
/*# sourceMappingURL=main.46f6126e.css.map*/