@import "https://fonts.googleapis.com/css2?family=Assistant:wght@400;600;700&family=Frank+Ruhl+Libre:wght@500;700&display=swap";:root{--ink:#1c2420;--ink-soft:#3d4a43;--paper:#e8efe8;--paper-deep:#d5e0d6;--surface:#fffcf7e0;--surface-solid:#fffdf9;--panel:#f7faf7;--panel-live:#fff6f4;--panel-ready:#f3faf5;--btn-record-bg:#fff4f2;--btn-stop-bg:#fff;--btn-reset-bg:#fff8eb;--btn-reset-ink:#7a5410;--muted-icon:#5c6560;--line:#1c24201f;--accent:#0f6a5c;--accent-deep:#0a4d43;--accent-tint:#0f6a5c14;--accent-ring:#0f6a5c26;--record:#b42318;--record-tint:#b4231814;--ready:#1f6b3a;--shadow:0 18px 40px #1c242014;--btn-shadow:0 2px 8px #1c24200f;--btn-shadow-hover:0 4px 14px #1c24201a;--on-accent:#f7fffb;--body-glow-1:#cfe4d8;--body-glow-2:#f0e6d4;--body-top:#eef4ef;--body-bottom:#e2ebe3;--touch-min:3.25rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:Assistant,Segoe UI,Tahoma,sans-serif;font-size:18px;font-weight:400;line-height:1.5}[data-theme=dark]{--ink:#e6efe9;--ink-soft:#a7b6ae;--paper:#101613;--paper-deep:#1a221e;--surface:#1a221eeb;--surface-solid:#1c2420;--panel:#1a221e;--panel-live:#2a1c1a;--panel-ready:#1a2a20;--btn-record-bg:#3a2220;--btn-stop-bg:#24302b;--btn-reset-bg:#2e2a1c;--btn-reset-ink:#e0c47a;--muted-icon:#9aa89f;--line:#e6efe924;--accent:#3dbaa3;--accent-deep:#7dd3c0;--accent-tint:#3dbaa324;--accent-ring:#3dbaa347;--record:#f07167;--record-tint:#f0716724;--ready:#6bcf8e;--shadow:0 18px 40px #0006;--btn-shadow:0 2px 8px #00000047;--btn-shadow-hover:0 4px 14px #00000061;--on-accent:#061410;--body-glow-1:#1a3a30;--body-glow-2:#2a2418;--body-top:#121816;--body-bottom:#0c100e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] input[type=text],[data-theme=dark] input[type=password],[data-theme=dark] input[type=date],[data-theme=dark] input:not([type]),[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] .add-form__input,[data-theme=dark] .add-form__date,[data-theme=dark] .add-form__date:read-only,[data-theme=dark] .admin-transcripts__textarea,[data-theme=dark] .debug-log__textarea{background:#111a15}[data-theme=dark] .btn--ghost,[data-theme=dark] .admin-edit,[data-theme=dark] .admin-delete,[data-theme=dark] .recorder__reset-btn,[data-theme=dark] .add-form__date-picker-btn,[data-theme=dark] .recorder__reset-btn:hover,[data-theme=dark] .recorder__reset-btn:active{background:#363636}*{box-sizing:border-box}html{direction:rtl}body{background:radial-gradient(1200px 500px at 90% -10%, var(--body-glow-1) 0%, transparent 55%), radial-gradient(900px 420px at 0% 0%, var(--body-glow-2) 0%, transparent 50%), linear-gradient(180deg, var(--body-top) 0%, var(--body-bottom) 100%);min-width:320px;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-left) env(safe-area-inset-bottom) env(safe-area-inset-right);margin:0}#root{min-height:100dvh}button,input,select{font:inherit}.app{width:min(960px,100% - 1.5rem);margin:0 auto;padding:1.25rem 0 2.5rem}.admin-version{top:max(.35rem, env(safe-area-inset-top));left:max(.45rem, env(safe-area-inset-left));z-index:30;color:var(--ink-soft);opacity:.72;pointer-events:none;margin:0;font-size:.72rem;font-weight:400;line-height:1.2;position:fixed}.topbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;animation:.55s both rise;display:flex}.topbar__actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}a.btn{justify-content:center;align-items:center;gap:.45rem;text-decoration:none;display:inline-flex}.brand__mark{letter-spacing:0;color:var(--ink);margin:0;font-family:Frank Ruhl Libre,serif;font-size:clamp(2.1rem,5vw,3rem);font-weight:700}.brand__sub{color:var(--ink-soft);margin:.25rem 0 0;font-size:1.05rem}.main{gap:1.15rem;animation:.7s both rise;display:grid}.add-form{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.1rem 1.2rem}.add-form--dialog{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:0}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.add-form__label{color:var(--ink-soft);margin:0;font-weight:700;display:block}.add-form__fields{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.add-form__group{flex:12rem;gap:.45rem;min-width:0;display:grid}.add-form__group:has(.add-form__date-wrap){flex:0 14rem}.add-form__actions{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.add-form__input{width:100%;min-width:0;min-height:var(--touch-min);border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);border-radius:0;outline:none;padding:.85rem 1rem;font-size:1.05rem}.add-form__date-wrap{align-items:center;display:flex;position:relative}.add-form__date{width:100%;min-height:var(--touch-min);border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);cursor:pointer;outline:none;padding-block:.85rem;padding-inline:.75rem 2.75rem;font-size:1.05rem}.add-form__date:read-only{background:var(--surface-solid);color:var(--ink)}.add-form__date-native{opacity:0;pointer-events:none;width:2.75rem;height:100%;position:absolute;inset-inline-end:0}.add-form__date-picker-btn{inset-inline-end:.35rem;width:2.2rem;height:2.2rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.add-form__date-picker-btn svg{width:1.35rem;height:1.35rem;display:block}.add-form__date-picker-btn:hover,.add-form__date-picker-btn:active{color:var(--accent-deep);background:var(--accent-tint)}.add-form__date:focus,.add-form__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.btn{background:var(--paper-deep);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--btn-shadow);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.56rem .86rem;font-weight:700;transition:transform .15s,background .15s,opacity .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled),.btn:active:not(:disabled){box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}.btn--touch{min-height:var(--touch-min);min-width:7.5rem;padding:.68rem 1.01rem;font-size:1.08rem}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--small{min-height:2.5rem;padding:.34rem .6rem;font-size:.95rem}.btn--ghost{border-color:var(--line);color:var(--ink-soft);background:0 0}.btn--add,.btn--mail{background:var(--accent);color:var(--on-accent)}.btn--add:hover:not(:disabled),.btn--mail:hover:not(:disabled),.btn--add:active:not(:disabled),.btn--mail:active:not(:disabled){background:var(--accent-deep)}.btn--mail{min-width:8rem}.btn--record{background:var(--btn-record-bg);color:var(--record);border-color:#b4231847}.btn--stop{background:var(--btn-stop-bg);border-color:var(--line);min-width:7.5rem}.btn--reset{background:var(--btn-reset-bg);color:var(--btn-reset-ink);border-color:#8c641e40}.btn--reset-sm{min-height:calc(var(--touch-min) * .9);min-width:6.75rem;padding:.61rem .9rem;font-size:.97rem}.btn__icon{flex:none;width:1.3rem;height:1.3rem;display:block}.name-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.name-row{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);gap:.85rem;padding:1.15rem 1.2rem;animation:.45s both rise;display:grid}.name-row__save-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.name-row__save-row .name-row__identity{flex:auto;min-width:0}.name-row__save-row .recorder__record-btn{flex:none}.name-row--admin.name-row--has-recording{background:#ffd08a;border-color:#c4680c59}[data-theme=dark] .name-row--admin.name-row--has-recording{background:#2b4309;border-color:#ffc47866}.name-row__identity{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.55rem 1rem;display:flex}.name-row__name{font-family:Frank Ruhl Libre,serif;font-size:clamp(1.35rem,3vw,1.7rem);font-weight:500}.name-row__crown{color:#d4a017;flex:none;align-items:center;display:inline-flex}[data-theme=dark] .name-row__crown{color:#f0c84a}.name-row__crown-icon{width:1.35rem;height:1.35rem;display:block}.name-row__clean-days{color:var(--accent-deep);white-space:nowrap;font-size:1.05rem;font-weight:700}.name-row__recording-saved{color:var(--ready);white-space:nowrap;font-size:.95rem;font-weight:700}.name-row__admin-row{direction:ltr;align-items:center;gap:.75rem;display:flex}.name-row__admin-row .name-row__identity{direction:rtl;flex:1;min-width:0}.name-row__admin-actions{flex:none;order:-1;align-items:center;gap:.25rem;display:inline-flex}.admin-edit,.admin-delete{width:2.6rem;height:2.6rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,transform .15s,opacity .15s;display:inline-flex}.admin-edit:hover,.admin-edit:active{color:var(--accent-deep);background:var(--accent-tint);transform:translateY(-1px)}.admin-delete:hover,.admin-delete:active{background:var(--record-tint);opacity:.85;transform:translateY(-1px)}.admin-edit__icon{width:1.35rem;height:1.35rem;display:block}.admin-delete__icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:1.1rem;height:1.1rem;display:block}.admin-transcripts{gap:.85rem;display:grid}.admin-transcripts__actions{flex-wrap:wrap;align-items:flex-start;gap:.65rem;display:flex}.admin-transcripts__create{flex-direction:column;flex:100%;align-items:stretch;gap:.45rem;width:100%;min-width:0;display:flex}.admin-transcripts__create .btn{width:100%}.admin-transcripts__form{gap:.85rem;display:grid}.admin-transcripts__textarea{border:1px solid var(--line);background:var(--surface-solid);width:100%;min-height:16rem;color:var(--ink);font:inherit;resize:vertical;box-shadow:var(--shadow);white-space:pre-wrap;outline:none;padding:1rem 1.1rem;font-size:1.05rem;line-height:1.55}.admin-transcripts__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.recorder{gap:.8rem;display:grid}.recorder__player-wrap{border:1px solid var(--line);background:var(--panel);gap:.55rem;padding:.65rem .75rem;display:grid}.recorder__player-wrap--live{background:var(--panel-live);border-color:#b4231859;animation:1.1s ease-in-out infinite bar-pulse}.recorder__player-wrap--ready{background:var(--panel-ready);border-color:#1f6b3a47}.recorder__player-row{direction:ltr;align-items:center;gap:.65rem;display:flex}.recorder__record-btn{background:var(--btn-record-bg);width:3rem;height:3rem;color:var(--record);cursor:pointer;box-shadow:var(--btn-shadow);border:2px solid #b4231859;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.recorder__record-btn--solo{justify-self:left;width:3.4rem;height:3.4rem}.recorder__record-btn:hover:not(:disabled),.recorder__record-btn:active:not(:disabled){box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}.recorder__record-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.recorder__record-btn--stop{border-color:var(--line);background:var(--btn-stop-bg);color:var(--ink)}.recorder__icon-svg{width:2.3rem;height:2.3rem;display:block}.recorder__player{border-radius:999px;flex:1;width:100%;min-width:0;height:3.25rem}.recorder__player-spacer{flex:1;min-width:0}.recorder__reset-btn{width:auto;height:auto;color:var(--muted-icon);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:0;flex:none;justify-content:center;align-items:center;margin-inline-start:auto;padding:.25rem;transition:transform .15s,opacity .15s,filter .15s;display:inline-flex}.recorder__reset-btn .recorder__icon-img--trash{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:1.1rem;height:1.1rem;display:block}[data-theme=dark] .recorder__icon-img--trash,[data-theme=dark] .admin-delete__icon{filter:invert()brightness(1.15)}.recorder__reset-btn:hover,.recorder__reset-btn:active{box-shadow:none;opacity:.85;background:0 0;transform:translateY(-1px)}.recorder__transcript{color:var(--ink);white-space:pre-line;overflow-wrap:anywhere;text-align:right;direction:rtl;margin:0;font-size:15px}.recorder__transcript-pending{color:var(--ink-soft);text-align:right;direction:rtl;justify-content:flex-start;align-items:center;gap:.5rem;margin:0;font-size:15px;display:flex}.recorder__spinner{border:2px solid var(--line);border-top-color:var(--accent,#1f6b3a);border-radius:50%;flex:none;width:1.05rem;height:1.05rem;animation:.7s linear infinite recorder-spin}@keyframes recorder-spin{to{transform:rotate(360deg)}}.recorder__status{color:var(--record);text-align:right;white-space:pre-line;direction:rtl;margin:0;font-size:.98rem;font-weight:700}.status{background:var(--accent-tint);border:1px solid var(--accent-ring);color:var(--accent-deep);margin:0;padding:.9rem 1rem;font-size:1.02rem}.muted{color:var(--ink-soft);margin:0;font-size:1.05rem}.names-loading{z-index:8000;padding:max(1.25rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));background:radial-gradient(1200px 500px at 90% -10%, var(--body-glow-1) 0%, transparent 55%), radial-gradient(900px 420px at 0% 0%, var(--body-glow-2) 0%, transparent 50%), linear-gradient(180deg, var(--body-top) 0%, var(--body-bottom) 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;display:flex;position:fixed;inset:0}.names-loading__orbit{width:7.25rem;height:7.25rem;position:relative}.names-loading__ring{border:3px solid var(--accent-ring);border-top-color:var(--accent);border-radius:50%;animation:1.05s linear infinite names-loading-spin;position:absolute;inset:0}.names-loading__ring--inner{border-width:2px;border-top-color:#0000;border-right-color:var(--accent-deep);animation-duration:1.7s;animation-direction:reverse;inset:.9rem}.names-loading__core{background:var(--accent);opacity:.85;border-radius:50%;animation:1.35s ease-in-out infinite names-loading-pulse;position:absolute;inset:32%}.names-loading__brand{color:var(--ink);margin:0;font-family:Frank Ruhl Libre,serif;font-size:clamp(1.85rem,5vw,2.5rem);font-weight:700;animation:1.35s ease-in-out infinite names-loading-fade}.names-loading__label{color:var(--ink-soft);margin:0;font-size:1.12rem;font-weight:600}@keyframes names-loading-spin{to{transform:rotate(360deg)}}@keyframes names-loading-pulse{0%,to{opacity:.55;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}@keyframes names-loading-fade{0%,to{opacity:.72}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.names-loading__ring,.names-loading__core,.names-loading__brand{animation:none}.names-loading__core{opacity:.85;transform:none}.names-loading__brand{opacity:1}}.error-text{color:var(--record);margin:0;font-size:1rem}.recording-overlay{z-index:10000;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1.25rem, env(safe-area-inset-bottom));background:#000;flex-direction:column;align-items:center;gap:.85rem;display:flex;position:fixed;inset:0;overflow:hidden}.recording-overlay__controls{flex-flow:row;flex:none;justify-content:space-between;align-items:center;gap:.65rem .85rem;width:100%;display:flex}.recording-overlay__who{flex-direction:column;flex:auto;align-items:flex-start;gap:.12rem;min-width:0;display:flex}.recording-overlay__who-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(1.05rem,3.4vw,1.4rem);font-weight:700;line-height:1.2;overflow:hidden}.recording-overlay__who-days{color:#ffffffb8;white-space:nowrap;font-size:.95rem;font-weight:600;line-height:1.2}.recording-overlay__emotions{flex:auto;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:.55rem .35rem;width:min(100%,52rem);min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.recording-overlay__emotions>li{min-width:0}.recording-overlay__emotion{width:100%;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;justify-items:center;gap:.2rem;margin:0;padding:.23rem .11rem .21rem;display:grid}.recording-overlay__emotion.is-marked{border-color:#fff}.recording-overlay__emotion:focus-visible{outline-offset:2px;outline:2px solid #ffffffb3}.recording-overlay__emotion-icon{font-size:calc(clamp(2.9rem,9vw,4rem)/1.17647);line-height:1}@media (width>=721px){.recording-overlay__emotion-icon{font-size:calc(clamp(2.9rem,9vw,4rem)/1.56863)}}.recording-overlay__emotion-label{color:#ffffffe0;font-size:1.224rem;font-weight:600;line-height:1.2}.recording-overlay__emotion.is-heard{border-color:#7cfc00}.recording-overlay__emotion-label.is-heard{color:#7cfc00;font-weight:800}@media (width<=720px){.recording-overlay__emotions{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem .3rem}}@media (width<=480px){.recording-overlay__emotions{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem .25rem}.recording-overlay__emotion-label{font-size:1.105rem}}.recording-overlay__timer{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.02em;flex:none;margin:0;font-size:clamp(2.7rem,9vw,4.5rem);font-weight:700;line-height:1}.recording-overlay__stop{color:#fff;font:inherit;white-space:nowrap;cursor:pointer;background:#d32f2f;border:none;border-radius:8px;flex:none;min-width:0;min-height:3.1rem;padding:.55rem 1.15rem;font-size:1.05rem;font-weight:700;transition:transform .15s,background .15s;box-shadow:0 8px 24px #d32f2f59}.recording-overlay__stop:hover,.recording-overlay__stop:active{background:#b71c1c;transform:translateY(-1px)}.confirm-overlay{z-index:11000;background:#0000008c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface-solid);border:1px solid var(--line);width:min(100%,26rem);box-shadow:var(--shadow);gap:1.25rem;padding:1.4rem 1.35rem;display:grid}.form-dialog{background:var(--surface-solid);border:1px solid var(--line);width:min(100%,32rem);box-shadow:var(--shadow);gap:1.15rem;padding:1.4rem 1.35rem;display:grid}.form-dialog__title{text-align:center;color:var(--ink);margin:0;font-size:1.25rem;font-weight:700}.form-dialog .add-form__fields{flex-direction:column;align-items:stretch}:is(.form-dialog .add-form__group,.form-dialog .add-form__group:has(.add-form__date-wrap),.form-dialog .add-form__actions){flex:auto}.confirm-dialog__message{text-align:center;color:var(--ink);margin:0;font-size:1.2rem;font-weight:700;line-height:1.45}.confirm-dialog__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.confirm-dialog__actions .btn{min-width:7rem}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%{box-shadow:0 0 #b4231873}70%{box-shadow:0 0 0 10px #b4231800}to{box-shadow:0 0 #b4231800}}@keyframes bar-pulse{0%,to{filter:brightness()}50%{filter:brightness(.97)}}@media (width<=720px){.app{width:min(100% - 1rem,960px);padding-top:1rem}.topbar{flex-direction:column;align-items:stretch}.topbar__actions{flex-direction:column}.topbar__actions .btn,.btn--mail,.btn--add,.btn--touch{width:100%}.add-form__fields{flex-direction:column;align-items:stretch}:is(.add-form__group,.add-form__group:has(.add-form__date-wrap),.add-form__actions){flex:auto}.add-form__actions .btn{width:100%}}@media (width>=721px) and (width<=1200px){.app{width:min(100% - 2rem,980px)}.btn--touch{min-height:3.5rem;font-size:1.12rem}.name-row{padding:.25rem 1.35rem}}.debug-log{border:1px solid var(--line);background:var(--surface-solid);width:min(960px,100% - 1.5rem);box-shadow:var(--shadow);margin:0 auto 1.5rem;padding:1rem 1.1rem 1.15rem}.debug-log__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.75rem;display:flex}.debug-log__title{margin:0;font-size:1.05rem;font-weight:700}.debug-log__textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:12rem;max-height:30vh;color:var(--ink);resize:vertical;white-space:pre;outline:none;padding:.75rem .85rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45;overflow:auto}.debug-log__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
