:root {
  --bg:#1c1108; --wood-mid:#2e1e0e;
  --amber:#e8a832; --amber-dim:#a06c1a;
  --warm-white:#fdf3e0; --off-white:#f5e8c8; --readable:#ffe8b0;
  --muted:rgba(64,77,68,0.58); --border:rgba(168,112,51,0.22);
  --danger:#e85432;
  --dyn-r:232; --dyn-g:168; --dyn-b:50;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--warm-white);font-family:'DM Sans',sans-serif;font-weight:400;min-height:100vh;overflow-x:hidden;position:relative;}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 40% at 50% -5%,rgba(255,180,60,.22) 0%,transparent 70%),
    radial-gradient(ellipse 40% 60% at 92% 85%,rgba(200,120,30,.18) 0%,transparent 55%),
    radial-gradient(ellipse 80% 80% at 50% 50%,rgba(42,26,8,.3) 0%,rgba(15,9,2,.85) 100%);}
body::after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.65;
  background-image:repeating-linear-gradient(180deg,transparent 0,transparent 58px,rgba(0,0,0,.18) 58px,rgba(0,0,0,.18) 60px,transparent 60px,transparent 118px,rgba(255,160,60,.04) 118px,rgba(255,160,60,.04) 120px),
    repeating-linear-gradient(92deg,transparent 0,transparent 120px,rgba(0,0,0,.08) 120px,rgba(0,0,0,.08) 122px);}
.grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");}
.room-bg{position:fixed;inset:0;z-index:0;pointer-events:none;transition:background 3s ease;}
.shelf-bg{position:fixed;bottom:0;left:0;right:0;height:60px;z-index:1;pointer-events:none;display:flex;align-items:flex-end;gap:3px;padding:0 3vw;opacity:.2;}
.sr{width:42px;height:42px;border-radius:50%;background:#080706;flex-shrink:0;}
.sr::before{content:'';display:block;width:38%;height:38%;border-radius:50%;background:#121008;margin:31% auto;}
.slv{flex-shrink:0;width:40px;border-radius:2px 2px 0 0;}

/* HEADER */
header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 2.5rem;background:rgba(12,7,2,.65);border-bottom:1px solid var(--border);backdrop-filter:blur(8px);}
.logo-wrap{display:flex;align-items:center;gap:.9rem;}
.logo-glyph{width:34px;height:34px;border:1.5px solid var(--amber);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--amber);font-size:.9rem;flex-shrink:0;}
.logo-name{font-family:'DM Sans',sans-serif;font-size:1.4rem;letter-spacing:.12em;color:var(--warm-white);line-height:1;}
.logo-sub{font-size:.68rem;font-weight:700;letter-spacing:.18em;color:var(--amber);text-transform:uppercase;margin-top:.1rem;}
.header-right{display:flex;align-items:center;gap:.75rem;}
.admin-badge{display:none;align-items:center;gap:.4rem;font-size:.68rem;font-weight:700;color:var(--amber);letter-spacing:.08em;}
.admin-badge.show{display:flex;}
.admin-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:npulse 2s ease infinite;}
.header-nav{display:flex;gap:.3rem;}
.hn-btn{font-family:'DM Sans',sans-serif;font-size:1rem;letter-spacing:.15em;padding:.45rem 1.3rem;background:transparent;border:1.5px solid transparent;color:var(--muted);cursor:pointer;transition:all .25s;}
.hn-btn:hover,.hn-btn.active{border-color:var(--amber);color:var(--amber);background:rgba(168,112,51,.07);}
.utility-btn{font-family:'DM Sans',sans-serif;font-size:.82rem;letter-spacing:.18em;padding:.42rem .95rem;background:rgba(255,255,255,.03);border:1.5px solid rgba(168,112,51,.22);color:var(--readable);cursor:pointer;transition:all .25s;text-transform:uppercase;}
.utility-btn:hover,.utility-btn.active{border-color:var(--amber);color:var(--amber);background:rgba(168,112,51,.08);}
button:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}
@media(max-width:760px){
  header{padding:1rem 1rem 1.1rem;flex-wrap:wrap;gap:.75rem;}
  .header-right{width:100%;justify-content:space-between;}
}

