:root{color:#17201b;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}.app-shell{min-height:100vh;padding:32px;background:linear-gradient(135deg,rgba(52,121,94,.12),transparent 42%),linear-gradient(315deg,rgba(43,86,135,.14),transparent 38%),#f4f1ea}.workspace{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:20px;max-width:1180px;margin:0 auto}.panel{border:1px solid #d8d2c5;border-radius:8px;background:#ffffffd1;box-shadow:0 18px 42px #2a241814}.side-panel{display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 64px);padding:24px}.kicker{margin:0 0 8px;color:#39745f;font-size:13px;font-weight:700;text-transform:uppercase}h1{margin:0;font-size:30px;line-height:1.15}.intro{margin:14px 0 0;color:#525950;font-size:15px;line-height:1.65}.field{display:grid;gap:8px;color:#525950;font-size:14px}.field input{width:100%;border:1px solid #c9c1b2;border-radius:6px;padding:12px 13px;background:#fffdf8;color:#17201b}.field small{color:#6f756d;font-size:12px;line-height:1.45}.help-box{border:1px solid #d8d2c5;border-radius:8px;padding:12px 14px;background:#fffdf8;color:#525950;font-size:14px;line-height:1.55}.help-box summary{display:flex;align-items:center;gap:8px;color:#17201b;cursor:pointer;font-weight:700;list-style:none}.help-box summary::-webkit-details-marker{display:none}.help-box p{margin:10px 0 0}.editable-text{display:grid;gap:10px;max-width:760px;color:#525950;font-size:14px}.edit-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.edit-heading span{color:#17201b;font-size:16px;font-weight:800}.edit-heading button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid #2f6f5b;border-radius:7px;padding:0 12px;background:#fffdf8;color:#2f6f5b;cursor:pointer;font-weight:800}.editable-text label{font-weight:700}.editable-text textarea{width:100%;resize:vertical;min-height:78px;border:1px solid #c9c1b2;border-radius:6px;padding:11px 12px;background:#fffdf8;color:#17201b;line-height:1.5}.editable-text textarea[readonly]{border-color:#ded7ca;background:#f8f5ef;color:#17201b;cursor:default}.editable-text button,.retry-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:38px;border:1px solid #2f6f5b;border-radius:7px;padding:0 13px;background:#fffdf8;color:#2f6f5b;cursor:pointer;font-weight:700}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#525950;font-size:14px;font-weight:700}.list-heading button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #c9c1b2;border-radius:7px;padding:0 10px;background:#fffdf8;color:#17201b;cursor:pointer;white-space:nowrap}.text-list{display:grid;gap:10px;overflow:auto}.text-row{display:grid;gap:5px;width:100%;min-height:76px;border:1px solid #ded7ca;border-radius:8px;padding:12px;background:#fffdf8;color:#17201b;text-align:left;cursor:pointer}.text-row span{line-height:1.45}.text-row.selected{border-color:#2f6f5b;box-shadow:inset 0 0 0 1px #2f6f5b}.recorder-panel{display:grid;align-content:start;gap:24px;min-height:calc(100vh - 64px);padding:44px}.prompt{display:grid;gap:16px}.prompt span{width:fit-content;border-radius:999px;padding:7px 12px;background:#e3efe8;color:#2f6f5b;font-size:14px;font-weight:700}.prompt p{margin:0;max-width:760px;font-size:36px;line-height:1.35}.meter{display:grid;grid-template-columns:repeat(8,1fr);align-items:center;gap:8px;width:min(100%,560px);height:110px}.meter i{display:block;width:100%;height:22px;border-radius:6px;background:#cfd8d3;transition:height .18s ease}.meter.active i{animation:pulse .76s ease-in-out infinite alternate;background:#39745f}.meter i:nth-child(2),.meter i:nth-child(7){animation-delay:90ms}.meter i:nth-child(3),.meter i:nth-child(6){animation-delay:.17s}.meter i:nth-child(4),.meter i:nth-child(5){animation-delay:.26s}@keyframes pulse{0%{height:22px}to{height:96px}}.actions{display:flex;flex-wrap:wrap;gap:12px}.actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #bcc5bd;border-radius:7px;padding:0 16px;background:#fffdf8;color:#17201b;cursor:pointer}.actions button.primary{border-color:#2f6f5b;background:#2f6f5b;color:#fff}.actions button:disabled{cursor:not-allowed;opacity:.48}audio{width:min(100%,560px)}.status{min-height:24px;margin:0;color:#525950}.admin-shell{min-height:100vh;padding:28px;background:#f4f1ea}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1280px;margin:0 auto 18px}.admin-header button,.admin-tabs button,.admin-filters button,.text-create button,.record-actions button,.admin-footer button,.admin-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #c9c1b2;border-radius:7px;padding:0 12px;background:#fffdf8;color:#17201b;cursor:pointer;font-weight:700}.admin-primary{border-color:#2f6f5b;background:#2f6f5b;color:#fff}.admin-login{display:grid;gap:18px;max-width:420px;margin:10vh auto 0;padding:28px}.admin-tabs{display:flex;gap:8px;max-width:1280px;margin:0 auto 16px}.admin-tabs button.active{border-color:#2f6f5b;background:#2f6f5b;color:#fff}.text-create{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(180px,260px) auto;gap:12px;max-width:1280px;margin:0 auto 16px;padding:16px}.text-create label{display:grid;gap:6px;color:#525950;font-size:13px;font-weight:700}.text-create textarea,.text-create select{width:100%;min-height:38px;border:1px solid #c9c1b2;border-radius:6px;padding:9px 10px;background:#fffdf8;color:#17201b;line-height:1.45}.text-create button{align-self:end}.admin-filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr)) auto auto;gap:12px;max-width:1280px;margin:0 auto 16px;padding:16px}.admin-filters label{display:grid;gap:6px;color:#525950;font-size:13px;font-weight:700}.admin-filters input,.admin-filters select{min-height:38px;border:1px solid #c9c1b2;border-radius:6px;padding:0 10px;background:#fffdf8;color:#17201b}.admin-filters button{align-self:end}.admin-player{display:flex;align-items:center;gap:12px;max-width:1280px;margin:0 auto 16px;padding:12px 16px}.admin-player span{color:#2f6f5b;font-weight:800}.admin-list{display:grid;gap:12px;max-width:1280px;margin:0 auto}.admin-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px}.record-main{display:grid;gap:8px;min-width:0}.record-main p{margin:0;color:#17201b;font-size:17px;line-height:1.5}.text-pair{display:grid;gap:7px}.text-pair p{display:grid;gap:3px;margin:0}.text-pair b{color:#62695f;font-size:12px}.record-main small{color:#62695f;line-height:1.4}.r2-key{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.record-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#62695f;font-size:13px}.record-meta strong{color:#17201b}.badge{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.badge.pending{background:#eef0d8;color:#6a5f12}.badge.approved{background:#e1efe6;color:#2f6f5b}.badge.rejected{background:#f4e1df;color:#9a352c}.record-actions{display:grid;align-content:start;gap:8px}.record-actions button.danger{border-color:#d8aaa5;color:#9a352c}.admin-footer{display:flex;align-items:center;justify-content:center;gap:14px;max-width:1280px;margin:18px auto 0;color:#525950}.admin-footer button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:760px){.app-shell{padding:14px}.workspace{grid-template-columns:1fr}.side-panel,.recorder-panel{min-height:auto;padding:20px}.prompt p{font-size:26px}.list-heading{align-items:flex-start;flex-direction:column}.editable-text button,.retry-button{width:100%}.admin-shell{padding:14px}.admin-header,.admin-player,.admin-record{align-items:stretch;grid-template-columns:1fr}.admin-header,.admin-player{flex-direction:column}.admin-filters,.text-create{grid-template-columns:1fr}.record-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.record-actions button{width:100%}}
