/*
Theme Name: Aouos Theme
Theme URI: https://www.aouos.top/
Author: Aouos
Description: An interactive personal space with a quiet, readable WordPress publishing layer.
Version: 0.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: aouos-theme
*/
:root{--aouos-bg:#080816;--aouos-surface:rgba(19,19,42,.72);--aouos-surface-solid:#111126;--aouos-text:#f7f7ff;--aouos-muted:#a7a8c4;--aouos-line:rgba(255,255,255,.12);--aouos-accent:#8b7cff;--aouos-accent-2:#55d6ff;--aouos-content:760px;--aouos-wide:1180px;--aouos-radius:22px;--aouos-shadow:0 24px 80px rgba(0,0,0,.3);--aouos-body-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--aouos-display-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html{scroll-behavior:smooth}body{margin:0;background:var(--aouos-bg);color:var(--aouos-text);font-family:var(--aouos-body-font);line-height:1.7}body.aouos-light{--aouos-bg:#f4f4f8;--aouos-surface:rgba(255,255,255,.84);--aouos-surface-solid:#fff;--aouos-text:#171725;--aouos-muted:#696a7a;--aouos-line:rgba(23,23,37,.12);--aouos-shadow:0 24px 80px rgba(32,26,72,.12)}body.aouos-reduced-motion *,body.aouos-reduced-motion *:before,body.aouos-reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}button,a{font:inherit;transition:background-color .25s ease,color .25s ease,border-color .25s ease}a{color:inherit}img{max-width:100%;height:auto}::selection{color:#fff;background:var(--aouos-accent)}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:1rem;z-index:999;padding:.6rem .9rem;background:var(--aouos-text);color:var(--aouos-bg);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.aouos-shell{width:min(calc(100% - 2rem),var(--aouos-wide));margin-inline:auto}.aouos-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 0}.aouos-brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:760;letter-spacing:-.03em}.aouos-brand-mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid var(--aouos-line);border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--aouos-accent-2),transparent 36%),linear-gradient(135deg,var(--aouos-accent),transparent);box-shadow:0 0 28px color-mix(in srgb,var(--aouos-accent) 40%,transparent)}.aouos-nav{display:flex;align-items:center;gap:1rem}.aouos-nav ul{display:flex;align-items:center;gap:.85rem;margin:0;padding:0;list-style:none}.aouos-nav a{color:var(--aouos-muted);text-decoration:none;font-size:.9rem}.aouos-nav a:hover,.aouos-nav .current-menu-item>a{color:var(--aouos-text)}.aouos-header-actions{display:flex;align-items:center;gap:.5rem}.aouos-icon-button{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--aouos-line);border-radius:999px;color:var(--aouos-muted);background:transparent;cursor:pointer}.aouos-icon-button:hover,.aouos-icon-button:focus-visible{color:var(--aouos-text);border-color:var(--aouos-accent);outline:none}.aouos-menu-toggle{display:none}.aouos-main{min-height:70vh}.aouos-footer{width:min(calc(100% - 2rem),var(--aouos-wide));margin:6rem auto 0;padding:2rem 0 3rem;border-top:1px solid var(--aouos-line);color:var(--aouos-muted);font-size:.9rem}.aouos-footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.aouos-footer a{text-decoration:none}.aouos-footer a:hover{color:var(--aouos-text)}
.aouos-eyebrow{margin:0 0 .75rem;color:var(--aouos-accent-2);font-size:.72rem;font-weight:760;letter-spacing:.15em;text-transform:uppercase}.aouos-section{padding:5.5rem 0}.aouos-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem}.aouos-section-heading h2{margin:0;font-family:var(--aouos-display-font);font-size:clamp(1.75rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.055em}.aouos-section-heading p{max-width:34rem;margin:0;color:var(--aouos-muted)}.aouos-section-link{color:var(--aouos-muted);text-decoration:none;white-space:nowrap}.aouos-section-link:hover{color:var(--aouos-text)}.aouos-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1rem;border:1px solid var(--aouos-line);border-radius:999px;color:var(--aouos-text);background:var(--aouos-surface);text-decoration:none;cursor:pointer}.aouos-button:hover,.aouos-button:focus-visible{border-color:var(--aouos-accent);background:color-mix(in srgb,var(--aouos-accent) 16%,var(--aouos-surface));outline:none}.aouos-button--primary{border-color:transparent;background:linear-gradient(135deg,var(--aouos-accent),#6554d7);color:#fff;box-shadow:0 12px 30px color-mix(in srgb,var(--aouos-accent) 25%,transparent)}
.aouos-card{border:1px solid var(--aouos-line);border-radius:var(--aouos-radius);background:var(--aouos-surface);box-shadow:var(--aouos-shadow);backdrop-filter:blur(16px)}.aouos-card-link{display:block;height:100%;padding:1.25rem;text-decoration:none}.aouos-card-link:hover .aouos-card-title{color:var(--aouos-accent-2)}.aouos-card-title{margin:0 0 .45rem;font-size:1.1rem;line-height:1.3;letter-spacing:-.02em}.aouos-card-excerpt{margin:0;color:var(--aouos-muted);font-size:.92rem}.aouos-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .8rem;margin-top:.9rem;color:var(--aouos-muted);font-size:.78rem}.aouos-meta a{text-decoration:none}.aouos-meta a:hover{color:var(--aouos-text)}.aouos-chip{display:inline-flex;align-items:center;padding:.18rem .55rem;border:1px solid var(--aouos-line);border-radius:999px;color:var(--aouos-muted);font-size:.72rem}.aouos-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.aouos-post-grid .aouos-card{min-height:13rem}.aouos-post-list{display:grid;gap:.75rem}.aouos-post-row{display:grid;grid-template-columns:8rem 1fr auto;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--aouos-line);text-decoration:none}.aouos-post-row:hover .aouos-card-title{color:var(--aouos-accent-2)}.aouos-post-row .aouos-card-title{margin:0}.aouos-post-date{color:var(--aouos-muted);font-size:.8rem}
.aouos-prose{max-width:var(--aouos-content);margin-inline:auto;color:var(--aouos-text);font-size:1.08rem}.aouos-prose>*+*{margin-top:1.25em}.aouos-prose h2,.aouos-prose h3,.aouos-prose h4{margin-top:2.5em;margin-bottom:.7em;line-height:1.15;letter-spacing:-.04em}.aouos-prose h2{font-size:clamp(1.65rem,3vw,2.3rem)}.aouos-prose h3{font-size:1.45rem}.aouos-prose p,.aouos-prose ul,.aouos-prose ol{margin-bottom:1.25em}.aouos-prose a{color:var(--aouos-accent-2);text-decoration-thickness:.08em;text-underline-offset:.15em}.aouos-prose blockquote{margin-left:0;padding:.75rem 1.25rem;border-left:3px solid var(--aouos-accent);color:var(--aouos-muted);background:color-mix(in srgb,var(--aouos-accent) 8%,transparent)}.aouos-prose pre{overflow-x:auto;padding:1rem 1.1rem;border:1px solid var(--aouos-line);border-radius:14px;background:#05050d;color:#eef0ff;font:.88rem/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.aouos-prose code{padding:.12em .3em;border-radius:5px;background:color-mix(in srgb,var(--aouos-text) 10%,transparent);font-size:.9em}.aouos-prose pre code{padding:0;background:transparent}.aouos-prose table{width:100%;border-collapse:collapse}.aouos-prose th,.aouos-prose td{padding:.65rem;border-bottom:1px solid var(--aouos-line);text-align:left}.aouos-prose img{border-radius:16px;cursor:zoom-in}.wp-block-image figcaption{color:var(--aouos-muted);font-size:.85rem;text-align:center}
.aouos-single-header{width:min(calc(100% - 2rem),var(--aouos-content));margin:4.5rem auto 2.5rem}.aouos-single-header h1{max-width:55rem;margin:0;font-family:var(--aouos-display-font);font-size:clamp(2.35rem,7vw,5.4rem);line-height:.98;letter-spacing:-.075em}.aouos-single-dek{max-width:44rem;margin:1.4rem 0 0;color:var(--aouos-muted);font-size:1.1rem}.aouos-single-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.5rem;color:var(--aouos-muted);font-size:.85rem}.aouos-article-layout{display:grid;grid-template-columns:minmax(9rem,13rem) minmax(0,var(--aouos-content));align-items:start;gap:2.5rem;width:min(calc(100% - 2rem),1000px);margin:0 auto}.aouos-toc{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow:auto;padding:1rem;border:1px solid var(--aouos-line);border-radius:14px;color:var(--aouos-muted);font-size:.8rem}.aouos-toc ol{margin:0;padding-left:1rem}.aouos-toc li+li{margin-top:.4rem}.aouos-toc a{text-decoration:none}.aouos-toc a:hover{color:var(--aouos-text)}.aouos-toc--empty{display:none}.aouos-reading-progress{position:fixed;inset:0 0 auto;z-index:40;height:3px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--aouos-accent),var(--aouos-accent-2))}.aouos-post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:var(--aouos-content);margin:4rem auto 0}.aouos-post-nav a{min-height:6rem;padding:1rem;border:1px solid var(--aouos-line);border-radius:16px;text-decoration:none}.aouos-post-nav a:last-child{text-align:right}
.aouos-page-header{width:min(calc(100% - 2rem),var(--aouos-wide));margin:4.5rem auto 2rem}.aouos-page-header h1{max-width:52rem;margin:0;font-size:clamp(2.5rem,7vw,5.5rem);line-height:.98;letter-spacing:-.075em}.aouos-page-header p{max-width:40rem;margin:1.25rem 0 0;color:var(--aouos-muted);font-size:1.1rem}.aouos-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.aouos-project-card{overflow:hidden}.aouos-project-media{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--aouos-accent) 30%,transparent),color-mix(in srgb,var(--aouos-accent-2) 12%,transparent))}.aouos-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.aouos-project-card:hover .aouos-project-media img{transform:scale(1.04)}.aouos-project-body{padding:1.15rem}.aouos-project-body h2{margin:0;font-size:1.45rem;line-height:1.1;letter-spacing:-.04em}.aouos-project-body p{margin:.65rem 0 0;color:var(--aouos-muted)}.aouos-project-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.aouos-project-status{color:var(--aouos-accent-2);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.aouos-comments{max-width:var(--aouos-content);margin:5rem auto 0}.aouos-comments h2{font-size:1.5rem;letter-spacing:-.04em}.comment-list{padding:0;list-style:none}.comment-body{padding:1rem 0;border-bottom:1px solid var(--aouos-line)}.comment-meta{color:var(--aouos-muted);font-size:.82rem}.comment-respond input,.comment-respond textarea{width:100%;box-sizing:border-box;padding:.75rem;border:1px solid var(--aouos-line);border-radius:10px;color:var(--aouos-text);background:var(--aouos-surface)}.comment-respond label{display:block;margin:.75rem 0 .35rem;color:var(--aouos-muted);font-size:.85rem}.aouos-empty{padding:2rem;border:1px dashed var(--aouos-line);border-radius:18px;color:var(--aouos-muted)}.aouos-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.aouos-reveal.is-visible{opacity:1;transform:none}
@media(max-width:860px){.aouos-nav ul{display:none}.aouos-menu-toggle{display:inline-grid}.aouos-nav.is-open ul{position:absolute;left:1rem;right:1rem;top:4.5rem;display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--aouos-line);border-radius:16px;background:var(--aouos-surface-solid);box-shadow:var(--aouos-shadow)}.aouos-nav.is-open a{display:block;padding:.75rem}.aouos-post-grid{grid-template-columns:1fr}.aouos-article-layout{grid-template-columns:1fr;gap:1rem}.aouos-toc{position:static;max-height:none}.aouos-project-grid{grid-template-columns:1fr}}@media(max-width:620px){.aouos-section{padding:3.5rem 0}.aouos-section-heading{display:block}.aouos-section-link{display:inline-block;margin-top:.8rem}.aouos-post-row{grid-template-columns:1fr;gap:.35rem}.aouos-post-row .aouos-meta{margin-top:.2rem}.aouos-single-header,.aouos-page-header{margin-top:3rem}.aouos-single-header h1,.aouos-page-header h1{font-size:clamp(2.5rem,16vw,4.5rem)}.aouos-post-nav{grid-template-columns:1fr}.aouos-post-nav a:last-child{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

.aouos-lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:2rem;background:rgba(4,4,12,.88);cursor:zoom-out}.aouos-lightbox img{max-width:min(100%,1100px);max-height:calc(100vh - 4rem);object-fit:contain;border-radius:12px}.aouos-lightbox button{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:transparent;font-size:1.5rem;cursor:pointer}

/* Progressive enhancement: content remains visible when JavaScript is unavailable. */
html:not(.js) .aouos-reveal,
.aouos-reveal.is-visible {
    opacity: 1;
    transform: none;
}
.js .aouos-reveal:not(.is-visible) {
    opacity: 0;
    transform: translateY(18px);
}

.aouos-project-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: rgba(255,255,255,.78);
    font-size: 3rem;
    background: radial-gradient(circle at 30% 25%, rgba(85,214,255,.5), transparent 28%), linear-gradient(135deg, var(--aouos-accent), #201d4f 60%, #0e1027);
}
.aouos-prose > img:first-child,
.aouos-project-prose > img:first-child {
    display: block;
    width: 100%;
    margin: 0 0 2rem;
    border-radius: 18px;
}
.aouos-prose img {
    cursor: zoom-in;
}
.aouos-lightbox-open {
    overflow: hidden;
}
.aouos-lightbox-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    color: #fff;
    background: rgba(8,8,22,.35);
    font-size: 1.5rem;
    cursor: pointer;
}
.aouos-toc a.is-current {
    color: var(--aouos-text);
    font-weight: 700;
}
.aouos-related {
    margin-top: 5rem;
}
.aouos-related .aouos-section-heading {
    margin-bottom: 1.25rem;
}
.aouos-related .aouos-post-grid {
    width: 100%;
}
.aouos-markdown pre,
.aouos-prose pre {
    overflow-x: auto;
    padding: 1rem 1.15rem;
    border: 1px solid var(--aouos-line);
    border-radius: 14px;
    color: #e8e8ff;
    background: #0a0a18;
}
.aouos-markdown code,
.aouos-prose code {
    padding: .12em .32em;
    border-radius: .35em;
    background: color-mix(in srgb, var(--aouos-accent) 13%, transparent);
    font-size: .9em;
}
.aouos-markdown pre code,
.aouos-prose pre code {
    padding: 0;
    background: transparent;
}
.aouos-prose blockquote,
.aouos-markdown blockquote {
    margin-inline: 0;
    padding: .8rem 1.1rem;
    border-left: 3px solid var(--aouos-accent);
    color: var(--aouos-muted);
    background: color-mix(in srgb, var(--aouos-accent) 7%, transparent);
}
.aouos-prose iframe,
.aouos-prose video {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: 14px;
}
@supports not (background: color-mix(in srgb, white, black)) {
    .aouos-button,
    .aouos-space-node { background: rgba(19,19,42,.86); }
    .aouos-project-media { background: linear-gradient(135deg, rgba(139,124,255,.35), rgba(85,214,255,.12)); }
}

/* Keep long titles, inline code, and comment controls usable on narrow screens. */
.aouos-single-header h1,
.aouos-page-header h1,
.aouos-prose h2,
.aouos-prose h3,
.aouos-prose h4,
.aouos-post-nav strong,
.aouos-card-title {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
}
.comment-form-cookies-consent input {
    flex: 0 0 auto;
    width: auto;
    margin-top: .25rem;
}
.comment-form-cookies-consent label {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}
