/* NyanBoard 2.8 — streamlined anonymous imageboard */
:root{color-scheme:dark;--page:#100b20;--panel:#2a173b;--panel-deep:#20122d;--panel-soft:#41214d;--line:rgba(235,164,234,.48);--line-soft:rgba(239,164,230,.23);--pink:#f49cdb;--pink-bright:#ef6abf;--purple:#ba92f1;--white:#fff3ff;--muted:#d2bbdb;--ease:160ms ease}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--white);background:linear-gradient(180deg,rgba(19,9,31,.32),rgba(13,8,23,.20)),url("moonlit_wallpaper.svg") center top / cover fixed no-repeat,#100b20;font-family:'Segoe UI',Inter,Arial,sans-serif;line-height:1.52;font-size:15px;min-height:100vh}
::selection{color:#fff;background:rgba(186,69,159,.55)}
a{color:inherit;text-decoration:none}a:hover{color:#ffd0f6}button,input,textarea,select{font:inherit}button{cursor:pointer}img,video{max-width:100%}
:focus-visible{outline:3px solid #ffd3a1;outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:10px;top:-200px;z-index:1000;background:#fff;color:#30103b;border-radius:9px;padding:12px}
.skip-link:focus{top:8px}
.site-wrap{max-width:1420px;margin:0 auto;padding:0 18px 20px;min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}
.hero{width:100%;aspect-ratio:1670/244;background:url('nyanboard_hero.webp') center / 100% 100% no-repeat;display:block;border-radius:0 0 14px 14px}
.top-nav{display:flex;align-items:center;gap:5px;background:linear-gradient(180deg,#3c1a53,#21102e);border:1px solid rgba(241,131,229,.58);border-radius:16px;min-height:59px;padding:6px 9px;margin:0 0 16px;box-shadow:0 7px 26px rgba(24,2,41,.45)}
.top-nav>a{padding:10px 15px;font-weight:650;font-size:14px;white-space:nowrap;border-radius:10px;transition:background var(--ease),color var(--ease);border:1px solid transparent}
.top-nav>a:hover,.top-nav>a.is-active{background:#63336f;color:#fff;border-color:rgba(241,151,240,.45)}
.top-nav .nav-new{margin-left:auto;background:linear-gradient(130deg,#9d40bd,#df4eac);border-color:#f5a3e6;color:white;box-shadow:0 2px 12px #e948c148;padding:10px 20px}
.top-nav .nav-new:hover{filter:brightness(1.1);background:linear-gradient(130deg,#ab48c7,#f255b8)}
.mobile-board-toolbar{display:none}
.site-columns{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:stretch;flex:1}
.side-nav{position:sticky;top:15px;background:linear-gradient(160deg,rgba(60,29,77,.97),rgba(31,17,49,.98));border:1px solid var(--line);border-radius:16px;padding:14px 10px;box-shadow:0 4px 18px #12052177}
.side-heading{display:flex;align-items:center;justify-content:space-between;margin:0 5px 10px;font-size:14px;font-weight:800}
.side-heading a{font-size:12px;color:#e7c2f3;border:1px solid #a45ba9;border-radius:20px;padding:2px 9px;font-weight:600}
.board-entry{display:flex;gap:10px;align-items:center;margin:3px 0;padding:9px 10px;border-radius:9px;color:#e9d3ef;font-size:13px;line-height:1.35;transition:background var(--ease)}
.board-entry:hover{background:#61316f;color:white}
.board-entry.selected{color:#fff;background:linear-gradient(90deg,#ae37a6,#8e3baf);box-shadow:0 2px 12px #e146b44a}
.board-code{color:#ffc1e9;min-width:34px;font-weight:800}
.board-name{min-width:0}
.side-bottom{border-top:1px solid var(--line-soft);padding:16px 8px 2px;color:var(--muted);font-size:12px;margin-top:14px}
.status-dot{display:inline-block;background:#66e2a9;width:8px;height:8px;border-radius:50%;margin-right:6px}
.main-column{min-width:0;min-height:715px;border-radius:18px;background:linear-gradient(165deg,rgba(57,29,71,.97),rgba(29,16,44,.975) 60%,rgba(27,15,40,.99));border:1px solid var(--line);box-shadow:0 14px 40px #0b041580;padding:29px 30px 38px;position:relative;overflow:hidden}.main-column>*{position:relative;z-index:1}.main-column:before{content:"";position:absolute;inset:-80px -80px auto auto;width:290px;height:290px;background:radial-gradient(circle,rgba(255,170,224,.14),transparent 70%);pointer-events:none}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:#ccb0d8;margin:0 0 18px}
.breadcrumbs a:hover{text-decoration:underline;color:#ffe1fa}
.breadcrumbs strong{color:#f2d6f6}
.eyebrow{font-size:11px;font-weight:850;letter-spacing:.14em;color:#ed92ce;margin:0 0 7px}
.board-titlebar,.page-top{margin:0 0 22px}
.board-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.board-titlebar h1,.page-top h1{font-size:clamp(23px,2.3vw,34px);line-height:1.22;letter-spacing:-.035em;margin:0 0 10px}
.board-titlebar h1 span,.page-top h1 span{font-weight:650;color:#ffb6ee}
.subtle,.page-top>p:last-child{font-size:14px;color:var(--muted);margin:0;max-width:68ch;line-height:1.6}
.action-primary,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;background:linear-gradient(125deg,#9e40bb,#df49b6);color:white;border:1px solid #f4a9e4;border-radius:11px;font-weight:750;padding:11px 18px;min-height:44px;box-shadow:0 3px 16px #f93bc52b;text-decoration:none;cursor:pointer;transition:filter var(--ease),transform var(--ease)}
.action-primary:hover,.button:hover{color:#fff;filter:brightness(1.12);transform:translateY(-1px)}
.action-quiet{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #a677b3;border-radius:11px;background:#4b275c;color:#f5d5f4;min-height:43px;font-weight:700}
.action-quiet:hover{background:#6c347c;color:#fff}
.discussion-box{border:1px solid var(--line-soft);border-radius:15px;background:rgba(19,8,30,.28);padding:16px}
.thread-toolbar{display:flex;gap:13px;align-items:center;justify-content:space-between;margin:0 0 15px}
.mode-switch{display:flex;gap:4px;padding:4px;background:#21102f;border:1px solid #7d467f;border-radius:12px;flex-shrink:0}
.mode-switch a{padding:8px 13px;font-size:13px;font-weight:750;border-radius:9px;white-space:nowrap}
.mode-switch a:hover{background:#54305e}
.mode-switch a.active{background:#86408e;color:white;box-shadow:0 2px 10px #d156bb31}
.board-search,.global-search{display:flex;gap:8px;flex:1;max-width:470px}
.board-search input,.global-search input{margin:0;min-width:0;flex:1;width:100%;padding:10px 13px;border-radius:10px;border:1px solid #865091;background:#1a0c27;color:white;font-size:13px}
.board-search input::placeholder,input::placeholder,textarea::placeholder{color:#bca1c6}
.board-search button,.global-search button{padding:9px 17px;border-radius:10px;border:1px solid #9e6aa8;background:#5c3371;color:white;font-weight:730}
.board-search button:hover{background:#794382}
.search-feedback{margin:8px 0 18px;font-size:13px;color:var(--muted)}
.search-feedback a{text-decoration:underline;color:#ffc3ed}
.thread-feed{display:flex;flex-direction:column;gap:12px}
.thread-item{background:linear-gradient(110deg,rgba(65,30,81,.72),rgba(39,17,54,.82));border:1px solid rgba(231,150,236,.34);border-radius:12px;padding:15px 17px;transition:background var(--ease),border-color var(--ease)}
.thread-item:hover{background:#472457;border-color:#dc94dd}
.thread-info{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:12px;color:#c5afcf;margin:0 0 10px}
.thread-info strong{color:#ffb9e5;font-weight:800}
.thread-content{display:flex;gap:16px;align-items:flex-start;min-height:70px}
.thread-image{width:148px;flex:0 0 148px;aspect-ratio:4/3;display:block;border-radius:10px;overflow:hidden;background:#421d4e}
.thread-image img{display:block;width:100%;height:100%;object-fit:cover}
.thread-description{min-width:0;flex:1;overflow-wrap:anywhere}
.thread-description h2{font-size:17px;font-weight:750;margin:0 0 7px;line-height:1.34}
.thread-description h2 a:hover{color:#ffb7e5;text-decoration:underline}
.thread-description p{font-size:14px;color:#ebd5ef;margin:0 0 14px;white-space:pre-wrap;overflow-wrap:anywhere}
.thread-foot{display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-size:13px;color:var(--muted);margin:9px 0 0}
.thread-foot a{color:#ffb8e9;font-weight:750}
.thread-foot a:hover{text-decoration:underline}
.thumb-fallback{height:100%;min-height:100px;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:15px;color:#e1c7e9;font-size:12px;background:linear-gradient(120deg,#4a2857,#2b1740)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px}
.gallery-card{display:block;min-width:0;overflow:hidden;border:1px solid rgba(231,153,232,.45);border-radius:12px;background:#32163f;transition:transform var(--ease),border-color var(--ease)}
.gallery-card:hover{transform:translateY(-2px);border-color:#f9b9ed;color:#fff}
.gallery-thumb{aspect-ratio:4/3;background:#4b2b5a;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-thumb img{height:100%;width:100%;object-fit:cover}
.gallery-thumb .thumb-fallback{height:100%}
.media-free-icon{font-size:40px;color:#f9aedf}
.gallery-card strong{font-size:14px;display:block;margin:10px 11px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gallery-card small{color:var(--muted);display:block;margin:0 11px 11px;font-size:12px}
.pagination{margin-top:18px;display:flex;gap:14px;justify-content:center;align-items:center;font-size:13px;color:var(--muted)}
.pagination a{padding:8px 12px;border:1px solid #a263ad;border-radius:9px}
.empty-discussion{text-align:center;padding:68px 20px 60px;display:flex;flex-direction:column;align-items:center;gap:11px}
.empty-icon{font-size:54px;color:#f195d8;line-height:1}
.empty-discussion h2{font-size:22px;margin:4px 0 0}
.empty-discussion p{color:var(--muted);max-width:400px;font-size:14px;line-height:1.6;margin:0}
.empty-actions{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;margin-top:14px}
.page-top{padding-bottom:5px}
.page-top>p:last-child a{color:#f8afe7;text-decoration:underline}
.board-directory-v27{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.board-directory-card{background:linear-gradient(130deg,#41214f,#291638);border:1px solid rgba(235,142,224,.45);border-radius:14px;padding:15px;min-width:0;transition:border-color var(--ease),transform var(--ease)}
.board-directory-card:hover{border-color:#f6b0e8;transform:translateY(-1px)}
.directory-link{display:flex;gap:13px;align-items:center;min-width:0}
.directory-code{background:#713a82;border:1px solid rgba(240,155,234,.45);border-radius:9px;padding:9px 10px;color:#ffc7eb;font-size:15px;font-weight:800;flex:0 0 auto}
.directory-details{display:flex;flex-direction:column;min-width:0;gap:3px}
.directory-details strong{font-size:15px;line-height:1.3}
.directory-details small{font-size:12px;color:var(--muted)}
.directory-arrow{margin-left:auto;font-size:30px;color:#d4a6da}
.directory-bottom{border-top:1px solid var(--line-soft);margin-top:13px;padding-top:11px;display:flex;gap:20px}
.directory-bottom a{font-size:12px;color:#eebbe9;font-weight:700}
.directory-bottom a:hover{text-decoration:underline}
.compose-form{max-width:760px;background:rgba(26,11,39,.72);border:1px solid var(--line-soft);border-radius:15px;padding:22px}
.compose-form label{display:block;font-size:14px;font-weight:750;margin:0 0 8px}
.compose-form input:not([type=file]),.compose-form textarea,form:not(.board-search):not(.global-search) input:not([type=file]):not([type=hidden]),form textarea{display:block;width:100%;background:#1d0d2d;border:1px solid #81518d;border-radius:10px;padding:12px 14px;color:white;margin:0 0 21px}
.compose-form textarea{resize:vertical;min-height:145px}
.required{font-size:11px;color:#f6c6e5;font-weight:500;margin-left:6px}
.optional{font-size:12px;color:var(--muted);font-weight:450;margin-left:8px}
.file-drop{border:1.5px dashed #aa6cae;background:#281239;border-radius:12px;padding:18px;min-height:98px;margin-bottom:19px;color:var(--muted)}
.file-drop input[type=file]{width:100%;max-width:100%;font-size:13px;color:#f6daef}
.file-drop input[type=file]::file-selector-button{border:1px solid #a975bd;border-radius:8px;background:#59306e;color:white;padding:9px 12px;margin-right:12px;cursor:pointer}
.file-drop p{font-size:12px;margin:10px 0 0}
.file-preview{display:none;align-items:center;gap:12px;margin:14px 0 0;font-size:13px;color:#ffc5e7}
.file-preview.has-file{display:flex}
.file-preview img{width:110px;max-height:95px;object-fit:cover;border-radius:8px}
.compose-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:18px}
.form-fineprint{font-size:12px;color:var(--muted);line-height:1.6;margin-top:21px}
.form-fineprint a{color:#f9b7e8;text-decoration:underline}
.latest-list{display:flex;flex-direction:column;gap:10px}
.latest-item{display:flex;gap:13px;align-items:flex-start;padding:15px;border:1px solid var(--line-soft);border-radius:12px;background:#351b43}
.latest-board{color:#ffc1e9;background:#643477;padding:5px 9px;border-radius:8px;font-weight:750;flex-shrink:0}
.latest-item>div{min-width:0;flex:1}
.latest-item h2{font-size:16px;margin:0 0 4px}
.latest-item p{font-size:13px;color:var(--muted);margin:0 0 4px;overflow-wrap:anywhere}
.latest-item small{font-size:12px;color:#e0c0e4}
.latest-open{font-size:22px;color:#edadeb}
.global-search{max-width:720px;margin:0 0 18px}
.global-search button{margin:0}
.post-entry{border:1px solid var(--line-soft);border-radius:14px;background:#30163e;margin:15px 0;padding:18px}
.post-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:14px}
.post-meta strong{color:#ffb9e6}
.post-meta a{color:#eda5e4;text-decoration:underline}
.post-entry img,.post-entry video{display:block;width:auto;max-height:520px;object-fit:contain;border-radius:10px}
.post-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;margin:13px 0 0;color:#f8e6fc}
.reply-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-soft);margin:31px 0 16px;padding-bottom:10px}
.reply-head h2,.reply-compose-title{font-size:20px;margin:0}
.reply-head h2 span{font-size:14px;color:#ffc0e8;margin-left:8px}
.reply-head a{font-weight:700;color:#f7bae9}
.reply-compose-title{margin:26px 0 12px}
.report-block{padding:14px 17px;border:1px solid #784885;border-radius:12px;margin:26px 0}
.report-block summary{cursor:pointer;color:#e9c5ee}
.report-block form{margin-top:13px;max-width:500px}
.report-block input{margin:8px 0 12px!important}
.report-block button,.delete-form button{background:#53265e;color:white;border:1px solid #b879c2;border-radius:8px;padding:9px 12px}
.delete-form button{font-size:12px;margin:0 0 10px}
.missing-media-inline{padding:20px;border:1px dashed #ad79bd;border-radius:10px;color:#d8bddc;font-size:13px}
.text-page{background:#30163d;border:1px solid var(--line-soft);border-radius:15px;padding:22px;color:#e7d3ed;max-width:900px}
.text-page h2{color:#ffc7ed;margin:22px 0 10px;font-size:19px}
.text-page h2:first-child{margin-top:0}
.text-page ul{padding-left:23px;line-height:2}
.text-page p{line-height:1.7}
.notice{background:#5c285d;border:1px solid #c17ca3;padding:12px 16px;margin-bottom:17px;border-radius:10px}
/* Existing administration templates remain supported. */
.post{border:1px solid var(--line-soft);border-radius:12px;background:#31183f;padding:16px;margin:13px 0}
.post-form{padding:16px;border:1px solid var(--line-soft);border-radius:12px;background:#2a1437}
.post-form label{display:block;margin:10px 0}
.post-form button{background:#6c397a;color:#fff;border:1px solid #d58dd7;border-radius:9px;padding:9px 14px}
.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:#24112f;border:1px solid rgba(222,132,223,.45);border-radius:14px;margin-top:17px;padding:16px 22px;color:var(--muted);font-size:12px}
.footer-logo{color:#ffc5ee;font-size:18px;font-weight:800}
.footer-logo small{font-size:11px;font-weight:500;color:#cbb0d6}
.site-footer>div{display:flex;gap:20px;flex-wrap:wrap}
.site-footer a:hover{text-decoration:underline}
.footer-anon{color:#a9efc9;font-weight:750}
@media(max-width:1110px){
 .site-columns{grid-template-columns:200px minmax(0,1fr)}
 .board-entry{padding:8px 7px;font-size:12px}
 .top-nav>a{font-size:13px;padding:10px 10px}
 .main-column{padding:19px}
}
@media(max-width:830px){
 .site-wrap{padding:0 9px 12px}
 .side-nav{display:none}
 .site-columns{display:block}
 .main-column{padding:17px}
 .mobile-board-toolbar{display:flex;align-items:center;gap:10px;margin:0 2px 12px;color:#ead0ef;font-size:13px;font-weight:700}
 .mobile-board-toolbar select{flex:1;min-width:0;width:100%;border:1px solid #b87dc3;border-radius:10px;background:#362044;color:#fff;padding:9px 11px}
 .top-nav{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;justify-content:flex-start;scrollbar-width:thin;min-height:52px}
 .top-nav>a{flex:0 0 auto;font-size:13px}
 .top-nav .nav-new{margin-left:0}
 .board-directory-v27{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:570px){
 body{font-size:14px}
 .site-wrap{padding:0 6px 8px}
 .hero{aspect-ratio:auto;height:94px;background-size:auto 100%;background-position:center}
 .top-nav{border-radius:12px;min-height:50px;margin-bottom:12px}
 .top-nav>a{padding:9px 12px}
 .main-column{border-radius:12px;padding:15px;min-height:400px}
 .board-titlebar h1,.page-top h1{font-size:23px}
 .board-titlebar{gap:13px}
 .board-titlebar .action-primary{width:100%}
 .discussion-box{padding:10px}
 .thread-toolbar{flex-wrap:wrap;gap:10px}
 .mode-switch{width:100%}
 .mode-switch a{flex:1;text-align:center}
 .board-search{max-width:none;width:100%;flex:1 1 100%}
 .thread-item{padding:13px}
 .thread-content{gap:11px}
 .thread-image{width:94px;flex-basis:94px}
 .thread-description h2{font-size:15px}
 .thread-description p{font-size:12px}
 .thread-info{font-size:11px;gap:7px}
 .thread-foot{gap:11px;font-size:12px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .gallery-card strong{font-size:13px}
 .board-directory-v27{grid-template-columns:1fr}
 .directory-bottom{gap:15px}
 .compose-form{padding:14px}
 .post-entry{padding:13px}
 .site-footer{padding:15px;align-items:flex-start;gap:12px}
 .site-footer>div{gap:13px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.thread-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.thread-actions form{margin:0}
.thread-actions button{font:inherit;cursor:pointer}
.quote-link{color:#ffc2f1;text-decoration:underline;font-weight:750}
.greentext{color:#a2e9ab}
.post-entry:target{outline:2px solid #f5a2e4;outline-offset:3px}

/* v2.8 Moonlit Edition: decorative additions use existing mascot art and original SVGs. */
.hero{box-shadow:0 10px 40px rgba(6,2,19,.52);flex:0 0 auto}
.top-nav{flex:0 0 auto;margin-bottom:19px;background:linear-gradient(180deg,rgba(70,35,84,.96),rgba(33,17,49,.97));border-color:rgba(248,166,230,.55)}
.side-nav{align-self:start;min-height:670px}
.side-bottom{margin-top:18px}
.side-mooncat{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:22px 3px 0;padding:10px 0 12px;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at center,rgba(138,79,171,.25),rgba(33,17,48,.10) 72%);border:1px solid rgba(231,156,220,.18)}
.side-mooncat img{width:100%;height:126px;object-fit:contain;opacity:.92}
.side-mooncat span:last-child{font-size:10px;font-weight:850;letter-spacing:.15em;color:#f8bdeb}
.side-mooncat-star{position:absolute;top:11px;right:18px;color:#ffd6f4;font-size:14px;opacity:.65}
.discussion-box{background:linear-gradient(160deg,rgba(23,12,36,.45),rgba(34,17,49,.56));border-color:rgba(237,157,225,.28)}
.empty-discussion{min-height:480px;justify-content:center;padding:22px 18px 41px;gap:9px}
.empty-illustration{display:block;width:min(360px,92%);height:auto;aspect-ratio:600/270;object-fit:contain;margin:0 auto -4px;filter:drop-shadow(0 6px 22px rgba(233,130,222,.18))}
.empty-eyebrow{font-size:11px!important;line-height:1.5!important;color:#f2acdb!important;letter-spacing:.12em;text-transform:uppercase;margin:-1px 0 3px!important}
.empty-discussion h2{font-size:clamp(23px,2.5vw,28px);line-height:1.25;margin:0}
.empty-discussion p:not(.empty-eyebrow){max-width:430px}
.empty-actions{margin-top:18px}
.board-starter{margin-top:22px;padding:20px 0 0;border-top:1px solid rgba(231,153,226,.18)}
.starter-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.starter-title h2{font-size:19px;margin:0;color:#ffdcf6;letter-spacing:-.02em}
.starter-title>span{color:#e9a6e9;font-size:20px;letter-spacing:.19em;opacity:.78}
.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.starter-card{min-width:0;min-height:148px;border-radius:13px;display:flex;flex-direction:column;position:relative;gap:6px;padding:16px 15px;background:linear-gradient(145deg,rgba(88,45,105,.57),rgba(46,24,64,.66));border:1px solid rgba(241,156,227,.28);transition:border-color var(--ease),transform var(--ease),background var(--ease)}
.starter-card:hover{border-color:#f4ade7;background:#4c2b63;transform:translateY(-2px)}
.starter-icon{font-size:23px;font-weight:700;color:#fbb8e8;line-height:1}
.starter-card strong{font-size:13px;color:#ffe5fa}
.starter-card small{color:#ddc5e8;font-size:12px;line-height:1.48;max-width:28ch}
.starter-arrow{position:absolute;right:14px;top:14px;font-size:18px;opacity:.6;color:#e7aee2}
.board-entry{min-height:37px}
.top-nav>a.is-active{background:#7b4387;border-color:#e9abd8}
.board-entry.selected{background:linear-gradient(100deg,#b64aa6,#8d53b4)}
.action-primary,.button,.top-nav .nav-new{background:linear-gradient(125deg,#a956bd,#dc68bc);border-color:#f6aee8}
.site-footer{margin-top:22px;background:linear-gradient(90deg,rgba(48,25,64,.94),rgba(34,18,47,.96));box-shadow:0 6px 30px #0d061f66;flex:0 0 auto}
@media(min-width:1580px){.site-wrap{max-width:1400px}.main-column{min-height:760px}}
@media(max-width:1110px){.site-wrap{padding:0 12px 14px}.site-columns{grid-template-columns:195px minmax(0,1fr);gap:12px}.main-column{padding:23px}.side-nav{min-height:590px}.starter-grid{gap:8px}.starter-card{padding:13px}}
@media(max-width:830px){body{background-attachment:scroll}.site-wrap{padding:0 9px 10px}.site-columns{display:block}.main-column{min-height:650px;padding:18px}.side-mooncat{display:none}.starter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:570px){.site-wrap{padding:0 6px 8px}.main-column{min-height:600px;padding:15px}.empty-discussion{min-height:380px;padding:15px 6px 28px}.empty-illustration{width:min(270px,95%)}.empty-eyebrow{font-size:10px!important}.board-starter{margin-top:19px}.starter-grid{grid-template-columns:1fr;gap:9px}.starter-card{min-height:94px;padding:12px 15px 12px 49px}.starter-icon{position:absolute;left:13px;top:14px}.starter-card small{max-width:none}.starter-title>span{font-size:14px}}

.mobile-brand{display:none}
@media(max-width:570px){.mobile-brand{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;margin:0 0 3px;border:1px solid rgba(239,164,230,.42);border-radius:11px;background:linear-gradient(90deg,#3b1d50,#2d1b42);color:#ffe1f6}.mobile-brand span{font-weight:800;font-size:16px}.mobile-brand small{color:#eabbe1;font-size:11px}}


/* Midnight Sakura Shrine v2.9: navy canvas, pink accents, atmospheric shrine artwork. */
:root{color-scheme:dark;--page:#050d1c;--panel:#07182c;--panel-deep:#061224;--panel-soft:#0b233c;--line:rgba(110,169,223,.52);--line-soft:rgba(130,175,222,.26);--pink:#ffa4d7;--pink-bright:#eb67a6;--purple:#8ab6ed;--white:#f3f7ff;--muted:#c3d4eb;--ease:160ms ease}
body{font-family:'Segoe UI',Tahoma,Arial,sans-serif;background:linear-gradient(180deg,rgba(2,9,22,.09),rgba(3,9,19,.08)),url('shrine_night_background.webp') center top / cover fixed no-repeat,#050d1c;color:var(--white);font-size:15px}
::selection{color:#fff;background:rgba(214,89,156,.5)}
a:hover{color:#ffbde0}
.site-wrap{max-width:1340px;padding:0 17px 24px}
.hero{border-radius:0 0 13px 13px;box-shadow:0 10px 30px rgba(0,5,17,.65)}
.top-nav{border-radius:17px;background:linear-gradient(180deg,rgba(10,30,52,.98),rgba(3,14,30,.98));border:1px solid rgba(124,176,226,.74);box-shadow:0 6px 25px rgba(0,7,20,.5),inset 0 1px 0 rgba(245,199,244,.12);min-height:60px;margin-bottom:16px;padding:6px 10px}
.top-nav>a{font-family:'Segoe UI',Tahoma,sans-serif;font-weight:700;font-size:14px;color:#e6eefc;padding:10px 14px}
.top-nav>a:hover{background:rgba(225,89,162,.22);color:#fff;border-color:rgba(255,169,214,.6)}
.top-nav>a.is-active{background:linear-gradient(110deg,#bf438b,#e772ad);color:white;border-color:#ffadd8;box-shadow:0 2px 14px #e842996e}
.top-nav .nav-new{background:linear-gradient(120deg,#ba387c,#ec76a9);border:1px solid #ffa5d0;color:#fff;box-shadow:0 0 16px rgba(245,89,161,.32);padding:10px 21px}
.top-nav .nav-new:hover{background:linear-gradient(120deg,#d54d91,#f58db8)}
.site-columns{grid-template-columns:255px minmax(0,1fr);gap:14px;align-items:stretch}
.side-nav{position:sticky;top:12px;align-self:start;background:linear-gradient(155deg,rgba(8,27,48,.97),rgba(4,17,33,.98));border:1px solid rgba(117,169,223,.73);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,191,234,.11),0 10px 30px rgba(0,0,12,.34);padding:18px 12px;min-height:690px}
.side-heading{font:italic 700 20px Georgia,'Palatino Linotype',serif;color:#ffe0f2;margin:0 6px 12px}
.side-heading a{font:700 12px 'Segoe UI',sans-serif;border-color:#c2619c;color:#ffe7f6;background:rgba(174,52,119,.25)}
.board-entry{font-size:13px;color:#e1eaf8;border-bottom:1px solid rgba(103,147,195,.18);padding:8px 11px;min-height:36px;margin:1px 0;border-radius:8px}
.board-entry:hover{background:#123c62;color:white}
.board-entry.selected{color:#fff;background:linear-gradient(110deg,#a63079,#d755a4);box-shadow:0 0 14px rgba(233,71,150,.27)}
.board-code{font-family:Georgia,serif;color:#ffcae7;font-size:14px;min-width:39px;font-weight:800}
.side-bottom{border-top:1px solid rgba(118,175,229,.28);color:#c8deef;font-size:12px}
.side-mooncat{border:1px solid rgba(119,173,215,.25);background:linear-gradient(135deg,#071a32,#0b2641)}
.main-column{background:linear-gradient(155deg,rgba(5,18,34,.975),rgba(4,14,29,.985) 73%,rgba(6,19,36,.99));border:1px solid rgba(124,173,224,.78);box-shadow:0 14px 48px rgba(0,5,20,.72),inset 0 1px 0 rgba(200,221,255,.08);border-radius:17px;min-height:680px;padding:30px 31px 36px}
.main-column:before{background:radial-gradient(circle,rgba(240,89,172,.085),transparent 70%)}
.breadcrumbs{color:#afcce5;font-size:13px;margin-bottom:19px}.breadcrumbs strong{color:#f3d4ef}
.eyebrow{font-size:11px;letter-spacing:.23em;color:#e69ac8;font-weight:850}
.page-top h1,.board-titlebar h1{font:italic 700 clamp(30px,3.4vw,45px)/1.15 Georgia,'Palatino Linotype',serif;color:#e5ecff;letter-spacing:-.03em;text-shadow:0 2px 17px rgba(131,146,246,.17);margin:2px 0 10px}
.board-titlebar h1 span,.page-top h1 span{font-family:Georgia,serif;font-weight:700;color:#ffb6df}
.board-titlebar,.page-top{margin-bottom:26px}.subtle,.page-top>p:last-child{color:#c7d7ec}
.action-primary,.button{background:linear-gradient(125deg,#b83d81,#e86eaa);color:#fff;border:1px solid #ffc0e1;border-radius:11px;box-shadow:0 1px 17px rgba(240,72,160,.30);font-weight:750}
.action-quiet{background:#0d2a45;border:1px solid #6e9bcc;color:#dae9fb}.action-quiet:hover{background:#19446b;color:#fff}
.discussion-box{background:linear-gradient(155deg,rgba(2,11,25,.65),rgba(4,19,37,.66));border:1px solid rgba(112,166,215,.34);border-radius:14px;padding:17px}
.mode-switch{background:#04162b;border:1px solid #5d8dbd}
.mode-switch a{font-family:Georgia,serif;font-size:14px}
.mode-switch a:hover{background:#163c60}.mode-switch a.active{background:linear-gradient(115deg,#bd3d83,#e572a8);color:#fff;box-shadow:0 1px 13px rgba(237,90,161,.44)}
.board-search input,.global-search input{background:#041222;border:1px solid #678db6;color:#fff}
.board-search input::placeholder,input::placeholder,textarea::placeholder{color:#9db8d7}
.board-search button,.global-search button{background:#9f3377;border:1px solid #e585bd;color:#fff}
.board-search button:hover,.global-search button:hover{background:#c2498c}
.thread-item{border:1px solid rgba(123,168,217,.66);background:linear-gradient(115deg,rgba(8,28,52,.92),rgba(4,16,33,.95));border-radius:11px;padding:16px 19px}
.thread-item:hover{background:#102e50;border-color:#ffaccf}
.thread-info{color:#c1d1e4}.thread-info strong{color:#ff9ed2}
.thread-description h2{font:700 19px/1.24 Georgia,'Palatino Linotype',serif;color:#eef2ff}.thread-description h2 a:hover{color:#ffb3d9}
.thread-description p{color:#dae5f6;font-size:14px}.thread-foot a{color:#ffacd7}
.thread-image{border:1px solid rgba(110,163,220,.46);background:#132a44}
.thumb-fallback{background:linear-gradient(125deg,#10294b,#071a33);color:#a9c8e6}
.gallery-card{background:#0a1e36;border-color:#5c89b8}.gallery-card:hover{border-color:#ffafe1}
.gallery-thumb{background:#0f2842}.media-free-icon{color:#e3acd1}
.empty-discussion{color:#eff4ff}.empty-discussion p{color:#c6d8ec}.empty-eyebrow{color:#ffa9d7!important}
.board-directory-card{background:linear-gradient(135deg,#0c2a47,#071729)!important;border:1px solid rgba(126,171,221,.48)!important}
.board-directory-card:hover{background:#123658!important;border-color:#ffa4ce!important}
.directory-code{background:#ae4486!important;border:1px solid rgba(255,184,224,.5)!important;color:#fff!important}
.board-directory-card strong{color:#f7e9fb!important}.directory-details small{color:#bdd3e9!important}
.directory-bottom{border-top:1px solid rgba(132,170,216,.2)!important}.directory-bottom a{color:#ffb2db!important}
.starter-card{background:linear-gradient(140deg,rgba(14,47,74,.9),rgba(7,26,46,.93));border-color:rgba(109,174,222,.4)}
.starter-card:hover{background:#124064;border-color:#ffc0e4}.starter-card strong{color:#f6edff}.starter-card small{color:#c3d8ed}.starter-icon{color:#ffa2ce}
.starter-title h2{color:#f7e4ff}
.compose-form,.text-page,.post-entry,.post-form,.post{background:linear-gradient(135deg,#0b263e,#07172c)!important;border-color:rgba(118,165,219,.53)!important;color:#ebf5ff}
.compose-form input,.compose-form textarea,.post-form input,.post-form textarea{background:#06192f;color:#f3f8ff;border-color:#689bcb}
.report-block{border-color:#6a94c0}.post-meta strong,.reply-head a{color:#ffb2d9}.post-text{color:#e2edff}
.notice{background:#153856;border-color:#e779b6;color:#fff}
.site-footer{background:linear-gradient(120deg,rgba(5,21,42,.96),rgba(3,12,30,.98));border:1px solid rgba(121,169,229,.79);color:#ccdef2;box-shadow:0 5px 26px rgba(0,7,21,.55);margin-top:16px}
.footer-logo{font:italic 700 19px Georgia,serif;color:#ffc2e6}.footer-logo small{font:500 11px 'Segoe UI',sans-serif;color:#b8cce6}
.footer-anon{color:#8af1c5}
.mobile-brand{background:#0a2845!important;border-color:#71a1d4!important}.mobile-brand span{color:#ffb6de}
.mobile-board-toolbar select{background:#092038;color:#e9f5ff;border-color:#75a3d4}
.board-topic-note{font-size:13px;color:#d7e5fa;max-width:65ch;margin:12px 0 0;border-left:3px solid #df82b7;padding:9px 14px;background:rgba(23,59,88,.45);border-radius:0 9px 9px 0}
.board-topic-note a{color:#ffb2d7;text-decoration:underline}
@media(min-width:1580px){.site-wrap{max-width:1340px}.main-column{min-height:740px}}
@media(max-width:1110px){.site-wrap{padding:0 11px 15px}.site-columns{grid-template-columns:205px minmax(0,1fr);gap:12px}.main-column{padding:22px}.top-nav>a{font-size:13px;padding:9px 10px}.side-nav{padding:13px 8px}}
@media(max-width:830px){body{background-attachment:scroll}.site-columns{display:block}.side-nav{display:none}.main-column{min-height:630px;padding:19px}}
@media(max-width:570px){.hero{height:94px}.top-nav{min-height:50px}.main-column{min-height:570px;padding:15px}.page-top h1,.board-titlebar h1{font-size:28px}.thread-description h2{font-size:16px}.side-nav{display:none}}

/* v3.0: Midnight Sakura grouped Board Index */
.site-wrap{max-width:1510px}
@media(min-width:1580px){.site-wrap{max-width:1510px}}
.site-columns{grid-template-columns:240px minmax(0,1fr);gap:15px}
.side-nav{align-self:start}
.sidebar-group-label{margin:16px 8px 4px;padding:7px 5px 4px;border-bottom:1px solid rgba(128,178,230,.28);font:italic 700 13px/1.3 Georgia,'Palatino Linotype',serif;letter-spacing:.02em;color:#b7d8ff}
.sidebar-group-adult{color:#ffa4d4;border-bottom-color:rgba(255,125,187,.4)}
.sidebar-group-special{color:#e3c1fb;border-bottom-color:rgba(219,155,233,.3)}
.board-entry{padding:6px 10px;margin:1px 0;font-size:13px}
.side-mooncat{margin-top:13px}
.main-column{padding:26px 26px 34px}
.directory-heading{text-align:center;margin:0 auto 21px}
.directory-heading h1{font:italic 700 clamp(30px,3.2vw,48px)/1.2 Georgia,'Palatino Linotype',serif;text-shadow:0 0 18px rgba(109,164,255,.25);color:#e5efff;margin:3px 0 7px}
.directory-heading h1 span{color:#ffa7d2}
.directory-heading>p:last-child{color:#c9d9eb;margin:0;font-size:14px}
.directory-groups{display:flex;flex-direction:column;gap:21px}
.index-group{min-width:0}
.index-group-title{display:flex;align-items:center;gap:17px;margin:0 0 10px}
.index-group-title h2{font:italic 700 clamp(20px,2vw,27px)/1.25 Georgia,'Palatino Linotype',serif;color:#dbe9ff;margin:0;white-space:normal}
.group-rule{height:2px;flex:1;min-width:15px;background:linear-gradient(90deg,rgba(118,179,237,.95),rgba(118,179,237,.06));border-radius:3px}
.index-group-adult .index-group-title h2{color:#ffaddc}
.index-group-adult .group-rule{background:linear-gradient(90deg,rgba(255,123,194,.94),rgba(244,104,182,.05))}
.index-group-special .index-group-title h2{color:#ecc8ff}
.group-explainer{font-size:12px;line-height:1.45;color:#aec6df;margin:-5px 0 10px}
.index-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.index-board-card{min-height:106px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;position:relative;padding:12px 15px;border:1px solid rgba(116,174,229,.78);border-radius:11px;background:linear-gradient(126deg,rgba(8,34,61,.96),rgba(5,21,41,.95));box-shadow:inset 0 0 0 1px rgba(134,196,251,.11),0 3px 14px rgba(0,6,22,.28);overflow:hidden;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.index-board-card::after{content:'✿';position:absolute;right:6px;bottom:-19px;font:86px/1 Georgia,serif;color:rgba(251,121,186,.085);pointer-events:none;transform:rotate(-14deg)}
.index-board-card:hover{border-color:#ffafda;background:linear-gradient(120deg,#143e63,#0c2b4c);transform:translateY(-2px);color:#fff}
.index-board-top{display:flex;align-items:baseline;gap:9px;position:relative;z-index:1;min-width:0}
.index-code{font:italic 700 24px/1.12 Georgia,serif;color:#ffa6d7;flex-shrink:0;white-space:nowrap}
.index-name{font:italic 700 clamp(15px,1.28vw,20px)/1.12 Georgia,serif;color:#f1f4ff;overflow-wrap:anywhere}
.index-arrow{margin-left:auto;align-self:center;opacity:.65;font-size:23px;line-height:1;color:#c5d9f2}
.index-board-card:hover .index-arrow{opacity:1;color:#fff}
.index-description{font-size:12px;line-height:1.35;color:#c5d7ec;margin:0 0 2px 0;position:relative;z-index:1;overflow-wrap:anywhere}
.index-stats{display:flex;flex-wrap:wrap;gap:6px;color:#b7d0e9;font-size:11px;position:relative;z-index:1}
.index-group-adult .index-board-card{border-color:rgba(230,104,178,.75);box-shadow:inset 0 0 0 1px rgba(243,155,215,.12),0 3px 14px rgba(26,3,20,.3)}
.index-group-adult .index-board-card:hover{border-color:#ffc3e5}
.index-group-special .index-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.index-group-special .index-board-card{border-color:rgba(192,126,216,.65)}
.index-group-special .index-board-card:hover{border-color:#efb9f0}
.index-endnote{font-size:12px;color:#bed1e8;text-align:center;border-top:1px solid rgba(130,179,226,.21);padding-top:14px;margin-top:25px}
.index-endnote a{color:#ffb7dd;text-decoration:underline}
.adult-confirm{max-width:680px;margin:45px auto;border:1px solid #ee91bf;border-radius:15px;padding:28px;background:linear-gradient(145deg,#142d48,#07172b);box-shadow:0 10px 25px rgba(0,8,22,.4)}
.adult-confirm h1{font:italic 700 32px Georgia,serif;color:#ffe2f2}
.adult-confirm p{line-height:1.65}
.adult-check{display:flex;align-items:center;gap:12px;padding:18px 4px;font-weight:700}
.adult-check input{width:20px;height:20px;accent-color:#db5da0;flex-shrink:0}
.adult-actions{display:flex;gap:12px;flex-wrap:wrap}
.archived-tag{font-size:12px;color:#c1d3e9;border:1px solid #6289ab;border-radius:8px;padding:10px}
@media(max-width:1140px){.site-columns{grid-template-columns:200px minmax(0,1fr);gap:10px}.index-board-top{flex-wrap:wrap;gap:3px 8px}.index-board-card{padding:10px}.index-card-grid{gap:8px}.index-name{font-size:16px}}
@media(max-width:900px){.site-columns{display:block}.side-nav{display:none}.index-card-grid,.index-group-special .index-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.index-board-card{min-height:98px}.main-column{min-height:570px}}
@media(max-width:580px){.main-column{padding:17px}.directory-heading h1{font-size:31px}.directory-heading>p:last-child{font-size:13px}.index-group-title h2{font-size:20px}.index-card-grid,.index-group-special .index-card-grid{grid-template-columns:1fr}.index-board-card{min-height:83px}.index-name{font-size:17px}.index-code{font-size:22px}.index-description{font-size:12px}.site-footer{gap:10px}.adult-confirm{margin:5px 0;padding:18px}}
