.login-page{box-sizing:border-box;background:#0f0f14;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:24px 20px;display:flex}.login-logo{color:#fff;background:linear-gradient(135deg,#6c5ce7,#5b4bd5);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 12px;font-size:22px;font-weight:700;display:flex}.login-form-side{width:100%;max-width:360px}.form-container{width:100%}.form-header{text-align:center;margin-bottom:24px}.form-header h2{color:#fff;margin-bottom:4px;font-size:22px;font-weight:600}.form-header p{color:#8b8b9a;font-size:14px}.login-form .ant-form-item{margin-bottom:14px}.login-input.ant-input,.login-input.ant-input-affix-wrapper{color:#fff!important;background:#262633!important;border:1px solid #2a2a38!important;border-radius:12px!important;height:48px!important}.login-input.ant-input:focus,.login-input.ant-input-affix-wrapper-focused{border-color:#6c5ce7!important;box-shadow:0 0 0 3px #6c5ce726!important}.login-input .ant-input{color:#fff!important;background:0 0!important}.login-input .ant-input::placeholder,.login-input .anticon{color:#5a5a6e}.login-submit.ant-btn{color:#fff!important;background:linear-gradient(135deg,#6c5ce7 0%,#5b4bd5 100%)!important;border:none!important;border-radius:12px!important;height:48px!important;font-size:16px!important;font-weight:600!important}.switch-line{text-align:center;color:#8b8b9a;margin-top:16px;font-size:14px}.switch-btn{color:#a29bfe;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;font-weight:500}.project-list-simple{-webkit-overflow-scrolling:touch;background:#0f0f14;flex-direction:column;gap:12px;height:100%;padding:12px 16px;display:flex;overflow-y:auto}.project-toolbar-simple{align-items:center;gap:10px;display:flex}.project-toolbar-simple .search-box{background:#262633;border:1px solid #2a2a38;border-radius:10px;flex:1;align-items:center;gap:6px;height:38px;padding:0 10px;display:flex}.project-list-items{flex-direction:column;gap:8px;display:flex}.project-item{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1c1c26;border:1px solid #2a2a38;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.project-item:active{border-color:#6c5ce7}.project-item-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.project-item-body{flex:1;min-width:0}.project-item-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.project-item-meta{color:#8b8b9a;align-items:center;gap:4px;margin-top:2px;font-size:12px;display:flex}.empty-state-simple{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex}.empty-title-simple{color:#fff;font-size:16px;font-weight:600}.empty-desc-simple{color:#8b8b9a;margin-top:6px;font-size:14px}.project-detail-page{background:#0f0f14;flex-direction:column;height:100%;display:flex;overflow:hidden}.pdp-mobile-header{background:#16161d;border-bottom:1px solid #2a2a38;flex-shrink:0;align-items:center;gap:10px;height:48px;padding:0 12px;display:flex}.pdp-back-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.pdp-back-btn:active{background:#262633}.pdp-title-block{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.pdp-cover{color:#fff;background:linear-gradient(135deg,#6c5ce7,#5946d3);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.pdp-title-text{flex:1;min-width:0}.pdp-title{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;overflow:hidden}.pdp-subtitle{color:#5a5a6e;margin-top:1px;font-size:11px}.pdp-header-actions{flex-shrink:0;gap:4px;display:flex}.pdp-icon-btn{color:#8b8b9a;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.pdp-icon-btn:active{background:#262633}.pdp-icon-btn.pdp-icon-btn-primary{color:#fff;background:#6c5ce7}.pdp-icon-btn.pdp-icon-btn-primary:active{background:#5946d3}.detail-toolbar{background:#16161d;border-bottom:1px solid #2a2a38;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.detail-toolbar .search-box{background:#262633;border:1px solid #2a2a38;border-radius:8px;flex:1;align-items:center;gap:6px;height:32px;padding:0 10px;display:flex}.search-box input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-size:13px}.clear-btn{color:#5a5a6e;cursor:pointer;background:#262633;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;display:flex}.detail-grid-content{-webkit-overflow-scrolling:touch;flex:1;padding:10px 12px;overflow-y:auto}.media-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.media-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1c1c26;border:1px solid #2a2a38;border-radius:10px;overflow:hidden}.media-card:active{opacity:.85}.media-thumb{aspect-ratio:16/9;background:#1c1c26;position:relative;overflow:hidden}.media-thumb-video{object-fit:cover;pointer-events:none;background:#000;width:100%;height:100%}.media-thumb-placeholder{color:#5a5a6e;justify-content:center;align-items:center;font-size:22px;display:flex;position:absolute;inset:0}.file-thumb-text{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:flex}.media-duration{color:#fff;background:#000000b3;border-radius:4px;padding:1px 5px;font-size:10px;position:absolute;bottom:4px;right:4px}.media-play-overlay{background:#0000002e;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-play-icon{color:#fffffff2;font-size:28px}.media-delete-btn{color:#ff6b6b;cursor:pointer;z-index:2;background:#0009;border:none;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex;position:absolute;top:4px;right:4px}.media-info{padding:6px 10px 8px}.media-name-row{align-items:center;gap:4px;display:flex}.media-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.media-rename-btn{color:#5a5a6e;cursor:pointer;opacity:0;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;transition:opacity .15s,background .15s,color .15s;display:flex}.media-card:hover .media-rename-btn,.media-rename-btn:focus{opacity:1}.media-rename-btn:active{color:#fff;background:#262633}@media (width<=768px){.media-rename-btn{opacity:.7}}.detail-grid-empty{color:#5a5a6e;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 16px;display:flex}.detail-grid-empty .empty-upload-icon{color:#5a5a6e;font-size:42px}.detail-grid-empty .empty-title{color:#8b8b9a;font-size:14px;font-weight:600}.video-player-container{background:#000;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.video-player-view{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.video-player-view.is-zoomed{cursor:grab}.video-player-view.is-zoomed:active{cursor:grabbing}.video-player-video{object-fit:contain;transform-origin:50%;will-change:transform;touch-action:none;pointer-events:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.video-player-view.is-portrait-fill .video-player-video{object-fit:cover;object-position:center center;width:100%;height:100%}.review-page.phone-fullscreen .review-player-area{flex:auto;min-height:0}.review-page.phone-fullscreen .video-player-container{height:100%}.review-page.phone-fullscreen .video-player-view{min-height:0}#root.fullscreen .review-player-area{flex:1 1 0;min-height:0}#root.fullscreen .review-page{flex-direction:column}.video-player-play-overlay{pointer-events:none;z-index:2;background:radial-gradient(circle,#0000002e,#0000 62%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.play-button{color:#1a1a22;background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding-left:3px;display:flex;box-shadow:0 8px 28px #00000059}.play-button svg{display:block}.vp-buffering{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vp-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:36px;height:36px;animation:.7s linear infinite vp-spin}@keyframes vp-spin{to{transform:rotate(360deg)}}.vp-status-badge{z-index:7;flex-wrap:wrap;gap:6px;max-width:calc(100% - 20px);display:flex;position:absolute;top:10px;left:10px}.vp-badge-chip{color:#ffffffe6;-webkit-backdrop-filter:blur(8px);cursor:pointer;touch-action:manipulation;background:#14141cb8;border:none;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600}.vp-badge-chip.is-active{color:#cfc9ff;background:#6c5ce773}.vp-side-btn{z-index:6;color:#ffffffeb;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;opacity:0;-webkit-backdrop-filter:blur(6px);background:#1212186b;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .2s,background .15s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.video-player-view.chrome-on .vp-side-btn,.video-player-view:active .vp-side-btn{opacity:1}.vp-side-btn:active{background:#fff3;transform:translateY(-50%)scale(.94)}.vp-side-prev{left:8px}.vp-side-next{right:8px}.vp-chrome{z-index:5;touch-action:manipulation;opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#00000047 45%,#000000b8 100%);padding:28px 12px 10px;transition:opacity .22s,transform .22s;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.video-player-view.chrome-on .vp-chrome{opacity:1;pointer-events:auto;transform:translateY(0)}.vp-timeline{cursor:pointer;touch-action:none;align-items:center;height:22px;display:flex;position:relative}.timeline-track{background:#ffffff38;border-radius:999px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.timeline-progress{pointer-events:none;background:linear-gradient(90deg,#6c5ce7,#a29bfe);border-radius:999px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.timeline-thumb{pointer-events:none;background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #6c5ce747}.vp-timeline:active .timeline-track,.vp-timeline:active .timeline-progress{height:4px}.vp-timeline:active .timeline-thumb{width:14px;height:14px}.timeline-annotation-marker{z-index:2;pointer-events:none;border:1.5px solid #00000059;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff26}.vp-chrome-meta{align-items:center;gap:4px;min-height:28px;margin-top:4px;display:flex}.vp-time-current,.vp-time-total,.vp-time-compact{color:#ffffffeb;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:.02em;font-size:11px}.vp-time-total,.vp-time-sep{color:#ffffff73}.vp-chrome-spacer{flex:1}.vp-icon-btn{color:#ffffffe6;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.vp-icon-btn.is-active{color:#cfc9ff;background:#6c5ce747}.vp-icon-btn:active{background:#ffffff1a}.video-player-controls{padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));touch-action:manipulation;background:#101018;border-top:1px solid #ffffff0d;flex-shrink:0}.vp-control-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;min-height:48px;display:grid}.vp-left-slot{justify-self:start;min-width:0}.vp-center-controls{justify-content:center;align-items:center;gap:10px;display:flex}.vp-right-controls{justify-content:flex-end;justify-self:end;align-items:center;gap:2px;display:flex}.control-btn{color:#ffffffeb;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,transform .12s;display:flex}.frame-btn{color:#ffffffe0;border-radius:50%;width:36px;height:36px}.play-btn{color:#fff;background:linear-gradient(145deg,#6c5ce7f2,#5848d2f2);border-radius:50%;width:48px;height:48px;box-shadow:0 4px 14px #6c5ce759}.play-btn:active,.frame-btn:active{background:#ffffff2e;transform:scale(.94)}.speed-btn,.more-btn{color:#ffffffc7;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:36px;height:32px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.speed-btn.is-active{color:#cfc9ff;background:#6c5ce738}.speed-btn:active,.more-btn:active{background:#ffffff14}.vp-menu-wrap{position:relative}.vp-popup-menu{z-index:30;background:#1c1c26;border:1px solid #2a2a38;border-radius:12px;min-width:116px;padding:4px;animation:.14s vp-menu-in;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000080}@keyframes vp-menu-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.vp-popup-menu-right{min-width:148px;animation:.14s vp-menu-in-right;left:auto;right:0;transform:none}@keyframes vp-menu-in-right{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.vp-popup-menu button{color:#ffffffe0;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:11px 12px;font-size:13px}.vp-popup-menu button.is-active{color:#cfc9ff;background:#6c5ce72e}.vp-popup-menu button:active{background:#ffffff0f}.video-player-container:fullscreen{background:#000;flex-direction:column;display:flex}.video-player-container:fullscreen .video-player-view{flex:1}.video-player-container:fullscreen .video-player-controls{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.immersive-hint{z-index:12;color:#ffffffc7;text-align:right;pointer-events:none;-webkit-backdrop-filter:blur(8px);background:#12121ac7;border:1px solid #ffffff1f;border-radius:10px;max-width:min(220px,100% - 24px);padding:7px 10px;font-size:11px;line-height:1.45;animation:.2s ease-out immersive-hint-in;position:absolute;top:12px;right:12px}@keyframes immersive-hint-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.vp-side-btn,.vp-chrome,.vp-popup-menu,.vp-spinner,.control-btn{transition:none!important;animation:none!important}}.annotation-canvas-wrapper{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.annotation-canvas-wrapper.annotating{pointer-events:auto}.annotation-canvas{width:100%;height:100%}.annotation-panel{background:#12121a;flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-toolbar{background:#12121a;border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.panel-tabs{align-items:center;gap:4px;min-width:0;display:flex}.panel-tab{color:#7a7a8e;cursor:pointer;touch-action:manipulation;background:0 0;border:none;align-items:center;gap:6px;padding:12px 10px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.panel-tab.is-active{color:#fff}.panel-tab.is-active:after{content:"";background:#6c5ce7;border-radius:1px;height:2px;position:absolute;bottom:0;left:10px;right:10px}.panel-tab-count{color:#cfc9ff;background:#6c5ce738;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.panel-toolbar-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.filter-status{position:relative}.status-dropdown-trigger{color:#ffffffb3;cursor:pointer;touch-action:manipulation;background:#1a1a24;border:1px solid #2a2a38;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:500;display:inline-flex}.status-dropdown-trigger.is-filtered{color:#cfc9ff;background:#6c5ce71f;border-color:#6c5ce773}.filter-open-dot{background:#e17055;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dropdown{z-index:100;background:#1c1c26;border:1px solid #2a2a38;border-radius:10px;min-width:112px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #00000073}.status-dropdown button{text-align:left;color:#8b8b9a;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:10px 12px;font-size:13px;display:block}.status-dropdown button.is-active,.status-dropdown button:active{color:#cfc9ff;background:#262633}.export-btn{color:#8b8b9a;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:inline-flex}.export-btn:active{color:#cfc9ff;background:#ffffff0f}.file-info-panel{overscroll-behavior:contain;flex:1;padding:12px;overflow-y:auto}.file-info-card{background:#181820;border:1px solid #ffffff0d;border-radius:12px;padding:4px 14px}.file-info-row{border-bottom:1px solid #ffffff0a;gap:12px;padding:12px 0;display:flex}.file-info-row:last-child{border-bottom:none}.file-info-label{color:#7a7a8e;flex-shrink:0;width:56px;font-size:13px}.file-info-value{color:#f0f0f5;word-break:break-all;flex:1;font-size:13px;line-height:1.45}.annotation-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;padding:10px 12px;overflow-y:auto}.annotation-empty{color:#5a5a6e;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:150px;padding:20px 12px;display:flex}.annotation-empty-icon-wrap{background:#6c5ce71a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;display:flex}.annotation-empty-icon{color:#8a78ff;opacity:.85;font-size:24px}.annotation-empty-text{color:#8b8b9a;font-size:14px;font-weight:600}.annotation-empty-hint{color:#5a5a6e;text-align:center;font-size:12px;line-height:1.5}.annotation-item{cursor:pointer;background:#181820;border:1px solid #0000;border-radius:12px;margin-bottom:8px;padding:12px 12px 10px;transition:border-color .15s,background .15s}.annotation-item:active{border-color:#2a2a38}.annotation-item.selected{background:#1b1b28;border-color:#6c5ce7a6;box-shadow:0 0 0 1px #6c5ce71f}.annotation-item-header{align-items:center;gap:8px;display:flex}.annotation-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.annotation-meta{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.annotation-author{color:#f0f0f5;text-overflow:ellipsis;white-space:nowrap;max-width:42%;font-size:13px;font-weight:600;overflow:hidden}.annotation-time{color:#cfc9ff;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;background:#6c5ce729;border:none;border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.annotation-time:active{background:#6c5ce74d}.annotation-status-pill{flex-shrink:0;margin-left:auto;padding:2px 0;font-size:11px;font-weight:600}.annotation-text{color:#f0f0f5;word-break:break-word;margin-top:10px;padding:0 2px;font-size:14px;line-height:1.55}.annotation-comments{border-top:1px solid #ffffff0a;margin-top:10px;padding-top:8px}.comment-item{gap:8px;margin-bottom:8px;display:flex}.comment-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:600;display:flex}.comment-content{flex-direction:column;gap:2px;min-width:0;display:flex}.comment-author{color:#8b8b9a;font-size:11px}.comment-text{color:#e8e8f0;font-size:13px;line-height:1.45}.annotation-actions{align-items:center;gap:12px;margin-top:10px;display:flex}.action-link{color:#8b8b9a;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:600}.action-link:active{color:#cfc9ff}.quick-comment-area{padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#12121a;border-top:1px solid #ffffff0f;flex-shrink:0}.quick-comment-timecode{color:#5a5a6e;margin-bottom:6px;padding-left:4px;font-size:11px}.quick-comment-timecode strong{color:#cfc9ff;font-variant-numeric:tabular-nums;font-weight:700}.quick-comment-input-row{background:#1a1a24;border:1px solid #2a2a38;border-radius:22px;align-items:center;gap:8px;min-height:44px;padding:4px 4px 4px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.quick-comment-input-row:focus-within{border-color:#6c5ce7a6;box-shadow:0 0 0 3px #6c5ce729}.quick-comment-dot{background:#6c5ce7;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 3px #6c5ce733}.quick-comment-input{color:#fff;touch-action:manipulation;background:0 0;border:none;outline:none;flex:1;min-width:0;height:32px;font-size:16px}.quick-comment-input::placeholder{color:#5a5a6e}.quick-comment-send{color:#5a5a6e;cursor:pointer;touch-action:manipulation;background:#ffffff0f;border:none;border-radius:16px;flex-shrink:0;min-width:56px;height:32px;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,color .15s}.quick-comment-send.is-ready{color:#fff;background:#6c5ce7}.quick-comment-send:disabled{cursor:default}.quick-comment-send.is-ready:active{background:#5946d3}.review-page{touch-action:pan-x pan-y;overscroll-behavior:none;background:#0b0b12;flex-direction:column;height:100dvh;max-height:100%;display:flex;overflow:hidden}.review-header{-webkit-backdrop-filter:blur(10px);z-index:20;background:#0f0f14f5;border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 8px 0 4px;display:flex}.review-back{justify-content:center;align-items:center;color:var(--text-primary)!important;border-radius:10px!important;width:40px!important;height:40px!important;font-size:17px!important;display:inline-flex!important}.review-back:active{background:#ffffff0f!important}.review-title{color:#f5f5fa;text-align:center;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;flex:1;margin:0 4px;font-size:15px;font-weight:600;overflow:hidden}.review-header-actions{color:#0000;pointer-events:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.review-player-area{background:#000;flex:1 1 0;justify-content:center;align-items:stretch;min-height:0;display:flex;position:relative;overflow:hidden}.review-page.phone-fullscreen{z-index:999999;background:#000;width:100vw!important;height:100dvh!important;position:fixed!important;inset:0!important}.review-page.phone-fullscreen .review-header,.review-page.phone-fullscreen .review-annotation-area{display:none!important}.review-video-wrapper{flex-direction:column;justify-content:stretch;align-items:stretch;width:100%;height:100%;min-height:0;display:flex;position:relative}.annotation-overlay{z-index:10;pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.annotation-overlay .annotation-canvas-wrapper.annotating{pointer-events:auto}.review-annotation-area{overscroll-behavior:contain;touch-action:pan-y;background:#12121a;border-top:1px solid #ffffff0f;flex-direction:column;flex:none;height:min(38svh,320px);min-height:190px;max-height:40svh;display:flex;overflow:hidden;box-shadow:0 -6px 20px #0000002e}.video-upload-area{background:#12121a;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.video-uploader{width:100%;max-width:320px;background:0 0!important;border:1px dashed #ffffff1f!important;border-radius:16px!important}.video-uploader .ant-upload-drag-container{color:var(--text-secondary)}.upload-text{color:var(--text-primary);margin-bottom:8px;font-size:14px}.upload-hint{color:var(--text-muted);font-size:12px}@media (height<=700px){.review-annotation-area{height:min(36svh,280px);min-height:168px}.review-player-area{min-height:180px}}:root{--bg-primary:#0f0f14;--bg-secondary:#16161d;--bg-card:#1c1c26;--bg-hover:#262633;--bg-input:#262633;--border-color:#2a2a38;--text-primary:#fff;--text-secondary:#8b8b9a;--text-muted:#5a5a6e;--accent-primary:#6c5ce7;--accent-secondary:#a29bfe;--accent-gradient:linear-gradient(135deg, #6c5ce7 0%, #a29bfe 100%);--danger:#ff6b6b;--warning:#fdcb6e;--success:#00b894;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--sidebar-width:64px;--header-height:56px}html,body,#root{touch-action:pan-x pan-y;overscroll-behavior:none;width:100%;height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;position:fixed;inset:0}input,textarea{-webkit-user-select:auto;user-select:auto}.mobile-app{background:var(--bg-primary);flex-direction:column;width:100vw;height:100dvh;display:flex;overflow:hidden}.mobile-header{height:var(--layout-mobile-header,48px);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.mobile-header-title{color:var(--text-primary);font-size:17px;font-weight:600}.header-logout-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:0 -8px 0 0;padding:0;display:inline-flex}.header-logout-btn:active{opacity:.75}.mobile-content{background:var(--bg-primary);flex:1;padding-bottom:0;position:relative;overflow:hidden}.mobile-content>.page-container{-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto}.desktop-app{background:var(--bg-primary);flex-direction:column;width:100vw;height:100vh;display:flex}.desktop-main{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.desktop-content{background:var(--bg-primary);flex:1;position:relative;overflow:hidden}.ant-layout{background:var(--bg-primary);height:100vh}.ant-typography{color:var(--text-primary)!important}.ant-input,.ant-input-affix-wrapper,.ant-input-textarea{background:var(--bg-input)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.ant-input::placeholder,.ant-input-affix-wrapper input::placeholder{color:var(--text-muted)!important}.ant-modal-content,.ant-modal-header{background:var(--bg-card)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.ant-modal-title{color:var(--text-primary)!important}.ant-form-item-label>label{color:var(--text-secondary)!important}.ant-btn-default{background:var(--bg-card);border-color:var(--border-color);color:var(--text-primary)}.ant-btn-primary{background:var(--accent-primary);border-color:var(--accent-primary)}.ant-empty-description,.ant-tabs-tab{color:var(--text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--accent-secondary)!important}.ant-tabs-ink-bar{background:var(--accent-primary)!important}.page-container{background:var(--bg-primary);flex-direction:column;height:100%;display:flex;overflow:hidden}.page-content{-webkit-overflow-scrolling:touch;flex:1;padding:16px;overflow:hidden auto}.page-header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.page-title{color:var(--text-primary);font-size:18px;font-weight:600}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.ant-table{background:0 0!important}.ant-table-thead>tr>th{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-secondary)!important;padding:14px 16px!important;font-weight:500!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border-color)!important;padding:14px 16px!important}.ant-table-tbody>tr:hover>td{background:var(--bg-hover)!important}.ant-table-cell{color:var(--text-primary)!important}.ant-table-cell:before{display:none!important}.ant-table-empty-text{color:var(--text-secondary)!important}.ant-segmented{border-radius:8px;padding:2px;background:var(--bg-input)!important}.ant-segmented-item{border-radius:6px}.ant-segmented-item-selected{background:var(--bg-hover)!important}.ant-segmented-thumb{background:var(--bg-hover)!important;border-radius:6px!important}.ant-segmented-group{overflow-x:auto}.ant-modal{max-width:calc(100vw - 32px)!important;margin:16px auto!important;padding-bottom:0!important;top:0!important}.ant-modal-content{max-height:80vh;overflow-y:auto;border-radius:12px!important}.ant-tabs-nav{margin:0!important}.ant-tabs-tab{padding:8px 12px!important;font-size:13px!important}.ant-dropdown-menu{background:var(--bg-card)!important;border-radius:8px!important;box-shadow:0 4px 12px #0006!important}.ant-dropdown-menu-item{color:var(--text-primary)!important}.ant-dropdown-menu-item:hover{background:var(--bg-hover)!important}:root{--color-brand-50:#f3f1ff;--color-brand-100:#e7e2ff;--color-brand-200:#c9bfff;--color-brand-300:#a99aff;--color-brand-400:#8a78ff;--color-brand-500:#6c5ce7;--color-brand-600:#5946d3;--color-brand-700:#4334b3;--color-brand-800:#2e2380;--color-brand-900:#1c1450;--color-bg-app:#0b0b12;--color-bg-base:#0f0f18;--color-bg-surface:#16161f;--color-bg-elevated:#1c1c26;--color-bg-hover:#20202c;--color-bg-active:#262633;--color-bg-input:#1a1a23;--color-fg-primary:#f5f5fa;--color-fg-secondary:#b8b8c7;--color-fg-tertiary:#6e6e85;--color-fg-disabled:#44445a;--color-border-subtle:#1f1f2c;--color-border:#262633;--color-border-strong:#34344a;--color-success:#2ed573;--color-success-soft:#2ed57326;--color-warning:#ffa502;--color-warning-soft:#ffa50226;--color-error:#ff4757;--color-error-soft:#ff475726;--color-info:#4ecbff;--color-info-soft:#4ecbff26;--color-media:#a29bfe;--color-media-soft:#a29bfe2e;--color-star:#ffc048;--color-status-draft:#6e6e85;--color-status-review:#ffa502;--color-status-approved:#2ed573;--color-status-rejected:#ff4757;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:999px;--radius-circle:50%;--shadow-xs:0 1px 2px #00000040;--shadow-sm:0 2px 6px #00000052;--shadow-md:0 6px 16px #0006;--shadow-lg:0 16px 40px #00000080;--shadow-xl:0 24px 60px #0000008c;--shadow-glow:0 0 0 3px #6c5ce740;--shadow-glow-strong:0 0 0 4px #6c5ce773;--shadow-focus-ring:0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-brand-500);--font-family-base:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-family-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:28px;--font-size-4xl:36px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.5;--line-height-loose:1.8;--letter-spacing-tight:-.01em;--letter-spacing-base:0;--letter-spacing-wide:.04em;--dur-fast:.12s;--dur-normal:.2s;--dur-slow:.32s;--dur-slower:.48s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--layout-sidebar-width:64px;--layout-sidebar-expanded:220px;--layout-project-sidebar:240px;--layout-header-height:56px;--layout-content-max-width:1440px;--layout-mobile-header:48px;--bottom-nav-height:60px;--z-dropdown:100;--z-sticky:200;--z-modal-bg:900;--z-modal:1000;--z-toast:1100;--z-tooltip:1200}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-5);background:linear-gradient(135deg, var(--color-brand-500) 0%, var(--color-brand-600) 100%);color:#fff;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);border:none;display:inline-flex;box-shadow:0 2px 8px #6c5ce74d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #6c5ce773}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);background:var(--color-bg-elevated);color:var(--color-fg-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);display:inline-flex}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong);color:var(--color-brand-300)}.btn-secondary:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.btn-ghost{justify-content:center;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);color:var(--color-fg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;display:inline-flex}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-fg-primary)}.btn-icon{width:32px;height:32px;color:var(--color-fg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.btn-icon:hover{background:var(--color-bg-hover);color:var(--color-brand-300)}.btn-icon:focus-visible{box-shadow:var(--shadow-focus-ring);outline:none}.search-box{align-items:center;gap:var(--space-2);width:280px;height:36px;padding:0 var(--space-3);background:var(--color-bg-input);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:all var(--dur-fast) var(--ease-out);display:flex}.search-box:focus-within{border-color:var(--color-brand-500);box-shadow:var(--shadow-glow)}.search-box input{color:var(--color-fg-primary);font-size:var(--font-size-md);background:0 0;border:none;outline:none;flex:1}.search-box input::placeholder{color:var(--color-fg-tertiary)}.search-box .search-icon{color:var(--color-fg-tertiary);font-size:14px}.card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);transition:all var(--dur-normal) var(--ease-out)}.card.hoverable:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.text-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.text-ellipsis-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.badge{height:22px;padding:0 var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-error{background:var(--color-error-soft);color:var(--color-error)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-neutral{background:var(--color-bg-active);color:var(--color-fg-secondary)}.empty-state{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-6);color:var(--color-fg-tertiary);text-align:center;flex-direction:column;display:flex}.empty-state .empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-fg-secondary)}.empty-state .empty-desc{font-size:var(--font-size-md);color:var(--color-fg-tertiary);max-width:320px}.scroll-y{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;overflow-y:auto}.scroll-y::-webkit-scrollbar{width:6px;height:6px}.scroll-y::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.scroll-y::-webkit-scrollbar-thumb:hover{background:var(--color-fg-tertiary)}.scroll-y::-webkit-scrollbar-track{background:0 0}.glass-panel{-webkit-backdrop-filter:blur(16px)saturate(140%);border:1px solid var(--color-border-subtle);background:#16161fd9}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-fg-primary);background:var(--color-bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02", "cv03", "cv04", "cv11"}#root{height:100%}:focus-visible{box-shadow:var(--shadow-focus-ring);border-radius:var(--radius-sm);outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-fg-tertiary)}::-webkit-scrollbar-track{background:0 0}::selection{background:var(--color-brand-500);color:#fff}.ant-modal-content{padding:var(--space-6)!important}.ant-modal-header{padding:var(--space-5) var(--space-6)!important;border-bottom:1px solid var(--color-border-subtle)!important}.ant-modal-title{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important}.ant-form-item-label>label{color:var(--color-fg-secondary)!important;font-size:var(--font-size-sm)!important}
