:root{color-scheme:light;--page-bg: #f5efe6;--surface: rgba(255, 250, 244, .92);--surface-strong: #fff8f1;--surface-border: rgba(95, 61, 34, .12);--text-main: #2f231d;--text-muted: #705b4c;--accent: #c75c34;--accent-deep: #7f2f15;--accent-soft: rgba(199, 92, 52, .13);--shadow-soft: 0 24px 60px rgba(78, 47, 25, .1);--shadow-card: 0 18px 40px rgba(78, 47, 25, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text-main);background:radial-gradient(circle at top left,rgba(255,220,180,.92),transparent 32%),radial-gradient(circle at top right,rgba(255,239,210,.95),transparent 28%),linear-gradient(180deg,#f8f2e8,#f2eadf 52%,#efe6db)}a{color:inherit}.eyebrow{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.fullscreen-center{min-height:60vh;display:flex;align-items:center;justify-content:center}.permission-card{max-width:480px;padding:32px;border-radius:28px;border:1px solid var(--surface-border);background:var(--surface);box-shadow:var(--shadow-soft)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;position:relative}.auth-page__backdrop{position:absolute;inset:0;background:linear-gradient(135deg,rgba(199,92,52,.18),transparent 42%),radial-gradient(circle at 20% 20%,rgba(255,255,255,.78),transparent 38%),radial-gradient(circle at 80% 16%,rgba(241,198,163,.78),transparent 24%);pointer-events:none}.auth-card{width:min(100%,680px);border-radius:30px!important;border:1px solid var(--surface-border)!important;box-shadow:var(--shadow-soft)!important;background:#fffaf4f5!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card__copy{margin-bottom:18px}.auth-qr-panel{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:center}.auth-qr-frame{padding:16px;border-radius:28px;background:linear-gradient(180deg,#ffffffdb,#fff6eceb);border:1px solid rgba(95,61,34,.08);box-shadow:inset 0 1px #ffffff9e}.auth-qr-image,.auth-qr-placeholder{width:100%;aspect-ratio:1;border-radius:20px;display:grid;place-items:center;background:#fff8f1}.auth-qr-image{object-fit:contain}.auth-qr-meta{display:flex;min-width:0;flex-direction:column;gap:16px}.auth-qr-status{display:flex;flex-direction:column;gap:6px}.auth-qr-status strong{font-size:18px}.auth-qr-status span{color:var(--text-muted);font-size:13px}.auth-qr-steps{margin:0;padding-left:20px;color:var(--text-muted);display:grid;gap:8px}.app-shell{min-height:100vh;padding:28px}.app-shell__hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;margin-bottom:18px;border-radius:28px;background:linear-gradient(135deg,#fff6ebfa,#ffeedbeb),linear-gradient(135deg,rgba(199,92,52,.18),transparent 64%);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft)}.app-shell__brand{display:flex;align-items:baseline;gap:10px;min-width:0}.app-shell__eyebrow{margin:0;white-space:nowrap}.app-shell__title{margin:0;font-size:24px;line-height:1.2;font-weight:700}.app-shell__hero-panel{display:flex;align-items:center;gap:12px;justify-content:flex-end;padding:10px 14px;border-radius:20px;background:#ffffff8f;border:1px solid rgba(95,61,34,.08)}.user-chip{display:flex;align-items:center;gap:10px;min-width:0}.user-chip__avatar{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-size:17px;font-weight:700;color:#fff;background:linear-gradient(145deg,#cb744d,#8b3b1c)}.user-chip__name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700}.user-chip__meta{color:var(--text-muted);font-size:13px}.app-shell__body{display:grid;grid-template-columns:220px 1fr;gap:20px}.app-shell__body--editor{grid-template-columns:1fr}.app-shell__nav{align-self:start;display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:28px;background:#fffaf4d6;border:1px solid var(--surface-border);box-shadow:var(--shadow-card)}.app-shell__nav-link{padding:14px 16px;border-radius:18px;text-decoration:none;font-weight:600;color:var(--text-muted);transition:.18s ease}.app-shell__nav-link:hover,.app-shell__nav-link.is-active{color:var(--accent-deep);background:var(--accent-soft)}.app-shell__content{min-width:0}.page-stack{display:flex;flex-direction:column;gap:18px}.surface-panel{border-radius:28px!important;border:1px solid var(--surface-border)!important;background:var(--surface)!important;box-shadow:var(--shadow-card)!important}.surface-panel--wide{padding:6px}.editor-tabs .ant-tabs-nav{margin-bottom:18px}.editor-tabs .ant-tabs-extra-content,.editor-tabs .ant-tabs-extra-content>*{display:flex;align-items:center}.editor-tabs__back{margin-right:8px}.editor-panel-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.editor-panel-title__text.ant-typography{margin:0;font-size:26px;line-height:1.2}.surface-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.filter-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) minmax(150px,180px) auto;gap:12px;margin-top:18px;align-items:center}.filter-row__actions{justify-self:end}.script-overview-bar{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--text-muted);font-size:14px}.script-overview-bar strong{color:var(--accent-deep);font-size:16px;font-weight:700}.script-overview-bar+.filter-row{margin-top:12px}.script-card-grid{display:flex;flex-direction:column;gap:18px}.script-card{overflow:hidden;border-radius:28px!important;border:1px solid var(--surface-border)!important;box-shadow:var(--shadow-card)!important}.script-card .ant-card-body{padding:20px}.script-card__layout{display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:18px;align-items:start}.script-card__thumb{width:128px;height:128px;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#eddcc7,#d8b28d)}.script-card__cover{width:100%;height:100%;display:block;object-fit:cover}.script-card__thumb--empty{display:grid;place-items:center;color:#2f231da6;font-weight:600}.script-card__content{min-width:0}.script-card__meta-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.script-card__meta-text{font-size:12px;color:var(--text-muted)}.script-card__chips{display:flex;flex-wrap:wrap;gap:8px}.script-card__chips span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#c75c3414;color:var(--accent-deep);font-size:12px}.script-card__actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:center;min-width:116px}.script-card__action-edit,.script-card__action-offline{justify-content:center}.script-card__action-edit{color:var(--accent-deep);border-color:#c75c342e;background:#fff5eaeb}.script-card__action-edit:hover,.script-card__action-edit:focus{color:var(--accent-deep)!important;border-color:#c75c344d!important;background:#ffeedbf5!important}.script-card__action-offline{color:var(--text-primary);border-color:#5f3d2229;background:#fff}.script-card__action-offline:hover,.script-card__action-offline:focus{color:var(--text-primary)!important;border-color:#5f3d224d!important;background:#fffaf4eb!important}.list-pagination{display:flex;justify-content:flex-end}.cover-preview img{width:min(280px,100%);border-radius:22px;border:1px solid rgba(95,61,34,.08)}.json-editor{font-family:SFMono-Regular,JetBrains Mono,Fira Code,Source Code Pro,monospace!important;line-height:1.6}.role-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.role-editor{display:grid;grid-template-columns:112px 1fr;gap:18px}.role-editor__avatar{display:flex;flex-direction:column;gap:12px;align-items:center}.role-editor__avatar-actions{justify-content:center;gap:8px}.role-editor__fields{display:grid;gap:12px}.asset-library-toolbar{margin-bottom:16px}.asset-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}.asset-library-card{width:100%;padding:8px;border-radius:18px;border:1px solid rgba(95,61,34,.12);background:#fffaf4c2;appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:.18s ease}.asset-library-card:hover{border-color:#c75c344d;background:#fff5eaf5}.asset-library-card.is-active{border-color:#c75c346b;box-shadow:inset 0 0 0 1px #c75c3429}.asset-library-card__thumb{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:#eddcc7cc}.asset-library-card__name{display:block;margin-top:8px;color:var(--text-muted);font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-library-empty{margin:28px 0}.asset-library-pagination{display:flex;justify-content:flex-end;margin-top:16px}.timeline-table-wrap{overflow-x:auto}.timeline-table{width:100%;min-width:1260px;table-layout:fixed;border-collapse:separate;border-spacing:0}.timeline-table__col-index{width:84px}.timeline-table__col-speaker{width:180px}.timeline-table__col-text{width:34%}.timeline-table__col-duration{width:144px}.timeline-table__col-media{width:220px}.timeline-table__col-actions{width:132px}.timeline-table th,.timeline-table td{padding:14px;border-bottom:1px solid rgba(95,61,34,.08);vertical-align:top;background:#ffffff8c}.timeline-table th{position:sticky;top:0;z-index:1;background:#fff5eaf7;font-size:13px;color:var(--text-muted);text-align:left}.timeline-table tbody tr:hover td{background:#fff8f0e6}.frame-number{min-width:64px;padding:10px 12px;border-radius:16px;text-align:center;font-weight:700;background:#c75c3417}.frame-speaker-cell{display:grid;gap:8px;min-width:0}.timeline-table td:nth-child(3){min-width:320px}.timeline-table td:nth-child(3) .ant-input-textarea{width:100%}.media-cell{display:grid;gap:10px;min-width:0}.media-cell__preview{min-height:62px;padding:10px;border-radius:16px;border:1px dashed rgba(95,61,34,.16);background:#ffffff73;display:flex;align-items:center;justify-content:center}.media-cell__status{font-size:12px}.media-cell__actions{gap:8px}.media-cell__hint{font-size:12px}.media-thumb{width:100%;max-width:154px;aspect-ratio:16 / 9;object-fit:cover;border-radius:14px}.media-audio{width:100%;min-width:0}.media-upload-trigger{position:relative;display:inline-flex}.media-upload-trigger__input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-upload-trigger__input:disabled{cursor:not-allowed}.timeline-frame-actions{gap:8px}.timeline-frame-actions__add{color:#7a5200;border-color:#d9ac3b52;background:linear-gradient(180deg,#fff3c9,#ffe6a3);box-shadow:none}.timeline-frame-actions__add:hover,.timeline-frame-actions__add:focus{color:#6b4700!important;border-color:#d9ac3b7a!important;background:linear-gradient(180deg,#ffefbb,#ffdf8a)!important}.timeline-frame-actions__delete{color:var(--text-primary);border-color:#5f3d2229;background:#fff;box-shadow:none}.timeline-frame-actions__delete:hover,.timeline-frame-actions__delete:focus{color:var(--text-primary)!important;border-color:#5f3d2247!important;background:#fffaf4eb!important}.timeline-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;color:var(--text-muted)}.timeline-legend>div{display:inline-flex;align-items:center;gap:8px}@media(max-width:1024px){.app-shell{padding:18px}.auth-qr-panel,.app-shell__hero,.app-shell__body,.surface-panel__header,.role-editor{grid-template-columns:1fr}.app-shell__body{display:flex;flex-direction:column}.app-shell__nav{flex-direction:row;overflow-x:auto}.filter-row{grid-template-columns:1fr}.filter-row__actions{justify-self:stretch}.editor-tabs .ant-tabs-nav{gap:10px}.app-shell__hero-panel{justify-content:space-between}}@media(max-width:768px){.app-shell{padding:12px}.app-shell__hero{padding:16px 18px;border-radius:24px;gap:12px}.app-shell__hero-panel,.app-shell__nav,.surface-panel{border-radius:22px!important}.app-shell__brand{flex-wrap:wrap;gap:6px 10px}.app-shell__title{font-size:20px}.editor-panel-title__text.ant-typography{font-size:22px}.auth-card{width:min(100%,560px)}.timeline-table{min-width:980px}.script-overview-bar{width:100%;gap:8px 14px}.list-pagination{justify-content:center}.script-card__layout{grid-template-columns:128px minmax(0,1fr);gap:14px}.script-card__actions{grid-column:2;flex-direction:row;justify-content:flex-start;min-width:0}}
