/* Nyugi V18 interaction and accessibility fixes */
#v17HelpButton{position:fixed!important;top:auto!important;right:auto!important;bottom:18px!important;left:14px!important;z-index:180!important;}
@media(max-width:650px){#v17HelpButton{top:auto!important;right:auto!important;left:10px!important;bottom:85px!important;width:40px;height:40px}}
.oc-hair-custom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:9px 0}
.oc-hair-custom label{display:grid;gap:7px;font-size:.76rem;font-weight:700}
.oc-hair-custom input{width:100%;min-height:42px}
.v18-room-preview-hint{font-size:.78rem;font-weight:700;color:var(--primary);padding:6px}
.v18-help-options{display:grid;grid-template-columns:1fr;gap:12px}
.v18-sticker-choices{display:flex;flex-wrap:wrap;gap:6px}
.v18-sticker-choices button[aria-pressed=true]{outline:3px solid var(--primary);background:var(--tint)}
.nyugi-profile-stickers{font-size:1.3rem;letter-spacing:.18em;padding:10px 0}
.v18-reader-shell{position:fixed;right:8px;top:64px;bottom:8px;width:min(660px,52vw);background:var(--surface);z-index:350;border:2px solid var(--line);box-shadow:0 10px 35px #0002;border-radius:15px;display:flex;flex-direction:column;overflow:hidden}
.v18-reader-shell header{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--sidebar);padding:10px}
.v18-reader-body{overflow-y:auto;padding:14px;flex:1;line-height:1.7}
.v18-reader-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.v18-reader-shell iframe{display:block;min-height:220px;aspect-ratio:16/9;width:100%;border:0;background:#fff}
.v18-reader-shell audio{width:100%}
.v18-reader-controls{display:flex;gap:7px;flex-wrap:wrap;padding:8px}

/* Actual two-pane layout rather than a label that only toggles an unused class. */
body.nyugi-reader-split .main-column{margin-right:min(48vw,650px);min-width:0}
body.nyugi-reader-split #main{padding-left:clamp(12px,2vw,28px);padding-right:clamp(12px,2vw,28px)}
.v18-reader-shell.split{right:0;top:0;bottom:0;width:min(48vw,650px);border-radius:0;z-index:120}
.v18-reader-shell.full{inset:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0;z-index:350}
@media(max-width:800px){
 body.nyugi-reader-split .main-column{margin-right:0;height:50dvh;overflow:auto;min-height:0}
 body.nyugi-reader-split .topbar{position:relative}
 body.nyugi-reader-split #main{padding:10px}
 .v18-reader-shell.split{inset:50dvh 0 0 0;width:100vw;height:50dvh;border-radius:12px 12px 0 0;z-index:130}
 .v18-reader-shell.full{inset:0;width:100vw;height:100dvh;z-index:350}
 .v18-reader-shell .v18-reader-body{min-height:0}
 .v18-reader-shell iframe{min-height:150px}
}

.cc-styled-name.cc-fx-glow,.cc-styled-name.cc-fx-pulse{ text-shadow:0 0 2px var(--name-glow),0 0 var(--name-blur) var(--name-glow),0 0 calc(var(--name-blur) * 1.7) var(--name-glow)}
.cc-styled-name.cc-fx-glow{animation:v18BreathingGlow var(--name-speed) ease-in-out infinite alternate}
.cc-styled-name.cc-fx-pulse{animation:v18SoftPulse var(--name-speed) ease-in-out infinite alternate}
.cc-styled-name.cc-fx-gradient{background-image:linear-gradient(95deg,var(--name-color),var(--name-second),var(--name-third));}
@keyframes v18BreathingGlow{0%{filter:brightness(.94);opacity:.82}100%{filter:brightness(1.22);opacity:1}}
@keyframes v18SoftPulse{0%{transform:scale(1);filter:brightness(.93)}100%{transform:scale(1.055);filter:brightness(1.22)}}
@media(prefers-reduced-motion:reduce){.cc-styled-name.cc-fx-glow,.cc-styled-name.cc-fx-pulse{animation:none!important}}
.v18-tutorial-step{position:fixed;z-index:910;left:50%;bottom:12px;transform:translateX(-50%);width:min(600px,calc(100% - 20px));background:var(--surface);border:2px solid var(--primary);border-radius:20px;padding:18px;box-shadow:0 8px 32px #0004}
.v18-tour-highlight{outline:4px solid var(--primary);outline-offset:5px;scroll-margin-top:100px}
.v18-read-intro{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v18-reader-links{display:grid;gap:8px}
.v18-ttt-board{display:grid;grid-template-columns:repeat(3,56px);gap:5px;margin:12px 0}
.v18-ttt-board button{width:56px;height:56px;font-size:1.7rem;font-weight:800;background:var(--subtle);border:2px solid var(--line);border-radius:8px;color:var(--ink)}
.v18-ttt-board button:enabled{cursor:pointer}.v18-ttt-board button:enabled:hover{border-color:var(--primary)}

.v18-room-photo{width:100%;height:100%;max-width:115px;max-height:170px;object-fit:cover;border:3px solid var(--primary);border-radius:22px}
