html, body { margin:0; padding:0; background:#07040c; }
body { -webkit-font-smoothing: antialiased; }
a { color:#d3c4ea; text-decoration:none; }
a:hover { color:#efe4c4; }
@keyframes mistA { 0%{transform:translate3d(-4%,0,0) scale(1.1);opacity:.4} 50%{transform:translate3d(4%,-3%,0) scale(1.25);opacity:.65} 100%{transform:translate3d(-4%,0,0) scale(1.1);opacity:.4} }
@keyframes riseIn { from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:translateY(0)} }
@keyframes floatUp { 0%{transform:translate3d(0,0,0) scale(.6); opacity:0} 12%{opacity:.8} 78%{opacity:.55} 100%{transform:translate3d(var(--dx,20px),-115vh,0) scale(1.2); opacity:0} }
@keyframes featherFall { 0%{transform:translate3d(0,-14vh,0) rotate(-10deg); opacity:0} 10%{opacity:.45} 90%{opacity:.3} 100%{transform:translate3d(var(--dx,60px),112vh,0) rotate(150deg); opacity:0} }
@keyframes veil { 0%,100%{opacity:.12; transform:translateY(0)} 50%{opacity:.3; transform:translateY(-3%)} } .aa-page {
position:relative; min-height:100vh; background:#07040c; color:#ece2f8;
font-family:'Shippori Mincho',serif; overflow:hidden;
}
.aa-veil-base {
position:fixed; inset:0; pointer-events:none;
background:radial-gradient(90% 70% at 50% 0%, #2d1740 0%, #150c20 45%, #07040c 100%);
}
.aa-veil-mist {
position:fixed; inset:-20%; pointer-events:none; mix-blend-mode:screen;
background:radial-gradient(38% 30% at 30% 25%, rgba(150,110,205,.26), transparent 70%);
animation:mistA 26s ease-in-out infinite;
}
.aa-veil-conic {
position:fixed; inset:0; pointer-events:none; mix-blend-mode:screen;
background:conic-gradient(from 200deg at 50% -10%, rgba(210,180,255,.14), transparent 28%, rgba(160,120,230,.1) 55%, transparent 80%);
animation:veil 18s ease-in-out infinite;
}
#particles { position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:2; } .aa-read {
max-width: 36em; margin: 0 auto;
font-size: clamp(16px, 1.15vw, 17.5px);
line-height: 1.95;
letter-spacing: .04em;
color: #e3d9f2;
}
.aa-read p {
margin: 0 0 1.7em;
text-wrap: pretty;
} .aa-read p:empty { margin-bottom: 2.6em; }
.aa-read h2 {
margin: 3em 0 1.2em;
font-weight: 400;
font-size: 1.25em;
letter-spacing: .12em;
color: #f4eeff;
}
.aa-read ruby rt { font-size: .5em; color: #c2b2db; letter-spacing: 0; }
.aa-read em { font-style: normal; color: #f0e4c2; }
.aa-read blockquote {
margin: 2em 0; padding: 0 0 0 1.2em;
border-left: 1px solid rgba(190,165,225,.35);
color: #cfc2e6;
}
.aa-read img { max-width: 100%; height: auto; display: block; margin: 2.4em auto; }  .aa-corner-tl, .aa-corner-tr, .aa-corner-bl, .aa-corner-br { position:absolute; pointer-events:none; }
.aa-corner-tl { left:-2px;  top:-2px; }
.aa-corner-tr { right:-2px; top:-2px; }
.aa-corner-bl { left:-2px;  bottom:-2px; }
.aa-corner-br { right:-2px; bottom:-2px; } .aa-center-top    { position:absolute; left:50%; transform:translateX(-50%); pointer-events:none; }
.aa-center-bottom { position:absolute; left:50%; transform:translateX(-50%) rotate(180deg); pointer-events:none; } .aa-navbtn, .aa-charcard {
position:relative; cursor:pointer; appearance:none; background:transparent;
border:0; padding:0; font-family:inherit; color:#ece2f8;
transition:transform .35s ease, filter .35s ease;
}
.aa-navbtn:hover   { transform:translateY(-8px); filter:drop-shadow(0 0 26px rgba(180,130,255,.75)); }
.aa-charcard:hover { transform:translateY(-8px); filter:drop-shadow(0 0 24px rgba(180,130,255,.7)); } .aa-news-row {
cursor:pointer; appearance:none; text-align:left; font-family:inherit; color:#ece2f8;
display:flex; gap:18px; padding:8px 4px; background:transparent; border:0;
font-size:clamp(12px,1.05vw,14px);
transition:background .3s ease, padding-left .3s ease;
}
.aa-news-row:hover { background:rgba(150,110,215,.16); padding-left:10px; } .aa-gallery-cell {
width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
border:1px solid rgba(190,165,225,.26);
transition:border-color .3s ease, transform .4s ease;
}
.aa-gallery-cell:hover { border-color:rgba(226,206,150,.7); transform:scale(1.02); } .aa-footer-link {
font-family:'Cormorant Garamond',serif; font-size:13px; letter-spacing:.4em;
color:#d3c4ea; transition:color .3s ease;
}
.aa-footer-link:hover { color:#efe4c4; } .aa-sidebtn {
position:relative; display:block; font-family:inherit; color:#ece2f8;
transition:filter .3s ease;
}
.aa-sidebtn:hover { filter:drop-shadow(0 0 16px rgba(180,130,255,.8)); color:#ece2f8; } .aa-chip {
cursor:pointer; appearance:none; font-family:inherit; font-size:12px;
letter-spacing:.16em; white-space:nowrap; padding:8px 22px;
color:#e0d6f0; background:rgba(20,12,31,.6); border:1px solid rgba(190,165,225,.3);
transition:all .3s ease;
}
.aa-chip:hover { border-color:rgba(226,206,150,.8); }
.aa-chip.is-active { color:#0d0715; background:#e0cc95; border-color:rgba(224,204,149,.9); } .aa-diary-body p { margin:0 0 26px; font-size:15px; line-height:2.4; letter-spacing:.03em; color:#e6ddf5; text-wrap:pretty; }
.aa-diary-body h2 { margin:44px 0 18px; font-weight:400; font-size:20px; letter-spacing:.1em; color:#f4eeff; }
.aa-diary-body h3 { margin:36px 0 14px; font-weight:400; font-size:17px; letter-spacing:.1em; color:#f4eeff; }
.aa-diary-body ul, .aa-diary-body ol { margin:0 0 26px; padding-left:1.6em; font-size:15px; line-height:2.2; color:#e6ddf5; }
.aa-diary-body img { max-width:100%; height:auto; display:block; margin:30px auto; }
.aa-diary-body blockquote { margin:26px 0; padding:0 0 0 1.2em; border-left:1px solid rgba(190,165,225,.35); color:#cfc2e6; } .aa-postnav {
flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:6px;
padding:18px 20px; background:rgba(255,255,255,.03);
border:1px solid rgba(190,165,225,.2); color:#e6ddf5;
transition:background .3s ease, border-color .3s ease;
}
.aa-postnav:hover { background:rgba(150,110,215,.14); border-color:rgba(224,204,149,.5); color:#e6ddf5; } .aa-gaiden-row {
display:flex; flex-wrap:wrap; gap:24px; padding:22px clamp(16px,2.2vw,28px);
background:rgba(20,12,31,.6); border:1px solid rgba(190,165,225,.22);
color:#ece2f8; transition:border-color .3s ease, background .3s ease;
}
.aa-gaiden-row:hover { border-color:rgba(224,204,149,.5); background:rgba(24,15,36,.7); color:#ece2f8; } .aa-sub {
position:relative; z-index:3; display:grid;
grid-template-columns:minmax(0,270px) minmax(0,1fr);
align-items:start; gap:0; min-height:100vh;
animation:riseIn .5s ease both;
}
.aa-sub-side {
position:sticky; top:0; align-self:start;
display:flex; flex-direction:column; align-items:center; gap:22px;
padding:28px 18px 40px; min-height:100vh;
background:linear-gradient(180deg,rgba(16,9,25,.94),rgba(8,5,14,.94));
border-right:1px solid rgba(190,160,225,.2);
}
.aa-sub-logo { width:180px; display:block; }
.aa-sub-tagline {
writing-mode:vertical-rl; white-space:nowrap; max-height:250px; overflow:hidden;
font-size:11px; letter-spacing:.26em; color:#d8cbea;
text-shadow:0 0 16px rgba(150,105,225,.7);
}
.aa-sub-nav { display:flex; flex-direction:column; gap:8px; width:100%; margin-top:4px; }
.aa-sub-back { margin-top:auto; font-size:12px; }
.aa-sub-main { position:relative; min-height:100vh; overflow:hidden; }
.aa-sub-bg {
position:fixed; right:0; top:0; width:calc(100% - 270px); height:100vh;
object-fit:cover; opacity:.3;
}
.aa-sub-bg-veil {
opacity:1;
background:linear-gradient(180deg,rgba(8,4,14,.5),rgba(7,4,12,.9));
} @media (max-width: 900px) {
.aa-sub { grid-template-columns:minmax(0,1fr); }
.aa-sub-side {
position:static; min-height:0; gap:16px; padding:22px 16px 24px;
border-right:0; border-bottom:1px solid rgba(190,160,225,.2);
}
.aa-sub-logo { width:min(60%,220px); } .aa-sub-tagline { writing-mode:horizontal-tb; max-height:none; }
.aa-sub-nav { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:6px; }
.aa-sub-nav .aa-sidebtn { flex:1 1 30%; min-width:120px; }
.aa-sub-back { margin-top:4px; }
.aa-sub-bg { width:100%; }
} .aa-navgrid {
position:relative; margin-top:min(-11vw,-90px); box-sizing:border-box;
width:min(100%,1180px); display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:clamp(6px,1vw,18px); padding:0 clamp(16px,4vw,60px);
}
@media (max-width: 760px) {
.aa-navgrid {
grid-template-columns:repeat(2,minmax(0,1fr));
margin-top:-8vw; gap:10px;
}
} .aa-legal-link {
font-size:10px; letter-spacing:.18em; color:#6f6488;
transition:color .3s ease;
}
.aa-legal-link:hover { color:#a99ac4; } .aa-page-body p { margin:0 0 1.6em; }
.aa-page-body h2 { margin:2.4em 0 1em; font-weight:400; font-size:1.2em; letter-spacing:.1em; color:#f4eeff; }
.aa-page-body h3 { margin:2em 0 .8em; font-weight:400; font-size:1.05em; letter-spacing:.1em; color:#f4eeff; }
.aa-page-body ul, .aa-page-body ol { margin:0 0 1.6em; padding-left:1.5em; }
.aa-page-body li { margin-bottom:.5em; }
.aa-page-body a { text-decoration:underline; text-underline-offset:.25em; }
.aa-page-body input, .aa-page-body textarea {
width:100%; box-sizing:border-box; padding:10px 12px; margin-top:6px;
background:rgba(255,255,255,.04); border:1px solid rgba(190,165,225,.3);
color:#ece2f8; font-family:inherit; font-size:15px;
}
.aa-page-body input[type="submit"] {
width:auto; cursor:pointer; padding:12px 34px; letter-spacing:.16em;
background:transparent; border-color:rgba(224,204,149,.45); color:#e6ddf5;
}
.aa-page-body label { display:block; margin-bottom:1.2em; font-size:14px; color:#d8cbea; }