:root{--paper:#eceee5;--ink:#19201e;--muted-ink:#526057;--acid:#d5ff43;--night:#111a16;--bg:var(--paper);--bg-2:#e4e8dc;--panel:#f5f6ef;--text:var(--ink);--dim:var(--muted-ink);--gold:#536719;--gold-soft:#3d5013;--line:#19201e24;--gold-dim:#d5ff4340;color-scheme:light}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #728e23;outline-offset:4px}button,a{-webkit-tap-highlight-color:#53671922}a:hover{text-decoration:none}::selection{background:var(--acid);color:var(--ink)}
.skip-link{position:absolute;left:16px;top:-100px;z-index:10000;padding:12px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:12px}.logo{display:inline-flex;align-items:center;gap:0;letter-spacing:normal;text-transform:none;filter:none;flex-shrink:0}.brand-wordmark{width:174px;height:34px;display:block}.logo-icon,.logo-word,.logo-star{display:none}
.site-nav{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:23px 5vw;gap:22px;border-bottom:1px solid var(--line);background:var(--paper)}.site-links{display:flex;gap:26px;align-items:center;font-size:13px}.site-links a:hover{color:#536719}.site-links .nav-cta{border:1px solid var(--ink);padding:10px 18px;border-radius:3px;color:var(--ink)}
.eyebrow{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:1.3px;text-transform:uppercase}.accent-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#536719;margin-right:9px}.button-main,.button-outline{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 22px;min-height:48px;border:1px solid var(--ink);border-radius:3px;font-size:13px;background:var(--ink);color:var(--paper)}.button-main:hover{background:#304035}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{background:#19201e09}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.small-note{font-size:12px;color:var(--muted-ink);margin-top:15px}
.homepage main{padding:0;max-width:1440px;margin:auto}.hero{padding:50px 5vw 42px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;min-height:650px}.hero h1{font-size:clamp(56px,7.7vw,112px);letter-spacing:-.07em;line-height:.95;font-weight:500;margin:28px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em;display:block}.hero-description{max-width:425px;font-size:16px;line-height:1.8;color:var(--muted-ink)}.hero-art{height:510px;position:relative;min-width:0}.hero-art canvas{width:100%;height:100%;display:block}.art-caption{display:flex;justify-content:space-between;gap:15px;font-size:11px;font-family:monospace;color:var(--muted-ink);padding:0 15px}
.section-pad{padding:70px 5vw}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.section-heading h2{font-size:clamp(30px,4vw,46px);font-weight:400;letter-spacing:-1.5px;line-height:1.12;margin:15px 0 0}.section-heading p{max-width:390px;font-size:14px;color:var(--muted-ink);margin:0}.session-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.session-preview{border:1px solid var(--line);padding:25px;background:#f5f6ef;border-radius:4px;display:flex;flex-direction:column;min-height:230px}.session-preview .index{font-family:monospace;color:#637057;font-size:11px}.session-preview h3{font-size:25px;font-weight:400;letter-spacing:-.7px;line-height:1.2;margin:28px 0 10px}.session-preview p{color:var(--muted-ink);font-size:13px;margin:0 0 24px}.session-preview a{display:flex;justify-content:space-between;font-size:12px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}.session-preview:hover{border-color:#526719}
.sound-section{background:var(--night);color:var(--paper)}.sound-section .section-heading p{color:#b9c4b2}.sound-section .eyebrow{color:var(--acid)}.sound-section .section-heading{align-items:start}.sound-options{display:flex;gap:8px;flex-wrap:wrap}.sound-chip{padding:13px 18px;border:1px solid #ffffff30;background:none;border-radius:3px;color:var(--paper);font-size:13px}.sound-chip[aria-pressed=true]{background:var(--acid);color:var(--ink);border-color:var(--acid)}.sound-demo{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;margin-top:28px}.track-preview{background:#202a23;padding:25px;border:1px solid #ffffff18;border-radius:4px}.track-preview h3{font-weight:400;font-size:24px;letter-spacing:-.5px;margin:12px 0}.track-preview p{color:#b9c4b2;font-size:13px}.track-preview button{padding:12px 19px;background:var(--acid);color:var(--ink);border:0;border-radius:3px;font-size:13px;min-height:44px}.track-preview .spec{height:75px;width:100%;margin:16px 0}.spec-fill{fill:#9eb44815}.spec-line{fill:none;stroke:#728e23;stroke-width:1.3}.spec-mark{stroke:#536719;stroke-dasharray:2 3}.sound-section .spec-line,.sound-section .spec-mark{stroke:var(--acid)}.sound-section .spec-fill{fill:#d5ff4315}.sound-status{min-height:24px;font-size:12px;color:#b9c4b2;margin-top:13px}.sound-extra p{color:#b9c4b2;font-size:14px;line-height:1.85}.sound-extra a{display:inline-block;color:var(--acid);font-size:13px;border-bottom:1px solid #d5ff4366;padding-bottom:5px}.sound-extra h3{font-size:25px;line-height:1.3;font-weight:400;margin:0 0 18px}
.category-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.category-links a{padding:21px 8px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);font-size:14px}.category-links a:hover{background:#d5ff4322}.made-section{background:var(--acid);display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.made-section h2{font-size:clamp(34px,5vw,62px);letter-spacing:-2px;line-height:1.06;font-weight:400;margin:20px 0}.made-section p{font-size:15px;line-height:1.8}.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:850px}.membership{border:1px solid var(--line);padding:30px;background:#f5f6ef;border-radius:4px}.membership.featured{background:var(--night);color:var(--paper)}.membership h3{font-size:20px;font-weight:400;margin:0 0 20px}.membership .price{font-size:45px;letter-spacing:-2px;line-height:1.2}.membership .price small{font-size:12px;letter-spacing:0}.membership p{font-size:13px;margin:18px 0 25px}.membership.featured .button-main{background:var(--acid);color:var(--ink);border-color:var(--acid)}.faq-list{max-width:850px}.faq-list details{padding:19px 0;border-bottom:1px solid var(--line)}.faq-list summary{font-size:16px;cursor:pointer}.faq-list p{font-size:14px;color:var(--muted-ink);max-width:650px}.site-footer{max-width:1440px;margin:auto;padding:36px 5vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted-ink)}.site-footer .brand-wordmark{width:132px;height:27px}.site-footer div{display:flex;gap:20px;flex-wrap:wrap}
/* Existing application functions and IDs are retained; these styles unify
   their surfaces with the redesigned public pages. */
.app-page #bgvid,.app-page .aurora{display:none}.app-page header{max-width:1120px;padding:24px 32px}.app-page main{max-width:1120px;padding:0 32px 145px}.app-page .streak-chip{border-radius:3px;color:var(--ink);font-size:12px;padding:8px 12px;background:#e1e6d7}.app-page .app-intro{margin:20px 0 30px;display:flex;justify-content:space-between;gap:24px;align-items:end}.app-page .app-intro h2{font-size:40px;font-weight:400;letter-spacing:-1.6px;line-height:1.1;margin:12px 0}.app-page .app-intro p{font-size:14px;color:var(--dim);max-width:440px;margin:0}.app-page h2{font-size:26px;letter-spacing:-.6px;font-weight:400;margin:26px 0 17px}.app-page .sub{font-size:14px;line-height:1.75;margin-bottom:23px}.app-page .nowrow{padding:20px;background:#e0e6d5;border:1px solid var(--line);border-radius:4px}.app-page .nowrow-t{color:var(--ink);font-family:monospace;font-size:11px}.app-page .nowrow-b{gap:8px}.app-page .nowrow button,.app-page .mode{color:var(--ink);background:#f5f6ef;border:1px solid var(--line);border-radius:3px;padding:10px 16px;font-size:12px;min-height:42px}.app-page .mode.on{background:var(--ink);color:var(--acid);border-color:var(--ink)}.app-page .cat-head{margin:35px 0 16px;grid-column:1/-1}.app-page .cat-head h3{font-size:16px;letter-spacing:-.2px;font-weight:400}.app-page .cat-head .glyph img{filter:none}.app-page .style-tag{font-size:10px;color:#58664e}.app-page #sessionList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-page .ses{min-width:0;margin:0;padding:19px 16px;border-radius:4px;background:#f5f6ef;border:1px solid var(--line);backdrop-filter:none;gap:12px;min-height:105px}.app-page .ses .s-title{font-size:14px;line-height:1.5;color:var(--ink)}.app-page .ses .s-meta{font-size:10px;letter-spacing:.5px;color:#526057;line-height:1.6}.app-page .ses .play-ico{color:var(--ink);border:1px solid var(--line);background:#e7ecd9;width:35px;height:35px}.app-page .ses.playing{background:#e0eacb;box-shadow:none}.app-page .ses:hover{transform:none;background:#e8eddf;border-color:#687c35}.app-page .deep-flag{font-size:9px;padding:1px 5px;letter-spacing:.5px}.app-page .access-tag{display:block;color:#526057;font-size:10px;margin-top:3px}.app-page .session-filters{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.app-page .session-filters input,.app-page .session-filters select{background:#f5f6ef;border:1px solid var(--line);padding:12px 15px;min-height:44px;border-radius:3px;color:var(--ink);font-size:14px}.app-page .session-filters input{flex:1;min-width:180px}.app-page .filter-count{font-size:12px;color:var(--dim);margin-bottom:15px}.app-page .tabbar{background:var(--night);border:0;box-shadow:0 -7px 25px #19201e15;padding:12px max(20px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));gap:4px}.app-page .tab{color:#b9c4b2;font-size:10px;border-radius:4px;max-width:160px;padding:8px 7px}.app-page .tab.on{background:#2d392d;color:var(--acid)}.app-page .tab .ico{font-size:17px}.app-page #musicList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-page #musicList .freq{margin:0!important;min-width:0}.app-page .freq{border-radius:4px;background:#f5f6ef;border-color:var(--line);text-align:left;padding:20px;color:var(--ink)}.app-page .freq b{font-weight:400;font-size:20px!important;color:var(--ink)}.app-page .freq span,.app-page .freq p{font-size:12px;color:var(--dim)}.app-page .freq.playing{border-color:#687c35;background:#e0eacb;box-shadow:none}.app-page .spec-cap{font-size:11px;color:var(--dim)}.app-page .spec-cap b{font-size:11px!important;color:var(--ink)}.app-page #vis{border-radius:4px;border:1px solid var(--line);background:var(--night);height:170px}.app-page .freq-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-page .freq-note{max-width:780px;color:var(--dim);font-size:12px;line-height:1.75}.app-page .vol-row{color:var(--ink);font-size:13px}.app-page input[type=range]{accent-color:#536719}.app-page .btn-full{color:var(--paper);background:var(--ink);border-radius:3px;min-height:46px;font-size:13px;letter-spacing:.5px}.app-page textarea,.app-page input[type=text],.app-page input[type=email],.app-page input[type=password],.app-page input[type=time],.app-page select{color:var(--ink);background:#f5f6ef;border:1px solid var(--line);border-radius:3px;font-size:14px}.app-page .mine-card,.app-page .saved-card{background:#f5f6ef;border-color:var(--line);border-radius:4px}.app-page .mine-l,.app-page .mine-p{color:var(--ink)}.app-page .mine-note,.app-page .mine-badge,.app-page .mine-quota{color:var(--dim)}.app-page .streak-big b{color:#536719;font-weight:400}.app-page .num-big{color:#536719}.app-page .week .day{background:#e0e6d5;color:var(--ink)}.app-page .week .day.done{background:var(--ink);color:var(--acid)}.app-page .empty{color:var(--dim);font-size:13px}.app-page .toast{background:var(--ink);color:var(--paper);border-color:#ffffff22}
.app-page .nowbar{background:var(--night);border:0;box-shadow:0 10px 25px #19201e20;color:var(--paper);border-radius:4px;grid-column:1/-1}.app-page .nb-meta{color:#b9c4b2}.app-page .nb-stop,.app-page .nb-pulse{background:var(--acid);color:var(--ink)}.app-page .paywall{background:#101810b3}.app-page .pw-sheet{background:var(--paper);color:var(--ink);border-radius:14px 14px 0 0;max-width:560px}.app-page .pw-sheet h3{font-weight:400}.app-page .pw-sub,.app-page .pw-perks,.app-page .join-consent,.app-page .pw-close{color:var(--dim)}.app-page .pw-plan{background:#f5f6ef;border-color:var(--line);color:var(--ink)}.app-page .pw-plan.sel{background:#e0eacb;border-color:#687c35}.app-page .pw-plan b{font-weight:400;color:var(--ink)}.app-page .pw-plan span,.app-page .plan-extra{color:var(--dim)}.app-page .save{background:var(--acid);color:var(--ink)}
/* Focused playback is intentionally dark, independent of page appearance. */
.app-page .transcript{background:#0e1712;color:var(--paper)}.app-page .tr-float{z-index:5;top:calc(20px + env(safe-area-inset-top));left:24px;right:24px}.app-page .tr-min{background:#ffffff13;color:var(--paper);width:42px;height:42px}.app-page .tr-stop{background:var(--acid);color:var(--ink);width:42px;height:42px}.app-page .tr-label{color:#c1cdb4;top:calc(32px + env(safe-area-inset-top));font-size:11px;letter-spacing:1px;left:85px;right:85px}.player-art{position:absolute;inset:70px 0 175px;width:100%;height:calc(100% - 245px);pointer-events:none}.app-page .tr-body{z-index:2;padding:85px 30px 220px}.app-page .cap-line .w{font-size:clamp(24px,5vw,42px);line-height:1.5;font-weight:400;color:#98a58d}.app-page .cap-line .w.active,.app-page .cap-line .w.done{color:#f3f5eb}.transcript[data-view=words] .player-art{opacity:.17}.transcript[data-view=visuals] .tr-body,.transcript[data-view=dark] .tr-body{visibility:hidden}.transcript[data-view=dark] .player-art{display:none}.player-controls{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom));left:22px;right:22px;z-index:5;text-align:center}.player-controls .player-pause{background:var(--acid);color:var(--ink);border:0;border-radius:50%;width:54px;height:54px;font-size:18px;margin-bottom:15px}.player-progress{max-width:450px;margin:0 auto 18px}.player-progress progress{display:block;width:100%;height:3px;accent-color:var(--acid);border:0}.player-progress progress::-webkit-progress-bar{background:#ffffff20}.player-progress progress::-webkit-progress-value{background:var(--acid)}.player-time{display:flex;justify-content:space-between;font-size:11px;color:#b9c4b2;margin-top:8px}.player-views{display:flex;justify-content:center;gap:8px}.player-views button{color:#b9c4b2;background:transparent;border:1px solid #ffffff22;border-radius:4px;padding:10px 17px;font-size:12px;min-height:42px}.player-views button[aria-pressed=true]{background:#2d392d;color:var(--acid)}
/* Written library and policy retain their content and access rules. */
.library-page nav,.policy-page nav{background:var(--paper);backdrop-filter:none;border-bottom:1px solid var(--line);padding:0}.library-page .nav-inner,.policy-page nav{height:auto;min-height:80px;padding:20px 24px}.policy-page nav{display:flex;max-width:1120px;margin:auto}.library-page .wrap{max-width:1120px}.library-page header{background:var(--paper);text-align:left;padding:60px max(24px,calc((100vw - 1072px)/2)) 32px}.library-page header h1{font-weight:400;font-size:clamp(36px,5vw,62px);letter-spacing:-2px;line-height:1.15}.library-page header p{margin:0;max-width:600px;color:var(--dim);font-size:14px}.library-page .kicker{letter-spacing:1.5px;color:#536719}.library-page .counts{color:var(--dim);font-size:11px}.library-page .toolbar{background:var(--paper);top:80px;justify-content:start;border-color:var(--line);padding:20px max(24px,calc((100vw - 1072px)/2));gap:15px}.library-page .cats{justify-content:start;gap:6px}.library-page .catbtn{color:var(--dim);border-color:var(--line);letter-spacing:0;font-size:11px;padding:9px 12px;min-height:36px}.library-page .catbtn.on{background:var(--ink);color:var(--acid)}.library-page .search{color:var(--ink);background:#f5f6ef;font-size:14px;border-color:var(--line);border-radius:3px}.library-page .cat-head .glyph{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.library-page .glyph img{width:100%;height:100%;object-fit:contain}.library-page .cat-head h2{font-weight:400;letter-spacing:-.6px}.library-page .plist{background:#f5f6ef;border-color:var(--line);border-radius:4px}.library-page .plist-head h3{font-weight:400;font-size:16px;letter-spacing:-.2px}.library-page .plist-head p{font-size:13px}.library-page .mini,.library-page .hz-badge{color:var(--ink);border-color:var(--line);font-size:11px;min-height:36px}.library-page .aff-gate{color:var(--dim);background:#e0e6d5;border-color:var(--line)}.library-page .aff-gate b{color:var(--ink)}.library-page .btn{background:var(--ink);color:var(--paper);letter-spacing:0;font-size:12px;border-radius:3px;padding:12px 18px}.library-page .cat-block{opacity:1;transform:none;scroll-margin-top:265px}.library-page footer,.policy-page footer{color:var(--dim);border-color:var(--line)}.policy-page main{max-width:850px;padding:50px 24px 75px}.policy-page h1{font-size:48px;font-weight:400;letter-spacing:-2px}.policy-page h2{font-weight:400;letter-spacing:-.5px;font-size:24px}.policy-page p,.policy-page li{color:var(--dim);font-size:14px;line-height:1.85}.policy-page .card{background:#e0e6d5;border-color:var(--line);border-radius:4px}.policy-page a{color:#3d5013}.policy-page .updated{color:var(--dim)}
#sxt-consent{background:var(--paper)!important;color:var(--ink)!important;border-top:1px solid var(--line)!important;box-shadow:0 -4px 25px #19201e12;font-size:12px!important}#sxt-consent a{color:#3d5013!important}#sxt-consent-yes{background:var(--ink)!important;color:var(--paper)!important;min-height:40px;border-radius:3px!important}#sxt-consent-no{color:var(--ink)!important;border-color:var(--line)!important;min-height:40px;border-radius:3px!important}
@media(min-width:900px){.app-page .tabbar{justify-content:center}.app-page .tab{flex:1}.app-page .panel:not(#panel-home):not(#panel-freq){max-width:750px}.app-page .pw-sheet{border-radius:14px;margin:auto}.app-page .paywall{align-items:center}.library-page .toolbar{position:relative;top:0}}
@media(max-width:900px){.app-page #sessionList,.app-page #musicList{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:560px}.hero-art{height:420px}.site-links{gap:17px}}
@media(max-width:650px){html{scroll-padding-top:90px}.site-nav{padding:20px 22px;flex-wrap:wrap}.brand-wordmark{width:145px;height:29px}.site-links{font-size:11px;gap:14px}.site-links .optional-link{display:none}.site-links .nav-cta{padding:9px 12px}.hero{grid-template-columns:1fr;padding:38px 22px 25px;gap:10px;min-height:0}.hero h1{font-size:64px;letter-spacing:-4px}.hero-description{font-size:14px}.hero-art{height:310px}.hero-actions{gap:10px}.button-main,.button-outline{padding:14px 17px;gap:16px;font-size:12px}.section-pad{padding:45px 22px}.section-heading{flex-direction:column;align-items:start;gap:18px}.session-preview-grid,.sound-demo,.made-section,.membership-grid{grid-template-columns:1fr}.session-preview{min-height:190px}.session-preview h3{margin-top:17px}.sound-demo{gap:25px}.category-links{grid-template-columns:1fr 1fr}.category-links a{font-size:12px;padding:17px 7px}.sound-chip{padding:12px 14px;font-size:12px}.made-section{gap:14px}.site-footer{padding:28px 22px;flex-wrap:wrap}.app-page header{padding:22px 20px}.app-page main{padding:0 20px 130px}.app-page .app-intro{display:block;margin:18px 0 25px}.app-page .app-intro h2{font-size:34px}.app-page #sessionList,.app-page #musicList{grid-template-columns:1fr}.app-page .ses{min-height:90px}.app-page .s-meta{font-size:11px!important}.app-page .cat-head h3{font-size:14px}.app-page .freq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-page .tabbar{padding-left:8px;padding-right:8px;gap:0}.app-page .tab{font-size:9px;padding:8px 3px;letter-spacing:.5px}.app-page .session-filters select{width:100%}.app-page .nowrow-b button{flex:1;padding:10px 12px}.library-page .toolbar{position:relative;top:0}.library-page .cat-block{scroll-margin-top:100px}.library-page .nav-inner{gap:15px}.library-page .btn{font-size:11px;padding:11px 13px}.library-page header{padding:35px 24px}.library-page .plists{grid-template-columns:1fr}.policy-page h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Low-light listening surfaces; public landing page keeps its own palette. */
body.app-page{--paper:#bfc8bf;--ink:#c6cec5;--muted-ink:#95a398;--acid:#a8bb80;--night:#101612;--bg:#101612;--bg-2:#17201a;--panel:#1a241d;--text:#c6cec5;--dim:#95a398;--gold:#a8bb80;--gold-soft:#a8bb80;--line:#aabda326;color-scheme:dark;background:#101612;color:var(--text)}
.app-page .brand-wordmark{filter:brightness(0) saturate(100%) invert(82%)}
.app-page .ses,.app-page .freq,.app-page .mine-card,.app-page .saved-card,.app-page .pw-sheet,.app-page .pw-plan,.app-page textarea,.app-page input,.app-page select,.app-page .session-filters input,.app-page .session-filters select{background:#1a241d;color:var(--text)}
.app-page .nowrow,.app-page .streak-chip,.app-page .week .day{background:#202d23;color:var(--text)}
.app-page .nowrow button,.app-page .mode,.app-page .ses .play-ico{background:#28362a;color:var(--text)}
.app-page .ses:hover,.app-page .ses.playing,.app-page .freq.playing,.app-page .pw-plan.sel{background:#253429;border-color:#789268}
.app-page .s-meta,.app-page .ses .s-meta,.app-page .access-tag,.app-page .style-tag{color:var(--dim)}
.app-page .btn-full{background:#a8bb80;color:#152019}
.app-page .num-big,.app-page .streak-big b{color:#a8bb80}
.app-page .cap-line .w.active,.app-page .cap-line .w.done{color:#c6cec5}
.app-page #sxt-consent{background:#17201a!important;color:var(--text)!important}
.app-page #sxt-consent a,.app-page #sxt-consent-no{color:var(--text)!important}
.app-page #sxt-consent-yes{background:#a8bb80!important;color:#152019!important}

/* Restore the tested iOS transition without animating visibility. */
.app-page .transcript{display:flex;opacity:0;pointer-events:none;transform:translateY(56px) scale(.97);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
.app-page .transcript.show{opacity:1;pointer-events:auto;transform:none}

.app-page #personalList .mine-card{padding:22px;margin:18px 0}.app-page .personal-text{color:var(--dim);font-size:14px;line-height:1.8}.app-page #personalStatus{font-size:13px;color:var(--dim);margin:16px 0}

.original-message{border-top:1px solid var(--line)}.original-message h2{font-size:clamp(30px,4vw,48px);font-weight:400;line-height:1.15;letter-spacing:-1.5px;max-width:800px}.original-message>p{max-width:700px;font-size:16px;color:var(--dim);line-height:1.9}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.method-grid h3{font-weight:400;font-size:22px}.method-grid p{color:var(--dim);font-size:14px;line-height:1.8}@media(max-width:650px){.method-grid{grid-template-columns:1fr;gap:16px}}


/* Approved listening landscape: open luminous typography, actual session data. */
body.app-page{--paper:#d9deea;--ink:#d9deea;--text:#d9deea;--dim:#9faac1;--acid:#c4b0e6;--gold:#c4b0e6;--gold-soft:#c4b0e6;--night:#0b1426;--bg:#0b1426;--panel:#141e32;--line:#becbed24;background:radial-gradient(ellipse at 85% 0,#192b4833,transparent 60%),#0b1426}
.app-page header,.app-page main{max-width:1400px}
.app-page .app-intro{display:block;margin:24px 0 35px}
.app-page .app-intro h2{font-family:Georgia,serif;font-size:clamp(36px,5vw,62px);font-weight:400;letter-spacing:-2px;margin:10px 0 12px}
.app-page .app-intro p{max-width:720px;font-size:15px;color:#b3bdd1}
.app-page .nowrow{background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0}
.app-page .nowrow button,.app-page .mode{background:transparent;border-color:#becbed25;color:#b3bdd1;border-radius:40px}
.app-page .nowrow button:hover,.app-page .mode.on{background:#c4b0e61a;color:#e3d6f4}
.app-page .streak-chip{background:#192237;color:#b8c4da}
.app-page .session-filters{display:grid;grid-template-columns:1fr auto auto;gap:24px}
.app-page .session-filters input,.app-page .session-filters select{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);padding-left:0}
.app-page #sessionList{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;position:relative;isolation:isolate}
.app-page #sessionList .cat-head{grid-column:1/-1;display:flex;gap:12px;align-items:center;margin:48px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.app-page #sessionList .cat-head h3{font-size:22px;font-weight:400;letter-spacing:-.6px;flex:1;text-transform:none}
.app-page #sessionList .cat-head .glyph,.app-page #sessionList .style-tag{display:none}
.app-page #sessionList .ses{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;min-height:185px;padding:30px 24px;margin:0;gap:14px;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;text-align:left;backdrop-filter:none;isolation:isolate}
.app-page #sessionList .s-body{display:flex;flex-direction:column;gap:10px;flex:none;width:100%}
.app-page #sessionList .session-category{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--session-color)}
.app-page #sessionList .s-title{font-family:Georgia,serif;font-size:clamp(25px,3vw,40px);font-weight:400;line-height:1.04;letter-spacing:-1px;color:var(--session-color);margin:0}
.app-page #sessionList .s-meta{font-size:10px;letter-spacing:.5px;color:#b0bbd1}
.app-page #sessionList .access-tag{font-size:10px;color:#b0bbd1;margin:0;position:absolute;bottom:30px;right:24px}
.app-page #sessionList .play-ico{order:2;border:0;border-bottom:1px solid #becbed30;border-radius:0;width:auto;height:auto;min-height:30px;padding:2px 0;background:none;color:var(--session-color);font-size:12px;letter-spacing:.5px;flex:none}
.app-page #sessionList .ses:hover,.app-page #sessionList .ses.playing{background:none;transform:none;box-shadow:none}
.app-page #sessionList .ses:hover .s-title{text-shadow:0 0 35px color-mix(in srgb,var(--session-color) 35%,transparent)}
.app-page #sessionList .featured-session{min-height:330px;padding:58px 42px}
.app-page #sessionList .featured-session .s-title{font-size:clamp(42px,5.5vw,77px);max-width:470px;letter-spacing:-2.5px}
.app-page #sessionList .featured-session:nth-child(2){margin-top:65px}
.app-page #sessionList .featured-session:nth-child(3){margin-left:45px}
.app-page #sessionList .featured-session .access-tag{right:42px;bottom:58px}
.app-page #sessionList .featured-session::before,.app-page #sessionList .featured-session::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:125%;height:78%;left:-12%;top:16%;border-radius:50%;border:1px solid var(--session-color);box-shadow:0 -5px 20px color-mix(in srgb,var(--session-color) 20%,transparent),inset 0 6px 16px color-mix(in srgb,var(--session-color) 12%,transparent);opacity:.45;transform:rotate(-22deg);mask-image:linear-gradient(90deg,#000,transparent 30%,transparent 65%,#000)}
.app-page #sessionList .featured-session::after{transform:rotate(-19deg) scale(1.06,.95);opacity:.22;filter:blur(2px)}
.app-page #sessionList .deep-flag{font-family:Arial,sans-serif;font-size:8px;letter-spacing:1px;margin-left:8px;color:#aeb9cf;background:transparent;border-color:#becbed25}
.app-page .tabbar{background:#0b1426ed;box-shadow:none;border-top:1px solid var(--line)}
.app-page .tab.on{background:#b4a0e51a;color:#d4c4f1}
.app-page .freq,.app-page .mine-card,.app-page .saved-card,.app-page .pw-sheet,.app-page .pw-plan,.app-page textarea,.app-page input,.app-page select{background:#141e32;color:var(--text)}
.app-page .freq.playing,.app-page .pw-plan.sel{background:#20283f;border-color:#baa3e5}
.app-page .btn-full{background:#c4b0e6;color:#11182a}
.app-page .num-big,.app-page .streak-big b{color:#c4b0e6}
.app-page #sxt-consent{background:#111b2e!important}
.app-page #sxt-consent-yes{background:#c4b0e6!important;color:#11182a!important}
.app-page :focus-visible{outline-color:#bba6e6}
@media(max-width:650px){
.app-page main{padding-left:24px;padding-right:24px}
.app-page .session-filters{grid-template-columns:1fr 1fr;gap:12px}
.app-page .session-filters input{grid-column:1/-1;min-width:0;width:100%}
.app-page .session-filters select{font-size:12px;min-width:0}
.app-page #sessionList{gap:0 12px}
.app-page #sessionList .ses{padding:22px 8px;min-height:190px}
.app-page #sessionList .s-title{font-size:28px}
.app-page #sessionList .session-category{font-size:8px;letter-spacing:1px}
.app-page #sessionList .access-tag{right:8px;bottom:22px;font-size:9px}
.app-page #sessionList .featured-session{grid-column:1/-1;min-height:310px;padding:45px 24px}
.app-page #sessionList .featured-session .s-title{font-size:60px;max-width:350px}
.app-page #sessionList .featured-session:nth-child(2),.app-page #sessionList .featured-session:nth-child(3){margin:0}
.app-page #sessionList .featured-session:nth-child(even){padding-left:60px}
.app-page #sessionList .featured-session .access-tag{right:24px;bottom:45px}
}

.app-page::before{display:none}
.app-page #sessionList{background:url('listening-ribbons.svg') center top / 100% 760px no-repeat}
.app-page #sessionList .featured-session::before,.app-page #sessionList .featured-session::after{display:none}
@media(max-width:650px){.app-page #sessionList{background-size:180% 1280px}}

.app-page #sessionList .s-title{overflow-wrap:anywhere}

.app-page #sessionList .featured-session .s-title{text-shadow:0 2px 14px #0b1426,0 0 30px #0b1426}

/* Light frames the session; a clear centre protects every label and title. */
.app-page #sessionList{background:none}
.app-page #sessionList .featured-session::before{display:block;content:"";position:absolute;inset:0;width:100%;height:100%;top:0;left:0;z-index:-1;pointer-events:none;border:0;border-radius:0;box-shadow:none;opacity:1;transform:none;mask-image:none;background:url('session-ribbon-0.svg') center / 100% 100% no-repeat}
.app-page #sessionList .featured-session:nth-child(2)::before{background-image:url('session-ribbon-1.svg')}
.app-page #sessionList .featured-session:nth-child(3)::before{background-image:url('session-ribbon-2.svg')}
.app-page #sessionList .featured-session:nth-child(4)::before{background-image:url('session-ribbon-3.svg')}
.app-page #sessionList .featured-session::after{display:none}
.app-page #sessionList .featured-session::before{top:-50px;left:-32px;width:calc(100% + 64px);height:calc(100% + 100px);background-size:100% 100%}
/* Respect the existing preference for typography without serifs. */
.app-page .app-intro h2,.app-page #sessionList .s-title{font-family:Arial,Helvetica,sans-serif}

/* Icônes dessinées (icons.js) : trait fin et arrondi, comme le logo. */
.i{width:1em;height:1em;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;overflow:visible}
.i-arrow{width:1.3em;stroke-width:1.5;margin-left:.15em;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
a:hover .i-arrow,button:hover .i-arrow,a:focus-visible .i-arrow,button:focus-visible .i-arrow{transform:translateX(4px)}
.i-mark{stroke-width:2.1}
.i-play{stroke-width:1.5}
.tab .ico{display:flex;align-items:center;justify-content:center;height:24px}
.tab .ico .i{width:22px;height:22px;stroke-width:1.4}
.streak-chip .i-ripple{width:1em;height:1em;margin-right:.25em;vertical-align:-.17em}
.pw-spark .i{width:38px;height:38px;stroke-width:1.3}
.pw-perks span .i{width:.95em;height:.95em;stroke-width:2}
.day .i{width:14px;height:14px;stroke-width:2.2}
.glyph .i{width:1.1em;height:1.1em}
.nb-stop .i,.tr-stop .i,.tr-min .i,.player-pause .i{width:18px;height:18px}
.hz-badge .i{width:1.5em;height:1.2em;margin-right:.2em;vertical-align:-.25em}
.chev .i{width:1em;height:1em;stroke-width:1.8}
.nav-cta .i-arrow{width:1em;margin-left:.05em}
.app-page #sessionList .play-ico .i{display:none}

/* Bouton « Sign out » en haut de l'app : discret mais toujours visible. */
.head-signout{background:none;border:1px solid currentColor;border-radius:3px;color:inherit;opacity:.72;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;cursor:pointer;transition:opacity .2s}
.head-signout:hover,.head-signout:focus-visible{opacity:1}
@media(max-width:400px){.head-signout{padding:7px 9px;letter-spacing:.06em}}
@media(max-width:360px){.head-signout{padding:7px 8px;letter-spacing:.03em}.app-page .brand-wordmark{width:120px;height:24px}}
