:root{color-scheme:dark;--bg: #09090b;--surface: #111114;--surface-raised: #161619;--surface-soft: #1c1c20;--line: #27272a;--line-strong: #343439;--text: #f4f4f5;--muted: #a1a1aa;--faint: #71717a;--primary: #6d7cff;--green: #32d583;--amber: #fdb022;--red: #f97066;--blue: #7ba2ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{color:var(--text);font-family:Inter,Segoe UI,Microsoft YaHei UI,sans-serif}.stream-player-page{width:min(1500px,100%);margin:0 auto;padding:24px clamp(14px,3vw,36px)}.stream-player-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.stream-player-header h1{margin:4px 0;color:#f4f4f5;font-size:26px}.stream-player-header p{margin:0;color:var(--faint)}.stream-player-header code{color:#b8c0ff}.stream-eyebrow{color:#8b96ff;font-size:10px;font-weight:750;letter-spacing:.17em}.stream-player-actions{display:flex;flex-wrap:wrap;gap:8px}.stream-player-actions button{border:1px solid var(--line-strong);border-radius:7px;padding:9px 14px;background:var(--surface-raised);color:#e4e4e7;cursor:pointer;font:inherit;font-weight:600}.stream-player-actions button:hover{border-color:#60606a;background:var(--surface-soft)}.stream-player-actions button:disabled{cursor:not-allowed;opacity:.45}.stream-player-actions button.danger{border-color:#713b38;background:#321b1a;color:#ffb4ae}.stream-player-error{display:flex;gap:8px 16px;margin-bottom:14px;padding:12px 16px;border:1px solid #713b38;border-radius:8px;background:#2b1716;color:#ffc1bc}.stream-player-error span{overflow-wrap:anywhere}.stream-player-notice{display:flex;align-items:center;gap:10px;margin-bottom:14px;border:1px solid #3f4b82;border-radius:8px;padding:11px 14px;background:#171b30;color:#cbd0ff}.stream-player-notice strong{flex:none;font-size:10px}.stream-player-notice span{min-width:0;color:#aeb5e8;font-size:10px}.stream-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 9;border:1px solid var(--line-strong);border-radius:10px;outline:0;background:#020203;box-shadow:0 24px 70px #0008;touch-action:none;user-select:none}.stream-stage:focus{border-color:var(--primary);box-shadow:0 0 0 2px #6d7cff33,0 24px 70px #0008}.stream-stage video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.stream-stage-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);background:radial-gradient(circle,#1b1b2288,transparent 48%)}.stream-pulse{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 #6d7cff77;animation:stream-pulse 1.6s infinite}.stream-stage-hint{position:absolute;left:50%;bottom:18px;transform:translate(-50%);opacity:0;padding:7px 11px;border-radius:999px;background:#000b;color:#d4d4d8;font-size:11px;pointer-events:none;transition:opacity .2s}.stream-stage:hover .stream-stage-hint,.stream-stage:focus-within .stream-stage-hint{opacity:1}.stream-path-badge{position:absolute;top:11px;left:11px;display:flex;align-items:center;gap:7px;border:1px solid #3d465d;border-radius:999px;padding:5px 9px;background:#0b0c10dc;color:#a1a1aa;font-size:9px;backdrop-filter:blur(8px)}.stream-path-badge i{width:6px;height:6px;border-radius:50%;background:#9297a6}.stream-path-badge.p2p{border-color:#315b47;color:#86e1b1}.stream-path-badge.p2p i{background:var(--green);box-shadow:0 0 0 3px #32d5831a}.stream-path-badge.relay{border-color:#4a5285;color:#b5bcff}.stream-path-badge.relay i{background:#8993fa}.stream-path-badge.switching{border-color:#72581e;color:var(--amber)}.stream-path-badge.switching i{background:var(--amber);animation:stream-pulse 1s infinite}.stream-player-stats{display:flex;flex-wrap:wrap;gap:8px 22px;padding:13px 3px;color:var(--faint);font:11px ui-monospace,Cascadia Mono,monospace}.stream-player-stats .invalid{color:var(--red);font-weight:700}.stream-quality-panel{margin-top:14px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.stream-quality-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid var(--line)}.stream-quality-heading>div{display:flex;align-items:baseline;gap:10px}.stream-quality-heading span{color:#8b96ff;font-size:9px;font-weight:750;letter-spacing:.14em}.stream-quality-heading strong{color:#e4e4e7;font-size:13px}.stream-quality-heading i{border:1px solid #315b47;border-radius:999px;padding:4px 8px;background:#102219;color:var(--green);font-style:normal;font-size:9px}.stream-quality-heading i.warning{border-color:#72581e;background:#2b2414;color:var(--amber)}.stream-quality-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--line)}.stream-quality-grid>div{min-width:0;padding:13px 16px;border-right:1px solid var(--line);background:#0d0d0f}.stream-quality-grid>div:last-child{border-right:0}.stream-quality-grid span,.stream-quality-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-quality-grid span{color:var(--faint);font-size:9px}.stream-quality-grid strong{margin-top:5px;color:#e4e4e7;font-size:14px;font-weight:640}.stream-quality-grid>div.warning strong{color:var(--amber)}.stream-pipeline{display:flex;align-items:center;gap:9px;padding:13px 16px 0;color:var(--faint);font-size:9px}.stream-pipeline span{display:flex;flex:none;align-items:center;gap:5px}.stream-pipeline strong{color:#c4c8e9;font:9px ui-monospace,Cascadia Mono,monospace}.stream-pipeline i{position:relative;width:min(76px,7vw);height:1px;background:#353540}.stream-pipeline i:after{position:absolute;top:-2px;right:0;width:5px;height:5px;border-radius:50%;background:#6975e8;content:""}@keyframes stream-pulse{70%{box-shadow:0 0 0 12px #6d7cff00}to{box-shadow:0 0 #6d7cff00}}@media(prefers-reduced-motion:reduce){.stream-pulse{animation:none}}.user-portal{width:min(1240px,100%);min-height:100vh;margin:0 auto;padding:0 clamp(18px,4vw,52px) 48px}.user-portal-header{display:flex;min-height:76px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.user-brand{display:flex;align-items:center;gap:11px}.user-brand>span{display:grid;width:34px;height:34px;place-items:center;border:1px solid #7d89ff;border-radius:9px;background:#5967dc;color:#fff;font-weight:800}.user-brand strong,.user-brand small{display:block}.user-brand strong{color:#fafafa;font-size:14px}.user-brand small{margin-top:2px;color:var(--faint);font-size:10px}.portal-health{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.portal-health i,.user-portal-footer i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #32d58316}.portal-health.unavailable i{background:#ffb4ae;box-shadow:none}.portal-health.pending i{background:#eab96a;box-shadow:none}.stream-player-guide{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:14px 0;color:var(--muted);font-size:14px}.stream-player-guide a{margin-left:auto;color:#b8c0ff;font-weight:600}.stream-player-guide a:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.stream-audio-controls button{background:var(--surface-raised);color:#e4e4e7;border:1px solid var(--line-strong);padding:8px 14px;border-radius:7px;font:inherit;cursor:pointer}.stream-audio-controls button:disabled{opacity:.45;cursor:not-allowed}.stream-audio-controls label{display:flex;align-items:center;gap:10px}.portal-viewer-field{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.portal-viewer-field input{min-width:min(100%,310px);max-width:100%;padding:10px 12px;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:7px;color:var(--text);font:inherit}.stream-stage:fullscreen{border:none;border-radius:0;aspect-ratio:auto;width:100vw;height:100vh}.stream-stage-hint{font-size:14px;max-width:calc(100% - 32px);text-align:center}.portal-hero{display:flex;min-height:330px;align-items:center;justify-content:space-between;gap:56px;padding:54px 2px 42px}.portal-eyebrow{color:#8b96ff;font-size:10px;font-weight:750;letter-spacing:.18em}.portal-hero h1{margin:15px 0 13px;color:#fafafa;font-size:clamp(36px,5vw,64px);font-weight:680;line-height:1.06;letter-spacing:-.055em}.portal-hero p{max-width:650px;margin:0;color:var(--muted);font-size:14px;line-height:1.75}.portal-capacity{display:grid;width:185px;height:185px;flex:none;place-content:center;border:1px solid #2d5944;border-radius:50%;background:radial-gradient(circle,#173024,#0d1210 68%);text-align:center;box-shadow:0 0 70px #22c55e0f}.portal-capacity>span{color:var(--green);font-size:21px}.portal-capacity strong{margin-top:5px;color:#f4f4f5;font-size:48px;font-weight:650;line-height:1}.portal-capacity small{margin-top:8px;color:#84a997;font-size:10px}.portal-control{margin-bottom:14px;padding:22px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.portal-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.portal-section-title>div{display:flex;align-items:center;gap:12px}.portal-section-title>div>span{display:grid;width:30px;height:30px;place-items:center;border:1px solid #444b7d;border-radius:7px;color:#a5adff;font:10px ui-monospace,Cascadia Mono,monospace}.portal-section-title h2,.portal-section-title p{margin:0}.portal-section-title h2{color:#e4e4e7;font-size:15px}.portal-section-title p,.portal-section-title>small{margin-top:3px;color:var(--faint);font-size:10px}.portal-section-title button{display:flex;align-items:center;gap:7px;border:1px solid var(--line-strong);border-radius:7px;padding:7px 10px;background:#18181b;color:#d4d4d8;cursor:pointer;font:inherit;font-size:10px}.portal-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.portal-projects>button{display:flex;min-width:0;align-items:center;gap:11px;border:1px solid var(--line);border-radius:8px;padding:13px;background:#0d0d0f;color:#d4d4d8;cursor:pointer;text-align:left}.portal-projects>button.selected{border-color:#626cc3;background:#1a1b29;box-shadow:inset 0 0 0 1px #7c86e933}.portal-projects>button>span{display:grid;width:31px;height:31px;flex:none;place-items:center;border:1px solid var(--line-strong);border-radius:7px;background:#18181b;color:#8b96ff}.portal-projects>button>div{min-width:0;flex:1}.portal-projects strong,.portal-projects small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-projects strong{font-size:12px}.portal-projects small{margin-top:3px;color:var(--faint);font-size:9px}.portal-projects>button>.anticon:last-child{color:#8993fa}.portal-node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-node{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;padding:16px;background:#0d0d0f;color:#d4d4d8;cursor:pointer;text-align:left;transition:border-color .16s,background .16s,transform .16s}.portal-node.available:hover{transform:translateY(-1px);border-color:#4b4b54;background:#111114}.portal-node.selected{border-color:#6570d8;background:#181a2a;box-shadow:inset 0 0 0 1px #8490ff2e}.portal-node.blocked{cursor:not-allowed;opacity:.62}.portal-node-top{display:flex;align-items:center;gap:10px}.portal-node-top>span{display:grid;width:32px;height:32px;flex:none;place-items:center;border:1px solid var(--line-strong);border-radius:7px;background:#18181b;color:var(--muted)}.portal-node-top>div{min-width:0;flex:1}.portal-node-top strong,.portal-node-top small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-node-top strong{color:#f4f4f5;font-size:13px}.portal-node-top small{margin-top:2px;color:var(--faint);font:9px ui-monospace,Cascadia Mono,monospace}.portal-node-top>i{border:1px solid #315b47;border-radius:999px;padding:4px 7px;background:#102219;color:var(--green);font-style:normal;font-size:9px}.portal-node.blocked .portal-node-top>i{border-color:var(--line-strong);background:#18181b;color:var(--faint)}.portal-node-facts{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;color:var(--faint);font-size:9px}.portal-node-facts span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-node-facts span:last-child{flex:none;color:#78dca8}.portal-node-version{display:flex;min-width:0;align-items:center;gap:10px;margin-top:10px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#141417}.portal-node-version span{flex:none;color:var(--faint);font-size:9px}.portal-node-version code{overflow:hidden;color:#aeb5f6;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.portal-node-reason{margin-top:10px;color:var(--amber);font-size:9px}.portal-node-check{position:absolute;top:0;right:0;border-bottom:1px solid #4d57aa;border-left:1px solid #4d57aa;border-radius:0 8px;padding:5px 8px;background:#2b315f;color:#c6caff;font-size:8px}.portal-error{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;border:1px solid #713b38;border-radius:7px;padding:11px 13px;background:#2b1716;color:#ffb4ae}.portal-error strong,.portal-error span{display:block}.portal-error strong{font-size:11px}.portal-error span{margin-top:3px;font-size:10px;overflow-wrap:anywhere}.portal-empty,.portal-loading{grid-column:1 / -1;display:flex;min-height:90px;align-items:center;justify-content:center;gap:9px;color:var(--faint);font-size:11px}.portal-launch{display:grid;grid-template-columns:minmax(190px,.65fr) minmax(360px,1.35fr) minmax(210px,.62fr);gap:11px 16px;align-items:end;margin-top:14px;padding:20px 22px;border:1px solid #373c62;border-radius:11px;background:linear-gradient(110deg,#151620,#101013)}.portal-launch>div>span{display:block;margin-bottom:7px;color:var(--faint);font-size:9px}.portal-launch select{width:100%;height:43px;border:1px solid var(--line-strong);border-radius:7px;padding:0 12px;outline:none;background:#0d0d0f;color:#e4e4e7;font:inherit}.portal-start{display:flex;height:43px;align-items:center;justify-content:center;gap:9px;border:1px solid #8590ff;border-radius:7px;background:#6975e8;color:#fff;cursor:pointer;font:inherit;font-weight:650}.portal-start:hover:not(:disabled){background:#7a85f2}.portal-start:disabled{border-color:#363641;background:#25252b;color:#71717a;cursor:not-allowed}.portal-launch>p{grid-column:1 / -1;margin:0;color:var(--faint);font-size:9px}.portal-transport-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.portal-transport-options>button{min-height:43px;border:1px solid var(--line-strong);border-radius:7px;padding:7px 10px;background:#0d0d0f;color:#d4d4d8;cursor:pointer;text-align:left}.portal-transport-options>button.selected{border-color:#6570d8;background:#1a1c2c;box-shadow:inset 0 0 0 1px #8490ff24}.portal-transport-options strong,.portal-transport-options small{display:block}.portal-transport-options strong{color:#e4e4e7;font-size:10px}.portal-transport-options strong em{margin-left:5px;border-radius:3px;padding:2px 4px;background:#27305e;color:#b8bfff;font-style:normal;font-size:7px}.portal-transport-options small{margin-top:3px;color:var(--faint);font-size:8px}.portal-probe-progress{display:flex;align-items:center;gap:14px;margin-top:11px;border:1px solid #3d477c;border-radius:10px;padding:14px 16px;background:#151829}.portal-probe-orbit{display:grid;width:36px;height:36px;flex:none;place-items:center;border:1px solid #515d9b;border-radius:50%;color:#aab2ff}.portal-probe-progress>div:nth-child(2){min-width:0;flex:1}.portal-probe-progress span,.portal-probe-progress strong,.portal-probe-progress small{display:block}.portal-probe-progress span{color:#8b96ff;font-size:8px;font-weight:750;letter-spacing:.14em}.portal-probe-progress strong{margin-top:3px;color:#f4f4f5;font-size:12px}.portal-probe-progress small{margin-top:3px;color:var(--muted);font-size:9px}.portal-probe-progress>button{flex:none;border:1px solid #59649e;border-radius:6px;padding:7px 10px;background:#222640;color:#cdd1ff;cursor:pointer;font:inherit;font-size:9px}.portal-probe-metrics{display:flex;width:100%;gap:8px;padding-left:50px}.portal-probe-metrics>span{min-width:210px;border:1px solid var(--line-strong);border-radius:6px;padding:7px 9px;background:#10121e}.portal-probe-metrics>span.good{border-color:#315b47}.portal-probe-metrics>span.fair,.portal-probe-metrics>span.poor{border-color:#72581e}.portal-probe-metrics>span.failed{border-color:#713b38}.portal-probe-metrics strong{color:#daddff;font-size:9px}.portal-probe-metrics small{color:var(--faint);font:8px ui-monospace,Cascadia Mono,monospace}.user-portal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 2px;color:var(--faint);font-size:9px}.user-portal-footer>span{display:flex;align-items:center;gap:8px}@media(max-width:1200px){.portal-launch{grid-template-columns:minmax(190px,.7fr) minmax(360px,1.3fr)}.portal-start{grid-column:1 / -1}}@media(max-width:900px){.overview-grid,.configuration-grid,.stream-node-grid{grid-template-columns:1fr}.portal-hero{min-height:280px}.portal-capacity{width:150px;height:150px}.portal-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.stream-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stream-quality-grid>div:nth-child(3){border-right:0}.stream-quality-grid>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.stream-pipeline{overflow-x:auto;padding-bottom:4px}.portal-launch{grid-template-columns:1fr}.portal-start{grid-column:auto}}@media(max-width:580px){.stream-summary-item:nth-child(2){border-right:0}.stream-summary-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.stream-policy{align-items:flex-start;flex-wrap:wrap}.portal-hero{align-items:flex-start;flex-direction:column;gap:30px;padding-top:38px}.portal-capacity{width:132px;height:132px}.portal-capacity strong{font-size:38px}.portal-projects,.portal-node-grid,.portal-launch{grid-template-columns:1fr}.portal-section-title{align-items:stretch;flex-direction:column}.portal-section-title>button{align-self:flex-start}.portal-section-title>small{display:none}.portal-control{padding:16px}.portal-hero h1{font-size:38px}.user-portal-footer{align-items:flex-start;flex-direction:column}.portal-transport-options{grid-template-columns:1fr}.portal-probe-progress{align-items:flex-start;flex-wrap:wrap}.portal-probe-progress>button{width:100%}.portal-probe-metrics{flex-direction:column;padding-left:0}.stream-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stream-quality-grid>div:nth-child(3){border-right:1px solid var(--line)}.stream-quality-grid>div:nth-child(2n){border-right:0}.stream-quality-grid>div:nth-child(-n+4){border-bottom:1px solid var(--line)}}.portal-login{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login form{width:min(420px,100%);padding:36px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.portal-login h1{font-size:28px;margin:16px 0 8px}.portal-login p{color:var(--muted);line-height:1.7}.portal-login label{display:block;margin:20px 0 8px;font-size:14px}.portal-login input{width:100%;padding:12px;background:var(--bg);color:var(--text);border:1px solid var(--line-strong);border-radius:7px;font:inherit}.portal-login button{width:100%;margin-top:24px;padding:12px;border:0;border-radius:7px;background:var(--primary);color:#fff;font:inherit;cursor:pointer}.portal-login button:disabled{opacity:.6;cursor:wait}.portal-login .portal-login-error{color:var(--red)}.portal-account{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:12px clamp(18px,4vw,52px);color:var(--muted);font-size:13px;border-bottom:1px solid var(--line)}.portal-account button{padding:6px 10px;background:var(--surface-raised);border:1px solid var(--line);color:var(--text);border-radius:5px;cursor:pointer}.portal-account nav{display:flex;gap:20px;margin-right:auto}.portal-account a{color:inherit;text-decoration:none}.platform-shell{min-height:100dvh}.platform-shell-review{display:flex;flex-direction:column;height:100dvh}.platform-shell-review>.portal-account{flex-shrink:0}.platform-shell-review>.review-root{flex:1;min-height:0;overflow:auto}.platform-shell-review .review-root .workspace-shell{width:100%;height:100%;min-height:0}.platform-projects{max-width:1240px;padding:48px 24px;margin:auto;color:var(--text)}.platform-projects h1{font-size:34px;margin:12px 0}.platform-projects>p{color:var(--muted)}.platform-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:32px}.platform-project-grid article,.platform-release-list article{background:var(--surface-raised);border:1px solid var(--line);border-radius:16px;padding:26px}.platform-project-grid nav{display:flex;gap:14px;margin-top:24px}.platform-projects a{color:var(--blue)}.platform-release-list{display:grid;gap:12px}.platform-release-list article{display:grid;gap:8px}.platform-release-list span,.platform-release-list code{color:var(--muted);overflow-wrap:anywhere}.platform-targets{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0 32px}.platform-projects select,.platform-projects button{padding:10px 16px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);color:var(--text)}.platform-projects button:disabled{opacity:.5;cursor:not-allowed}.cloud-project-trigger{display:flex;align-items:center;gap:12px;width:100%;height:48px;padding:0 14px 0 16px;border:1px solid #cbdcf4;border-radius:12px;color:#334155;background:#fff;box-shadow:0 2px 8px #0f172a08;font-size:14px;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s}.cloud-project-trigger>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-project-trigger .cloud-project-symbol{width:20px;height:20px;flex:none;color:#3b82f6}.cloud-project-trigger .cloud-project-chevron{width:20px;height:20px;flex:none;color:#94a3b8;transition:transform .18s,color .18s}.cloud-project-trigger:hover:not(:disabled){border-color:#93b9f5;box-shadow:0 4px 12px #3b82f614}.cloud-lobby .cloud-project-trigger:focus-visible,.cloud-project-trigger.open{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #3b82f614}.cloud-project-trigger.open .cloud-project-chevron{transform:rotate(180deg);color:#3b82f6}.cloud-project-trigger:disabled{background:#f8fafc;color:#94a3b8;box-shadow:none}.cloud-project-popup{position:fixed;z-index:10000;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #dfe8f6;border-radius:14px;background:#fffffffa;box-shadow:0 12px 32px #1e3a5f1c,0 2px 6px #1e3a5f0a;backdrop-filter:blur(20px);color-scheme:light;color:#334155;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;animation:cloud-project-reveal .15s ease-out;scrollbar-width:thin;scrollbar-color:#bfdbfe transparent}.cloud-project-popup.above{transform:translateY(-100%)}.cloud-project-option{display:flex;align-items:center;gap:12px;min-height:42px;margin:2px 0;padding:10px 12px;border:1px solid transparent;border-radius:9px;font-size:14px;line-height:1.45;cursor:pointer;transition:background .15s,color .15s}.cloud-project-option>span{flex:1;min-width:0;overflow-wrap:anywhere}.cloud-project-option>svg{width:18px;height:18px;flex:none;color:#3b82f6}.cloud-project-option.active{background:#f1f6fd}.cloud-project-option.selected{border-color:#dceaff;background:linear-gradient(135deg,#eaf2ff,#f0f7ff);color:#2563eb;font-weight:600}@keyframes cloud-project-reveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.cloud-project-popup,.cloud-project-option{animation:none;transition:none}}.cloud-lobby{color-scheme:light;--text: #1e293b;--muted: #64748b;--faint: #64748b;--primary: #3b82f6;--surface: #fff;--surface-raised: #f8fafc;--line: #e2e8f0;--line-strong: #cbd5e1;--blue: #2563eb;--green: #16a34a;--red: #dc2626;position:relative;isolation:isolate;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.cloud-lobby :is(button,input,select){font-family:inherit}.cloud-lobby :is(button,a,input,select,summary):focus-visible{outline:2px solid #2563eb;outline-offset:3px}.cloud-lobby button:disabled,.cloud-lobby select:disabled{cursor:not-allowed}.cloud-lobby.platform-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:60px 20px}.cloud-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,#3b82f6,#60a5fa,#93c5fd);background-size:400% 400%;animation:cloud-gradient 15s ease infinite}.cloud-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.6;animation:cloud-orb-float 20s ease-in-out infinite}.cloud-orb-one{width:400px;height:400px;top:-100px;left:-100px;background:radial-gradient(circle,#3b82f6cc,transparent 70%)}.cloud-orb-two{width:500px;height:500px;bottom:-150px;right:-150px;background:radial-gradient(circle,#60a5facc,transparent 70%);animation-delay:5s}.cloud-orb-three{width:350px;height:350px;top:50%;left:50%;background:radial-gradient(circle,#93c5fdcc,transparent 70%);animation-delay:10s}.cloud-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff9;box-shadow:0 0 6px #fffc;animation:cloud-particle-float linear infinite}@keyframes cloud-gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes cloud-orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}@keyframes cloud-particle-float{0%{transform:translateY(100vh);opacity:0}10%,90%{opacity:1}to{transform:translateY(-100px) translate(100px) rotate(360deg);opacity:0}}@keyframes cloud-logo-float{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(5deg) scale(1.05)}}@keyframes cloud-logo-top{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.7;transform:translateY(-2px)}}@keyframes cloud-logo-bottom{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.7;transform:translateY(2px)}}.cloud-lobby.portal-login{min-height:100dvh;padding:20px}.cloud-lobby.portal-login form,.cloud-login-card,.cloud-lobby .user-portal,.cloud-lobby .platform-projects{position:relative;width:100%;min-height:auto;margin:0;border:0;border-radius:24px;background:#fffffff2;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #ffffff1a;backdrop-filter:blur(20px)}.cloud-lobby.portal-login form,.cloud-login-card{max-width:520px;padding:48px 40px}.cloud-lobby .user-portal{max-width:620px;padding:34px 42px}.cloud-lobby.portal-login form:before,.cloud-login-card:before,.cloud-lobby .user-portal:before,.cloud-lobby .platform-projects:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,#3b82f6,#60a5fa,#93c5fd)}.cloud-brand{text-align:center;padding:0;margin-bottom:32px}.cloud-brand svg{display:block;width:64px;height:64px;margin:0 auto 20px;color:#3b82f6;filter:drop-shadow(0 4px 8px #3b82f64d);animation:cloud-logo-float 3s ease-in-out infinite}.cloud-logo-top{animation:cloud-logo-top 2s ease-in-out infinite}.cloud-logo-bottom{animation:cloud-logo-bottom 2s ease-in-out infinite .5s}.cloud-lobby .cloud-brand h1{margin:0 0 8px;font-size:28px;line-height:1.2;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,#3b82f6,#60a5fa 50%,#93c5fd);background-size:200% 200%;background-clip:text;-webkit-text-fill-color:transparent;animation:cloud-gradient 3s ease infinite}.cloud-lobby .cloud-brand p{margin:0;color:#7f8c8d;font-size:14px;line-height:1.5;letter-spacing:2px;text-transform:uppercase;opacity:.8}.cloud-lobby .user-portal .cloud-brand{margin-bottom:22px}.cloud-lobby .user-portal .cloud-brand svg{width:56px;height:56px;margin-bottom:14px}.cloud-lobby .user-portal .cloud-brand h1{font-size:27px;margin-bottom:6px}.cloud-lobby .user-portal .cloud-brand p{font-size:12px}.cloud-login-fields{display:flex;flex-direction:column;gap:24px;width:100%;max-width:320px;margin:auto}.cloud-input{position:relative;transition:transform .3s}.cloud-input>.anticon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:20px;color:#909399;pointer-events:none}.cloud-input:focus-within{transform:translateY(-2px)}.cloud-input:focus-within>.anticon{color:#409eff}.cloud-input:focus-within:after{content:"";position:absolute;bottom:0;left:48px;right:0;height:2px;background:linear-gradient(90deg,#409eff,#67c23a)}.cloud-lobby.portal-login input{height:40px;padding:0 16px 0 48px;border:0;border-radius:12px;background:#ffffffe6;color:#303133;box-shadow:0 2px 8px #00000014;font-size:14px}.cloud-lobby.portal-login input::placeholder{color:#a8abb2}.cloud-lobby.portal-login input:focus{outline:none;background:#fff;box-shadow:0 4px 16px #409eff40}.cloud-lobby.portal-login button{margin:0;height:52px;padding:0;font-size:16px;font-weight:600;letter-spacing:1px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 15px #3b82f666;transition:transform .3s,box-shadow .3s}.cloud-lobby.portal-login button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #3b82f680}.cloud-lobby.portal-login .portal-login-error{margin:0;font-size:13px}.cloud-account-menu{position:absolute;top:18px;right:24px;z-index:10;font-size:13px}.cloud-account-menu>summary{display:flex;align-items:center;gap:9px;max-width:min(260px,calc(100vw - 40px));height:40px;padding:5px 11px 5px 6px;border:1px solid #ffffff38;border-radius:999px;color:#fff;background:#ffffff18;backdrop-filter:blur(12px);cursor:pointer;list-style:none;transition:background .18s,border-color .18s}.cloud-account-menu>summary:hover,.cloud-account-menu[open]>summary{background:#ffffff2b;border-color:#fff6}.cloud-account-menu>summary:focus-visible{outline:2px solid #fff;outline-offset:3px}.cloud-account-menu>summary::-webkit-details-marker{display:none}.cloud-account-avatar{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#ffffffed;color:#4c8de8;font-size:15px}.cloud-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cloud-account-chevron{width:16px;height:16px;flex:none;color:#ffffffb3;transition:transform .18s}.cloud-account-menu[open] .cloud-account-chevron{transform:rotate(180deg)}.cloud-account-popover{position:absolute;top:calc(100% + 8px);right:0;width:164px;max-width:calc(100vw - 40px);padding:6px;border:1px solid #e2eaf5;border-radius:13px;background:#fff;color-scheme:light;box-shadow:0 12px 28px #1e3a5f21,0 2px 5px #1e3a5f0a;animation:cloud-project-reveal .15s ease-out}.cloud-account-menu .cloud-account-logout{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#475569;font:inherit;text-align:left;cursor:pointer;transition:background .15s,color .15s}.cloud-account-menu .cloud-account-logout>.anticon{color:#94a3b8;font-size:16px}.cloud-account-menu .cloud-account-logout:hover:not(:disabled){background:#fff1f2;color:#dc4855}.cloud-account-menu .cloud-account-logout:hover>.anticon{color:inherit}.cloud-account-menu .cloud-account-logout:focus-visible{outline:2px solid #60a5fa;outline-offset:-2px;background:#eff6ff}.cloud-account-menu .cloud-account-logout:disabled{opacity:.55;cursor:wait}.cloud-account-error{margin:6px;color:#b91c1c;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.portal-account>.cloud-account-menu{position:relative;inset:auto}.cloud-lobby .portal-control,.cloud-lobby .portal-launch{padding:16px;border-radius:18px;border:1px solid #94a3b82e;background:linear-gradient(180deg,#ffffffeb,#f8fafcd1);box-shadow:0 10px 24px #0f172a0f,inset 0 1px #fffc}.cloud-lobby .portal-control{margin:0 0 10px}.cloud-lobby .portal-section-title{align-items:flex-start;flex-direction:row;gap:10px;margin:0}.cloud-lobby .portal-section-title h2{color:#0f172a;font-size:15px;font-weight:700;line-height:1.2}.cloud-lobby .portal-section-title p{font-size:12px;margin:4px 0 0;line-height:1.4}.cloud-lobby .portal-section-title button{justify-content:center;min-width:78px;height:32px;padding:0 12px;border:0;border-radius:10px;background:#2563eb1a;color:#2563eb;font-size:12px;font-weight:600}.cloud-lobby .portal-section-title button:disabled{opacity:.65}.cloud-node-summary{margin:10px 0 0;padding:8px 10px;border-radius:12px;background:#2563eb14;color:#1d4ed8;font-size:12px;font-weight:600}.cloud-lobby .portal-node-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.cloud-lobby .portal-node{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;width:100%;min-height:68px;padding:11px 12px;border:1px solid transparent;border-radius:14px;background:#f8fafc;opacity:1;overflow:visible;transition:transform .22s,box-shadow .22s}.cloud-lobby .portal-node.available,.cloud-lobby .portal-node.available:hover{background:linear-gradient(135deg,#ecfdf5fa,#f0fdf4eb);border-color:transparent}.cloud-lobby .portal-node.selected,.cloud-lobby .portal-node.selected:hover{border-color:#2563eb61;box-shadow:0 10px 22px #2563eb21}.cloud-lobby .portal-node.occupied{background:linear-gradient(135deg,#fef2f2fa,#fee2e2eb)}.cloud-node-identity{display:flex;align-items:center;gap:9px;min-width:0}.cloud-node-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 6px #94a3b81f}.available .cloud-node-dot{background:#22c55e;box-shadow:0 0 0 6px #22c55e1f}.occupied .cloud-node-dot{background:#ef4444;box-shadow:0 0 0 6px #ef444424}.cloud-node-identity>div{min-width:0}.cloud-node-identity strong{display:block;overflow-wrap:anywhere;color:#0f172a;font-size:14px;font-weight:700;line-height:1.2}.cloud-node-identity small{display:flex;align-items:center;gap:6px;margin-top:4px;color:#64748b;font-size:11px;line-height:1.4}.cloud-node-identity small b{flex-shrink:0;border-radius:999px;min-width:28px;padding:0 5px;height:16px;background:#0f172a0f;font-size:10px;line-height:16px;font-weight:700}.cloud-node-action{display:inline-flex;justify-content:center;align-items:center;min-width:54px;height:28px;padding:0 11px;border-radius:999px;font-size:11px;font-weight:700;color:#475569;background:#94a3b824}.available .cloud-node-action{color:#166534;background:#22c55e24}.occupied .cloud-node-action{color:#991b1b;background:#ef444424}.cloud-node-meter{grid-column:1/-1;position:relative;height:5px;overflow:hidden;border-radius:999px;background:#94a3b829}.cloud-node-meter>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#4ade80)}.occupied .cloud-node-meter>span{background:linear-gradient(90deg,#ef4444,#f87171)}.cloud-lobby .portal-launch{grid-template-columns:minmax(0,1fr) 112px;gap:0 12px;margin:0}.cloud-project-field label{display:block;margin:0;font-size:15px;font-weight:700;line-height:1.2;color:#0f172a}.cloud-project-field>p{font-size:12px;color:#64748b;line-height:1.4;margin:4px 0 10px}.cloud-lobby .portal-start,.cloud-lobby .portal-start:disabled{grid-column:auto;height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff;font-size:13px;font-weight:700;box-shadow:0 12px 24px #2563eb38}.cloud-lobby .portal-start:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#38bdf8);transform:translateY(-1px)}.cloud-lobby .portal-start:disabled{opacity:.58;box-shadow:none}.cloud-lobby .portal-launch>p{margin:10px 0 0;min-height:18px;font-size:12px;line-height:1.45;color:#475569}.cloud-lobby .portal-launch>p.cloud-entry-hint{color:#b45309}.cloud-lobby{background:#5098f7}.cloud-lobby .portal-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca;border-radius:10px}.cloud-lobby .portal-error span{line-height:1.6;font-size:11px}.cloud-lobby .portal-probe-progress{flex-wrap:wrap;background:#eff6ff;border-color:#bfdbfe}.cloud-lobby .portal-probe-orbit{border-color:#93c5fd;color:#3b82f6}.cloud-lobby .portal-probe-progress strong{color:#1e40af}.cloud-lobby .portal-probe-progress span{color:#2563eb}.cloud-lobby .portal-probe-progress>button{background:#fff;border-color:#93c5fd;color:#2563eb}.cloud-lobby .portal-probe-metrics{padding-left:0;flex-wrap:wrap}.cloud-lobby .portal-probe-metrics>span{min-width:0;flex:1 1 190px;background:#fff}.cloud-lobby .user-portal-footer{padding:18px 2px 0;flex-direction:row;align-items:center;font-size:10px}.cloud-lobby .platform-projects{width:min(900px,calc(100% - 40px));padding:34px 36px}.cloud-project-heading{border-top:1px solid #e2e8f0;padding-top:22px}.cloud-lobby .cloud-project-heading h2{margin:0;font-size:18px}.cloud-project-heading p{font-size:13px;color:#64748b;margin:8px 0 0}.cloud-lobby .platform-project-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));margin-top:22px;gap:14px}.cloud-lobby .platform-project-grid article{min-width:0;padding:22px;border-radius:16px;background:linear-gradient(135deg,#fff,#f8fafc)}.cloud-lobby .platform-project-grid article>small{color:#3b82f6;background:#eff6ff;padding:5px 8px;border-radius:6px;font-size:10px}.cloud-lobby .platform-project-grid h2{color:#334155;margin:18px 0 9px;font-size:20px;overflow-wrap:anywhere}.cloud-lobby .platform-project-grid p{color:#64748b;font-size:12px}.cloud-lobby .platform-project-grid nav{flex-wrap:wrap;gap:8px;margin-top:24px}.cloud-lobby .platform-project-grid a{padding:8px 11px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;text-decoration:none;font-size:12px}.cloud-lobby .platform-project-grid a:first-child{background:#3b82f6;color:#fff;border-color:#3b82f6}.cloud-lobby .platform-project-grid a:hover{filter:brightness(.96)}.cloud-lobby .platform-projects>label{display:block;margin-top:24px}.cloud-lobby .platform-projects select{max-width:100%}.cloud-lobby .platform-projects>p{overflow-wrap:anywhere;font-size:13px}@media(max-width:768px){.cloud-lobby.platform-shell{padding:60px 20px 24px}.cloud-lobby.portal-login form,.cloud-login-card{padding:32px 24px;border-radius:20px}.cloud-lobby .user-portal{max-width:520px;padding:30px 18px 24px;border-radius:20px}.cloud-lobby .cloud-brand h1{font-size:24px}.cloud-brand svg{width:56px;height:56px}.cloud-lobby .portal-section-title{flex-direction:column}.cloud-lobby .portal-node-grid,.cloud-lobby .portal-node{grid-template-columns:1fr}.cloud-node-action{justify-self:start}.cloud-lobby .portal-launch{grid-template-columns:1fr}.cloud-lobby .portal-start{margin-top:12px}.cloud-account-menu{right:20px;top:14px}.cloud-lobby .platform-projects{width:100%;padding:30px 18px 24px}}@media(prefers-reduced-motion:reduce){.cloud-lobby *,.cloud-lobby *:before,.cloud-lobby *:after{animation:none!important;transition:none!important}}.connection-transition{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:auto;background:#f3f7ff;color:#223758;font-family:Inter,Microsoft YaHei,sans-serif}.connection-glow{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 20% 15%,#b5d6ff88,transparent 50%),radial-gradient(ellipse at 85% 70%,#c3edff99,transparent 50%)}.connection-content{position:relative;width:min(760px,100%);padding:36px 20px;text-align:center}.connection-eyebrow{display:flex;justify-content:center;align-items:center;gap:9px;color:#6080a9;font-size:10px;letter-spacing:.23em;font-weight:600}.connection-eyebrow>span{width:6px;height:6px;border-radius:50%;background:#428bff;box-shadow:0 0 0 5px #428bff12}.connection-content h1{font-size:clamp(24px,4vw,34px);letter-spacing:.02em;font-weight:650;margin:22px 0 12px;color:#203655}.connection-description{min-height:24px;font-size:13px;color:#7588a4;margin:0;line-height:1.8}.connection-scene{position:relative;width:100%;aspect-ratio:720/360;margin:22px auto 34px;perspective:850px;isolation:isolate}.connection-floor{position:absolute;inset:16% 4% 0;transform:rotateX(62deg) rotate(-8deg);border:1px solid #a8c6e438;border-radius:36px;background:linear-gradient(#b2cbe438 1px,transparent 1px),linear-gradient(90deg,#b2cbe438 1px,transparent 1px);background-size:36px 36px;box-shadow:0 28px 50px #5884b812;mask-image:radial-gradient(ellipse,#000 30%,transparent 75%)}.connection-routes{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.route-idle{stroke:#ceddec;stroke-width:2;stroke-dasharray:4 7}.route-active{stroke:#4b94ff;stroke-width:3;stroke-dasharray:9 9;animation:route-flow 1.2s linear infinite;filter:drop-shadow(0 0 5px #589bff77)}.route-packet{fill:#fff;stroke:#4b94ff;stroke-width:3;filter:drop-shadow(0 0 7px #4b94ff)}.route-active,.route-packet{transition:opacity .35s}.via-direct .route-relay,.via-relay .route-direct{opacity:0}.connection-device{position:absolute;width:24%;height:62%;top:19%}.browser-device{left:10%}.node-device{right:10%}.device-platform{position:absolute;left:5%;right:5%;height:48%;top:48%;transform:rotateX(62deg) rotate(-12deg);border:1px solid #faffff;border-radius:22px;background:linear-gradient(140deg,#fff,#d1e3f9);box-shadow:0 8px #c7d9f0,0 18px 28px #7292bc28}.device-model{position:absolute;left:14%;top:8%;width:72%;height:69%;transform-style:preserve-3d;animation:device-float 4s ease-in-out infinite}.monitor-model{transform:rotateY(18deg) rotateX(-6deg) rotate(-4deg)}.monitor-frame{position:absolute;inset:4% 0 28%;border:5px solid #f4faff;border-radius:9px;background:linear-gradient(140deg,#569aff,#91c4ff);box-shadow:4px 4px #b2cae7,0 12px 20px #43679725;overflow:hidden}.monitor-toolbar{display:flex;gap:3px;padding:5px;background:#ffffff38}.monitor-toolbar i{width:3px;height:3px;background:#fff;border-radius:50%}.monitor-screen{padding:12%;display:grid;grid-template-columns:35% 1fr;gap:8px}.monitor-screen span{grid-row:span 2;background:#ffffff6b;border-radius:4px}.monitor-screen b{height:8px;border-radius:3px;background:#ffffff8c}.monitor-neck{position:absolute;left:43%;top:73%;width:15%;height:20%;background:linear-gradient(90deg,#adcae6,#eff8ff)}.monitor-foot{position:absolute;left:26%;top:90%;width:49%;height:9%;border-radius:50%;background:#f9fcff;box-shadow:0 3px #b9d0e9}.tower-model{left:24%;width:52%;top:2%;height:78%;transform:rotateY(-24deg) rotateX(-5deg);animation-delay:-1s}.tower-front{position:absolute;inset:0;border:2px solid #f3faff;border-radius:9px;background:linear-gradient(120deg,#ecf5ff,#c0d6f2);box-shadow:0 12px 20px #43679728;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8%}.tower-side{position:absolute;right:-25%;top:0;width:26%;height:100%;transform-origin:left;transform:skewY(-26deg);background:linear-gradient(90deg,#a7c1e4,#c0d6f0);border-radius:0 5px 5px 0}.tower-top{position:absolute;left:0;top:-9%;width:100%;height:10%;transform-origin:bottom;transform:skew(-65deg);background:#f7fbff;border-radius:4px}.tower-front>i{position:absolute;top:7%;right:13%;width:5px;height:5px;border-radius:50%;background:#43d9b8;box-shadow:0 0 6px #43d9b8}.tower-front>b{height:3px;width:35%;border-radius:5px;background:#9dbadd}.tower-fan{width:57%;aspect-ratio:1;border:3px solid #8fb5e8;border-radius:50%;background:repeating-conic-gradient(from 0deg,#a9c9f3 0deg 18deg,#d7e7fa 18deg 60deg);box-shadow:inset 0 0 0 5px #e6f1ff;animation:fan-spin 7s linear infinite}.device-caption{position:absolute;top:101%;left:-20%;right:-20%;display:grid;gap:6px}.device-caption strong{font-size:14px;font-weight:650;color:#354d6c}.device-caption span{font-size:11px;color:#879bb5}.relay-device{left:41%;top:0;width:18%;height:34%;opacity:.45;transition:opacity .4s}.via-relay .relay-device{opacity:1}.relay-model{position:relative;width:68%;aspect-ratio:1;margin:auto;display:grid;place-items:center}.relay-core{width:56%;aspect-ratio:1;display:grid;place-items:center;border-radius:20%;background:linear-gradient(135deg,#d5e7ff,#faffff);box-shadow:5px 8px #c4d9f3,0 12px 24px #80a7da30;transform:rotate(-12deg);color:#6b9ddc;font-size:25px}.relay-ring{position:absolute;inset:0;border:1px dashed #8ab9f0;border-radius:50%;transform:rotateX(48deg);animation:relay-pulse 2.5s ease-in-out infinite}.relay-device .device-caption{top:78%;gap:4px}.relay-device .device-caption strong{font-size:11px}.relay-device .device-caption span{font-size:10px}.connection-route-label{position:absolute;bottom:-6%;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.05em;white-space:nowrap;color:#6990bc}.connection-steps{display:flex;list-style:none;padding:0;max-width:560px;margin:40px auto 0;gap:0}.connection-steps li{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:10px;color:#9bacc2;font-size:11px}.connection-steps li+li:before{content:"";position:absolute;top:12px;right:calc(50% + 22px);width:calc(100% - 44px);height:1px;background:#dbe6f3}.connection-steps i{font-style:normal;display:grid;place-items:center;width:25px;height:25px;background:#e7eff9;border-radius:50%;font-size:10px}.connection-steps .complete{color:#6483a8}.connection-steps .complete i{background:#dceafa;color:#4f88d0}.connection-steps .current{color:#367cdb;font-weight:600}.connection-steps .current i{color:#fff;background:#4b94ff;box-shadow:0 0 0 6px #4b94ff14;animation:step-pulse 2s ease-in-out infinite}.connection-footer{margin-top:32px;display:flex;align-items:center;justify-content:center;gap:20px;color:#8c9eb6;font-size:11px;min-height:30px}.connection-footer button{background:none;border:0;color:#6186b6;cursor:pointer;font:inherit;border-bottom:1px solid #abc3df;padding:4px 0}@keyframes route-flow{to{stroke-dashoffset:-36}}@keyframes device-float{50%{translate:0 -7px}}@keyframes fan-spin{to{rotate:360deg}}@keyframes relay-pulse{50%{scale:1.12;opacity:.5}}@keyframes step-pulse{50%{box-shadow:0 0 0 9px #4b94ff08}}.platform-shell.player-shell{height:100dvh;min-height:0;padding:0;background:#05080d;overflow:hidden}.immersive-player{position:fixed;inset:0;background:#05080d;color:#e4ebf6;overflow:hidden;font-family:Inter,Microsoft YaHei,sans-serif}.immersive-player .stream-stage{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:#05080d}.immersive-player .stream-stage:focus{border:0;box-shadow:none}.immersive-player .stream-stage video{object-fit:contain}.immersive-player .connection-transition{position:absolute;z-index:5}.player-info-trigger{position:absolute;z-index:15;right:max(22px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff30;border-radius:50%;background:#1420348c;backdrop-filter:blur(16px);color:#fff;box-shadow:0 4px 18px #0002;cursor:pointer;transition:background .2s,transform .2s}.player-info-trigger:hover{background:#345279bd;transform:translateY(-1px)}.player-info-trigger svg{width:20px;height:20px}.player-info-trigger>i{position:absolute;width:7px;height:7px;border-radius:50%;right:1px;bottom:2px;background:#edbf6d;border:2px solid #233249}.player-info-trigger>i.online{background:#55d6ad}.player-info-trigger:focus-visible,.player-info-dialog button:focus-visible{outline:2px solid #75abfa;outline-offset:4px}.player-info-dialog{width:min(490px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #ffffff75;border-radius:24px;background:#f5f8ff;color:#283f60;box-shadow:0 25px 110px #0006;overflow:auto;font-size:13px}.player-info-dialog::backdrop{background:#070e205c;backdrop-filter:blur(8px)}.player-info-dialog header{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 18px}.player-info-dialog header small{font-size:9px;color:#7693b7;letter-spacing:.18em}.player-info-dialog h2{margin:6px 0 0;font-size:21px;font-weight:650}.player-dialog-close{display:grid;place-items:center;width:32px;height:32px;background:#e7eef8;color:#6881a4;border:0;border-radius:50%;cursor:pointer;font-size:21px}.player-dialog-body{padding:0 26px 24px}.player-connection-summary{display:flex;align-items:center;gap:12px;border:1px solid #dbe7f7;border-radius:15px;background:linear-gradient(120deg,#e6f1ff,#f9fcff);padding:16px}.player-connection-summary>i{width:10px;height:10px;border-radius:50%;background:#6da7f4;box-shadow:0 0 0 5px #6da7f418}.player-connection-summary>div{display:grid;gap:5px}.player-connection-summary strong{font-size:13px}.player-connection-summary span{font-size:10px;color:#8194ac;overflow-wrap:anywhere}.player-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e5ecf6;border:1px solid #e5ecf6;border-radius:14px;overflow:hidden;margin:16px 0 24px}.player-metrics>div{display:grid;gap:8px;background:#fff;padding:15px 12px}.player-metrics span{font-size:10px;color:#8192a9}.player-metrics strong{font-size:16px;font-weight:600;color:#355578}.player-metrics .warning strong{color:#ba8737}.player-settings-title{margin:0 0 13px;font-size:12px;color:#617b9d}.player-setting-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:14px 0;font-size:12px}.player-setting-row input{flex:1;min-width:0;accent-color:#4f92ee;height:5px}.player-setting-row>span{min-width:35px;color:#7890ae;font-size:11px}.player-info-dialog button:not(.player-dialog-close){padding:8px 13px;border:1px solid #d2e1f4;border-radius:9px;background:#eaf2ff;color:#4676b8;font:inherit;font-size:11px;cursor:pointer}.player-info-dialog button:disabled{opacity:.4;cursor:not-allowed}.player-setting-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.player-setting-actions button{min-height:38px}.player-diagnostics{border-top:1px solid #dce6f2;margin-top:23px;padding-top:16px;font-size:11px;color:#7d90a9}.player-diagnostics summary{cursor:pointer;color:#657e9f}.player-diagnostics dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.player-diagnostics dt{color:#8c9bb0}.player-diagnostics dd{margin:0;text-align:right;overflow-wrap:anywhere}.player-dialog-footnote{font-size:10px;line-height:1.8;color:#8b9bb0;margin:20px 0 0}.player-dialog-notice{font-size:11px;line-height:1.8;padding:10px;background:#e8f0fb;border-radius:10px;color:#6480a8}.player-ending{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:radial-gradient(ellipse at top,#243758,#0b1320 70%);padding:24px}.player-ending>div{max-width:440px;text-align:center}.player-ending-icon{display:grid;place-items:center;margin:0 auto 20px;width:54px;height:54px;border:1px solid #acc4ef40;background:#779dd81a;border-radius:18px;color:#a6c6f5;font-size:24px}.player-ending h2{font-size:23px}.player-ending p{font-size:12px;line-height:1.9;color:#9fb0c9;overflow-wrap:anywhere}.player-ending a{display:inline-block;margin-top:20px;text-decoration:none;border:1px solid #8baee445;border-radius:12px;padding:12px 22px;background:#8bb4f21f;color:#d6e5fd;font-size:12px}.player-play-prompt{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#06112380}.player-play-prompt button{padding:17px 27px;border:1px solid #ffffff50;border-radius:18px;background:#243d64;color:#fff;cursor:pointer;font:inherit}.player-toast{position:absolute;z-index:12;left:50%;top:20px;transform:translate(-50%);max-width:calc(100% - 150px);border:1px solid #ffffff24;background:#142034cc;color:#d5e5fc;backdrop-filter:blur(12px);padding:10px 18px;border-radius:30px;font-size:11px;text-align:center}@media(max-width:600px){.connection-content{padding:30px 16px}.connection-scene{margin-top:38px;margin-bottom:48px}.connection-description,.device-caption strong{font-size:11px}.device-caption span{font-size:8px}.monitor-frame{border-width:3px}.monitor-toolbar{padding:3px}.monitor-screen{gap:4px}.monitor-screen b{height:4px}.tower-fan{border-width:2px;box-shadow:inset 0 0 0 3px #e6f1ff}.relay-core{font-size:17px}.relay-device .device-caption{top:92%}.relay-device .device-caption span{display:none}.connection-steps{margin-top:25px}.connection-footer{font-size:10px;flex-direction:column;gap:8px}.player-info-trigger{top:12px;right:12px;width:38px;height:38px}.player-info-dialog header{padding:20px}.player-dialog-body{padding:0 20px 22px}.player-metrics>div{padding:12px 9px}.player-metrics strong{font-size:14px}}@media(prefers-reduced-motion:reduce){.connection-transition *{animation:none!important}.route-packet{display:none}.player-info-trigger{transition:none}}.awaiting-route .route-active,.awaiting-route .route-packet{opacity:0}.player-info-dialog{color-scheme:light}.player-resolution-options{display:flex;padding:3px;gap:3px;border:1px solid #d7e6fa;border-radius:11px;background:#eaf1fb}.player-info-dialog .player-resolution-options button{min-width:72px;border:0;background:transparent;border-radius:8px;padding:8px 16px}.player-info-dialog .player-resolution-options button[aria-pressed=true]{background:#fff;color:#3278db;box-shadow:0 2px 7px #447dc31a}.player-resolution-status{margin:0 0 14px;color:#7890aa;font-size:11px;line-height:1.6}.connection-transition{opacity:1;transition:opacity .3s ease}.connection-transition.connection-complete{opacity:0;pointer-events:none}.connection-description{min-height:3.6em}.connection-steps li,.connection-steps i{transition:color .25s,background-color .25s}.connection-footer{height:54px;margin-top:20px}@media(prefers-reduced-motion:reduce){.connection-transition,.route-active,.route-packet{transition:none}}.review-initial-shell{box-sizing:border-box;display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh;width:100%;background:#f6f7fb;color:#252c42;font:14px/1.6 Inter,Microsoft YaHei,system-ui,sans-serif;color-scheme:light}.review-initial-shell *{box-sizing:border-box}.review-initial-shell aside{background:#fff;padding:30px 26px;border-right:1px solid #e8ebf2}.review-initial-brand{margin:0 0 50px;font-size:19px;font-weight:600}.review-initial-brand span{color:#777bb4;font-size:13px;font-weight:400}.review-initial-shell i{display:block;height:40px;border-radius:8px;margin:14px 0;background:#eff0f6;animation:review-initial-pulse 1.5s ease-in-out infinite alternate}.review-initial-body header{padding:24px 40px;min-height:74px;background:#fff;border-bottom:1px solid #e8ebf2;color:#788196}.review-initial-body main{max-width:1510px;margin:auto;padding:38px 42px}.review-initial-body h1{margin:0 0 8px;font-size:29px;font-weight:600}.review-initial-body p{margin:0 0 28px;color:#858da0}.review-initial-stats{display:flex;gap:32px;padding:24px;margin-bottom:30px;border:1px solid #e6e9f1;border-radius:12px;background:#fff}.review-initial-stats i{flex:1;margin:0;height:60px}.review-initial-body section{border:1px solid #e6e9f1;border-radius:12px;padding:24px;background:#fff}.review-initial-body section i{height:54px;margin:18px 0}.review-navigation-progress,.review-navigation-error{position:fixed;z-index:1000;top:12px;left:50%;transform:translate(-50%);padding:8px 18px;border:1px solid #dedff4;border-radius:8px;background:#fff;color:#5556d9;box-shadow:0 4px 20px #33335512;font-size:13px}.review-navigation-progress{pointer-events:none;opacity:0;animation:review-navigation-appear .1s .18s forwards}.review-navigation-error{top:65px;color:#bd3030;border-color:#f2cccc}@keyframes review-initial-pulse{to{opacity:.45}}@keyframes review-navigation-appear{to{opacity:1}}@media(max-width:1000px){.review-initial-shell{grid-template-columns:minmax(0,1fr)}.review-initial-shell aside{display:none}}@media(max-width:640px){.review-initial-body header{padding:20px 18px}.review-initial-body main{padding:25px 16px}.review-initial-stats{gap:12px;padding:16px}}@media(prefers-reduced-motion:reduce){.review-initial-shell i{animation:none}.review-navigation-progress{animation:none;opacity:1}}.review-root{color-scheme:light;--ink: #1c2430;--muted: #747f8c;--line: #e5e8ed;--blue: #4661ff;--panel: rgba(255, 255, 255, .96)}.review-root,.review-root *{box-sizing:border-box}.review-root{width:100%;min-height:100vh;margin:0}.review-root{color:var(--ink);background:#eef1f4;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.review-root button{font:inherit}.review-root .workspace-shell{width:100vw;height:100vh;display:grid;grid-template-rows:68px 1fr}.review-root .topbar{position:relative;z-index:20;display:flex;align-items:center;gap:14px;padding:0 18px;background:#fffffff0;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.review-root .brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#1d2633;border-radius:12px;font:700 20px Georgia,serif}.review-root .back-to-days{height:36px;display:flex;align-items:center;gap:6px;padding:0 10px;color:#596674;text-decoration:none;background:#f5f7f9;border:1px solid #e6e9ed;border-radius:10px;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}.review-root .back-to-days span{font-size:16px;line-height:1}.review-root .back-to-days b{font-size:11px;font-weight:750;white-space:nowrap}.review-root .back-to-days:hover{color:#304be6;background:#eef1ff;border-color:#cdd4ff;transform:translate(-1px)}.review-root .project-heading{min-width:0}.review-root .breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}.review-root .breadcrumbs span{color:#9aa2ac}.review-root .workspace-status{margin-top:5px;color:#76818d;font-size:11px}.review-root .status-dot,.review-root .pulse-dot{display:inline-block;width:7px;height:7px;margin-right:5px;background:#35bd78;border-radius:999px}.review-root .status-dot.error{background:#f04452}.review-root .topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.review-root .ue-state{padding:9px 12px;color:#66717d;background:#f5f7f9;border:1px solid #e8ebef;border-radius:11px;font-size:12px}.review-root .pulse-dot{background:#aab2ba}.review-root .pulse-dot.online{background:#35bd78;box-shadow:0 0 0 4px #35bd7826}.review-root .avatars{display:flex;align-items:center;padding-left:6px}.review-root .avatar-button{width:32px;height:32px;display:grid;place-items:center;margin-left:-7px;padding:0;overflow:hidden;background:#eef1f5;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #18222d26}.review-root button.avatar-button{cursor:pointer}.review-root .avatar-button img{width:100%;height:100%;display:block;object-fit:cover}.review-root .avatar-button.mine{position:relative;z-index:2;outline:2px solid rgba(70,97,255,.2)}.review-root .avatar-button.mine:hover{outline-color:#4661ff;transform:translateY(-1px)}.review-root .avatars .avatar-more{width:31px;height:31px;display:grid;place-items:center;margin-left:-6px;color:#5b6673;background:#edf0f4;border:2px solid #fff;border-radius:50%;font-size:10px;font-weight:700}.review-root .primary-button{padding:10px 17px;color:#fff;background:var(--blue);border:0;border-radius:10px;box-shadow:0 7px 18px #4661ff3b;cursor:pointer}.review-root .board-region{position:relative;min-height:0;overflow:hidden}.review-root .board-canvas-host:focus{outline:none}.review-root .canvas-host{position:absolute;inset:0}.review-root .canvas-host:focus{outline:none}.review-root .canvas-host.tool-pan canvas{cursor:grabbing}.review-root .board-region.tool-is-dragging .canvas-host:after{content:"\91ca\653e\4ee5\6dfb\52a0\5230\5f53\524d\753b\9762";position:absolute;z-index:7;inset:10px 52px 84px 210px;display:grid;place-items:center;color:#4661ff;background:#4661ff0b;border:2px dashed rgba(70,97,255,.55);border-radius:18px;pointer-events:none;font-size:13px;font-weight:700}.review-root .board-region.issues-open.tool-is-dragging .canvas-host:after{right:374px}.review-root .canvas-host.tool-sticky canvas,.review-root .canvas-host.tool-pin canvas,.review-root .canvas-host.tool-frame canvas{cursor:crosshair}.review-root .tool-palette{position:absolute;z-index:14;left:calc(50% + 84px);bottom:16px;display:flex;flex-direction:row;gap:4px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 35px #1f2a3729;transform:translate(-50%);transition:left .22s ease}.review-root .issues-open .tool-palette{left:calc(50% - 82px)}.review-root .tool-button{width:54px;min-height:48px;display:grid;place-items:center;gap:1px;color:#606b77;background:transparent;border:0;border-radius:10px;cursor:pointer;user-select:none}.review-root .tool-button span{font-size:20px;line-height:20px}.review-root .tool-button small{font-size:10px}.review-root .tool-button:hover{background:#f1f3f6}.review-root .tool-button.active{color:#fff;background:#283444}.review-root .tool-drag-preview{position:fixed;z-index:100;display:flex;align-items:center;gap:10px;min-width:112px;padding:10px 12px;color:#263444;background:#fffffff7;border:1px solid #d9dfe6;border-radius:12px;box-shadow:0 12px 32px #1e2a3833;transform:translate(14px,14px);pointer-events:none}.review-root .tool-drag-preview>span{width:32px;height:32px;display:grid;place-items:center;color:#fff;background:#283444;border-radius:9px;font-size:18px}.review-root .tool-drag-preview b,.review-root .tool-drag-preview small{display:block}.review-root .tool-drag-preview b{font-size:12px}.review-root .tool-drag-preview small{margin-top:2px;color:#8a949e;font-size:9px}.review-root .tool-drag-preview.sticky>span{color:#6a5520;background:#fff0a8}.review-root .tool-drag-preview.pin>span{background:#f04452}.review-root .tool-drag-preview.frame>span{background:#4661ff}.review-root .page-strip{position:absolute;z-index:12;left:14px;top:14px;bottom:82px;width:182px;display:flex;flex-direction:column;padding:14px 11px 11px;background:#fffffff2;border:1px solid rgba(220,225,231,.92);border-radius:16px;box-shadow:0 16px 44px #232d3a21;backdrop-filter:blur(18px);cursor:default}.review-root .page-strip-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:0 3px 11px;border-bottom:1px solid #edf0f3}.review-root .page-strip-heading div span,.review-root .page-strip-heading div b{display:block}.review-root .page-strip-heading div span{color:#7e8995;font-size:9px;font-weight:750;letter-spacing:.08em}.review-root .page-strip-heading div b{margin-top:3px;color:#263442;font-size:13px}.review-root .page-strip-heading>small{color:#98a1ab;font-size:8px;white-space:nowrap}.review-root .page-card-list{display:flex;flex-direction:column;gap:11px;margin-top:11px;padding:2px 3px 8px;overflow:auto;scrollbar-width:thin}.review-root .page-overview-button{display:flex;align-items:center;gap:11px;flex-shrink:0;margin-top:12px;padding:12px;text-align:left;color:#6b7790;background:#f5f7fb;border:1px solid #e6eaf3;border-radius:12px;cursor:pointer}.review-root .page-overview-button.active,.review-root .page-overview-button:hover{color:#4b60d8;border-color:#b8c4ff;background:#eef1ff}.review-root .page-overview-button svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.5}.review-root .page-overview-button b{display:block;font-size:12px}.review-root .page-overview-button small{display:block;margin-top:4px;font-size:10px;opacity:.75}.review-root .day-overview{position:absolute;z-index:11;left:210px;top:0;overflow:hidden;background:#f5f7fb;cursor:grab}.review-root .day-overview:active{cursor:grabbing}.review-root .day-overview-heading{position:absolute;z-index:1;top:22px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;pointer-events:none}.review-root .day-overview-heading span{color:#8795b0;font-size:9px;letter-spacing:.17em}.review-root .day-overview-heading h2{margin:5px 0 0;color:#2b3d58;font-size:21px}.review-root .day-overview-heading h2 small{margin-left:10px;font-size:11px;color:#8793a6;font-weight:400}.review-root .day-overview-heading p{color:#8995a8;font-size:11px}.review-root .overview-actions{display:flex;align-items:center;gap:18px}.review-root .overview-export{pointer-events:auto;border:1px solid #cbd5fb;background:#fff;color:#4c63cc;border-radius:10px;padding:10px 16px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 3px 10px #3c508a0a}.review-root .overview-export:hover{background:#edf1ff}.review-root .overview-export:disabled{opacity:.55;cursor:default}.review-root .overview-export-status{position:absolute;z-index:2;top:86px;right:28px;max-width:calc(100% - 56px);padding:11px 15px;border-radius:10px;background:#fff;border:1px solid #dce3f5;box-shadow:0 5px 20px #253d6412;color:#546985;font-size:12px;cursor:default}.review-root .overview-export-status.error{color:#b54747;background:#fff7f7;border-color:#f0d0d0}.review-root .overview-export-status button{margin-left:16px;padding:0;border:0;background:none;color:#5269cf;cursor:pointer}@media(max-width:1100px){.review-root .overview-actions p{display:none}}.review-root .overview-zoom{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;padding:6px;background:#fff;border:1px solid #e1e6ef;border-radius:12px;box-shadow:0 8px 24px #23345312;cursor:default;white-space:nowrap}.review-root .overview-zoom button{min-width:34px;height:32px;padding:0 10px;background:transparent;border:0;border-radius:7px;color:#586984;cursor:pointer}.review-root .overview-zoom button:hover{background:#eef1ff;color:#4b60d8}.review-root .overview-zoom span{min-width:48px;font-size:11px;text-align:center;color:#8793a6}.review-root .overview-zoom i{height:18px;margin:0 5px;border-left:1px solid #e5e9f1}.review-root .overview-accessible-pages{position:absolute;top:85px;left:24px}.review-root .overview-accessible-pages button{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.review-root .overview-accessible-pages button:focus{position:relative;width:auto;height:auto;clip-path:none;padding:10px}.review-root .overview-open>:is(.konvajs-content,.history-control,.zoom-control,.minimap,.review-upload-hint,.selection-hud,.remote-cursor,.canvas-text-editor,.canvas-upload-preview,.pin-hover-card){visibility:hidden;pointer-events:none}@media(max-width:900px){.review-root .day-overview-heading{display:block}.review-root .day-overview-heading p{margin-top:8px}}.review-root .page-card{position:relative;width:100%;padding:5px;color:#596675;text-align:left;background:#f7f8fa;border:2px solid transparent;border-radius:11px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.review-root .page-card:hover{background:#fff;border-color:#cfd6ff;transform:translateY(-1px)}.review-root .page-card.active{background:#fff;border-color:#4661ff;box-shadow:0 7px 18px #4661ff24}.review-root .page-card-open{width:100%;display:block;padding:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.review-root .page-card-menu{position:absolute;z-index:5;top:9px;right:9px}.review-root .page-card-menu-trigger{width:28px;height:28px;display:grid;place-items:center;padding:0;color:#4c5967;background:#fffffff0;border:1px solid rgba(220,226,232,.96);border-radius:9px;box-shadow:0 4px 13px #16202c29;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-3px) scale(.96);transition:opacity .15s ease,transform .15s ease,color .15s ease,background .15s ease,border-color .15s ease}.review-root .page-card-menu-trigger svg{width:17px;height:17px;fill:currentColor}.review-root .page-card:hover .page-card-menu-trigger,.review-root .page-card:focus-within .page-card-menu-trigger,.review-root .page-card-menu-trigger[aria-expanded=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.review-root .page-card-menu-trigger:hover,.review-root .page-card-menu-trigger[aria-expanded=true]{color:#4661ff;background:#fff;border-color:#bfc9ff}.review-root .page-card-menu-popover{position:absolute;z-index:8;top:35px;right:-2px;width:118px;padding:4px;background:#fffffffa;border:1px solid #e0e5ea;border-radius:10px;box-shadow:0 11px 28px #17212d2e,0 2px 6px #17212d12;transform-origin:top right;animation:page-menu-in .14s cubic-bezier(.2,.8,.3,1) both}.review-root .page-card-menu-popover:before{position:absolute;right:10px;top:-5px;width:9px;height:9px;background:#fff;border-top:1px solid #e0e5ea;border-left:1px solid #e0e5ea;content:"";transform:rotate(45deg)}.review-root .page-card-menu-popover button{position:relative;z-index:1;width:100%;display:flex;align-items:center;gap:7px;padding:6px 7px;color:#b93c48;text-align:left;background:transparent;border:0;border-radius:7px;cursor:pointer}.review-root .page-card-menu-popover button:hover{color:#d53f4c;background:#fff1f2}.review-root .page-menu-icon{width:22px;height:22px;flex:none;display:grid;place-items:center;color:currentColor;background:#fff0f1;border-radius:6px}.review-root .page-menu-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.review-root .page-menu-copy{min-width:0}.review-root .page-menu-copy b,.review-root .page-menu-copy small{display:block}.review-root .page-menu-copy b{font-size:9px;font-weight:750}.review-root .page-menu-copy small{display:none}@keyframes page-menu-in{0%{opacity:0;transform:translateY(-5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.review-root .page-index{position:absolute;z-index:2;left:-8px;top:8px;width:20px;height:20px;display:grid;place-items:center;color:#fff;background:#7c8794;border:2px solid #fff;border-radius:50%;font-size:9px;font-weight:800}.review-root .page-card.active .page-index{background:#4661ff}.review-root .page-thumbnail{position:relative;width:100%;aspect-ratio:16 / 9;display:block;overflow:hidden;background:#e9edf1;border-radius:7px}.review-root .page-thumbnail img{width:100%;height:100%;display:block;object-fit:cover}.review-root .page-thumbnail>i{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:2px;color:#9aa4af;background:linear-gradient(135deg,#f3f5f7,#e7ebef);font-style:normal}.review-root .page-thumbnail>i b{font-size:20px;font-weight:400}.review-root .page-thumbnail>i small{font-size:8px}.review-root .page-card-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:7px 3px 2px}.review-root .page-card-meta b{min-width:0;overflow:hidden;color:#344252;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.review-root .page-card-meta small{flex:none;color:#929ca7;font-size:8px}.review-root .issues-panel{position:absolute;z-index:13;top:14px;right:14px;bottom:14px;width:346px;display:flex;flex-direction:column;padding:19px;background:var(--panel);border:1px solid rgba(220,225,231,.9);border-radius:18px;box-shadow:0 18px 50px #232d3a26;backdrop-filter:blur(18px);transition:transform .24s cubic-bezier(.22,.8,.25,1),box-shadow .2s ease}.review-root .issues-panel.collapsed{transform:translate(calc(100% + 15px));box-shadow:none}.review-root .issues-panel-toggle{position:absolute;left:-46px;top:50%;width:38px;height:58px;display:grid;place-items:center;color:#53606e;background:#fffffff7;border:1px solid #dfe4e9;border-radius:12px 0 0 12px;box-shadow:-6px 5px 18px #1e2a381f;cursor:pointer;transform:translateY(-50%);font-size:26px;line-height:1}.review-root .issues-panel.open .issues-panel-toggle{color:#fff;background:#2e3a49;border-color:#2e3a49}.review-root .issues-panel-toggle:hover{color:#fff;background:#4661ff;border-color:#4661ff}.review-root .panel-heading{display:flex;align-items:center;justify-content:space-between}.review-root .panel-page-scope{padding:5px 8px;color:#5268df;background:#eef1ff;border-radius:7px;font-size:9px;font-weight:750}.review-root .eyebrow{color:#8a949e;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.review-root .panel-heading h2{margin:4px 0 0;font-size:20px}.review-root .icon-button{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer}.review-root .issue-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;padding:4px;background:#f1f3f6;border-radius:10px}.review-root .issue-tabs button{padding:8px;color:#7d8791;background:transparent;border:0;border-radius:7px;cursor:pointer;font-size:12px}.review-root .issue-tabs button.active{color:#263240;background:#fff;box-shadow:0 2px 7px #1e283214}.review-root .issue-tabs b{margin-left:4px}.review-root .issue-list{display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow:auto}.review-root .issue-card{display:flex;gap:11px;padding:13px;background:#fff;border:1px solid #e8ebef;border-radius:13px;box-shadow:0 4px 12px #1a232d0a;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.review-root .issue-card:hover{border-color:#aeb9ff;box-shadow:0 8px 20px #2b39571a;transform:translateY(-1px)}.review-root .issue-number{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;color:#fff;background:#3f73db;border-radius:50%;font-size:11px;font-weight:700}.review-root .issue-number.red{background:#f04452}.review-root .issue-number.amber{background:#f5a524}.review-root .issue-number.high{background:#f04452}.review-root .issue-number.medium{background:#f5a524}.review-root .issue-number.low{background:#3f73db}.review-root .issue-copy{min-width:0;flex:1}.review-root .issue-copy h3{margin:1px 0 7px;font-size:14px}.review-root .issue-copy p{margin:0;color:#7d8791;font-size:11px}.review-root .issue-page-label{color:#5268df;font-weight:750}.review-root .issue-meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#929aa3;font-size:10px}.review-root .priority{padding:3px 7px;color:#3970d7;background:#edf4ff;border-radius:6px}.review-root .priority.red{color:#d83e4a;background:#fff0f1}.review-root .priority.amber{color:#b36f00;background:#fff5df}.review-root .priority.high{color:#d83e4a;background:#fff0f1}.review-root .priority.medium{color:#b36f00;background:#fff5df}.review-root .priority.low{color:#3970d7;background:#edf4ff}.review-root .issue-status-button{padding:3px 7px;color:#65717e;background:#f3f5f7;border:0;border-radius:6px;cursor:pointer;font-size:10px}.review-root .issue-status-button:hover{color:#304ae0;background:#eef1ff}.review-root .issue-empty{padding:28px 12px;color:#98a1ab;text-align:center;border:1px dashed #dce1e7;border-radius:12px;font-size:11px}.review-root .add-issue{width:100%;margin-top:auto;padding:11px;color:var(--blue);background:#f2f4ff;border:1px dashed #98a7ff;border-radius:10px;cursor:pointer;font-size:12px;font-weight:700}.review-root .connection-card{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px;background:#f7f8fa;border-radius:11px}.review-root .connection-icon{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:#202b39;border-radius:9px;font-size:10px;font-weight:800}.review-root .connection-card b,.review-root .connection-card span{display:block}.review-root .connection-card b{font-size:11px}.review-root .connection-card span{margin-top:3px;color:#89929c;font-size:9px}.review-root .connection-copy{min-width:0;flex:1}.review-root .connection-copy select{width:100%;margin-top:5px;padding:5px 7px;color:#46515d;background:#fff;border:1px solid #dfe4e9;border-radius:7px;font-size:9px}.review-root .capture-ue{flex:none;padding:7px 8px;color:#fff;background:#4661ff;border:0;border-radius:8px;font-size:9px;font-weight:700;cursor:pointer}.review-root .capture-ue:disabled{color:#9aa3ad;background:#e5e8ec;cursor:default}.review-root .board-caption{position:absolute;z-index:4;left:220px;top:18px;display:flex;align-items:center;gap:10px;padding:9px 12px;background:#ffffffe6;border:1px solid #e1e5ea;border-radius:10px;box-shadow:0 5px 16px #19232d14;pointer-events:none}.review-root .board-caption span{color:#7a8795;font-size:9px;letter-spacing:.1em}.review-root .board-caption b{font-size:12px}.review-root .board-caption small{padding-left:10px;color:#929ba5;border-left:1px solid #e1e5ea;font-size:9px}.review-root .selection-hud{position:absolute;z-index:8;left:calc(50% + 84px);top:18px;display:flex;align-items:center;gap:7px;max-width:calc(100% - 620px);padding:7px 9px 7px 12px;color:#495665;background:#fffffff7;border:1px solid #dce1e7;border-radius:11px;box-shadow:0 8px 24px #1e2a3621;transform:translate(-50%);font-size:11px;white-space:nowrap;transition:left .22s ease}.review-root .issues-open .selection-hud{left:calc(50% - 82px)}.review-root .selection-hud>span:first-child{color:#26384f;font-weight:700}.review-root .selection-hud i{width:1px;height:16px;background:#e0e4e9}.review-root .selection-hud button{padding:5px 8px;color:#c93c48;background:#fff1f2;border:0;border-radius:6px;cursor:pointer;font-size:10px}.review-root .selection-hud button:hover{background:#ffe3e5}.review-root .selection-hud button.edit-selection{color:#3e57df;background:#eef1ff}.review-root .selection-hud button.edit-selection:hover{background:#e1e6ff}.review-root .selection-hud button.complete-selection{color:#21865b;background:#eaf8f1}.review-root .selection-hud button.complete-selection:hover{background:#dcf3e7}.review-root .selection-hud button.neutral-selection{color:#586474;background:#f1f3f6}.review-root .selection-hud button.neutral-selection:hover{background:#e7ebef}.review-root .sticky-colors,.review-root .priority-picker{display:flex;align-items:center;gap:4px}.review-root .selection-hud button.color-swatch{width:18px;min-width:18px;height:18px;padding:0;border:1px solid rgba(37,49,60,.18);border-radius:50%;box-shadow:none}.review-root .selection-hud button.color-swatch.active{border:2px solid #4661ff;box-shadow:0 0 0 2px #fff,0 0 0 3px #8798ff}.review-root .drawing-styles{display:flex;align-items:center;gap:5px}.review-root .selection-hud button.draw-width{min-width:24px;padding:4px 6px;color:#4e5b6a;background:#f1f3f6}.review-root .selection-hud button.draw-width.active{color:#fff;background:#4661ff}.review-root .selection-hud button.priority-dot{width:16px;min-width:16px;height:16px;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cfd5dc}.review-root .selection-hud button.priority-dot.high{background:#f04452}.review-root .selection-hud button.priority-dot.medium{background:#f5a524}.review-root .selection-hud button.priority-dot.low{background:#3f73db}.review-root .selection-hud button.priority-dot.active{box-shadow:0 0 0 2px #4661ff}.review-root .canvas-text-editor{position:absolute;z-index:12;box-sizing:border-box;min-width:72px;min-height:28px;padding:4px 6px;color:#283642;border:2px solid #4661ff;border-radius:6px;outline:none;box-shadow:0 8px 24px #1f2d4438;resize:none;overflow:auto;transform-origin:top left;font-family:inherit;font-weight:500;line-height:1.35}.review-root .canvas-text-editor.frame{color:#fff}.review-root .canvas-text-editor.screenshot{color:#26313c;font-weight:700}.review-root .canvas-text-editor.pin{padding:10px 12px;border-color:#f04452;border-radius:10px;box-shadow:0 10px 28px #5f1f2638}.review-root .pin-hover-card{position:absolute;z-index:11;min-width:180px;padding:11px 13px;color:#283642;background:#fffffffa!important;border:1px solid #e1e5ea;border-left:4px solid #f04452;border-radius:10px;box-shadow:0 12px 30px #1f2b3a33;transform-origin:top left;pointer-events:none}.review-root .pin-hover-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.review-root .pin-hover-card p{margin:8px 0 6px;white-space:pre-wrap;font-size:inherit;line-height:1.45}.review-root .pin-hover-card small{color:#8a949e;font-size:10px}.review-root .pin-status{padding:3px 6px;color:#b03a45;background:#fff0f1;border-radius:5px;font-size:9px}.review-root .pin-status.completed{color:#21865b;background:#eaf8f1}.review-root .remote-cursor{position:absolute;z-index:8;left:0;top:0;width:22px;height:28px;overflow:visible;pointer-events:none;will-change:transform}.review-root .remote-cursor svg{display:block;width:22px;height:28px;filter:drop-shadow(0 1px 1px rgba(18,28,40,.22))}.review-root .remote-cursor small{position:absolute;left:15px;top:15px;display:block;max-width:180px;padding:4px 8px 5px;overflow:hidden;color:#fff;border:1px solid rgba(255,255,255,.86);border-radius:6px;box-shadow:0 3px 8px #141e2a33;font-size:11px;font-weight:750;line-height:1;text-overflow:ellipsis;white-space:nowrap}.review-root .history-control{position:absolute;z-index:6;left:270px;bottom:18px;display:flex;padding:4px;background:#fffffff0;border:1px solid #dfe3e8;border-radius:9px;box-shadow:0 5px 16px #19232d14}.review-root .history-control button{width:30px;height:26px;color:#5f6a76;background:transparent;border:0;border-radius:6px;cursor:pointer}.review-root .history-control button:hover{color:#304ae0;background:#eef1ff}.review-root .zoom-control{position:absolute;z-index:5;left:14px;bottom:18px;display:flex;align-items:center;padding:4px;background:#fffffff2;border:1px solid #dfe3e8;border-radius:10px;box-shadow:0 7px 20px #1e28321a}.review-root .zoom-control button{min-width:32px;height:30px;color:#57616d;background:transparent;border:0;border-radius:7px;cursor:pointer}.review-root .zoom-control button:hover{background:#edf0f3}.review-root .zoom-control button:focus{outline:none}.review-root .zoom-control button:focus-visible{box-shadow:inset 0 0 0 2px #4661ff73}.review-root .zoom-control span{min-width:50px;text-align:center;color:#6d7782;font-size:11px}.review-root .zoom-control .center-canvas{min-width:62px;margin-left:3px;padding:0 8px;border-left:1px solid #e1e5ea;border-radius:0 7px 7px 0}.review-root .minimap{position:absolute;z-index:5;right:374px;bottom:18px;width:174px;height:110px;overflow:hidden;background:#fffffff0;border:1px solid #d9dee5;border-radius:12px;box-shadow:0 8px 24px #1d273321;cursor:crosshair;touch-action:none;user-select:none}.review-root .minimap.panel-closed{right:54px}.review-root .minimap-label{position:absolute;z-index:3;top:6px;left:8px;padding:2px 5px;color:#6f7a86;background:#ffffffd1;border-radius:4px;pointer-events:none;font-size:8px;font-style:normal;font-weight:750;letter-spacing:.08em}.review-root .minimap-content{position:absolute;inset:0;pointer-events:none}.review-root .minimap-element{position:absolute;display:block;box-sizing:border-box;min-width:2px;min-height:2px;border:1px solid rgba(56,70,84,.24);border-radius:1px;opacity:.9}.review-root .minimap-element.frame{border:1px dashed #83909c}.review-root .minimap-element.pin{border:1px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #3d48542e}.review-root .minimap-element.drawing{border:0;border-radius:999px;opacity:.72}.review-root .minimap-viewport{position:absolute;box-sizing:border-box;min-width:8px;min-height:8px;background:#4661ff12;border:2px solid #4661ff;border-radius:3px;box-shadow:0 0 0 1px #fffc,0 2px 5px #2a395929}.review-root .profile-dialog-backdrop{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:24px;background:#141c2775;backdrop-filter:blur(8px)}.review-root .profile-dialog{position:relative;width:min(520px,100%);padding:28px;background:#fff;border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:0 28px 90px #1019254d}.review-root .profile-dialog-close{position:absolute;top:14px;right:14px;width:32px;height:32px;color:#687482;background:#f2f4f7;border:0;border-radius:9px;cursor:pointer;font-size:20px;line-height:1}.review-root .profile-dialog-heading{display:flex;align-items:center;gap:17px;padding-right:24px}.review-root .profile-dialog-heading>img{width:72px;height:72px;flex:none;background:#eef1f5;border:4px solid #fff;border-radius:20px;box-shadow:0 8px 24px #25303e29;object-fit:cover}.review-root .profile-dialog-heading span{color:#4661ff;font-size:10px;font-weight:800;letter-spacing:.13em}.review-root .profile-dialog-heading h2{margin:4px 0 5px;color:#1e2b3a;font-size:24px}.review-root .profile-dialog-heading p{margin:0;color:#7b8692;font-size:12px}.review-root .profile-name-field{position:relative;display:block;margin-top:24px}.review-root .profile-name-field>span{display:block;margin-bottom:8px;color:#4f5d6c;font-size:12px;font-weight:750}.review-root .profile-name-field input{width:100%;height:46px;padding:0 54px 0 13px;color:#263444;background:#fafbfc;border:1px solid #d9dfe6;border-radius:11px;outline:none;font-size:14px}.review-root .profile-name-field input:focus{border-color:#6f82ff;box-shadow:0 0 0 3px #4661ff1f}.review-root .profile-name-field small{position:absolute;right:13px;bottom:15px;color:#9ba3ac;font-size:10px}.review-root .profile-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding-top:18px;border-top:1px solid #edf0f3}.review-root .profile-dialog footer small{max-width:235px;color:#929ba5;font-size:10px;line-height:1.5}.review-root .profile-dialog .profile-save{padding:10px 16px;color:#fff;background:#4661ff;border:0;border-radius:9px;cursor:pointer;font-size:12px;font-weight:750}.review-root .profile-dialog .profile-save:disabled{cursor:not-allowed;opacity:.45}.review-root .share-dialog{position:relative;width:min(548px,100%);padding:30px;background:#fff;border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:0 28px 90px #1019254d}.review-root .share-dialog-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:18px;color:#fff;background:linear-gradient(145deg,#6076ff,#3f57ee);border-radius:14px;box-shadow:0 9px 22px #4661ff47;font-size:23px}.review-root .share-dialog-eyebrow{color:#4661ff;font-size:10px;font-weight:800;letter-spacing:.13em}.review-root .share-dialog h2{margin:5px 0 7px;color:#1e2b3a;font-size:24px}.review-root .share-dialog>p{margin:0;color:#78838f;font-size:12px;line-height:1.6}.review-root .share-link-field{display:flex;gap:8px;margin-top:22px;padding:6px;background:#f5f7f9;border:1px solid #e0e5ea;border-radius:12px}.review-root .share-link-field:focus-within{border-color:#8292ff;box-shadow:0 0 0 3px #4661ff1a}.review-root .share-link-field input{min-width:0;flex:1;padding:8px 7px;color:#4f5c69;background:transparent;border:0;outline:none;font-size:12px}.review-root .share-link-field button{flex:none;min-width:92px;padding:9px 13px;color:#fff;background:#4661ff;border:0;border-radius:8px;cursor:pointer;font-size:11px;font-weight:750}.review-root .share-copy-error{display:block;margin-top:8px;color:#d54853;font-size:10px}.review-root .share-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding-top:17px;border-top:1px solid #edf0f3}.review-root .share-dialog footer small{color:#929ba5;font-size:10px}.review-root .share-dialog-done{padding:8px 14px;color:#566270;background:#f0f2f5;border:0;border-radius:8px;cursor:pointer;font-size:11px;font-weight:700}.review-root .page-delete-backdrop{position:fixed;z-index:210;inset:0;display:grid;place-items:center;padding:24px;background:#141c2775;backdrop-filter:blur(8px)}.review-root .page-delete-dialog{width:min(430px,100%);padding:28px;text-align:center;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 28px 90px #1019254d}.review-root .page-delete-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 14px;color:#df3f4d;background:#fff0f1;border-radius:15px;font-size:28px;font-weight:300}.review-root .page-delete-dialog>span{color:#df4652;font-size:9px;font-weight:800;letter-spacing:.13em}.review-root .page-delete-dialog h2{margin:6px 0 9px;color:#202c39;font-size:21px}.review-root .page-delete-dialog>p{margin:0;color:#77828e;font-size:12px;line-height:1.65}.review-root .page-delete-error{margin-top:14px;padding:9px 11px;color:#c93f4b;background:#fff2f3;border-radius:9px;font-size:11px}.review-root .page-delete-dialog footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:23px}.review-root .page-delete-dialog footer button{padding:11px;border:0;border-radius:9px;cursor:pointer;font-size:12px;font-weight:750}.review-root .page-delete-dialog footer button:disabled{cursor:wait;opacity:.55}.review-root .page-delete-cancel{color:#586573;background:#f0f2f5}.review-root .page-delete-confirm{color:#fff;background:#df4652;box-shadow:0 7px 18px #df465233}@media(max-width:980px){.review-root .issues-panel{width:310px}.review-root .minimap{right:338px}.review-root .minimap.panel-closed{right:54px}.review-root .board-region.issues-open.tool-is-dragging .canvas-host:after{right:338px}.review-root .page-strip{width:164px}.review-root .board-caption small,.review-root .avatars{display:none}}.review-root .review-issue-details>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.review-root .review-error{color:#bd3030;padding:12px;background:#fff1f1;border-radius:8px}.review-root .review-loading{padding:32px}.review-root .review-issue-details{width:680px;max-width:94vw;max-height:88vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;box-shadow:0 20px 80px #0003}.review-root .review-issue-details h2{font-size:21px;margin:0}.review-root .review-issue-details button{border:1px solid #ccd4df;background:#f5f7fb;padding:9px 14px;border-radius:8px;cursor:pointer}.review-root .review-issue-details textarea{width:100%;min-height:80px;border:1px solid #ccd4df;padding:10px;border-radius:8px}.review-root .review-workflow-fields{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:20px 0}.review-root .review-workflow-fields label{display:grid;gap:8px}.review-root .review-workflow-fields select{min-width:0;width:100%;padding:8px;border:1px solid #ccd4df;border-radius:6px}.review-root .review-source{font-size:12px;color:#637286;background:#f3f6fa;padding:12px;overflow-wrap:anywhere}.review-root .review-event{color:#647080;font-size:12px}.review-root button:disabled{opacity:.45;cursor:not-allowed}.review-root .guest-review-badge{padding:9px 13px;color:#4a50b5;background:#eff0ff;border:1px solid #e1e3ff;border-radius:10px;font-size:12px;white-space:nowrap}.review-root .guest-review-error{max-width:520px;margin:12vh auto;padding:36px;background:#fff;border:1px solid #e6eaf1;border-radius:20px;box-shadow:0 12px 48px #1f305414}.review-root .guest-review-error>span{font-size:12px;color:#757ca4}.review-root .guest-review-error h1{font-size:23px;margin:18px 0 12px}.review-root .guest-review-error p{color:#667389;line-height:1.8}.review-root .guest-review-error button{border:0;border-radius:9px;padding:11px 20px;color:#fff;background:#4b5cff;cursor:pointer}.review-root .board-share-dialog{width:600px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}.review-root .board-share-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 14px}.review-root .board-share-fields label{display:grid;align-content:start;gap:8px;font-size:12px;font-weight:600;color:#586579}.review-root .board-share-fields select,.review-root .board-share-fields input{width:100%;min-width:0;background:#f8f9fc;border:1px solid #dfe4ee;border-radius:9px;padding:10px;font:inherit;color:#354257}.review-root .board-share-fields small{font-weight:400;color:#8b95a5}.review-root .board-share-note{padding:12px 14px;border-radius:9px;background:#f5f6fb;font-size:12px;line-height:1.7;color:#68758b}.review-root .board-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.review-root .board-share-actions button{border:1px solid #dfe4ee;background:#fff;padding:10px 14px;border-radius:8px;cursor:pointer;color:#586579}.review-root .board-share-actions .share-dialog-done{background:#4b5cff;color:#fff;border-color:#4b5cff}.review-root .board-share-actions .share-revoke{color:#ce4651;margin-left:auto}.review-root .board-share-snapshots{margin-top:20px;border-top:1px solid #e7eaf0;padding-top:16px;font-size:12px;color:#758094}.review-root .board-share-snapshots summary{cursor:pointer;color:#4d5c72;font-weight:600}.review-root .board-share-snapshots>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.review-root .board-share-snapshots button{border:0;background:#eff1ff;color:#4a5ace;border-radius:6px;padding:6px 9px;cursor:pointer;white-space:nowrap}@media(max-width:600px){.review-root .board-share-fields{grid-template-columns:1fr}.review-root .guest-review-badge{display:none}}.review-root [data-readonly=true] .selection-toolbar,.review-root [data-readonly=true] .page-delete-button{display:none}.review-upload-hint{position:absolute;left:230px;top:20px;z-index:5;max-width:calc(100% - 250px);margin:0;color:#667085;font-size:12px;line-height:1.7;pointer-events:none}.review-upload-message button,.review-file-preview button{border:1px solid #d4dae1;border-radius:6px;padding:6px 12px;background:#fff;color:#344054;cursor:pointer}.review-upload-message{position:absolute;left:230px;bottom:65px;z-index:10;max-width:calc(100% - 280px);max-height:180px;overflow:auto;background:#fff;padding:12px;border:1px solid #d4dae1;border-radius:8px}.review-upload-message button{margin-left:12px}.review-file-preview{width:min(1100px,92vw);height:86vh;max-width:94vw;border:0;border-radius:12px;padding:0;color:#344054}.review-file-preview::backdrop{background:#101828aa}.review-file-preview header{display:flex;align-items:center;gap:18px;padding:14px 20px;border-bottom:1px solid #ddd}.review-file-preview header strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-file-preview-body{height:calc(100% - 70px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;box-sizing:border-box}.review-file-preview-body img,.review-file-preview-body video{max-width:100%;max-height:100%;object-fit:contain}.review-file-preview-body iframe{width:100%;flex:1;border:0}.review-file-preview-body p{text-align:center;color:#667085}.canvas-upload-preview{position:absolute;z-index:4;transform-origin:top left;box-sizing:border-box;border:1px solid #c9d2ec;border-radius:8px;overflow:hidden;background:#f1f4fc;box-shadow:0 6px 22px #23365c20;pointer-events:none}.canvas-upload-thumbnail{width:100%;height:100%;object-fit:contain}.canvas-upload-filetype{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:34px;font:700 68px sans-serif;color:#c4cde6;letter-spacing:3px}.canvas-upload-shade{position:absolute;inset:0;background:#f5f7ff66;backdrop-filter:blur(1px)}.canvas-upload-center{position:absolute;inset:0 18px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#344054;text-align:center}.canvas-upload-center>strong{font-size:14px;padding:3px 9px;border-radius:5px;background:#ffffffd9}.canvas-upload-center>span{font-size:12px;padding:3px 8px;border-radius:4px;background:#fff;max-width:100%}.canvas-upload-ring{width:60px;height:60px;position:relative;border-radius:50%;background:#fffffff2;box-shadow:0 2px 12px #29366718}.canvas-upload-ring svg{width:60px;height:60px;transform:rotate(-90deg)}.canvas-upload-ring circle{fill:none;stroke-width:4}.canvas-upload-ring .track{stroke:#e4e9f5}.canvas-upload-ring .progress{stroke:#4661ff;stroke-linecap:round;transition:stroke-dasharray .15s linear}.canvas-upload-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:#384bc5}.canvas-upload-ring.is-spinning svg{animation:canvas-upload-spin 1s linear infinite}.canvas-upload-preview footer{position:absolute;inset:auto 0 0;height:36px;padding:0 12px;background:#ffffffed;display:flex;align-items:center;gap:10px;border-top:1px solid #e4e9f5;font-size:12px}.canvas-upload-preview footer strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#344054}.canvas-upload-preview footer span{color:#667085;white-space:nowrap}.canvas-upload-error-icon{width:38px;height:38px;border-radius:50%;color:#b42318;background:#fee4e2;display:grid;place-items:center;font-size:26px}.canvas-upload-preview.phase-error{border-color:#f2a39d}.canvas-upload-preview>button{position:absolute;right:8px;top:8px;pointer-events:auto;border:0;border-radius:50%;width:25px;height:25px;background:#fff;color:#667085;cursor:pointer}@keyframes canvas-upload-spin{to{transform:rotate(270deg)}}@media(prefers-reduced-motion:reduce){.canvas-upload-ring.is-spinning svg{animation:none}.canvas-upload-ring .progress{transition:none}}.review-ue-connection{position:relative}.review-ue-panel{position:absolute;right:0;top:44px;z-index:120;width:min(380px,90vw);padding:18px;border:1px solid #dbe3ed;border-radius:16px;background:#fff;color:#25364a;box-shadow:0 14px 50px #18304a26;display:flex;flex-direction:column;gap:12px;max-height:80vh;overflow:auto;font-size:13px}.review-ue-heading{display:flex;align-items:center;justify-content:space-between}.review-ue-heading button{font-size:22px}.review-ue-panel button{border:1px solid #d6e1ed;border-radius:8px;background:#f4f7fc;padding:7px 12px;color:#3158b7;cursor:pointer}.review-ue-panel button:disabled,.page-locate-ue:disabled{opacity:.45;cursor:default}.review-ue-panel p{margin:0;line-height:1.6}.review-ue-panel small{display:block;color:#6b7a8e}.review-ue-panel form{display:flex;gap:8px}.review-ue-panel input,.review-ue-panel textarea{min-width:0;flex:1;border:1px solid #ccd6e2;border-radius:8px;padding:9px;font:inherit}.review-ue-panel textarea{resize:vertical;min-height:70px}.review-ue-error{color:#b73542}.review-ue-messages{max-height:240px;overflow:auto;background:#f6f8fc;border-radius:10px;padding:12px}.review-ue-messages p{margin-bottom:12px}.review-ue-messages b{font-size:11px;color:#738297;display:block}.review-ue-messages span{white-space:pre-wrap;overflow-wrap:anywhere}.review-ue-results{display:flex;flex-direction:column;gap:4px}.page-locate-ue{display:block;width:calc(100% - 20px);margin:0 10px 10px;padding:7px;border:1px solid #dce5f1;background:#f4f7ff;color:#3c5aa3;border-radius:7px;font-size:12px;cursor:pointer}.review-ue-connection>.secondary-button{border:1px solid #dce5f2;border-radius:10px;background:#f4f7ff;color:#3c5aa3;padding:10px 14px;font:inherit;font-size:13px;cursor:pointer}.review-root .page-locate-ue{position:absolute;right:10px;bottom:30px;display:grid;place-items:center;width:26px;height:26px;margin:0;padding:4px;border:1px solid #dbe2eb;background:#fffffff5;color:#4661d9;border-radius:7px;box-shadow:0 2px 5px #182a431a;cursor:pointer}.review-root .page-locate-ue svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.review-root .page-locate-ue:hover:not(:disabled){background:#eef1ff;border-color:#aab8fb}.review-root .page-locate-ue:disabled{opacity:1;color:#a5acb7;background:#f4f6f8f2;box-shadow:none;cursor:not-allowed}.review-root .page-locate-ue:focus-visible{outline:2px solid #4661ff;outline-offset:2px}.review-root .back-to-days{height:42px;padding:0 14px;background:#eef2ff;border-color:#c6d0ff;color:#304be6;flex-shrink:0}.review-root .back-to-days b{font-size:14px}.review-root .back-to-days span{font-size:22px}.review-root .review-record-completed{color:#23825c;white-space:nowrap;font-size:13px}.review-root .selection-hud .image-size-hint{font-size:12px;color:#728198}.review-root .review-console{--review-accent:#5556d9;min-height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr);background:#f6f7fb;color:#252c42;font-size:14px;line-height:1.6}.review-console a{text-decoration:none}.review-console a:focus-visible{outline:3px solid #999af0;outline-offset:3px}.review-console .review-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:30px 18px 20px;background:#fff;border-right:1px solid #e8ebf2}.review-console .review-console-brand{display:flex;align-items:center;gap:10px;padding:0 7px 34px;color:#252c42}.review-console .review-brand-icon{display:grid;place-items:center;flex:none;width:37px;height:39px;background:#5556d9;color:#fff;border-radius:11px;font-size:21px;box-shadow:0 5px 12px #5556d924}.review-console-brand b{font-size:17px;letter-spacing:.6px}.review-console-brand b span{color:#7a8091;font-weight:500;font-size:12px}.review-console-brand small{display:block;margin-top:2px;color:#939aac;font-size:11px;letter-spacing:1px}.review-console .review-sidebar-label{display:block;padding:16px 12px 10px;color:#939aac;font-size:11px;letter-spacing:1px}.review-console .review-sidebar-link{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;margin-bottom:5px;border-radius:8px;color:#697388;font-size:13px}.review-sidebar-link>.anticon{font-size:17px}.review-sidebar-link>span:not(.anticon){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-sidebar-link>small{margin-left:auto;padding:0 7px;border-radius:5px;background:#f0f1f7;font-size:11px}.review-console .review-sidebar-link:hover{background:#f7f8fc;color:#5556d9}.review-console .review-sidebar-link.is-active{background:#efefff;color:#5556d9;font-weight:600}.review-console .review-sidebar-link .review-nav-count{background:#fff2d9;color:#a76a0a}.review-console .review-sidebar-projects{overflow:auto;min-height:0}.review-console .review-sidebar-footer{margin-top:auto;padding-top:32px}.review-console .review-console-body{min-width:0}.review-console .review-console-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:16px 40px;background:#fff;border-bottom:1px solid #e8ebf2}.review-console .review-console-account{display:flex;align-items:center;gap:9px;color:#647085;font-size:12px}.review-console .review-console-account .ant-avatar{color:#6566c4;background:#efeffc}.review-console .review-mobile-home{display:none}.review-console .review-console-main{max-width:1510px;margin:auto;padding:38px 42px 60px}.review-console .review-console-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.review-console .review-section-kicker{color:#8a90a8;font-size:11px;font-weight:650;letter-spacing:1.8px}.review-console h1{margin:6px 0 8px;font-size:29px;font-weight:650;letter-spacing:-.7px;line-height:1.4;overflow-wrap:anywhere}.review-console .review-console-heading p{margin:0;color:#858da0;font-size:13px}.review-console .review-heading-actions{display:flex;flex-wrap:wrap;gap:10px;flex:none}.review-console .review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:24px 8px;background:#fff;border:1px solid #e6e9f1;border-radius:12px;margin-bottom:30px;box-shadow:0 2px 5px #252c4202}.review-console .review-summary>div{display:flex;align-items:center;gap:14px;padding:0 24px;border-right:1px solid #edf0f5}.review-console .review-summary>div:last-child{border:0}.review-console .review-stat-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:#f0efff;color:#7270df;font-size:20px}.review-console .review-stat-icon.is-amber{background:#fff5e5;color:#d5a147}.review-console .review-stat-icon.is-teal{background:#eaf7f4;color:#51a18d}.review-console .review-stat-icon.is-slate{background:#f0f3f8;color:#8093b0}.review-summary small{display:block;color:#8790a2;font-size:12px}.review-summary strong{display:block;color:#29324a;font-size:28px;font-weight:600;line-height:1.55;font-variant-numeric:tabular-nums}.review-summary strong em{margin-left:8px;color:#9ba2b1;font-size:11px;font-weight:400;font-style:normal}.review-summary strong.review-stat-date{font-size:17px;margin-top:8px;white-space:nowrap}.review-console .review-project-context{display:flex;align-items:center;gap:12px;margin:-4px 0 22px;color:#858da0;font-size:12px}.review-project-context .ant-select{width:240px;max-width:65%}.review-console .review-library{background:#fff;border:1px solid #e6e9f1;border-radius:12px;overflow:hidden}.review-console .review-library-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px 18px}.review-library-heading h2{display:flex;align-items:center;gap:10px;margin:0;font-size:17px;font-weight:600}.review-library-heading h2>span{padding:0 7px;color:#898eb7;background:#f0f0fb;border-radius:5px;font-size:11px;line-height:21px}.review-library-heading p{margin:5px 0 0;color:#7d879a;font-size:12px}.review-console .review-library-search{max-width:285px;flex:none}.review-console .review-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 28px 23px;border-bottom:1px solid #edf0f5}.review-console .review-library-toolbar .ant-select{width:163px}.review-console .review-result-count{color:#7d879a;font-size:12px}.review-console .review-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));gap:22px;padding:26px 28px 32px}.review-console .review-project-entry{display:block;border-radius:12px;min-width:0}.review-console .review-project-tile{height:100%;border-color:#e5e8f2;border-radius:11px;overflow:hidden;box-shadow:0 3px 9px #252c4203}.review-console .review-project-entry:hover .review-project-tile{border-color:#a9a8ec;box-shadow:0 8px 22px #5556d914}.review-console .review-project-tile .ant-card-body{padding:24px 24px 0}.review-console .review-project-tile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.review-console .review-project-symbol{width:46px;height:46px;display:grid;place-items:center;color:#6565d8;background:#efefff;border:1px solid #e6e5fe;border-radius:12px;font-size:24px}.review-console .review-project-tile-top .ant-tag{margin:0;font-size:11px}.review-console .review-project-code{color:#7d879a;font-size:11px;letter-spacing:1.1px}.review-console .review-project-tile h3{margin:3px 0 6px;color:#29324a;font-size:21px;font-weight:600;overflow-wrap:anywhere}.review-console .review-project-role{color:#7d879a;font-size:11px}.review-console .review-project-metrics{display:flex;flex-wrap:wrap;gap:10px 18px;margin:23px 0;color:#7a8498;font-size:12px}.review-project-metrics .anticon{margin-right:3px;color:#a1a9bc}.review-console .review-project-tile-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #edf0f5;padding:16px 0}.review-project-tile-bottom small{color:#7d879a;font-size:11px}.review-project-tile-bottom>span{display:flex;align-items:center;gap:10px;color:#6262d6;font-size:12px}.review-console .review-record-list{padding:0 28px}.review-console .review-day-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid #edf0f5}.review-console .review-day-row:last-child{border-bottom:0}.review-console .review-day-card{display:flex;flex:1;min-width:0;align-items:center;gap:20px;padding:23px 4px;color:#29324a;text-decoration:none;transition:background .15s ease}.review-console .review-day-share{flex-shrink:0}.review-console .review-day-card:hover{background:#fafaff}.review-console .review-date-tile{display:grid;justify-items:center;align-content:center;width:58px;height:62px;flex:none;background:#f4f5fc;border:1px solid #e9ebf6;border-radius:10px}.review-date-tile small{color:#9299af;font-size:11px}.review-date-tile b{color:#626a8c;font-size:24px;font-weight:550;line-height:1.25}.review-console .review-record-title{flex:1;min-width:0}.review-record-title h3{margin:0 0 6px;font-size:14px;font-weight:550;overflow-wrap:anywhere}.review-record-title>span{color:#7d879a;font-size:11px}.review-console .review-record-status{display:flex;align-items:center;gap:24px;font-size:12px}.review-record-status>span:last-child{min-width:150px;color:#7d879a}.review-record-status>span.has-pending:last-child{color:#c28b31}.review-console .review-record-open{display:flex;align-items:center;gap:16px;margin-left:30px;color:#7173d6;font-size:12px;white-space:nowrap}.review-console .review-console-empty{padding:24px 12px 35px}.review-console-empty>.ant-empty-footer>span{color:#7d879a;font-size:12px}.review-console .review-library-footer{display:flex;justify-content:space-between;gap:12px;padding:15px 28px;border-top:1px solid #edf0f5;background:#fdfdff;color:#7d879a;font-size:11px}.review-console .review-loading-card{margin-top:24px}@media(min-width:1700px){.review-console .review-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1250px){.review-root .review-console{grid-template-columns:205px minmax(0,1fr)}.review-console .review-console-main{padding:30px 26px}.review-console .review-summary>div{padding:0 16px;gap:10px}.review-console .review-stat-icon{width:35px;height:35px;font-size:17px}.review-console .review-console-heading{align-items:flex-start;flex-direction:column;gap:18px}.review-console .review-record-status{flex-direction:column;align-items:flex-start;gap:5px}.review-console .review-record-open{margin-left:0}}@media(max-width:1000px){.review-root .review-console{grid-template-columns:minmax(0,1fr)}.review-console .review-sidebar{display:none}.review-console .review-mobile-home{display:inline-flex}.review-console .review-console-account{margin-left:auto}}@media(max-width:640px){.review-console .review-console-topbar{padding:14px 18px;gap:10px;min-height:66px}.review-console .review-console-topbar .ant-breadcrumb{min-width:0}.review-console .review-console-account>span:not(.ant-avatar){display:none}.review-console .review-console-main{padding:25px 16px 40px}.review-console h1{font-size:25px}.review-console .review-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:0;margin-bottom:24px}.review-console .review-summary>div{padding:15px 8px;border:0;gap:10px}.review-summary strong{font-size:23px}.review-summary strong em{margin-left:5px;font-size:11px}.review-summary strong.review-stat-date{font-size:14px}.review-console .review-library-heading{padding:21px 18px 16px;align-items:stretch;flex-direction:column;gap:16px}.review-console .review-library-search{max-width:100%}.review-console .review-library-toolbar{padding:0 18px 18px;flex-wrap:wrap}.review-console .review-project-grid{padding:18px}.review-console .review-project-context{flex-wrap:wrap;gap:8px}.review-console .review-project-context .ant-tag{display:none}.review-console .review-record-list{padding:0 18px}.review-console .review-day-row{flex-wrap:wrap;gap:0;padding-bottom:16px}.review-console .review-day-card{flex-basis:100%}.review-console .review-day-share{margin-left:60px}.review-console .review-day-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:20px 0}.review-console .review-date-tile{width:48px;height:56px}.review-console .review-record-status{grid-column:2;flex-direction:row;flex-wrap:wrap;gap:5px;align-items:center}.review-record-status>span:last-child{min-width:0;font-size:11px}.review-console .review-record-open{grid-column:2;justify-content:flex-end}.review-console .review-library-footer{padding:14px 18px;flex-wrap:wrap}}.guest-project-shell{min-height:100dvh;background:#f5f6fa;color:#293048;padding:48px max(24px,calc((100vw - 1060px)/2));font-family:Inter,Microsoft YaHei,sans-serif}.guest-project-shell>header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.guest-project-eyebrow{color:#777caf;font-size:11px;letter-spacing:2px;font-weight:700}.guest-project-shell h1{font-size:30px;line-height:1.4;margin:12px 0;overflow-wrap:anywhere}.guest-project-shell p{color:#81889b;font-size:13px;margin:8px 0}.guest-project-library{background:#fff;border:1px solid #e5e7f0;border-radius:18px;box-shadow:0 8px 30px #30346105;overflow:hidden}.guest-project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px}.guest-project-toolbar h2{font-size:18px;margin:0}.guest-project-toolbar h2 small{font-size:12px;color:#7b80a0;background:#f1f2f9;border-radius:6px;padding:3px 7px;margin-left:8px}.guest-project-toolbar input{width:260px;max-width:100%;background:#fafbfe;border:1px solid #e2e5f0;border-radius:9px;padding:11px 13px;font:inherit;font-size:13px;color:inherit}.guest-project-days{padding:0 16px 16px}.guest-project-day{width:100%;display:flex;align-items:center;gap:20px;text-align:left;padding:18px 14px;margin:4px 0;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;cursor:pointer;font:inherit}.guest-project-day:hover{background:#f7f7fe;border-color:#e4e3fc}.guest-project-day:focus-visible,.guest-project-toolbar input:focus-visible{outline:2px solid #6965de;outline-offset:2px}.guest-project-calendar{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f0f1fb;border-radius:10px;width:56px;height:62px;color:#6663ba;flex-shrink:0}.guest-project-calendar small{font-size:11px}.guest-project-calendar b{font-size:24px;line-height:1.3}.guest-project-day-title{display:flex;flex:1;min-width:0;flex-direction:column;gap:7px}.guest-project-day-title strong{font-size:14px;overflow-wrap:anywhere}.guest-project-day-title small{font-size:12px;color:#8b90a2}.guest-project-latest{color:#6862c7;background:#f0efff;font-size:11px;border-radius:5px;padding:4px 8px}.guest-project-day-role{color:#989dad;font-size:12px;white-space:nowrap}.guest-project-library footer{padding:18px 26px;border-top:1px solid #eff0f5;font-size:12px;color:#989dad}.guest-project-empty{text-align:center;padding:48px 16px}@media(max-width:600px){.guest-project-shell{padding:24px 14px}.guest-project-shell>header{gap:10px}.guest-project-shell h1{font-size:23px}.guest-project-toolbar{align-items:stretch;flex-direction:column;padding:20px}.guest-project-toolbar input{width:auto}.guest-project-day{gap:12px;padding:12px 6px}.guest-project-day-role{display:none}.guest-project-library footer{font-size:11px;padding:16px}}.review-root button.back-to-days{background:transparent;border:0;font:inherit;cursor:pointer}.guest-project-day.is-today{background:#f2f8ff;border-color:#cbdff8}.guest-project-day.is-today .guest-project-calendar{background:#e0eeff;color:#3575ca}.guest-project-today{color:#2468bd;background:#e0eeff;font-size:12px;font-weight:700;border-radius:6px;padding:5px 10px;white-space:nowrap}.guest-project-shell p.guest-project-today-empty{margin:0 26px 14px;padding:12px 14px;background:#f7f8fc;border-radius:8px;color:#7b8498;line-height:1.6}.guest-project-day-counts{display:flex;gap:12px;font-size:13px;white-space:nowrap}.guest-project-day-counts>span{padding:6px 9px;border-radius:7px;background:#fff5e8;color:#986019}.guest-project-day-counts>span+span{background:#eaf8f1;color:#23825c}.guest-project-day-counts b{font-size:17px;margin-left:4px}@media(max-width:700px){.guest-project-day{flex-wrap:wrap}.guest-project-day-counts{order:2;width:100%;padding-left:68px;box-sizing:border-box}}.review-root button.back-to-days{background:#eef2ff;border:1px solid #c6d0ff;color:#304be6;font:inherit;cursor:pointer}.guest-project-shell.is-compact{padding:18px 10px;min-height:100dvh;box-sizing:border-box}.guest-project-shell.is-compact>header{display:block;margin-bottom:18px}.guest-project-shell.is-compact h1{font-size:21px}.guest-project-shell.is-compact>header>.ue-interaction{margin-top:12px}.guest-project-shell.is-compact .guest-project-toolbar{padding:16px;align-items:stretch;flex-direction:column;gap:8px}.guest-project-shell.is-compact .guest-project-toolbar input{width:100%;box-sizing:border-box}.guest-project-shell.is-compact .guest-project-days{padding:0 8px 8px}.guest-project-shell.is-compact .guest-project-day{gap:10px;flex-wrap:wrap}.guest-project-shell.is-compact .guest-project-day-role{display:none}.guest-project-shell.is-compact .guest-project-day-counts{width:100%;padding-left:0;order:2}.guest-project-shell.is-compact .guest-project-library footer{padding:12px;font-size:11px}
