:root{--bg:#faf6ee;--card:#fff;--ink:#1d2433;--mute:#5b6372;--navy:#1f2a44;--gold:#b8892b;--gold2:#e9c97a;--line:#ece4d3;--r:18px;--tabh:64px;color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding-bottom:calc(var(--tabh) + env(safe-area-inset-bottom) + 8px)}
body.playing{padding-bottom:calc(var(--tabh) + 72px + env(safe-area-inset-bottom))}
a{color:#7a5410}a:hover{color:#4d3407}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;background:rgba(250,246,238,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--navy)}.brand img{border-radius:9px}.brand b{display:block;font-size:1.08rem;letter-spacing:.2px}.brand small{display:block;color:var(--mute);font-size:.72rem;line-height:1.2}
.iconbtn{min-width:44px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;font:inherit;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;color:var(--ink)}
@media(max-width:420px){#fbk span{display:none}}
main{max-width:760px;margin:0 auto;padding:14px 14px 8px;outline:none;animation:in .22s ease}
@keyframes in{from{opacity:.0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ph{font:600 1.7rem/1.2 Georgia,"Times New Roman",serif;color:var(--navy);margin:.3rem 2px .8rem}
.card,.pf-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:0 0 14px;box-shadow:0 1px 2px rgba(31,42,68,.04),0 8px 24px rgba(31,42,68,.05)}
.card h2,.pf-card h2{font:600 1.35rem/1.25 Georgia,serif;color:var(--navy);margin:.1rem 0 .5rem}.h2{font:600 1.45rem/1.25 Georgia,serif;color:var(--navy);margin:.2rem 0 .6rem}
h3{font-size:1.05rem;color:var(--navy);margin:1.2rem 0 .4rem}
.hero,.pf-hero{background:linear-gradient(150deg,#1f2a44 0%,#33405f 60%,#5a4a2a 130%);color:#fff;border:0}
.hero h1{font:600 1.65rem/1.2 Georgia,serif;margin:.2rem 0 .5rem}.hero p{color:#e8e4da}.pf-hero h1{font:600 1.6rem/1.2 Georgia,serif}.pf-hero a{color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--gold);margin:0;font-weight:700}
.verse,.pf-verse{margin:12px 0;padding:16px 18px;border-radius:14px;background:linear-gradient(180deg,#fffaf0,#fbf2df);border-left:4px solid var(--gold2)}
.verse p,.pf-verse p{font:1.18rem/1.55 Georgia,"Times New Roman",serif;margin:0 0 .4rem;color:#2a2a2a}.verse cite,.pf-verse cite{font-style:normal;font-weight:600;color:#7a5410;font-size:.92rem}
.tvimg img,.one img{width:100%;height:auto;border-radius:14px;display:block;background:#eee}
.prompt{font-size:1.05rem}
.row,.pf-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;align-items:center}
.btn,.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--navy);background:var(--navy);color:#fff;font:600 .98rem system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.1);color:#fff}.btn.gold,.pf-btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn.ghost,.pf-btn.ghost{background:#fff;color:var(--navy);border-color:#d9cfbb}.btn.light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff}.btn.yt{background:#c4302b;border-color:#c4302b}.btn.big{width:100%;min-height:54px;font-size:1.08rem}
.pf-btn.small{min-height:36px;padding:0 12px;font-size:.85rem}
.muted,.pf-muted{color:var(--mute)}.small{font-size:.9rem}.note,.pf-note,.credit{font-size:.8rem;color:var(--mute)}
.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.quick a{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:var(--r);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--navy);font-weight:600;min-height:92px}.quick span{font-size:1.6rem}
@media(min-width:640px){.quick{grid-template-columns:repeat(3,1fr)}}
.feelgrid,.pf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:640px){.feelgrid{grid-template-columns:repeat(3,1fr)}}
.feel,.pf-feel{display:flex;flex-direction:column;padding:14px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fdf8ee);text-decoration:none;color:var(--ink);min-height:110px;transition:transform .12s}.feel:active{transform:scale(.97)}
.feel .e{font-size:1.9rem}.feel b{color:var(--navy)}.feel small{color:var(--mute);font-size:.82rem;line-height:1.3}
.help,.pf-help{background:#eef5ff;border:1px solid #cfe0f7;border-radius:12px;padding:12px 14px;margin:10px 0}
.back{text-decoration:none;font-weight:600}
.strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.strip a{flex:0 0 72%;max-width:300px;scroll-snap-align:start}.strip img{width:100%;height:auto;border-radius:12px;display:block}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;margin:0 -4px;scrollbar-width:none}.chip{flex:0 0 auto;padding:8px 14px;min-height:40px;border-radius:999px;border:1px solid #d9cfbb;text-decoration:none;color:var(--ink);background:#fff;font-size:.92rem;display:inline-flex;align-items:center}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:640px){.gallery{grid-template-columns:repeat(3,1fr)}}.gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block;background:#eee}
.pf-yt{margin:8px 0}.pf-yt button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;aspect-ratio:16/9;background:#000}.pf-yt img{width:100%;height:100%;object-fit:cover;opacity:.92}.pf-yt span{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:rgba(196,48,43,.92);color:#fff;font-size:1.6rem;display:flex;align-items:center;justify-content:center}.pf-yt iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px}
.vt{font-size:.9rem;color:var(--mute);margin:.2rem 0 .8rem}
.sharebar,.pf-share{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.pf-share a,.pf-share button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #d9cfbb;background:#fff;display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.songs{list-style:none;padding:0;margin:8px 0}.song{display:flex;align-items:center;gap:6px;border-radius:14px;margin:4px 0}.song.on{background:#fbf2df}
.sbtn{flex:1;display:flex;align-items:center;gap:12px;padding:8px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink);min-height:68px;border-radius:14px}
.tile{flex:0 0 52px;height:52px;border-radius:12px;color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center}.sm{flex:1;display:flex;flex-direction:column}.sm small{color:var(--mute)}
.eq{display:none;gap:2px;align-items:flex-end;height:18px}.song.on .eq{display:flex}.eq i{width:3px;background:var(--gold);animation:eq .9s infinite ease-in-out}.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}body:not(.isplay) .eq i{animation:none;height:6px}
@keyframes eq{0%,100%{height:5px}50%{height:18px}}
.codecard input{width:100%;font:700 1.7rem ui-monospace,Menlo,monospace;letter-spacing:.25em;text-transform:uppercase;text-align:center;padding:14px;border:2px solid #d9cfbb;border-radius:14px;margin:6px 0 12px;background:#fffdf8}.codecard input:focus{outline:3px solid var(--gold2);border-color:var(--gold)}.lbl{font-weight:600}
#recent a{display:inline-flex;margin:4px 6px 0 0}
.pf-badge{display:inline-block;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.8rem;font-weight:600}.pf-badge.warn{background:#fff3cd;color:#7a5a00}
.pf-sec{margin-top:14px}.pf-list{padding-left:1.2rem}.pf-list li{margin:.25rem 0}.pf-notice{border-left:3px solid var(--gold2);padding:6px 10px;margin:8px 0}
.pf-code{font:700 1.3rem ui-monospace,monospace;letter-spacing:.15em;background:#fbf2df;padding:2px 8px;border-radius:8px}
.pf-err{background:#fdecea;border:1px solid #f5c6c0;border-radius:12px;padding:12px;margin-bottom:12px}.pf-ok{background:#e9f7ef;border-radius:12px;padding:12px}
.pf-qr{margin-top:8px}.pf-qr img,.pf-qr canvas{max-width:180px;height:auto}
.prose h2{font-size:1.2rem}.prose img{max-width:100%;height:auto}
.foot{max-width:760px;margin:6px auto 0;padding:10px 16px 18px;text-align:center;font-size:.85rem;color:var(--mute)}.foot a{color:var(--mute)}.foot nav a{display:inline-block;padding:6px 2px}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);height:calc(var(--tabh) + env(safe-area-inset-bottom))}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#6b7280;font-size:.72rem;font-weight:600;min-width:56px}
.tab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tab[aria-current=page]{color:var(--navy)}.tab[aria-current=page] svg{stroke:var(--gold);stroke-width:2.2}
.mini{position:fixed;left:8px;right:8px;bottom:calc(var(--tabh) + env(safe-area-inset-bottom) + 6px);z-index:29;display:flex;align-items:center;gap:4px;padding:6px 8px 9px;border-radius:16px;background:var(--navy);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:740px;margin:0 auto}
.mini[hidden]{display:none}.mbtn{min-width:44px;min-height:44px;border:0;background:none;color:#fff;font-size:1.15rem;cursor:pointer;border-radius:12px}.mbtn:hover{background:rgba(255,255,255,.1)}
.mt{flex:1;min-width:0;border:0;background:none;color:#fff;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column}.mt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.mt small{opacity:.75;font-size:.75rem}
.mbar{position:absolute;left:12px;right:12px;bottom:4px;height:3px;background:rgba(255,255,255,.2);border-radius:3px;overflow:hidden}.mbar i{display:block;height:100%;width:0;background:var(--gold2)}
#toast{position:fixed;left:50%;bottom:calc(var(--tabh) + 90px);transform:translateX(-50%);background:#111;color:#fff;padding:10px 16px;border-radius:999px;font-size:.9rem;opacity:0;transition:opacity .2s;pointer-events:none;z-index:50}#toast.show{opacity:1}
dialog{border:0;border-radius:18px;padding:18px;width:min(92vw,460px)}dialog::backdrop{background:rgba(0,0,0,.4)}dialog textarea,dialog select,dialog input{width:100%;font:inherit;padding:10px;border:1px solid #d9cfbb;border-radius:10px;margin:4px 0 10px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(min-width:900px){.tabs{top:0;bottom:auto;left:auto;right:16px;height:auto;width:auto;background:none;border:0;backdrop-filter:none;padding:10px 0;gap:4px;justify-content:flex-end}.tab{flex-direction:row;font-size:.92rem;padding:8px 12px;border-radius:999px;color:var(--ink)}.tab svg{width:20px;height:20px}.tab[aria-current=page]{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}#fbk{display:none}body{padding-bottom:20px}.mini{bottom:16px}body.playing{padding-bottom:90px}.top{padding-right:640px}main{padding-top:24px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* always-visible nav + back */
.tabs{z-index:60}.mini{z-index:59}#toast{z-index:61}
.backb{display:flex;align-items:center;gap:2px;min-height:44px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:700 .95rem system-ui;cursor:pointer;flex:0 0 auto}.backb[hidden]{display:none}.backb svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.top{justify-content:flex-start}.top #fbk{margin-left:auto}
body.sub .brand img,body.sub .brand small{display:none}body.sub .brand b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
.brand{min-width:0}
dialog{max-height:calc(100vh - var(--tabh) - 40px);margin-bottom:calc(var(--tabh) + 16px + env(safe-area-inset-bottom))}
dialog .dx{float:right;min-width:48px;min-height:48px;border:0;border-radius:999px;background:#eee;font-size:1.3rem;font-weight:700;cursor:pointer;margin:-6px -6px 0 8px}
main{padding-bottom:24px}
