:root{--bg: #0c0f16;--text: #e8e4d8;--text-dim: #8a94a8;--text-faint: #5f6b82;--gold: #c9a86a;--line: rgba(255, 255, 255, .08);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", -apple-system, system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.page{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden}.page-content{position:relative;z-index:2;max-width:640px;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 24px 48px}.waber{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.nebula{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.waber:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0f164d}.blob{position:absolute;width:60vmax;height:44vmax;filter:blur(60px);opacity:.72;will-change:transform,border-radius}.blob-1{left:-18%;top:-25%;border-radius:44% 56% 63% 37%/58% 39% 61% 42%;animation:drift1 9s ease-in-out infinite alternate,morph1 13s ease-in-out infinite alternate}.blob-2{right:-22%;top:5%;border-radius:61% 39% 45% 55%/40% 60% 44% 56%;animation:drift2 12s ease-in-out infinite alternate,morph2 15s ease-in-out infinite alternate}.blob-3{left:15%;bottom:-35%;border-radius:38% 62% 55% 45%/62% 44% 56% 38%;animation:drift3 10s ease-in-out infinite alternate,morph3 11s ease-in-out infinite alternate}@keyframes drift1{0%{transform:translate(0) scale(1) rotate(0)}to{transform:translate(9vmax,6vmax) scale(1.25) rotate(14deg)}}@keyframes drift2{0%{transform:translate(0) scale(1.15) rotate(0)}to{transform:translate(-11vmax,4vmax) scale(.9) rotate(-18deg)}}@keyframes drift3{0%{transform:translate(0) scale(1) rotate(0)}to{transform:translate(7vmax,-7vmax) scale(1.3) rotate(11deg)}}@keyframes morph1{0%{border-radius:44% 56% 63% 37%/58% 39% 61% 42%}50%{border-radius:58% 42% 39% 61%/43% 60% 40% 57%}to{border-radius:37% 63% 57% 43%/61% 42% 59% 39%}}@keyframes morph2{0%{border-radius:61% 39% 45% 55%/40% 60% 44% 56%}50%{border-radius:42% 58% 62% 38%/59% 41% 57% 43%}to{border-radius:56% 44% 38% 62%/44% 57% 41% 59%}}@keyframes morph3{0%{border-radius:38% 62% 55% 45%/62% 44% 56% 38%}50%{border-radius:60% 40% 43% 57%/41% 58% 44% 60%}to{border-radius:45% 55% 61% 39%/57% 39% 62% 42%}}@media(prefers-reduced-motion:reduce){.blob{animation:none}}.stars{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.star{position:absolute;border-radius:50%;opacity:.12;animation:twinkle ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.12}50%{opacity:.95}}@media(prefers-reduced-motion:reduce){.star{animation:none;opacity:.5}}.site-title{font-family:var(--serif);font-size:34px;font-weight:500;margin:48px 0 6px;text-align:center;letter-spacing:.02em}.site-sub{color:var(--text-dim);font-size:14px;text-align:center;margin:0 0 56px}.poem-list{display:flex;flex-direction:column;gap:16px}.poem-card{display:block;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#ffffff08;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .3s,transform .3s}.poem-card:hover{border-color:#c9a86a66;transform:translateY(-2px)}.poem-card h2{font-family:var(--serif);font-size:24px;font-weight:500;margin:0 0 4px}.poem-card .meta{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:12.5px}.mood-chip{text-transform:uppercase;letter-spacing:1.5px;font-size:10.5px;color:var(--gold)}.poem-title{font-family:var(--serif);font-size:30px;font-weight:500;text-align:center;margin:40px 0 28px}.poem-body{font-family:var(--serif);font-size:19px;line-height:2;text-align:center;white-space:pre-line}.back-link{display:inline-block;color:var(--text-dim);font-size:13.5px;margin-bottom:8px}.back-link:hover{color:var(--text)}.empty-note{text-align:center;color:var(--text-faint);font-size:14.5px;margin-top:64px}.player{margin-top:8px}.player-controls{display:flex;align-items:center;gap:18px;margin:18px 0 6px}.play-btn{width:64px;height:64px;flex:none;border-radius:50%;border:none;cursor:pointer;background:var(--gold);color:#0c0f16;display:flex;align-items:center;justify-content:center;transition:transform .15s,filter .15s}.play-btn:hover{filter:brightness(1.1)}.play-btn:active{transform:scale(.95)}.play-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}.play-btn svg{margin-left:2px}.player-timeline{flex:1;min-width:0}.seek{width:100%;accent-color:var(--gold);height:6px;cursor:pointer}.seek:focus-visible{outline:2px solid #fff;outline-offset:4px}.player-times{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--text-dim);margin-top:4px;font-variant-numeric:tabular-nums}.player-status{color:var(--gold);font-size:12px;letter-spacing:.4px}.music-vol{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--text-dim);margin:4px 0 8px}.music-vol input{flex:1;max-width:200px;accent-color:var(--gold);height:4px}.music-vol input:focus-visible{outline:2px solid #fff;outline-offset:4px}.poem-lines{font-family:var(--serif);font-size:19px;line-height:1.6;text-align:center;margin-top:26px;padding-bottom:30vh}.poem-line{margin:0;padding:5px 0;color:var(--text-faint);transition:color .7s,transform .7s,text-shadow .7s;cursor:pointer}.poem-line-gap{cursor:default}.poem-line.line-done{color:var(--text-dim)}.poem-line.line-active{color:#f5eeda;transform:scale(1.06);text-shadow:0 0 24px rgba(201,168,106,.35)}@media(prefers-reduced-motion:reduce){.poem-line{transition:color .3s}.poem-line.line-active{transform:none}}.admin-box{max-width:360px;margin:18vh auto 0;padding:32px;border:1px solid var(--line);border-radius:16px;background:#ffffff08}.admin-box h1{font-family:var(--serif);font-size:24px;font-weight:500;margin:0 0 20px}.admin-box input{width:100%;padding:11px 14px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:#0000004d;color:var(--text);font-size:15px}.admin-box input:focus{outline:none;border-color:var(--gold)}.btn{width:100%;padding:11px;border:none;border-radius:10px;background:var(--gold);color:#0c0f16;font-size:15px;font-weight:500;cursor:pointer}.btn:hover{filter:brightness(1.08)}.error-note{color:#e07a6a;font-size:13.5px;margin:0 0 12px}.ok-note{color:#9fd6a5;font-size:13.5px;margin:0 0 12px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 20px}.admin-head h1{font-family:var(--serif);font-size:27px;font-weight:500;margin:0}.admin-actions{display:flex;gap:8px;align-items:center}.btn-sm{width:auto;padding:9px 16px;font-size:13.5px;display:inline-block;text-align:center}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text-dim)}.btn-ghost:hover{color:var(--text);border-color:var(--text-faint);filter:none}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.badge{font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;padding:4px 10px;border-radius:999px;white-space:nowrap}.badge-pub{color:#9fd6a5;border:1px solid rgba(159,214,165,.35)}.badge-draft{color:var(--text-dim);border:1px solid var(--line)}.form-field{margin-bottom:18px}.form-field label{display:block;font-size:12px;letter-spacing:.6px;color:var(--text-dim);margin-bottom:7px}.form-field input[type=text],.form-field textarea,.form-field select,.admin-actions select{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#00000059;color:var(--text);font-size:15px;font-family:var(--sans)}.admin-actions select{width:auto}.form-field textarea{font-family:var(--serif);font-size:17px;line-height:1.8;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.admin-actions select:focus{outline:none;border-color:var(--gold)}.form-field input[type=range]{width:100%;accent-color:var(--gold)}.color-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.color-slot{position:relative;display:inline-flex}.color-slot input[type=color]{width:48px;height:48px;padding:3px;border:1px solid var(--line);border-radius:12px;background:#00000059;cursor:pointer}.mini-btn{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:12px;line-height:1;cursor:pointer}.mini-btn:hover{color:var(--text)}.section{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.section h2{font-family:var(--serif);font-size:21px;font-weight:500;margin:0 0 14px}.section audio{width:100%;margin:10px 0}.hint{font-size:12.5px;color:var(--text-faint);margin:8px 0 0}
