:root{--green: #1b7a3d;--green-dark: #135c2d;--green-tint: rgba(27, 122, 61, .1);--ink: #1c1b17;--muted: #6b665c;--line: rgba(28, 27, 23, .09);--low: #2e9e5b;--low-soft: rgba(46, 158, 91, .16);--medium: #e8a317;--medium-soft: rgba(232, 163, 23, .18);--high: #d64545;--high-soft: rgba(214, 69, 69, .14);--red: #c62828;--red-dark: #9f1d1d;--violet: #5b4bb7;--violet-soft: rgba(91, 75, 183, .12);--bg: #f1f5ee;--glass: rgba(255, 255, 255, .62);--glass-strong: rgba(255, 255, 255, .86);--glass-border: rgba(255, 255, 255, .8);--glass-shadow: 0 12px 32px -16px rgba(30, 60, 40, .3), inset 0 1px 0 rgba(255, 255, 255, .85);--blur: blur(20px) saturate(170%);--radius: 20px;--radius-sm: 12px;--sidebar: 264px;color-scheme:light}*{box-sizing:border-box}html{font-size:15px;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,sans-serif;color:var(--ink);line-height:1.45;-webkit-font-smoothing:antialiased;background:var(--bg);background-image:radial-gradient(55vmax 55vmax at 105% -10%,rgba(27,122,61,.18),transparent 60%),radial-gradient(45vmax 45vmax at -10% 110%,rgba(232,163,23,.14),transparent 60%),linear-gradient(180deg,#edf6ef,#f6f3ec 60%,#f1efe7);background-attachment:fixed}h1{font-size:1.7rem;line-height:1.2;margin:.2rem 0 .3rem;letter-spacing:-.015em}h2{font-size:1.15rem;margin:0 0 .6rem}h3{font-size:1rem;margin:1rem 0 .4rem}p{margin:.35rem 0}a{color:var(--green-dark)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}code{background:#1c1b170f;padding:.05rem .3rem;border-radius:6px}:focus-visible{outline:3px solid rgba(27,122,61,.45);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.86rem}.center{text-align:center}.grow{flex:1;min-width:0}.num{text-align:right;font-variant-numeric:tabular-nums}.error{color:var(--red);font-weight:600}.warn-text{color:#8a5a00;font-weight:600}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;padding:.5rem 1rem;border-radius:999px;background:var(--green);color:#fff;font-weight:700}.skip-link:focus{top:1rem}.req{color:var(--red);font-weight:800}.emoji{font-size:1.25rem;line-height:1}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:2px solid rgba(27,122,61,.25);border-top-color:var(--green);animation:spin .8s linear infinite;vertical-align:-.15em}@keyframes spin{to{transform:rotate(360deg)}}.loading,.rec-status{display:flex;align-items:center;gap:.6rem;color:var(--muted);padding:1rem 0}.screen-center{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--muted)}.card,.sidebar,.modal,.toast{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass: rgba(255, 255, 255, .94)}}.card{border-radius:var(--radius);padding:1.1rem 1.25rem}.error-box,.warn-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);font-weight:600}.error-box{background:var(--high-soft);color:var(--red-dark);border:1px solid rgba(214,69,69,.25)}.warn-box{background:var(--medium-soft);color:#6b4a00;border:1px solid rgba(232,163,23,.3)}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:1rem;padding:1.2rem .9rem;border-radius:0 24px 24px 0;border-left:0;overflow-y:auto}.brand{display:flex;align-items:center;gap:.6rem;padding:0 .4rem}.brand img{flex:0 0 auto;filter:drop-shadow(0 3px 6px rgba(20,60,30,.2))}.brand strong{display:block;color:var(--green-dark);font-size:1.05rem;letter-spacing:-.01em}.brand span{display:block}.brand-lg{justify-content:center;margin-bottom:.5rem}.brand-lg strong{font-size:1.35rem}.nav{display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:.65rem;min-height:42px;padding:0 .8rem;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;transition:background .2s}.nav-link:hover{background:#fff9}.nav-link.active{color:var(--green-dark);background:linear-gradient(180deg,#fffffff2,#1b7a3d1f);box-shadow:inset 0 1px #fff,inset 0 0 0 1px #1b7a3d24,0 4px 10px -6px #1b7a3d80}.nav-icon{width:1.4rem;text-align:center;font-size:1.1rem}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:.6rem;padding:0 .3rem}.main{min-width:0;padding:1.6rem clamp(1rem,3vw,2.4rem) 3rem;outline:none}.page{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-head h1{margin-bottom:0}.page-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.back{display:inline-block;font-weight:700;text-decoration:none;margin-bottom:.2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:0 1rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-strong);color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 6px 14px -10px #1e3c2873,inset 0 1px #fff;transition:transform .1s,filter .15s}.btn:hover:not(:disabled){filter:brightness(.98)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{color:#fff;border-color:#ffffff59;background:linear-gradient(180deg,#2b9450,var(--green));box-shadow:0 8px 18px -10px #1b7a3dcc,inset 0 1px #ffffff59}.btn-ghost{background:#ffffff59;box-shadow:none}.btn-danger{color:var(--red-dark);background:var(--high-soft);border-color:#d6454540;box-shadow:none}.btn-sm{min-height:32px;padding:0 .7rem;font-size:.86rem;border-radius:10px}.btn-block{width:100%}.btn-icon{min-width:36px;min-height:36px;padding:0;border-radius:50%;font-size:1.1rem}.btn-rec .rec-dot{background:#fff}.rec-dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:var(--red)}.rec-dot.is-live{background:var(--red);box-shadow:0 0 #c6282899;animation:rec 1.2s ease-out infinite}@keyframes rec{to{box-shadow:0 0 0 10px #c6282800}}.input,.select,.textarea{width:100%;min-height:40px;padding:.45rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(28,27,23,.12);background:#ffffffd9;box-shadow:inset 0 1px 2px #1c1b170d}.input:focus,.select:focus,.textarea:focus{outline:3px solid rgba(27,122,61,.28);border-color:var(--green)}.select{width:auto;padding-right:2rem}.textarea{resize:vertical;line-height:1.5}.textarea-body{min-height:260px}.textarea-cell{min-height:40px;font-size:.92rem}.input-search{padding-left:2.2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b665c' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.7rem center;background-size:1rem}.field{display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0;border:0;min-width:0}.field-label{font-size:.85rem;font-weight:700;color:var(--muted);padding:0}.field-hint{color:var(--muted);font-size:.8rem}.field-error{color:var(--red);font-weight:700;font-size:.82rem}.field.has-error .input,.field.has-error .textarea,.field.has-error .select{border-color:var(--high)}.field-inline{display:flex;align-items:center;gap:.4rem}.check{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-size:.9rem}.check input{width:1.05rem;height:1.05rem;accent-color:var(--green)}.form-page .card{display:flex;flex-direction:column;gap:.9rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.9rem 1rem}.form-grid .field.span-2{grid-column:span 2}.form-foot{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.3rem}.segmented{display:inline-flex;padding:3px;border-radius:12px;background:#1c1b170f}.segmented button{min-height:32px;padding:0 .9rem;border:0;border-radius:9px;background:transparent;font-weight:700;color:var(--muted)}.segmented button.is-active{background:#fff;color:var(--green-dark);box-shadow:0 3px 10px -6px #1e3c2880}.lang-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:4px;border-radius:14px;background:#1c1b170f;width:fit-content;max-width:100%}.lang-tab{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:0 .85rem;border:0;border-radius:10px;background:transparent;font-weight:700;color:var(--muted)}.lang-tab.is-active{background:#fff;color:var(--green-dark);box-shadow:0 4px 12px -8px #1e3c288c}.lang-tab-count{min-width:1.5rem;padding:0 .35rem;border-radius:999px;background:#1c1b1712;font-size:.75rem;text-align:center}.dot{width:.5rem;height:.5rem;border-radius:50%;display:inline-block}.dot-on{background:var(--low)}.dot-off{background:#1c1b1733}.tab-panel{display:flex;flex-direction:column;gap:1rem}.toolbar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.toolbar.card{padding:.7rem .9rem}.toolbar-plain{padding:0}.count{margin-left:auto}.table-wrap{padding:.4rem .6rem;overflow-x:auto}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.93rem}.table th,.table td{padding:.6rem .65rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;white-space:nowrap}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#ffffff73}.table .num{text-align:right}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .btn+.btn{margin-left:.35rem}.empty{text-align:center;color:var(--muted);padding:2rem!important}.name-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--ink);text-decoration:none}.name-link:hover{color:var(--green-dark);text-decoration:underline}.pill{display:inline-flex;align-items:center;padding:.12rem .55rem;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap;background:#1c1b1712;color:var(--muted)}.pill-human{background:var(--low-soft);color:#1d6b3c}.pill-tts{background:var(--violet-soft);color:var(--violet)}.pill-import,.pill-file{background:#1c1b1714;color:var(--ink)}.pill-missing{background:var(--medium-soft);color:#7a5200}.pill-kind{background:var(--green-tint);color:var(--green-dark)}.pill-kind-emergency{background:var(--high-soft);color:var(--red-dark)}.pill-kind-eating,.pill-low{background:var(--low-soft);color:#1d6b3c}.pill-medium{background:var(--medium-soft);color:#7a5200}.pill-high{background:var(--high-soft);color:var(--red-dark)}.lang-badges{display:inline-flex;gap:3px;flex-wrap:wrap}.lang-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;height:1.35rem;padding:0 .3rem;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:700;color:#1c1b1759;background:#1c1b170d;border:1px dashed rgba(28,27,23,.15)}.lang-badge.is-on{color:var(--green-dark);background:var(--low-soft);border:1px solid rgba(46,158,91,.3)}.audio-badge.is-human{color:#1d6b3c;background:var(--low-soft);border:1px solid rgba(46,158,91,.35)}.audio-badge.is-tts{color:var(--violet);background:var(--violet-soft);border:1px solid rgba(91,75,183,.25)}.audio-badge.is-other{color:var(--ink);background:#1c1b1714;border:1px solid rgba(28,27,23,.15)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:0 .85rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-strong);font-weight:700;font-size:.88rem;box-shadow:0 4px 10px -8px #1e3c2880}.chip.is-active{color:#fff;background:linear-gradient(180deg,#2b9450,var(--green));border-color:#ffffff59}.chip-missing:not(.is-active){color:#7a5200}.chip-tts:not(.is-active){color:var(--violet)}.chip-human:not(.is-active){color:#1d6b3c}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem}.tile{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;color:var(--ink);transition:transform .15s}.tile:hover{transform:translateY(-2px)}.tile-n{font-size:2rem;font-weight:900;line-height:1.1;color:var(--green-dark);font-variant-numeric:tabular-nums}.tile-l{font-weight:700;color:var(--muted)}.tile-accent{background:linear-gradient(180deg,rgba(255,255,255,.7),var(--low-soft))}.table-cov td{min-width:110px}.cov{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 .5rem}.cov-num{font-weight:800;font-variant-numeric:tabular-nums}.cov-pct{font-size:.78rem;color:var(--muted);text-align:right}.cov-bar{grid-column:1 / -1;height:6px;margin-top:4px;border-radius:999px;background:#1c1b1714;overflow:hidden}.cov-fill{display:block;height:100%;border-radius:999px;background:var(--low)}.cov.is-half .cov-fill{background:var(--medium)}.cov.is-low .cov-fill{background:var(--high)}.cov.is-none .cov-num{color:var(--muted)}.ui-table-wrap{padding:.4rem .6rem}.ui-table th[scope=row]{width:15%;color:var(--muted);font-weight:600;word-break:break-all}.ui-table .ui-fr{width:28%}.ui-table .code-text{width:24%;color:var(--ink)}.ui-table .code-text.is-missing{color:#1c1b1759;font-style:italic}.ui-table .ui-input{width:33%}.ui-table tr.is-changed{background:#e8a3171a}.ui-table tr.is-changed .textarea{border-color:var(--medium)}.quiz-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}.quiz-item{display:flex;flex-direction:column;gap:.7rem;padding:.9rem 1rem;border-radius:16px;background:#ffffff8c;border:1px solid var(--line)}.quiz-item.has-error{border-color:var(--high)}.quiz-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.quiz-tools{margin-left:auto;display:flex;gap:.3rem}.audio-section{gap:.6rem}.audio-slot{display:flex;align-items:center;gap:1rem;padding:.75rem .9rem;border-radius:14px;background:#ffffff8c;border:1px solid var(--line)}.audio-slot.compact{padding:0;background:transparent;border:0}.audio-slot-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.audio-slot-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.audio-slot-empty{margin:0}.audio-slot-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.audio-player{width:100%;max-width:420px;height:36px}.slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.slot-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:1rem;align-items:center;padding:.8rem 1rem}.slot-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.slot-title{font-weight:800;color:var(--ink);text-decoration:none}.slot-title:hover{color:var(--green-dark);text-decoration:underline}.slot-text{margin:0;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.recorder{display:flex;flex-direction:column;gap:.9rem}.recorder-subtitle{margin:0}.rec-text{padding:1rem 1.1rem;border-radius:14px;background:var(--green-tint);font-size:1.35rem;font-weight:700;line-height:1.4;display:flex;flex-direction:column;gap:.2rem;max-height:40vh;overflow-y:auto}.rec-text .small{font-size:.78rem;font-weight:600}.rec-live{display:flex;flex-direction:column;gap:.6rem}.rec-time{display:flex;align-items:baseline;gap:.6rem;font-size:2rem;font-weight:900;font-variant-numeric:tabular-nums}.rec-time .rec-dot{align-self:center}.meter{position:relative;height:14px;border-radius:999px;background:#1c1b1714;overflow:hidden}.meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--low),var(--medium) 75%,var(--high));transition:width .06s linear}.meter-peak{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:var(--ink);opacity:.6}.rec-preview{display:flex;flex-direction:column;gap:.7rem}.rec-preview audio{width:100%}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:#14281c52;animation:fade .15s ease-out}.modal{width:min(560px,100%);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;border-radius:22px;background:#ffffffeb;animation:pop .18s ease-out}.modal-wide{width:min(720px,100%)}.modal-narrow{width:min(460px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem .4rem}.modal-head h2{margin:0}.modal-body{padding:.6rem 1.2rem 1rem;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.8rem 1.2rem 1.1rem;border-top:1px solid var(--line)}.confirm-message{white-space:pre-line}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;display:flex;flex-direction:column;gap:.5rem;max-width:min(420px,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;border-radius:14px;background:#fffffff0;border-left:5px solid var(--green);animation:pop .18s ease-out}.toast-error{border-left-color:var(--red)}.toast-info{border-left-color:var(--violet)}.toast-text{flex:1;font-weight:600}.toast-close{border:0;background:transparent;font-size:1.1rem;line-height:1;color:var(--muted)}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:min(440px,100%);display:flex;flex-direction:column;gap:.9rem;padding:1.8rem}.login-card h1{font-size:1.4rem}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-radius:0 0 22px 22px;border-top:0}.nav{flex-direction:row;flex-wrap:wrap}.sidebar-foot{flex-direction:row;align-items:center}.sidebar-foot p{display:none}.slot-row{grid-template-columns:1fr}.audio-slot{flex-direction:column;align-items:stretch}.audio-slot-actions{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.photo-editor{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.25rem}.photo-frame{flex:0 0 auto;width:168px;height:168px;border-radius:28px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff9;border:1px solid rgba(255,255,255,.9)}.photo-frame img{width:100%;height:100%;object-fit:contain}.photo-frame.is-photo img{object-fit:cover}.photo-emoji{font-size:4.5rem}.photo-actions{flex:1 1 260px;display:flex;flex-direction:column;gap:.5rem}.photo-actions p{margin:0}.photo-buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.food-thumb{flex:0 0 auto;border-radius:10px;object-fit:contain}.food-thumb.is-photo{object-fit:cover}.food-thumb-emoji{display:inline-flex;align-items:center;justify-content:center;line-height:1}.video-editor{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.25rem}.video-frame{flex:0 1 420px;min-width:240px;aspect-ratio:16 / 9;border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#1c1b17}.video-frame video{width:100%;height:100%;object-fit:contain;background:#000}.video-frame .photo-emoji{opacity:.8}.upload-progress{display:grid;gap:.4rem;justify-items:start}.upload-progress .meter{width:100%}.upload-fill{background:var(--green, #1b7a3d);transition:width .2s linear}.poster-frame{flex:0 0 auto;width:192px;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff9;border:1px solid rgba(255,255,255,.9)}.poster-frame img{width:100%;height:100%;object-fit:cover}.video-tips{margin-top:1rem}.video-tips summary{cursor:pointer;font-weight:700}.video-tips ul{margin:.6rem 0 0;padding-left:1.2rem;display:grid;gap:.35rem}.video-thumb{flex:0 0 auto;width:64px;height:36px;border-radius:8px;object-fit:cover}.video-thumb-empty{display:inline-flex;align-items:center;justify-content:center;background:#1c1b1714;font-size:1rem}