/* PAGE */
.page-wrap{position:relative;z-index:10;max-width:1100px;margin:0 auto;padding:0 1.5rem 7rem;}
.view{display:none;}
.view.active{display:block;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.site-footer{position:relative;z-index:10;max-width:1100px;margin:0 auto;padding:0 1.5rem 2rem;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

/* HERO */
.hero-player{display:grid;grid-template-columns:240px 1fr;gap:2.5rem;padding:1.2rem 0 1rem;align-items:center;}
@media(max-width:800px){.hero-player{grid-template-columns:1fr;gap:1.5rem;}}

/* TURNTABLE */
.tt-scene{display:flex;justify-content:center;align-items:center;position:relative;padding:1rem 1rem 1.8rem;}
#vizCanvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);pointer-events:none;z-index:1;}
.tt-plinth{position:relative;padding:12px;background:linear-gradient(145deg,#3a2410,#1e1006,#2a1808);border-radius:12px;box-shadow:0 6px 28px rgba(0,0,0,.85),0 2px 0 rgba(255,180,80,.1) inset;z-index:2;transition:box-shadow .8s;}
.tt-base{width:192px;height:192px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#2a2218,#0d0b08);box-shadow:0 0 0 5px #181410,0 0 0 7px #221e18,0 10px 30px rgba(0,0,0,.9),inset 0 2px 4px rgba(255,200,100,.06);position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .3s;}
.vinyl-grooves{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,transparent 0,transparent 4px,rgba(255,255,255,.012) 4px,rgba(255,255,255,.012) 5px);}
.vinyl-disc{width:178px;height:178px;border-radius:50%;position:absolute;background:conic-gradient(from 0deg,#100f0c 0deg,#1e1b16 22deg,#100f0c 44deg,#1a1714 66deg,#0e0d0a 88deg,#1e1b16 110deg,#100f0c 132deg,#1a1714 154deg,#0e0d0a 176deg,#1e1b16 198deg,#100f0c 220deg,#1a1714 242deg,#0e0d0a 264deg,#1e1b16 286deg,#100f0c 308deg,#1a1714 330deg,#0e0d0a 352deg,#100f0c 360deg);animation:vinylSpin 2.6s linear infinite paused;}
@keyframes vinylSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.is-playing .vinyl-disc{animation-play-state:running;}
.art-center{width:76px;height:76px;border-radius:50%;position:absolute;overflow:hidden;cursor:pointer;z-index:5;box-shadow:0 0 0 2px rgba(168,112,51,.3),0 3px 14px rgba(0,0,0,.7);transition:transform .3s,box-shadow .3s;}
.art-center:hover{transform:scale(1.08);box-shadow:0 0 0 3px var(--amber),0 5px 22px rgba(0,0,0,.85);}
.art-center img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.art-ph{width:100%;height:100%;background:radial-gradient(circle at 40% 35%,#3a2818,#0e0c09);display:flex;align-items:center;justify-content:center;color:var(--amber-dim);font-size:1.4rem;}
.spindle{width:7px;height:7px;border-radius:50%;position:absolute;z-index:6;background:radial-gradient(circle at 40% 35%,#6a6a6a,#1a1a1a);}
.tonearm-wrap{position:absolute;top:-10px;right:-10px;width:82px;height:122px;pointer-events:none;z-index:7;}
.tonearm-pivot{position:absolute;top:3px;right:6px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#888,#2a2a2a);}
.tonearm-arm{position:absolute;top:9px;right:10px;width:4px;height:104px;background:linear-gradient(to bottom,#999,#555);border-radius:3px;transform-origin:50% 6px;transform:rotate(var(--tonearm-angle,6deg));transition:transform .24s linear;}
.tonearm-arm::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:8px;height:9px;background:#999;border-radius:1px;}
.np-row{position:absolute;bottom:-1.2rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.4rem;opacity:0;transition:opacity .4s;white-space:nowrap;}
.is-playing .np-row{opacity:1;}
.np-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:npulse 1.1s ease infinite;}
@keyframes npulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.55);}}
.np-label{font-family:'DM Sans',sans-serif;font-size:.75rem;letter-spacing:.22em;color:var(--amber);}

/* PLAYER INFO */
.player-info{display:flex;flex-direction:column;gap:1rem;}
.player-copy{display:flex;flex-direction:column;gap:.35rem;}
.p-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin:0;}
.p-title{font-family:'Lora',serif;font-size:clamp(1.4rem,3vw,2.1rem);font-weight:700;color:var(--warm-white);line-height:1.04;text-shadow:0 2px 12px rgba(0,0,0,.6);margin:0;}
.p-title em{font-style:italic;color:var(--amber);}
.p-scripture{font-family:'Lora',serif;font-style:italic;font-size:.85rem;color:var(--readable);line-height:1.38;margin:0;}

/* WAVEFORM */
.waveform-head{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-bottom:.45rem;}
.waveform-label{font-family:'DM Sans',sans-serif;font-size:.82rem;letter-spacing:.22em;color:var(--amber);}
.waveform-hint{font-size:.72rem;font-weight:700;color:var(--muted);text-align:right;}
.waveform-wrap{cursor:pointer;user-select:none;}
.waveform-container svg{display:block;width:100%;}
.waveform-time{display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;color:var(--readable);margin-top:.4rem;letter-spacing:.06em;}

/* CONTROLS */
.ctrl-stack{display:flex;flex-direction:column;gap:.75rem;}
.ctrl-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.transport-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.transport-btn{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1.5px solid rgba(168,112,51,.18);padding:.5rem .8rem;color:var(--readable);cursor:pointer;transition:all .2s;border-radius:999px;font-family:'DM Sans',sans-serif;letter-spacing:.12em;}
.transport-btn:hover{border-color:rgba(168,112,51,.5);color:var(--warm-white);background:rgba(168,112,51,.06);}
.ctrl-icon{font-size:.9rem;line-height:1;}
.ctrl-text{font-size:.72rem;}
.play-btn{width:52px;height:52px;border-radius:50%;background:var(--amber);color:#1c1108;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.05rem;box-shadow:0 4px 20px rgba(168,112,51,.4);transition:all .2s;flex-shrink:0;}
.play-btn:hover{transform:scale(1.07);}
.detail-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.loop-btn{display:inline-flex;align-items:center;gap:.45rem;background:none;border:1.5px solid rgba(168,112,51,.25);min-height:36px;padding:0 .8rem;border-radius:999px;color:var(--muted);cursor:pointer;font-size:.78rem;transition:all .2s;flex-shrink:0;font-family:'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;}
.loop-btn.active{border-color:var(--amber);color:var(--amber);background:rgba(168,112,51,.1);}
.speed-wrap{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-wrap:wrap;}
.speed-label{font-family:'DM Sans',sans-serif;font-size:.72rem;letter-spacing:.18em;color:var(--amber-dim);text-transform:uppercase;}
.speed-group{display:flex;gap:2px;flex-wrap:wrap;}
.spd{font-family:'DM Sans',sans-serif;font-size:.75rem;letter-spacing:.1em;padding:.28rem .55rem;background:transparent;border:1px solid rgba(168,112,51,.18);color:var(--muted);cursor:pointer;border-radius:2px;transition:all .2s;}
.spd:hover{border-color:rgba(168,112,51,.5);color:var(--readable);}
.spd.active{background:rgba(168,112,51,.12);border-color:var(--amber);color:var(--amber);}
.volume-wrap{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;}
.volume-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:none;border:1.5px solid rgba(168,112,51,.25);color:var(--readable);cursor:pointer;transition:all .2s;font-size:.9rem;flex-shrink:0;}
.volume-btn:hover{border-color:var(--amber);color:var(--amber);background:rgba(168,112,51,.08);}
.volume-slider{appearance:none;-webkit-appearance:none;width:112px;height:4px;border-radius:999px;background:linear-gradient(to right,var(--amber) 0%,var(--amber) var(--vol-pct,85%),rgba(168,112,51,.18) var(--vol-pct,85%),rgba(168,112,51,.18) 100%);outline:none;cursor:pointer;}
.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--amber);border:none;box-shadow:0 0 0 2px rgba(28,17,8,.9);}
.volume-slider::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--amber);border:none;box-shadow:0 0 0 2px rgba(28,17,8,.9);}
.volume-readout{font-family:'DM Sans',sans-serif;font-size:.72rem;letter-spacing:.16em;color:var(--readable);min-width:42px;text-align:right;}
.lyrics-pill{font-family:'DM Sans',sans-serif;font-size:.88rem;letter-spacing:.18em;padding:.42rem 1rem;background:transparent;border:1.5px solid rgba(168,112,51,.3);color:var(--amber);cursor:pointer;transition:all .2s;border-radius:2px;white-space:nowrap;}
.lyrics-pill:hover{background:rgba(168,112,51,.1);}
@media(max-width:760px){
  .transport-row{justify-content:center;}
  .detail-row{align-items:flex-start;}
  .speed-wrap{margin-left:0;}
}

/* ARCHIVE HEADER */
.archive-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.75rem 0 1rem;padding-bottom:.9rem;border-bottom:1px solid rgba(168,112,51,.14);}
.archive-kicker{font-family:'DM Sans',sans-serif;font-size:.85rem;letter-spacing:.26em;color:var(--amber);}
.archive-summary{margin-top:.3rem;font-family:'Lora',serif;font-size:.92rem;color:var(--readable);}
.archive-focus{max-width:420px;text-align:right;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--muted);line-height:1.5;}
@media(max-width:760px){
  .archive-head{flex-direction:column;align-items:flex-start;}
  .archive-focus{text-align:left;max-width:none;}
}

/* ARCHIVE LIST */
.archive-grid{display:flex;flex-direction:column;gap:1px;background:rgba(0,0,0,.4);}
.a-card{background:linear-gradient(90deg,rgba(71,43,18,.96),rgba(46,30,14,.96));cursor:pointer;position:relative;overflow:hidden;display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:1rem;padding:.9rem 1rem;transition:background .2s,transform .2s,box-shadow .2s;border-left:3px solid transparent;}
.a-card:hover{background:linear-gradient(90deg,#4a2d12,#362111);transform:translateX(2px);}
.a-thumb{width:42px;height:42px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1.5px rgba(168,112,51,.2);}
.a-art{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}
.a-art-ph{width:100%;height:100%;background:radial-gradient(circle at 35% 35%,#3a2218,#0d0b08);display:flex;align-items:center;justify-content:center;color:var(--amber-dim);font-size:.9rem;}
.a-info{min-width:0;display:flex;flex-direction:column;gap:.22rem;}
.a-title{font-family:'Lora',serif;font-size:.96rem;font-weight:700;color:var(--warm-white);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.a-meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:0;}
.a-date{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);}
.a-status{display:none;font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:.18rem .42rem;border-radius:999px;background:rgba(168,112,51,.16);color:var(--amber);}
.a-ref{font-size:.68rem;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.a-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0;}
.a-play{width:32px;height:32px;border-radius:50%;background:rgba(168,112,51,.15);border:1.5px solid var(--amber);display:flex;align-items:center;justify-content:center;color:var(--amber);font-size:.55rem;opacity:.78;transition:opacity .2s,transform .2s;}
.a-card:hover .a-play,.a-card:hover .a-delete{opacity:1;}
.a-delete{width:24px;height:24px;border-radius:50%;background:rgba(164,69,54,.15);border:1px solid rgba(164,69,54,.4);display:none;align-items:center;justify-content:center;color:#ff8060;font-size:.55rem;opacity:0;transition:opacity .2s;cursor:pointer;}
.a-delete:hover{background:rgba(164,69,54,.35);}
body.admin-mode .a-delete{display:flex;}
.a-card.now-playing{background:linear-gradient(90deg,rgba(91,57,18,.98),rgba(51,31,12,.98));border-left-color:var(--amber);box-shadow:inset 0 0 0 1px rgba(168,112,51,.14);}
.a-card.now-playing .a-thumb{box-shadow:0 0 0 2px var(--amber);}
.a-card.now-playing .a-play{opacity:1;background:var(--amber);color:#1c1108;transform:scale(1.04);}
.a-card.now-playing .a-status{display:inline-flex;}
@media(max-width:640px){
  .a-card{grid-template-columns:48px 1fr auto;gap:.75rem;padding:.85rem .8rem;}
}

/* LYRICS MODAL */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:500;display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:none;transition:background .4s;}
.modal-backdrop.open{background:rgba(0,0,0,.9);pointer-events:all;backdrop-filter:blur(14px);}
.lyrics-modal{background:linear-gradient(160deg,#251808,#1a1006,#251808);border:1.5px solid rgba(168,112,51,.2);max-width:620px;width:100%;max-height:85vh;overflow-y:auto;position:relative;transform:scale(.9) translateY(28px);opacity:0;transition:all .42s cubic-bezier(.22,1,.36,1);scrollbar-width:thin;scrollbar-color:var(--amber-dim) transparent;box-shadow:0 24px 80px rgba(0,0,0,.8);}
.modal-backdrop.open .lyrics-modal{transform:scale(1) translateY(0);opacity:1;}
.modal-art-header{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative;background:radial-gradient(circle at 35% 35%,#3a2218,#0d0c0a);}
.modal-art-header img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(1.1);}
.modal-art-overlay{position:absolute;inset:0;background:linear-gradient(to top,#1a1006 0%,rgba(26,16,6,.25) 50%,transparent 100%);}
.modal-title-block{position:absolute;bottom:1.5rem;left:1.5rem;right:3.5rem;}
.modal-title-block .m-date{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:.35rem;}
.modal-title-block h2{font-family:'Lora',serif;font-size:1.85rem;font-weight:700;color:var(--warm-white);line-height:1.1;}
.modal-title-block p{font-family:'Lora',serif;font-style:italic;font-size:.9rem;color:var(--readable);margin-top:.3rem;}
.modal-close{position:absolute;top:1rem;right:1rem;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);border:1.5px solid rgba(168,112,51,.3);color:var(--readable);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s;}
.modal-close:hover{background:rgba(168,112,51,.2);color:var(--amber);}
.modal-body{padding:2rem 2rem 2.5rem;}
.lyrics-label{font-family:'DM Sans',sans-serif;font-size:.9rem;letter-spacing:.3em;color:var(--amber-dim);margin-bottom:1.2rem;padding-bottom:.75rem;border-bottom:1px solid rgba(168,112,51,.14);}
.lyrics-body{font-family:'Lora',serif;font-size:1.06rem;line-height:2;color:var(--off-white);white-space:pre-wrap;}

/* DELETE MODAL */
.del-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:600;display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:none;transition:background .3s;}
.del-modal-bg.open{background:rgba(0,0,0,.88);pointer-events:all;backdrop-filter:blur(10px);}
.del-modal{background:linear-gradient(160deg,#2a1208,#1a0a04);border:1.5px solid rgba(164,69,54,.3);max-width:420px;width:100%;padding:2.5rem;transform:scale(.9) translateY(20px);opacity:0;transition:all .35s cubic-bezier(.22,1,.36,1);box-shadow:0 24px 80px rgba(0,0,0,.85);text-align:center;}
.del-modal-bg.open .del-modal{transform:scale(1) translateY(0);opacity:1;}
.del-icon{font-size:2.2rem;margin-bottom:1rem;}
.del-title{font-family:'Lora',serif;font-size:1.45rem;font-weight:700;color:var(--warm-white);margin-bottom:.45rem;}
.del-sub{font-size:.86rem;font-weight:600;color:var(--readable);line-height:1.6;margin-bottom:1.2rem;}
.del-song-name{font-family:'Lora',serif;font-style:italic;color:var(--amber);display:block;margin-bottom:1.4rem;font-size:.98rem;}
.del-steps{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.8rem;}
.del-step{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(164,69,54,.35);display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-size:.78rem;color:rgba(164,69,54,.4);transition:all .3s;}
.del-step.active{background:rgba(164,69,54,.18);border-color:#e85432;color:#ff8060;}
.del-step.done{background:#e85432;border-color:#e85432;color:#fff;}
.del-step-line{width:36px;height:1.5px;background:rgba(164,69,54,.18);align-self:center;transition:background .3s;}
.del-step-line.done{background:#e85432;}
.del-btn-row{display:flex;gap:.7rem;justify-content:center;}
.del-cancel{font-family:'DM Sans',sans-serif;font-size:.88rem;letter-spacing:.18em;padding:.68rem 1.5rem;background:transparent;border:1.5px solid rgba(64,77,68,.18);color:var(--muted);cursor:pointer;transition:all .2s;border-radius:2px;}
.del-cancel:hover{border-color:var(--readable);color:var(--readable);}
.del-confirm{font-family:'DM Sans',sans-serif;font-size:.88rem;letter-spacing:.18em;padding:.68rem 1.5rem;background:rgba(164,69,54,.14);border:1.5px solid #e85432;color:#ff8060;cursor:pointer;transition:all .2s;border-radius:2px;}
.del-confirm:hover{background:rgba(164,69,54,.28);}
.del-confirm.final{background:#e85432;color:#fff;}
.del-confirm.final:hover{background:#c0432a;}

/* ADMIN */
.admin-wrap{max-width:560px;margin:3rem auto 0;}
.admin-h{font-family:'Lora',serif;font-size:2rem;font-weight:700;color:var(--warm-white);margin-bottom:.35rem;}
.admin-sub{font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:2.5rem;}
.edit-shell{display:none;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;margin-bottom:1.4rem;border:1.5px solid rgba(168,112,51,.22);background:linear-gradient(135deg,rgba(168,112,51,.08),rgba(255,255,255,.03));}
.edit-shell.show{display:flex;}
.edit-copy{min-width:0;}
.edit-kicker{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:.3rem;}
.edit-title{font-family:'Lora',serif;font-size:1rem;font-weight:700;color:var(--warm-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.edit-cancel{flex-shrink:0;font-family:'DM Sans',sans-serif;font-size:.84rem;letter-spacing:.18em;padding:.55rem .95rem;background:transparent;border:1.5px solid rgba(64,77,68,.18);color:var(--readable);cursor:pointer;transition:all .2s;}
.edit-cancel:hover{border-color:var(--amber);color:var(--amber);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:540px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:1.4rem;}
.field label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:.5rem;}
.field input,.field textarea{width:100%;background:rgba(255,255,255,.04);border:1.5px solid rgba(168,112,51,.2);color:var(--warm-white);font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:600;padding:.8rem 1rem;outline:none;transition:border .2s;}
.field input:focus,.field textarea:focus{border-color:var(--amber);}
.field textarea{resize:vertical;min-height:155px;line-height:1.8;}
.field input[type="file"]{padding:.62rem 1rem;cursor:pointer;color:var(--readable);}
.art-preview{margin-top:.75rem;display:none;}
.art-preview.show{display:block;}
.art-preview img{width:76px;height:76px;border-radius:50%;object-fit:cover;border:2px solid var(--amber);}
.submit-btn{width:100%;font-family:'DM Sans',sans-serif;font-size:1.1rem;letter-spacing:.25em;padding:.88rem;background:var(--amber);color:#1c1108;border:none;cursor:pointer;transition:opacity .2s;margin-top:.5rem;box-shadow:0 4px 16px rgba(168,112,51,.3);}
.submit-btn:hover{opacity:.88;}
.submit-btn:disabled{opacity:.35;cursor:not-allowed;}
.up-status{text-align:center;margin-top:.75rem;font-size:.78rem;font-weight:700;color:var(--amber);min-height:1rem;}

/* DRAG & DROP ZONES */
.drop-zone{
  width:100%;
  border:1.5px dashed rgba(168,112,51,.3);
  background:rgba(255,255,255,.02);
  padding:1.4rem 1rem;
  text-align:center;
  cursor:pointer;
  transition:all .2s;
  position:relative;
}
.drop-zone:hover,.drop-zone.drag-over{
  border-color:var(--amber);
  background:rgba(168,112,51,.06);
}
.drop-zone input[type="file"]{
  position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;
}
.drop-zone-icon{font-size:1.4rem;margin-bottom:.4rem;color:var(--amber-dim);}
.drop-zone-text{font-size:.78rem;font-weight:700;color:var(--muted);line-height:1.5;}
.drop-zone-text span{color:var(--amber);text-decoration:underline;}
.drop-zone-filename{
  font-size:.78rem;font-weight:700;color:var(--amber);
  margin-top:.5rem;display:none;
}
.drop-zone-filename.show{display:block;}

/* ARTWORK PREVIEW FROM MP3 */
.extracted-art-wrap{display:none;margin-top:.75rem;align-items:center;gap:.75rem;}
.extracted-art-wrap.show{display:flex;}
.extracted-art-wrap img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--amber);}
.extracted-art-label{font-size:.72rem;font-weight:700;color:var(--amber);}
.admin-library{margin-top:2.6rem;padding-top:2rem;border-top:1px solid rgba(168,112,51,.14);}
.admin-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.admin-library-title{font-family:'Lora',serif;font-size:1.25rem;font-weight:700;color:var(--warm-white);}
.admin-library-sub{font-size:.74rem;font-weight:700;letter-spacing:.08em;color:var(--muted);}
.admin-entry-list{display:grid;gap:.8rem;}
.admin-entry-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:1rem 1.05rem;border:1px solid rgba(168,112,51,.16);background:linear-gradient(120deg,rgba(58,35,16,.95),rgba(34,21,10,.95));}
.admin-entry-card.is-editing{border-color:rgba(168,112,51,.5);box-shadow:0 0 0 1px rgba(168,112,51,.22) inset;}
.admin-entry-main{min-width:0;}
.admin-entry-title{font-family:'Lora',serif;font-size:1rem;font-weight:700;color:var(--warm-white);margin-bottom:.32rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-entry-meta{display:flex;flex-wrap:wrap;gap:.55rem .9rem;font-size:.75rem;font-weight:700;color:var(--muted);}
.admin-entry-meta strong{color:var(--readable);font-weight:700;}
.admin-entry-actions{display:flex;gap:.55rem;flex-shrink:0;}
.admin-entry-btn{font-family:'DM Sans',sans-serif;font-size:.82rem;letter-spacing:.16em;padding:.55rem .9rem;border:1.5px solid rgba(168,112,51,.22);background:transparent;color:var(--readable);cursor:pointer;transition:all .2s;text-transform:uppercase;}
.admin-entry-btn:hover{border-color:var(--amber);color:var(--amber);background:rgba(168,112,51,.06);}
.admin-entry-btn.danger{border-color:rgba(164,69,54,.38);color:#ff9b84;}
.admin-entry-btn.danger:hover{background:rgba(164,69,54,.12);border-color:#e85432;color:#ff8060;}
.admin-entry-empty{padding:1.4rem 1rem;border:1px dashed rgba(168,112,51,.18);text-align:center;font-size:.86rem;color:var(--muted);}
.field-note{display:none;margin-top:.55rem;font-size:.72rem;font-weight:700;color:var(--muted);}
.field-note.show{display:block;}
.gate-wrap{max-width:380px;margin:5rem auto;text-align:center;}
.gate-wrap h2{font-family:'Lora',serif;font-size:2.1rem;font-weight:700;color:var(--warm-white);margin-bottom:.4rem;}
.gate-wrap p{font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:2rem;}
.empty-state{text-align:center;padding:3rem 2rem;}
.empty-state .g{font-size:2.5rem;margin-bottom:1rem;color:var(--amber-dim);}
.empty-state p{font-family:'Lora',serif;font-style:italic;font-size:1.1rem;color:var(--readable);}
#toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));transform:translateX(-50%) translateY(3rem);max-width:min(92vw,34rem);width:max-content;background:var(--amber);color:#1c1108;font-family:'DM Sans',sans-serif;font-size:.9rem;letter-spacing:.2em;line-height:1.35;text-align:center;padding:.8rem 1.2rem;z-index:9999;pointer-events:none;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease,visibility .2s ease;white-space:normal;word-break:break-word;box-shadow:0 4px 20px rgba(168,112,51,.4);opacity:0;visibility:hidden;}
#toast.show{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* Painted journal skin; audio, waveform data and tonearm geometry stay unchanged. */
:root{--bg:#fbf9f2;--wood-mid:#eae6d6;--amber:#895b2d;--amber-dim:#997a43;--warm-white:#344335;--off-white:#414d3f;--readable:#4f5a47;--muted:#626a58;--border:#d1cdbb;--danger:#a44536;--dyn-r:151;--dyn-g:161;--dyn-b:122;--sage:#71815b;--wash:#e7e9d7;--rose:#e9baa5;--ink:#344335;--paper:url('rag-paper.webp');--paint:url('watercolor-field.webp');--coral:#c88065;--sky:#8aaab4;}
:root{--song-hover:#eaf1f5;--song-selected:#d7e6ef;--song-accent:#789caf;--song-accent-ink:#3f6277;}
[hidden]{display:none!important;}
body{background:var(--bg);color:var(--ink);}
body::before{position:absolute;background:var(--paper) repeat;background-size:640px 640px;opacity:.35;}
body::after{display:block;position:absolute;background:var(--paint) center top / 1500px auto repeat;opacity:.45;mix-blend-mode:multiply;}
.grain{display:none;}
.room-bg,.shelf-bg{display:none;}
header{padding:1.35rem max(1.5rem,calc((100vw - 1120px)/2));background:#fffdf65c;border-bottom:1px solid #b5b69e80;backdrop-filter:none;}
.logo-glyph{width:38px;height:48px;border:0;}
.logo-glyph img{width:48px;height:58px;object-fit:contain;}
.logo-wrap{gap:.5rem;}
.logo-name{font-family:'Lora',serif;text-transform:none;font-size:1.6rem;font-weight:600;letter-spacing:.12em;}
.logo-sub{font-size:.59rem;color:var(--muted);letter-spacing:.1em;margin-top:.4rem;}
.hn-btn,.utility-btn{font-size:.75rem;font-weight:600;letter-spacing:.015em;text-transform:none;border-radius:5px;padding:.65rem 1rem;}
.hn-btn{color:var(--readable);}
.hn-btn.active{background:var(--wash);border-color:#c5d1b7;color:var(--ink);}
.utility-btn{background:#fffdf780;color:var(--ink);border:1px solid #cfd5c6;}
.utility-btn:hover{background:#edf2e6;color:var(--ink);border-color:var(--sage);}
.page-wrap{max-width:1120px;padding:0 2rem 4rem;}
.journal-intro{display:grid;grid-template-columns:minmax(0,1fr) 370px;align-items:center;padding:2.4rem 0 2.6rem;gap:3rem;}
.intro-kicker,.section-kicker{font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#797f64;margin-bottom:.7rem;}
.journal-intro h1{font-family:'Lora',serif;font-size:clamp(2.6rem,4.2vw,3.4rem);font-weight:500;line-height:1.13;letter-spacing:-.045em;}
.journal-intro h1 em{font-weight:400;color:#8c7548;}
.intro-copy{max-width:465px;line-height:1.8;font-size:.86rem;margin-top:1.25rem;color:var(--muted);}
.intro-margin{width:100%;display:flex;flex-direction:column;align-items:center;position:relative;transform:rotate(3deg);}
.intro-margin::before{display:none;}
.intro-margin img{height:auto;width:100%;position:relative;}
.intro-margin span,.handwritten{font-family:'Caveat',cursive;font-size:1.55rem;color:#8d7959;text-align:center;line-height:1.1;}
.hero-player{grid-template-columns:260px minmax(0,1fr);padding:2rem 1.3rem 2rem;gap:2.8rem;border:0;border-radius:0;background:transparent;box-shadow:none;position:relative;isolation:isolate;}
.player-info{min-width:0;}
.p-eyebrow{color:#788265;letter-spacing:.13em;font-size:.63rem;}
.p-title{color:var(--ink);font-size:2.6rem;line-height:1.25;letter-spacing:-.04em;margin-top:.45rem;overflow-wrap:anywhere;text-shadow:none;font-weight:600;}
.p-title em{color:var(--ink);}
.p-scripture{font-size:.82rem;margin-top:.55rem;color:#7a775f;}
.player-copy{margin-bottom:1.2rem;}
.waveform-head{margin-bottom:.2rem;}
.waveform-hint{font-size:.7rem;font-weight:500;color:var(--muted);line-height:1.6;}
.waveform-wrap{touch-action:pan-y;border-radius:4px;}
.waveform-wrap:focus-visible,.tt-base:focus-visible,input:focus-visible{outline:2px solid var(--sage);outline-offset:4px;}
.waveform-time{font-size:.66rem;color:#65745d;}
.player-status{font-size:.7rem;color:var(--muted);min-height:1rem;margin-top:.65rem;}
.ctrl-stack{gap:.85rem;margin-top:.5rem;}
.transport-btn,.loop-btn{font-size:.7rem;font-weight:600;letter-spacing:.02em;border:1px solid #a9b292;color:var(--ink);background:#fffdf6b3;padding:.58rem .75rem;min-height:40px;}
.ctrl-icon{font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:700;}
.ctrl-text{font-size:.68rem;letter-spacing:.035em;}
.play-btn{background:#677c51 var(--paper);background-blend-mode:multiply;background-size:200px;color:white;border:1px solid #52613f;box-shadow:0 2px 0 #fffef9b3,inset 0 0 0 3px #b0ba9733;width:52px;height:52px;}
.play-btn:hover{background:#667c56;box-shadow:0 4px 18px #63745430;}
.lyrics-pill{border:1px solid #cbd2ba;font-size:.67rem;letter-spacing:.03em;color:var(--ink);padding:.5rem .7rem;border-radius:4px;}
.volume-btn{background:#fffdf780;border:1px solid #cbd2ba;font-size:.8rem;}
.volume-slider{width:80px;background:linear-gradient(to right,#8b9f78 0%,#8b9f78 var(--vol-pct,85%),#d8ddcf var(--vol-pct,85%),#d8ddcf 100%);}
.volume-slider::-webkit-slider-thumb{background:#8b9f78;box-shadow:none;}
.volume-slider::-moz-range-thumb{background:#8b9f78;}
.volume-readout{font-size:.65rem;letter-spacing:0;min-width:32px;color:var(--muted);}
.detail-row{gap:.7rem;flex-wrap:wrap;}
.speed-wrap{gap:.35rem;}
.speed-label{font-size:.57rem;letter-spacing:.1em;color:var(--muted);}
.spd{font-size:.62rem;letter-spacing:0;color:var(--muted);border:1px solid #d3d8c9;background:#fffdf759;border-radius:3px;padding:.35rem .4rem;min-height:36px;min-width:36px;}
.spd.active{background:#e6ecd9;color:var(--ink);border-color:#9bad86;}
.tt-plinth{background:transparent;box-shadow:none;border-radius:0;isolation:isolate;}
.tt-base{background:transparent;box-shadow:none;}
.vinyl-disc{width:192px;height:192px;background:url('painted-record.webp') center / 105% 105% no-repeat;border-radius:50%;}
.vinyl-grooves{display:none;}
.art-center{box-shadow:0 0 0 2px #e4e7d4,0 3px 12px #4a623a30;}
.art-ph{background:radial-gradient(circle,#f1e4ca,#dcc5a3);color:#9d8451;}
.tonearm-arm{background:#eee2bb var(--paper);background-size:180px;border:1px solid #817954;box-shadow:1px 1px 0 #eee5cb;}
.tonearm-arm::after{background:#77765e;border:1px solid #62634d;border-radius:1px 2px 1px 2px;}
.tonearm-pivot{background:url('painted-pivot.svg') center / 100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;}
.spindle{background:#9d967d;}
.np-row{bottom:.1rem;}
.np-label{font-family:'Caveat',cursive;letter-spacing:.015em;font-size:1rem;color:#758363;}
.np-dot{background:#8b9c78;}
.song-extras{margin:1.4rem 0 2.4rem;}
.song-sharing{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap;padding:.4rem 0 1.4rem;}
.song-sharing .handwritten{margin-right:auto;font-size:1.4rem;transform:rotate(-2deg);}
.song-notes{padding:1.3rem 1.5rem;margin-bottom:1.5rem;border-left:2px solid #d8b899;background:#f7eee16b;}
#songNoteText{white-space:pre-wrap;overflow-wrap:anywhere;font-family:'Lora',serif;font-size:.87rem;line-height:1.85;}
.feedback-section{padding:1.5rem 0 0;border-top:1px dashed #d0d5c5;}
.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.feedback-heading h3,.moderation-panel h3{font-family:'Lora',serif;font-size:1.35rem;font-weight:500;letter-spacing:-.025em;}
.feedback-help,.feedback-privacy{color:var(--muted);font-size:.73rem;line-height:1.7;margin:.65rem 0 1rem;}
.feedback-privacy{font-size:.68rem;max-width:560px;}
#feedbackForm{padding:1.4rem;background:#f3f5eb85;border:1px solid #dee3d2;border-radius:6px;margin-top:1rem;max-width:680px;}
.feedback-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.timestamp-picker{display:flex;align-items:center;gap:.65rem;min-height:46px;flex-wrap:wrap;}
.timestamp-picker output,.timestamp-link{font-variant-numeric:tabular-nums;color:#718461;}
.timestamp-picker .utility-btn{font-size:.67rem;padding:.5rem .7rem;}
#feedbackComment{min-height:100px;}
.feedback-list{display:grid;gap:.7rem;margin-top:1rem;}
.feedback-note{padding:1rem 1.15rem;border:1px solid #e0e2d5;background:#fffdf77d;border-radius:5px;}
.feedback-note-header{display:flex;align-items:center;gap:.65rem;font-size:.73rem;margin-bottom:.55rem;flex-wrap:wrap;}
.timestamp-link{background:#eaf0e1;border:1px solid #ccd8bf;border-radius:4px;padding:.28rem .5rem;font-family:'DM Sans',sans-serif;font-size:.67rem;cursor:pointer;min-height:36px;}
.feedback-note p{font-size:.8rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;}
.feedback-empty{font-family:'Caveat',cursive;font-size:1.2rem;color:#8a8d77;}
.archive-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;margin:2.2rem 0 1rem;align-items:center;border-color:#aaa98a80;column-gap:1.5rem;row-gap:.6rem;}
.archive-kicker{font-size:.7rem;font-weight:600;letter-spacing:.15em;}
.archive-summary{font-size:.82rem;margin-top:.5rem;line-height:1.7;}
.archive-focus{font-size:.7rem;letter-spacing:.01em;max-width:none;grid-column:1;text-align:left;align-self:start;}
.search-wrap{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.69rem;color:var(--muted);}
.search-wrap input{font-family:'DM Sans',sans-serif;background:#fffdf77a;border:1px solid #d8ddcc;padding:.65rem .85rem;border-radius:4px;width:min(100%,320px);font-size:.75rem;color:var(--ink);}
.archive-grid{gap:.6rem;background:transparent;}
.a-card{background:#fffdf66b;border:0;border-bottom:1px solid #b3b49769;border-left:3px solid transparent;border-radius:2px 6px 3px 1px;box-shadow:none;padding:1rem 1rem;}
.a-card:hover,.a-card:focus-visible{background:var(--song-hover) var(--paper);background-size:500px;background-blend-mode:multiply;transform:none;}
.a-card:hover .a-play,.a-card:focus-visible .a-play{background:#d2e3ec;border-color:var(--song-accent);color:var(--song-accent-ink);}
.a-card.now-playing{background:var(--song-selected) var(--paper);background-size:500px;background-blend-mode:multiply;border-color:#adc5d3;border-left-color:var(--song-accent);box-shadow:none;}
.a-card.now-playing .a-play{background:#4e7087;border-color:#4e7087;color:white;}
.a-card.now-playing .a-thumb{box-shadow:0 0 0 2px var(--song-accent);}
.a-title{font-size:.87rem;line-height:1.5;}
.a-meta{margin-top:.25rem;gap:.7rem;}
.a-date{font-size:.56rem;color:#8c7c5c;letter-spacing:.1em;}
.a-status{font-size:.5rem;letter-spacing:.08em;}
.a-ref{font-size:.67rem;color:var(--muted);margin-top:.2rem;}
.a-play{background:#f0f2e6;border:1px solid #bdcbb0;color:#6e835c;opacity:1;}
.a-thumb{box-shadow:0 0 0 1px #d7d5be;}
.a-art-ph{background:#f0e2c6;color:#a38b55;}
.admin-wrap{max-width:740px;margin:2.5rem auto;}
.admin-h{font-size:2.2rem;font-weight:500;letter-spacing:-.04em;line-height:1.25;}
.admin-sub{font-size:.8rem;line-height:1.7;margin-top:.8rem;}
.field label{font-size:.64rem;letter-spacing:.09em;color:#68775a;}
.field label span{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);}
.field input,.field textarea{font-size:.87rem;background:#fffef7e8;border:1px solid #b8bba5;border-radius:3px 5px 3px 4px;color:var(--ink);}
.field input:focus,.field textarea:focus{border-color:#849875;}
.submit-btn{font-size:.8rem;font-weight:600;letter-spacing:.04em;border-radius:3px 6px 4px 3px;background:#657b50 var(--paper);background-size:500px;background-blend-mode:multiply;color:white;border:1px solid #52663e;box-shadow:0 2px 0 #fffef7a3;padding:1rem;}
.submit-btn:disabled{opacity:.6;}
.up-status{font-size:.75rem;line-height:1.6;overflow-wrap:anywhere;color:#667756;}
.drop-zone{border-color:#c4cbae;border-radius:6px;background:#edf1e280;}
.drop-zone:focus-within{outline:2px solid var(--sage);outline-offset:3px;}
.drop-zone-filename{overflow-wrap:anywhere;}
.edit-shell{background:#edf2e4;border-color:#cbd7bf;border-radius:5px;}
.edit-cancel,.admin-entry-btn{font-size:.65rem;letter-spacing:.01em;color:var(--ink);border-color:#cbd3bc;border-radius:4px;}
.admin-entry-card{background:#fffdf780;border-color:#dce0ce;border-radius:5px;}
.admin-entry-title{font-size:.85rem;}
.admin-entry-meta{font-size:.65rem;letter-spacing:0;}
.admin-library-sub{font-size:.65rem;letter-spacing:0;}
.admin-entry-btn.danger{color:#a44536;}
.moderation-panel{padding:2rem 0;border-top:1px dashed #cfd5c6;margin-top:2rem;}
.moderation-actions{display:flex;gap:.5rem;margin-top:.8rem;}
.moderation-status{margin-left:auto;color:#7a806b;font-size:.64rem;}
.gate-wrap h2{font-size:2rem;font-weight:500;}
.gate-wrap p{line-height:1.7;}
.modal-backdrop.open,.del-modal-bg.open{background:#35483c59;backdrop-filter:blur(5px);}
.lyrics-modal,.del-modal{background:linear-gradient(#fffdf77d,#fffdf7ab),var(--paper);background-size:auto,500px;border-color:#a8af93;border-radius:4px 7px 5px 3px;box-shadow:0 20px 70px #35483c35;}
.modal-art-header img{filter:brightness(.9) saturate(.75);}
.modal-art-overlay{background:linear-gradient(to top,#fbf9f2 0%,#fbf9f2d9 28%,#fbf9f211 80%,transparent 100%);}
.modal-title-block h2{color:var(--ink);font-size:1.6rem;overflow-wrap:anywhere;}
.modal-title-block p{color:#657356;}
.modal-close{width:auto;height:auto;font-size:.67rem;padding:.45rem .7rem;border-radius:4px;background:#fffdf7e0;color:var(--ink);border-color:#d1d6c5;}
.lyrics-label{font-size:.67rem;letter-spacing:.12em;}
.lyrics-body{font-size:.95rem;line-height:1.9;color:var(--off-white);overflow-wrap:anywhere;}
.del-modal{padding:2rem;max-height:90vh;overflow:auto;}
.del-song-name{overflow-wrap:anywhere;}
.del-cancel,.del-confirm{font-size:.72rem;letter-spacing:.01em;border-radius:4px;padding:.7rem 1rem;}
.del-cancel{border-color:#d3d7c8;color:var(--muted);}
.del-confirm{background:#f7e9e2;color:#a44536;border-color:#c9a697;}
.del-confirm.final{background:#a44536;color:white;}
#toast{background:#eaf0df;color:var(--ink);border:1px solid #c9d5bc;font-size:.76rem;font-weight:600;letter-spacing:.01em;border-radius:5px;box-shadow:0 4px 20px #35483c15;}
.site-footer{font-size:.6rem;letter-spacing:.08em;padding:1.5rem;}
button:disabled{cursor:not-allowed;}
button:focus-visible,.a-card:focus-visible{outline:2px solid #768b6a;outline-offset:3px;}
.a-card:focus-visible{outline-color:var(--song-accent-ink);}
.skip-link{position:fixed;top:-100px;left:1rem;background:#fffdf7;color:var(--ink);padding:.7rem;z-index:10000;}
.skip-link:focus{top:1rem;}
.noscript-message{text-align:center;padding:2rem;}
.preview-notice{font-size:.8rem;line-height:1.7;padding:1rem;margin-top:1rem;border:1px solid #d8ddca;background:#eff3e5;border-radius:5px;}.preview-notice a{color:var(--amber);}
.shared-song .journal-intro{display:none;}.shared-song .hero-player{margin-top:2rem;}

/* Paint is confined to decoration and quiet surfaces, never laid over text. */
.hero-player::before{display:none;}
.tt-plinth::before{content:'';position:absolute;inset:-10px;background:url('painted-plinth.svg') center / 100% 100% no-repeat;z-index:-1;pointer-events:none;}
.tt-base:focus-visible{outline:2px solid #485c35;outline-offset:6px;}
.tt-base .art-center{box-shadow:0 0 0 2px #f4e7c7,0 0 0 3px #7e795e69;}
.art-center:hover{box-shadow:0 0 0 2px #f4e7c7,0 0 0 3px #677951;}
.np-row{bottom:-.4rem;}
.np-label{color:#526342;}
.waveform-wrap{padding:.35rem 0;}
.waveform-wrap svg rect[fill="#cbd5bb"]{fill:#a6b38c;}
.waveform-wrap svg rect[fill="#83986c"]{fill:#5e7748;}
.utility-btn,.lyrics-pill,.transport-btn,.loop-btn{box-shadow:0 1px 0 #ffffff99;}
.utility-btn:hover,.transport-btn:hover,.loop-btn:hover,.lyrics-pill:hover{background:#ede9d6;color:#344335;border-color:#88956e;}
.utility-btn,.hn-btn{min-height:40px;}
.song-sharing{border-bottom:1px solid #b7b59b70;}
.song-sharing .handwritten{color:#7b6242;font-size:1.55rem;}
.song-notes{background:#f4e1bf66 var(--paper);background-size:500px;background-blend-mode:multiply;border-left:2px solid #bd9869;}
.feedback-section{border-top:0;}
.feedback-help,.feedback-privacy{color:#5e6557;}
#feedbackForm{background:linear-gradient(#e5edf066,#e5edf066),var(--paper);background-size:auto,500px;border-color:#abbfc180;}
.feedback-note{background:#fffdf5ad;border:0;border-bottom:1px solid #b8b9a180;border-left:1px solid #babfaa70;border-radius:1px 5px 3px 4px;}
.timestamp-link{background:#dce6cc;border-color:#8f9e76;color:#435736;}
.feedback-empty{color:#6b715b;}
.archive-botanical{grid-column:2;grid-row:1 / 3;width:220px;height:auto;transform:rotate(-4deg);align-self:center;}
.archive-head>div:first-child{grid-column:1;grid-row:1;align-self:end;}
.archive-kicker{font-family:'Caveat',cursive;font-size:1.65rem;letter-spacing:.01em;color:#866b42;}
.archive-summary{font-size:.87rem;}
.a-title{font-size:.95rem;}
.a-date{font-size:.61rem;color:#7a6342;}
.a-ref{font-size:.72rem;}
.a-status{color:var(--song-accent-ink);background:#ccdfe9;}
.a-play{background:#edf0df;border-color:#8d9f75;color:#536a3e;width:36px;height:36px;}
.writing-heading{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:1.5rem;margin-bottom:2rem;}
.writing-heading .admin-sub{margin-bottom:0;}
.writing-botanical{width:220px;height:auto;transform:rotate(2deg);}
.gate-wrap{margin-top:2rem;}
.gate-botanical{display:block;width:260px;max-width:100%;height:auto;margin:0 auto 1.3rem;}
.lyrics-botanical{display:block;width:250px;max-width:100%;height:auto;margin:2rem auto 0;}
.drop-zone{background:#f2e7c370;border-color:#b19d6d;border-radius:3px 6px 3px 5px;}
.drop-zone:hover,.drop-zone.drag-over{background:#ebddae8c;border-color:#8b7950;}
.admin-entry-card{background:#fffdf69c;border:0;border-bottom:1px solid #acb39680;border-left:1px solid #bac2a280;border-radius:2px 5px 3px 2px;}
.modal-art-header{background:var(--paint) center / cover,var(--paper);background-size:cover,500px;}
.modal-body{background:#fffdf752;}
.del-modal{background:linear-gradient(#faeee794,#fffdf799),var(--paper);background-size:auto,500px;}
.site-footer::before{content:'';display:block;width:100px;height:1px;background:#9498789c;margin:0 auto 1.5rem;transform:rotate(-1deg);}
@media(max-width:1000px){.journal-intro{grid-template-columns:minmax(0,1fr) 300px;gap:1.5rem;}.hero-player{gap:1.8rem;}}
@media(max-width:900px){.hero-player{gap:1.5rem;padding:1.8rem 1.3rem;grid-template-columns:235px minmax(0,1fr);}.speed-wrap{margin-left:0;}}
@media(max-width:760px){header{padding:1rem 1.25rem;gap:.8rem;}.header-right{gap:.45rem;flex-wrap:wrap;}.page-wrap{padding:0 1.25rem 3rem;}.journal-intro{padding:2.4rem 0 2rem;gap:.5rem;}.intro-margin{width:120px;}.intro-margin img{height:110px;width:110px;}.intro-margin span{font-size:1.1rem;}.intro-copy{font-size:.8rem;}.hero-player{grid-template-columns:1fr;gap:.8rem;padding:1.4rem;}.tt-scene{padding-bottom:2rem;}.player-copy{text-align:center;}.p-title{font-size:2.1rem;}.waveform-hint{font-size:.6rem;}.detail-row{justify-content:center;align-items:center;}.feedback-heading{align-items:flex-start;}.feedback-heading .utility-btn{font-size:.65rem;max-width:145px;}.archive-head{gap:.6rem;align-items:flex-start;}.song-sharing .handwritten{width:100%;text-align:left;}.admin-library-head{align-items:flex-start;flex-wrap:wrap;}.admin-entry-card{grid-template-columns:1fr;}.admin-entry-actions{justify-content:flex-start;}.feedback-fields{grid-template-columns:1fr;gap:0;}.modal-backdrop{padding:1rem;}.lyrics-modal{max-height:90vh;}.modal-body{padding:1.4rem;}.modal-title-block{left:1rem;right:1rem;bottom:1rem;}.modal-title-block h2{font-size:1.3rem;}}
@media(max-width:430px){.journal-intro h1{font-size:2.8rem;}.intro-copy{max-width:100%;}.header-right{justify-content:flex-start;}.admin-h{font-size:1.8rem;}.del-btn-row{flex-wrap:wrap;}.waveform-head{justify-content:center;}.waveform-hint{text-align:center;}.search-wrap{flex-wrap:wrap;gap:.4rem;}}
@media(max-width:760px){
  body::before{background-size:520px 520px;}
  body::after{background-size:900px auto;opacity:.4;}
  .page-wrap{padding:0 1.25rem 3rem;}
  .journal-intro{grid-template-columns:1fr;padding:2rem 0 1.4rem;gap:1.4rem;}
  .intro-margin{display:flex;width:min(100%,300px);justify-self:center;transform:rotate(2deg);}
  .intro-margin img{width:100%;height:auto;}
  .intro-margin span{font-size:1.45rem;}
  .hero-player{grid-template-columns:minmax(0,1fr);padding:1rem .2rem 1.5rem;gap:.5rem;}
  .hero-player::before{inset:-.5rem -.75rem;background-size:180% 100%;}
  .player-info{display:contents;}
  .player-copy{grid-row:1;text-align:center;margin-bottom:.5rem;}
  .tt-scene{grid-row:2;padding:.75rem 0 1.8rem;margin-bottom:.3rem;}
  .waveform-head{grid-row:3;margin:0;justify-content:center;}
  .waveform-hint{text-align:center;font-size:.68rem;}
  .waveform-wrap{grid-row:4;min-width:0;}
  .player-status{grid-row:5;text-align:center;margin-top:.3rem;}
  .ctrl-stack{grid-row:6;gap:1rem;margin-top:.3rem;}
  .detail-row{justify-content:center;align-items:center;gap:.8rem;}
  .speed-wrap{margin-left:0;}
  .p-title{font-size:2.2rem;}
  .p-scripture{font-size:.86rem;}
  .archive-head{grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:2rem;}
  .archive-botanical{grid-column:1;grid-row:1;width:min(100%,260px);justify-self:center;transform:rotate(-3deg);margin:0 0 .6rem;}
  .archive-head>div:first-child{grid-column:1;grid-row:2;}
  .archive-focus{grid-row:3;}
  .writing-heading{grid-template-columns:minmax(0,1fr);gap:1rem;}
  .writing-botanical{width:min(100%,260px);justify-self:center;}
  .feedback-heading{align-items:center;gap:.8rem;}
  .feedback-heading .utility-btn{font-size:.72rem;max-width:145px;}
  .feedback-heading h3{font-size:1.3rem;}
  .a-card{grid-template-columns:42px minmax(0,1fr) 36px;gap:.7rem;padding:.85rem .65rem;}
  .a-title{font-size:.9rem;}
  .a-ref{font-size:.68rem;}
  .song-sharing .handwritten{width:100%;text-align:left;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
