html:has(.redbook-page) { scroll-behavior:smooth; background:#101014; }
html[data-design="white"] body.concept.duo.redbook-page { margin:0; background:#101014; color:#f1eee7; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.redbook-page *, .redbook-page *::before, .redbook-page *::after { box-sizing:border-box; }
.redbook-page [hidden] { display:none!important; }
.redbook-page .rb-width { width:min(1168px,calc(100% - 112px)); margin-inline:auto; }
.redbook-page :is(a,button,input,summary):focus-visible { outline:2px solid #c6b2e5; outline-offset:5px; }
.redbook-page .rb-skip { position:absolute; left:24px; top:-80px; z-index:60; padding:12px 18px; background:#f1eee7; color:#16151a; border-radius:12px; }
.redbook-page .rb-skip:focus { top:18px; }
body.concept.duo.redbook-page .site-header { background:#151419e8; border-color:#ffffff1a; }
.redbook-page .rb-header-inner { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.redbook-page .site-brand .ar-brand-image { filter:brightness(0) invert(1); }
.redbook-page .rb-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:10px 18px; border-radius:24px; background:#ece6dd; color:#16151a; text-decoration:none; font-size:13px; white-space:nowrap; }
.redbook-page .rb-hero { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:64px 0 86px; }
.redbook-page .rb-kicker { display:block; margin:0 0 23px; color:#d2ad91; font:500 11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.13em; text-transform:uppercase; }
.redbook-page h1 { margin:0 0 27px; color:#f1eee7; font-size:clamp(60px,6.5vw,91px); line-height:.99; font-weight:600; letter-spacing:-.058em; }
.redbook-page .rb-lead { max-width:480px; margin:0 0 27px; color:#d6c6e8; font-size:28px; line-height:1.25; letter-spacing:-.025em; }
.redbook-page .rb-hero-intro { max-width:470px; margin:0 0 19px; color:#bdb7bd; font-size:17px; line-height:1.75; }
.redbook-page .rb-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; margin-top:30px; }
.redbook-page .rb-primary { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:13px 21px; background:#eee7dd; border:1px solid #eee7dd; border-radius:28px; color:#17151b; text-decoration:none; font-size:14px; line-height:1.4; font-weight:500; }
.redbook-page .rb-primary:hover { background:#fff; }
.redbook-page .rb-text-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:#d0bbe5; text-decoration:none; font-size:13px; line-height:1.5; }
.redbook-page .rb-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.redbook-page .rb-cover-code { display:inline-flex; align-items:center; gap:19px; margin-top:38px; color:#b09382; font:400 15px/1.3 Georgia,serif; letter-spacing:.16em; }
.redbook-page .rb-cover-code>span { opacity:.5; }
.redbook-page .rb-song { display:grid; grid-template-columns:64px minmax(0,1fr); gap:17px; min-width:0; max-width:470px; margin-top:28px; padding:18px; border:1px solid #a48aab38; border-radius:18px; background:linear-gradient(130deg,#211b28,#18161c); }
.redbook-page .rb-song-art { display:block; width:64px; height:64px; border-radius:10px; object-fit:cover; object-position:50% 22%; }
.redbook-page .rb-song-heading { align-self:center; min-width:0; }
.redbook-page .rb-song .rb-kicker { margin:0 0 4px; font-size:9px; }
.redbook-page .rb-song h2 { margin:0 0 4px; color:#f1eee7; font-size:21px; line-height:1.2; font-weight:500; letter-spacing:-.025em; }
.redbook-page .rb-song-caption { color:#a99caf; font-size:11px; }
.redbook-page .rb-song audio { grid-column:1/-1; width:100%; color-scheme:dark; }
.redbook-page .rb-song audio:not([controls]) { display:none; }
.redbook-page .rb-song-controls { grid-column:1/-1; display:grid; grid-template-columns:44px 31px minmax(40px,1fr) 31px; gap:10px; align-items:center; }
.redbook-page .rb-song-toggle { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #d7c2e759; border-radius:50%; background:#bca1d4; color:#201426; cursor:pointer; font-size:16px; line-height:1; }
.redbook-page .rb-song-toggle:hover { background:#d4bce6; }
.redbook-page .rb-song-time { color:#cabed1; font:400 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; font-variant-numeric:tabular-nums; white-space:nowrap; }
.redbook-page .rb-song-seek { --rb-progress:0%; display:block; width:100%; min-width:0; height:32px; margin:0; padding:0; appearance:none; background:transparent; cursor:pointer; }
.redbook-page .rb-song-seek::-webkit-slider-runnable-track { height:3px; border-radius:3px; background:linear-gradient(to right,#ceb4e4 0 var(--rb-progress),#66566f var(--rb-progress) 100%); }
.redbook-page .rb-song-seek::-webkit-slider-thumb { width:12px; height:12px; margin-top:-4.5px; appearance:none; border:0; border-radius:50%; background:#e4d5ed; }
.redbook-page .rb-song-seek::-moz-range-track { height:3px; border-radius:3px; background:#66566f; }
.redbook-page .rb-song-seek::-moz-range-progress { height:3px; background:#ceb4e4; }
.redbook-page .rb-song-seek::-moz-range-thumb { width:12px; height:12px; border:0; border-radius:50%; background:#e4d5ed; }
.redbook-page .rb-song-seek:disabled { opacity:.65; }
.redbook-page .rb-song .rb-song-details { grid-column:1/-1; justify-self:start; min-height:32px; margin-top:-8px; font-size:12px; }
.redbook-page .rb-song-feedback { grid-column:1/-1; margin:-7px 0 0; color:#dfbccb; font-size:12px; line-height:1.5; }
.redbook-page .rb-artifact { position:relative; margin:0; border-radius:22px; overflow:hidden; border:1px solid #ffffff0d; background:#121015; }
.redbook-page .rb-artifact img { display:block; width:100%; height:auto; }
.redbook-page .rb-artifact figcaption { position:absolute; left:24px; right:24px; bottom:18px; color:#cab9ac; font:400 10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.025em; }
.redbook-page .rb-archive,.redbook-page .rb-method,.redbook-page .rb-return { display:grid; grid-template-columns:240px minmax(0,1fr); gap:40px; padding:72px 0; border-top:1px solid #ffffff17; scroll-margin-top:105px; }
.redbook-page .rb-reading { max-width:740px; }
.redbook-page .rb-reading h2 { max-width:660px; margin:0 0 30px; color:#f1eee7; font-size:clamp(30px,3.2vw,43px); line-height:1.15; font-weight:500; letter-spacing:-.035em; }
.redbook-page .rb-reading>p { margin:0 0 23px; color:#bdb7bd; font-size:17px; line-height:1.85; }
.redbook-page .rb-reading>p:last-child { margin-bottom:0; }
.redbook-page .rb-margin-code { display:block; margin-top:90px; color:#5d5054; font:400 20px/1 Georgia,serif; letter-spacing:.1em; }
.redbook-page .rb-margin-line { display:block; width:65px; height:1px; margin-top:90px; background:#574347; }
.redbook-page .rb-redaction { margin:28px 0; padding:16px 18px; border:1px solid #68535b66; border-left:2px solid #a66762; background:#1b171d; }
.redbook-page .rb-redaction summary { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; min-height:38px; list-style:none; cursor:pointer; }
.redbook-page summary::-webkit-details-marker { display:none; }
.redbook-page .rb-concealed { overflow:hidden; color:#6c5963; font-size:16px; letter-spacing:-.04em; max-width:100%; }
.redbook-page .rb-redaction-action { display:flex; gap:18px; color:#d6c1de; font-size:12px; }
.redbook-page .rb-redaction p { margin:15px 0 3px; color:#d3c6ce; font-size:16px; line-height:1.8; }
.redbook-page .rb-reading .rb-pullquote { margin:31px 0; padding:4px 0 4px 23px; border-left:1px solid #b18b77; color:#e0d1c3; font:400 29px/1.4 Georgia,serif; letter-spacing:-.02em; }
.redbook-page .rb-trail { padding:74px 0; background:#18151c; border-top:1px solid #ffffff10; border-bottom:1px solid #ffffff10; scroll-margin-top:95px; }
.redbook-page .rb-trail-header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.redbook-page .rb-trail-header h2 { margin:0 0 20px; color:#f1eee7; font-size:clamp(35px,4vw,51px); line-height:1.1; font-weight:500; letter-spacing:-.045em; }
.redbook-page .rb-trail-header>div>p:last-child { max-width:600px; margin:0; color:#bfb5c1; font-size:16px; line-height:1.7; }
.redbook-page .rb-progress { flex:0 0 auto; margin:0 0 4px; color:#b6a6c7; font:400 11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; }
.redbook-page .rb-progress output { color:#f1e4dd; font-size:21px; }
.redbook-page .rb-pages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.redbook-page .rb-page { display:flex; min-width:0; flex-direction:column; padding:25px; border:1px solid #66536f70; border-radius:16px; background:#111015; }
.redbook-page .rb-page.is-open { border-color:#a0839b; background:#19131b; }
.redbook-page .rb-page-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:27px; color:#c2a18e; font:400 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; letter-spacing:.09em; }
.redbook-page .rb-page-state { color:#a091a9; }
.redbook-page .rb-page.is-open .rb-page-state { color:#dbc2d4; }
.redbook-page .rb-page h3 { margin:0 0 17px; color:#f1e9e4; font-size:22px; line-height:1.25; font-weight:500; letter-spacing:-.025em; }
.redbook-page .rb-clue { flex:1; margin:0 0 18px; color:#c1b7c4; font-size:14px; line-height:1.75; }
.redbook-page .rb-song-link { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; color:#d4bfe7; text-decoration:none; font-size:12px; }
.redbook-page .rb-song-link:hover { text-decoration:underline; text-underline-offset:4px; }
.redbook-page .rb-cipher { min-height:108px; margin:21px 0 24px; padding:18px 0; border-top:1px solid #ffffff12; border-bottom:1px solid #ffffff12; color:#9e839c; font:400 13px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; overflow-wrap:anywhere; }
.redbook-page .is-open .rb-cipher { color:#e7d4c1; }
.redbook-page .rb-key-form { margin:0; }
.redbook-page .rb-key-form label { display:block; margin-bottom:10px; color:#c7b9ce; font-size:11px; }
.redbook-page .rb-key-row { display:flex; align-items:stretch; gap:8px; }
.redbook-page .rb-key-row input { display:block; flex:1; width:0; min-width:0; min-height:44px; padding:11px; border:1px solid #65586c; border-radius:7px; background:#201b24; color:#f7f0e7; font:400 14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; }
.redbook-page .rb-key-row input[aria-invalid=true] { border-color:#c98784; }
.redbook-page .rb-key-row button { flex:0 0 auto; min-height:44px; padding:10px 13px; border:0; border-radius:7px; background:#d1bddf; color:#221726; font:600 11px/1.4 -apple-system,BlinkMacSystemFont,Arial,sans-serif; cursor:pointer; }
.redbook-page .rb-key-row button:disabled { opacity:.65; }
.redbook-page .rb-feedback { margin:13px 0 0; color:#d2b2c6; font-size:12px; line-height:1.7; }
.redbook-page .rb-feedback:has([data-error]:not([hidden])) { color:#e5b6ad; }
.redbook-page .rb-hint { margin-top:17px; color:#b7a3c4; font-size:11px; line-height:1.7; }
.redbook-page .rb-hint summary { display:inline-block; min-height:32px; padding:6px 0; cursor:pointer; list-style:none; text-decoration:underline; text-underline-offset:4px; }
.redbook-page .rb-hint p { margin:7px 0 0; color:#d8c6df; }
.redbook-page .rb-found { max-width:760px; margin:40px auto 0; padding:32px; border:1px solid #9a7c79; background:#eee6d9; color:#342b31; }
.redbook-page .rb-found .rb-kicker { color:#745367; }
.redbook-page .rb-found h3 { margin:0 0 20px; font:400 35px/1.15 Georgia,serif; letter-spacing:-.02em; }
.redbook-page .rb-found>p:not(.rb-kicker) { margin:0 0 17px; font-size:17px; line-height:1.85; }
.redbook-page .rb-found>p:last-child { margin-bottom:0; }
.redbook-page .rb-reset { display:block; min-height:40px; margin:22px auto 0; padding:7px 0; border:0; background:none; color:#c4add4; font-size:11px; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.redbook-page .rb-noscript { color:#e5d4e6; font-size:14px; line-height:1.8; }
.redbook-page .rb-return { border-top:0; padding-block:80px; }
.redbook-page .rb-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 0 35px; border-top:1px solid #ffffff17; font-size:12px; }
.redbook-page .rb-footer>a { color:#e4d4c7; font-weight:500; }
.redbook-page .rb-footer nav { display:flex; gap:23px; flex-wrap:wrap; }
.redbook-page .rb-footer a { display:inline-flex; align-items:center; min-height:36px; color:#b7aabd; text-decoration:none; }
.redbook-page .rb-footer a:hover { color:#fff; }
@media(max-width:1050px) {
 .redbook-page .rb-width { width:calc(100% - 72px); }
 .redbook-page .rb-hero { gap:36px; }
 .redbook-page .rb-hero-intro { font-size:16px; }
 .redbook-page .rb-archive,.redbook-page .rb-method,.redbook-page .rb-return { grid-template-columns:170px minmax(0,1fr); gap:25px; }
 .redbook-page .rb-pages { gap:13px; }
 .redbook-page .rb-page { padding:19px; }
 .redbook-page .rb-key-row { flex-direction:column; }
 .redbook-page .rb-key-row input { width:100%; }
}
@media(max-width:700px) {
 .redbook-page .rb-width { width:calc(100% - 48px); }
 .redbook-page .site-header-inner.rb-header-inner { padding-left:15px; gap:8px; }
 .redbook-page .rb-back { gap:7px; padding:10px 13px; font-size:11px; }
 .redbook-page .rb-hero { display:flex; flex-direction:column; align-items:stretch; gap:34px; padding:45px 0 48px; }
 .redbook-page h1 { font-size:clamp(49px,13vw,72px); margin-bottom:24px; }
 .redbook-page .rb-kicker { font-size:10px; margin-bottom:19px; }
 .redbook-page .rb-lead { font-size:25px; }
 .redbook-page .rb-hero-intro { font-size:16px; line-height:1.8; }
 .redbook-page .rb-actions { gap:13px 20px; margin-top:25px; }
 .redbook-page .rb-primary { font-size:13px; }
 .redbook-page .rb-text-link { font-size:12px; }
 .redbook-page .rb-cover-code { margin-top:25px; }
 .redbook-page .rb-artifact { border-radius:16px; }
 .redbook-page .rb-artifact figcaption { left:18px; right:18px; bottom:14px; font-size:9px; }
 .redbook-page .rb-archive,.redbook-page .rb-method,.redbook-page .rb-return { grid-template-columns:minmax(0,1fr); gap:5px; padding:45px 0; }
 .redbook-page .rb-margin-code,.redbook-page .rb-margin-line { display:none; }
 .redbook-page .rb-reading h2 { margin-bottom:24px; font-size:32px; }
 .redbook-page .rb-reading>p { font-size:16px; line-height:1.85; }
 .redbook-page .rb-redaction { padding:13px 14px; }
 .redbook-page .rb-concealed { font-size:13px; }
 .redbook-page .rb-reading .rb-pullquote { font-size:25px; padding-left:18px; }
 .redbook-page .rb-trail { padding:47px 0; scroll-margin-top:90px; }
 .redbook-page .rb-trail-header { flex-direction:column; align-items:start; gap:20px; }
 .redbook-page .rb-trail-header h2 { font-size:39px; }
 .redbook-page .rb-trail-header>div>p:last-child { font-size:15px; }
 .redbook-page .rb-pages { grid-template-columns:minmax(0,1fr); gap:20px; }
 .redbook-page .rb-page { padding:23px; }
 .redbook-page .rb-clue { min-height:0; font-size:15px; }
 .redbook-page .rb-key-row { flex-direction:row; }
 .redbook-page .rb-key-row input { width:0; }
 .redbook-page .rb-cipher { min-height:85px; }
 .redbook-page .rb-found { margin-top:27px; padding:23px; }
 .redbook-page .rb-found h3 { font-size:30px; }
 .redbook-page .rb-found>p:not(.rb-kicker) { font-size:16px; }
 .redbook-page .rb-footer { align-items:start; flex-direction:column; gap:4px; padding:23px 0 30px; }
 .redbook-page .rb-footer nav { gap:20px; }
}
@media(max-width:370px) {
 body.concept.duo.redbook-page .site-header .site-brand.ar-brand { width:158px; height:42px; }
 body.concept.duo.redbook-page .site-header .site-brand.ar-brand .ar-brand-image { width:174px; left:-5px; top:-7px; }
 .redbook-page .rb-back { padding-inline:10px; font-size:10px; }
 .redbook-page .rb-page { padding:19px; }
 .redbook-page .rb-key-row { flex-direction:column; }
 .redbook-page .rb-key-row input { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html:has(.redbook-page) { scroll-behavior:auto; } }
