:root{--bg: #f5f5f7;--bg-deep: #eef0f3;--surface: #ffffff;--surface-2: #fafafa;--text: #1d1d1f;--text-2: #6e6e73;--text-3: #86868b;--line: rgba(0, 0, 0, .08);--line-soft: rgba(0, 0, 0, .05);--brand: #0071e3;--brand-hover: #0077ed;--brand-soft: rgba(0, 113, 227, .08);--success: #34c759;--warning: #ff9f0a;--danger: #ff3b30;--radius-xl: 22px;--radius: 16px;--radius-sm: 10px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .03), 0 4px 14px rgba(0, 0, 0, .04);--shadow-2: 0 2px 8px rgba(0, 0, 0, .05), 0 18px 46px rgba(0, 0, 0, .08);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .06), 0 22px 56px rgba(0, 0, 0, .11);--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .86);--glass-blur: saturate(180%) blur(20px);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-serif: "Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", "Songti SC", serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100vh}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000029;border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#0000004d;background-clip:content-box}h1,h2,h3,h4,h5,.ant-typography h1,.ant-typography h2,.ant-typography h3,.ant-typography h4,.ant-typography h5{font-family:var(--font-serif);letter-spacing:-.022em;font-weight:600;color:var(--text)}.ant-typography-secondary,.ant-typography.ant-typography-secondary{color:var(--text-2)}.page-title{font-family:var(--font-serif);font-size:30px;line-height:1.16;font-weight:600;letter-spacing:-.028em;color:var(--text);margin:0}.page-subtitle{font-size:14px;color:var(--text-2);margin-top:6px;line-height:1.5}.section-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.shell{display:flex;min-height:100vh;background:var(--bg)}.side-panel{width:248px;flex:0 0 248px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--glass)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--line-soft);z-index:30}.side-brand{height:64px;display:flex;align-items:center;gap:10px;padding:0 18px;cursor:pointer;border-bottom:1px solid var(--line-soft);flex-shrink:0}.side-brand-name{font-family:var(--font-serif);font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(160deg,#1d1d1f,#48484d);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.app-brand-logo{width:30px;height:30px;border-radius:9px;object-fit:contain;flex-shrink:0}.side-projects{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 10px 6px}.side-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--text-3);flex-shrink:0}.side-new-btn{width:24px;height:24px;border:none;border-radius:8px;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .15s ease,color .15s ease}.side-new-btn:hover{background:#0000000d;color:var(--text)}.side-projects-loading{padding:18px 0;text-align:center;color:var(--text-3)}.side-projects-empty{padding:14px 10px;font-size:13px;color:var(--text-3)}.side-project-list{list-style:none;margin:0;padding:0 0 8px;flex:1;min-height:0;overflow-y:auto}.side-project-item{width:100%;display:flex;align-items:center;gap:9px;padding:8px 10px;margin:1px 0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:13.5px;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.side-project-item:hover{background:#0000000b;color:var(--text)}.side-project-item.active{background:#1d1d1f;color:#fff}.side-project-icon{flex-shrink:0;font-size:14px;opacity:.75}.side-project-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-project-row{position:relative}.side-project-actions{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:none;align-items:center;gap:2px;padding-left:22px;background:linear-gradient(to right,#f5f5f700,#f0f0f2 38%);border-radius:var(--radius-sm)}.side-project-row:hover .side-project-actions{display:flex}.side-project-action{width:22px;height:22px;border:none;border-radius:7px;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0;transition:background .15s ease,color .15s ease}.side-project-action:hover{background:#00000014;color:var(--text)}.side-project-action.danger:hover{background:#ff3b301a;color:var(--danger)}.side-project-item.active~.side-project-actions{background:linear-gradient(to right,#1d1d1f00,#1d1d1f 38%)}.side-project-item.active~.side-project-actions .side-project-action{color:#ffffffa6}.side-project-item.active~.side-project-actions .side-project-action:hover{background:#ffffff24;color:#fff}.side-project-item.active~.side-project-actions .side-project-action.danger:hover{background:#ffffff24;color:#ff7a72}.side-all-projects{flex-shrink:0;margin:2px 8px 8px;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);font-size:12.5px;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.side-all-projects:hover{background:#0000000b;color:var(--text)}.side-user{flex-shrink:0;padding:10px 12px;border-top:1px solid var(--line-soft)}.side-user-trigger{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease;min-width:0}.side-user-trigger:hover{background:#0000000b}.side-user-name{flex:1;min-width:0;font-size:13.5px;font-weight:500;color:var(--text)}.app-main{flex:1;min-width:0;padding:30px 34px 60px;background:var(--bg)}.ant-card{border-radius:var(--radius)!important;border:1px solid var(--line-soft)!important;box-shadow:var(--shadow-1);transition:box-shadow .28s cubic-bezier(.22,.61,.36,1),transform .28s cubic-bezier(.22,.61,.36,1)}.ant-card-hoverable:hover{box-shadow:var(--shadow-hover)!important;transform:translateY(-3px)}.ant-card-head{border-bottom:1px solid var(--line-soft)!important;min-height:54px;padding:0 22px!important;font-weight:600;letter-spacing:-.01em}.ant-card-body{padding:22px!important}.ant-btn{font-weight:500;box-shadow:none;transition:all .2s ease}.ant-btn-primary{box-shadow:0 1px 2px #0000000f!important}.ant-btn-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 14px #0071e352!important}.ant-btn-default:not(:disabled):hover{border-color:#00000038!important}.ant-table-wrapper .ant-table{background:transparent;font-size:13.5px}.ant-table-wrapper .ant-table-thead>tr>th{background:var(--surface-2)!important;color:var(--text-2)!important;font-weight:600;font-size:12.5px;letter-spacing:.02em;border-bottom:1px solid var(--line)!important}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom:1px solid var(--line-soft)!important}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#0071e309!important}.ant-tag{border-radius:7px;padding-inline:8px;font-weight:500;border-color:transparent}.ant-modal .ant-modal-content{border-radius:var(--radius-xl);padding:26px;box-shadow:var(--shadow-2)}.ant-modal .ant-modal-header{margin-bottom:18px}.ant-modal .ant-modal-title{font-size:19px;font-weight:600;letter-spacing:-.02em}.ant-tabs .ant-tabs-tab{font-weight:500;padding:10px 2px}.ant-tabs-top>.ant-tabs-nav:before{border-bottom:1px solid var(--line-soft)}.ant-radio-button-wrapper{font-weight:500}.ant-descriptions .ant-descriptions-item-label{color:var(--text-2)!important;font-size:13px}.ant-descriptions .ant-descriptions-item-content{font-size:13.5px}.ant-empty-description{color:var(--text-3)}.ai-suggested-tag{opacity:.7}.badge-green{color:var(--success);font-weight:600}.badge-yellow{color:var(--warning);font-weight:600}.badge-red{color:var(--danger);font-weight:600}.project-card{border-radius:var(--radius)!important;overflow:hidden}.project-card-title{font-size:16.5px;font-weight:600;letter-spacing:-.02em;color:var(--text)}.metric-value{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--text)}.metric-label{font-size:12px;color:var(--text-2);margin-top:2px}.markdown-preview{padding:40px 52px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line-soft);line-height:1.85;font-size:15px;color:var(--text);max-width:980px;margin:0 auto}.markdown-preview h1{font-size:30px;font-weight:600;letter-spacing:-.028em;margin:0 0 28px;padding-bottom:18px;border-bottom:1px solid var(--line)}.markdown-preview h2{font-size:21px;font-weight:600;letter-spacing:-.02em;margin:42px 0 16px;padding-left:14px;border-left:3px solid var(--text);color:var(--text)}.markdown-preview h3{font-size:16.5px;font-weight:600;margin:26px 0 10px;color:var(--text)}.markdown-preview p{margin:12px 0;color:#333336}.markdown-preview table{width:100%;border-collapse:collapse;margin:18px 0;font-size:13.5px}.markdown-preview th,.markdown-preview td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}.markdown-preview th{background:var(--surface-2);font-weight:600;color:var(--text)}.markdown-preview tbody tr:nth-child(2n){background:#fcfcfd}.markdown-preview ul,.markdown-preview ol{padding-left:24px;margin:12px 0}.markdown-preview li{margin:6px 0}.markdown-preview blockquote{border-left:3px solid var(--line);padding:2px 0 2px 18px;margin:18px 0;color:var(--text-2)}.markdown-preview code{background:#0000000e;padding:2px 6px;border-radius:6px;font-size:.9em;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace}.markdown-preview pre{background:#f6f6f8;border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:16px 18px;overflow:auto}.markdown-preview pre code{background:transparent;padding:0}.markdown-preview hr{border:none;border-top:1px solid var(--line);margin:34px 0}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 640px at 82% -8%,rgba(0,113,227,.1),transparent 62%),radial-gradient(900px 560px at 8% 108%,rgba(0,0,0,.055),transparent 58%),var(--bg)}.login-card{width:100%;max-width:440px;background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.7);border-radius:26px;box-shadow:var(--shadow-2);padding:40px 38px 34px}.login-title{font-size:27px;font-weight:600;letter-spacing:-.03em;text-align:center;margin-bottom:6px}.login-sub{text-align:center;color:var(--text-2);font-size:13.5px;margin-bottom:28px}.login-card .ant-input-affix-wrapper,.login-card .ant-input{border-radius:var(--radius-sm);border-color:var(--line)}.login-card .ant-input-affix-wrapper:hover,.login-card .ant-input-affix-wrapper-focused{border-color:var(--brand)}.login-card .ant-btn-primary{height:44px;border-radius:999px;font-size:15px;font-weight:600}.verify-row{display:flex;align-items:flex-start;gap:10px}.verify-row .verify-input{flex:1;margin-bottom:22px}.verify-btn{height:40px;min-width:116px;border-radius:999px;font-size:13.5px;flex:none}.verify-dev-hint{margin:-12px 0 16px;padding:8px 12px;border-radius:10px;background:#0071e314;color:var(--brand);font-size:12.5px;line-height:1.5}.oauth-block{margin-top:22px}.oauth-divider{display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:12.5px;margin-bottom:16px}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.oauth-row{display:flex;flex-wrap:wrap;gap:10px}.oauth-btn{flex:1 1 140px;height:42px;border-radius:999px;font-size:14px;font-weight:500}.picked-scene-item .ant-list-item-meta-content,.version-item .ant-list-item-meta-content{min-width:0}.picked-scene-title{display:block;min-width:0}.picked-scene-title .picked-scene-name{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-no{white-space:nowrap;flex:0 0 auto}.points-confirm{margin:10px 0 4px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft)}.ant-list-item-meta-title{font-weight:400!important;color:var(--text)!important}.ant-card .ant-card-head-title,.ant-modal .ant-modal-title{font-family:var(--font-serif)}.outline-block{margin-top:4px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft)}.outline-title{font-family:var(--font-serif);font-size:13.5px;color:var(--text);margin-bottom:6px}.outline-list{margin:0;padding-left:20px;font-size:12.5px;line-height:1.7;color:var(--text-2)}.outline-hint{margin-top:6px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--line-soft);font-size:12.5px;color:var(--text-3)}.outline-purpose{display:block;margin-top:2px;font-size:12px;color:var(--text-3)}
