html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#fffaf0;--surface:#fffef9;--surface-strong:#f7efe0;--ink:#1d1a16;--muted:#766f65;--line:#dfd4c3;--teal:#0f766e;--teal-dark:#0b5d57;--coral:#d8583c;--coral-soft:#fff0ea;--gold:#c58c24;--shadow:0 18px 60px #392b191f;--focus:0 0 0 3px #0f766e47}html{min-height:100%}body{background:linear-gradient(135deg, #0f766e14, transparent 36%), linear-gradient(315deg, #d8583c1a, transparent 34%), var(--paper);min-height:100%;color:var(--ink);text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,select{font:inherit}button{border:0}a{color:inherit}ul{list-style:none}:focus{outline:none}:focus-visible{box-shadow:var(--focus);outline:none}.app-shell{min-height:100vh}.skip-link{background:var(--ink);color:var(--surface);z-index:20;border-radius:0 0 8px;padding:12px 16px;font-weight:800;position:absolute;top:-100px;left:0}.skip-link:focus{top:0}.login-screen,.archive-screen{min-height:100vh;padding:28px}.login-screen{justify-content:center;align-items:center;display:flex}.login-panel,.workspace{box-shadow:var(--shadow);background:#fffef9eb;border:1px solid #dfd4c3e0}.login-panel{border-radius:8px;width:100%;max-width:440px;padding:34px}.login-heading{margin-top:18px}.workspace{border-radius:8px;max-width:1120px;min-height:calc(100vh - 56px);margin:0 auto;overflow:hidden}.workspace-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.brand-row{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{background:var(--ink);border-radius:8px;grid-template-columns:repeat(3,1fr);align-items:end;gap:4px;width:46px;height:46px;padding:10px;display:grid}.brand-mark span{background:var(--paper);border-radius:999px 999px 2px 2px;display:block}.brand-mark span:first-child{height:16px}.brand-mark span:nth-child(2){background:var(--gold);height:24px}.brand-mark span:nth-child(3){background:var(--coral);height:20px}.eyebrow{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:900}h1,h2{letter-spacing:0;line-height:1.12}h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:900}h2{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:850}.user-actions{align-items:center;gap:12px;display:flex}.user-actions span{color:var(--muted);font-size:.92rem;font-weight:800}.button{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:850;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.62;transform:none}.button-primary{background:var(--teal);color:#fff}.button-primary:hover{background:var(--teal-dark)}.button-ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.button-ghost:hover{background:var(--surface-strong)}.stacked-form,.entry-form,.toolbar{gap:16px;display:grid}.stacked-form{margin-top:28px}.legal-links{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px;padding-top:18px;display:flex}.legal-links a{color:var(--muted);font-size:.86rem;font-weight:800;text-decoration:none}.legal-links a:hover{color:var(--teal)}.workspace-legal{background:var(--surface);margin-top:0;padding:18px 24px}label{color:var(--ink);gap:7px;font-size:.88rem;font-weight:850;display:grid}input,select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;min-height:46px;padding:0 13px}input::placeholder{color:#a69b8b}input:focus,select:focus{border-color:var(--teal);box-shadow:var(--focus)}.entry-panel,.library-panel{padding:24px}.entry-panel{background:var(--surface-strong);border-bottom:1px solid var(--line);gap:22px;display:grid}.entry-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.library-panel{background:var(--surface)}.library-topbar{justify-content:space-between;align-items:end;gap:20px;display:flex}.counter{background:var(--ink);color:var(--surface);border-radius:8px;align-items:baseline;gap:8px;min-width:118px;padding:10px 14px;display:inline-flex}.counter strong{font-size:1.5rem;line-height:1}.counter span{color:#fffef9b8;font-size:.85rem;font-weight:800}.toolbar{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 190px;margin-top:22px;padding-bottom:18px}.song-list{display:grid}.song-list li{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:14px;min-height:74px;padding:14px 0;display:grid}.song-list li:last-child{border-bottom:0}.song-index{background:var(--coral-soft);color:var(--coral);border:1px solid #f3cabb;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:900;display:flex}.song-meta{min-width:0}.song-meta strong{overflow-wrap:anywhere;font-size:1.02rem;line-height:1.25;display:block}.song-meta span{color:var(--muted);margin-top:4px;font-size:.86rem;display:block}.icon-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:background .16s,color .16s;display:inline-flex}.danger-button{color:#9b2f1e;background:#fff4ef}.danger-button:hover{background:#ffe1d6}.message,.empty-state,.loading-state{border-radius:8px;padding:13px 14px;font-size:.94rem;font-weight:750}.message-error{color:#9b2f1e;background:#fff1f0;border:1px solid #ffc7c0}.empty-state,.loading-state{background:var(--paper);border:1px dashed var(--line);color:var(--muted);margin-top:18px}.loading-state{text-align:center;max-width:320px;margin:20vh auto 0}@media (width<=760px){.login-screen,.archive-screen{padding:14px}.login-panel,.workspace-header,.entry-panel,.library-panel{padding:20px}.workspace{min-height:calc(100vh - 28px)}.workspace-header,.library-topbar{flex-direction:column;align-items:stretch}.user-actions{justify-content:space-between}.entry-form,.toolbar{grid-template-columns:1fr}.entry-form .button{width:100%}}@media (width<=460px){.brand-row{align-items:flex-start}.brand-mark{flex:none}.user-actions{flex-direction:column;align-items:stretch}.song-list li{grid-template-columns:38px minmax(0,1fr) 40px}.song-index{width:38px;height:38px}}
