:root{--blue:#1b00fb;--blue-hover:#1600d0;--blue-soft:#1b00fb14;--bg:#f5f6f7;--bg-2:#f0f1f2;--line:#e9ebec;--line-2:#dcdfe1;--muted:#636567;--muted-2:#979a9b;--text:#000;--text-2:#303234;--red:#e5484d;--green:#30a46c;--orange:#f5a623;--pink:#f28b82;--shadow-pop:0 4px 24px #0000001f, 0 1px 3px #0000000f;--font:"Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:13px;font-weight:500}#app{height:100%}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.btn{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:36px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.btn:disabled{opacity:.5;cursor:default}.btn--outline{color:var(--text);border-color:var(--muted-2);background:#fff}.btn--outline:hover{background:var(--bg);border-color:var(--muted-2)}.btn--ghost{color:var(--text);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--bg);border-color:#0000}.btn--danger{background:var(--red);border-color:var(--red)}.btn--danger:hover{background:#cf3e43;border-color:#cf3e43}.btn--sm{height:32px;padding:6px 12px;font-size:13px}.btn--block{width:100%}.icon-btn{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--bg)}.icon-btn.is-active{background:var(--line)}.icon-btn:disabled{color:var(--muted-2);cursor:default;background:0 0}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text-2);font-size:13px;font-weight:600}.input{border:1px solid var(--line-2);background:#fff;border-radius:6px;outline:none;width:100%;height:40px;padding:0 14px;font-size:14px;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}textarea.input{resize:vertical;height:auto;min-height:80px;padding:10px 14px;line-height:1.4}.error{color:var(--red);font-size:13px}.hint{color:var(--muted);font-size:13px}.switch{background:var(--muted-2);cursor:pointer;border:0;border-radius:999px;flex:none;width:34px;height:20px;padding:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch.is-on{background:var(--blue)}.switch.is-on:after{transform:translate(14px)}.avatar{color:#fff;letter-spacing:.3px;border:2px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:600;display:inline-flex}.avatar--sm{border-width:0;width:24px;height:24px;font-size:10px}.avatar-stack{display:flex}.avatar-stack .avatar+.avatar{margin-left:-8px}.num-badge{background:var(--blue);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.num-badge.is-resolved{background:var(--green)}.num-badge.is-reposition{background:var(--orange)}.num-badge--lg{min-width:28px;height:28px;font-size:12px}.status-dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.status-dot--none{border:1.5px solid var(--muted-2);background:0 0}.status-dot--open_for_review{background:var(--blue)}.status-dot--editing_content{background:var(--orange)}.status-dot--on_hold{background:var(--pink)}.status-dot--completed{background:#6cc93a}.chip{background:var(--bg-2);height:24px;color:var(--muted);cursor:pointer;white-space:nowrap;border:0;border-radius:4px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.chip--low{color:#1e7a45;background:#e6f4ea}.chip--medium{color:#a86400;background:#fff4e0}.chip--high{color:#c2282d;background:#fde8e8}.dropdown{position:relative}.menu{z-index:50;border:1px solid var(--line);min-width:190px;box-shadow:var(--shadow-pop);background:#fff;border-radius:8px;padding:6px;position:absolute}.menu__item{text-align:left;cursor:pointer;width:100%;height:36px;color:var(--text);white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:14px;display:flex}.menu__item:hover{background:var(--bg)}.menu__item.is-selected{color:var(--blue)}.menu__item.is-danger{color:var(--red)}.menu__check{width:16px;display:inline-flex}.menu__sep{background:var(--line);height:1px;margin:4px 0}.menu__label{color:var(--muted);padding:6px 10px 4px;font-size:12px}.modal-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 20px 60px #00000040}.modal--wide{max-width:640px}.modal__head{justify-content:space-between;align-items:center;padding:20px 24px 8px;display:flex}.modal__title{font-size:20px;font-weight:600}.modal__body{padding:8px 24px}.modal__foot{justify-content:flex-end;gap:8px;padding:16px 24px 20px;display:flex}.toast{z-index:200;color:#fff;box-shadow:var(--shadow-pop);background:#111;border-radius:8px;padding:10px 16px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.login{background:#fff;grid-template-columns:minmax(420px,1fr) 1fr;min-height:100%;display:grid}.login__left{justify-content:center;align-items:center;padding:60px;display:flex;position:relative}.login__logo{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex;position:absolute;top:56px;left:60px}.login__logo img{width:36px;height:36px}.login__form{width:350px}.login__title{color:var(--text-2);margin-bottom:28px;font-size:22px;font-weight:500}.login__form .input{background:var(--bg);height:42px;margin-bottom:14px}.login__form .input:focus{background:#fff}.login__form .btn{height:32px;margin-top:4px}.login__help{color:var(--muted);margin-top:28px;font-size:13px;line-height:1.7}.login__right{grid-template-columns:repeat(3,1fr);gap:56px;padding:0 48px;display:grid;position:relative;overflow:hidden}.login__col{flex-direction:column;gap:56px;display:flex}.login__col:first-child{margin-top:-120px}.login__col:nth-child(2){margin-top:-40px}.login__col:nth-child(3){margin-top:-160px}.blob{aspect-ratio:1;filter:saturate(1.05);border-radius:999px;flex:none;justify-content:center;align-items:center;width:100%;display:flex}.blob--tall{aspect-ratio:.48}.blob svg{color:#fff;width:38%;height:auto}.blob--a{background:radial-gradient(circle at 30% 30%,#ffc04d,#ff9f1a 60%,#f58a07)}.blob--b{background:linear-gradient(#f6f6f8,#e9e4ef 60%,#ddd6ea)}.blob--c{background:linear-gradient(#eef0ff 0%,#b7c3ff 35%,#6f86ff 70%,#4f63ff)}.blob--d{background:radial-gradient(circle at 40% 30%,#a7b7ff,#2b3bff 70%)}.blob--e{background:radial-gradient(circle at 70% 70%,#ff7a3d,#c06aa0 55%,#7d6cf0)}.blob--f{background:linear-gradient(#ff6a3d 0%,#ff3d3d 30%,#c42f8a 65%,#6a2cff 100%)}.blob--g{background:linear-gradient(#fff 0%,#f1ecf5 50%,#e2e8ff)}.shell{grid-template-rows:56px 1fr;grid-template-columns:300px 1fr;height:100%;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:relative}.brand{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.brand img{width:28px;height:28px}.user-menu-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;height:36px;padding:0 6px 0 12px;font-size:14px;display:flex}.user-menu-btn:hover{background:var(--bg)}.sidebar{background:var(--bg);flex-direction:column;gap:16px;padding:24px;display:flex;overflow:auto}.workspace-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.workspace-card__logo{color:#fff;background:#111;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.workspace-card__name{font-size:14px}.workspace-card__plan{color:#8e4ec6;font-size:13px}.nav{flex-direction:column;gap:6px;display:flex}.nav__item{height:40px;color:var(--muted);border-radius:6px;align-items:center;gap:10px;padding-left:24px;font-size:14px;display:flex}.nav__item svg{color:var(--muted)}.nav__item:hover{background:#00000008}.nav__item.is-active{background:var(--line);color:var(--text)}.nav__item.is-active svg{color:var(--text)}.sidebar__foot{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;margin-top:auto;padding:14px 16px;font-size:13px;line-height:1.5}.sidebar__foot strong{color:var(--text-2);font-size:14px;font-weight:600;display:block}.main{background:#fff;min-width:0;overflow:auto}.url-bar{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:24px 36px 22px 40px;display:flex}.url-form{border:1px solid var(--line-2);background:#fff;border-radius:8px;align-items:center;gap:8px;width:500px;max-width:100%;height:52px;padding:1px 8px 1px 16px;display:flex}.url-form:focus-within{border-color:var(--blue)}.url-form input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:14px}.url-form input::placeholder{color:var(--muted-2)}.url-bar__or{color:var(--muted);font-size:14px}.url-bar__right{margin-left:auto}.crumbs{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:56px;padding:0 36px 0 40px;display:flex}.crumbs__path{align-items:center;gap:6px;font-size:14px;display:flex}.crumbs__path a{color:var(--muted)}.crumbs__path a:hover{color:var(--text)}.crumbs__tools{align-items:center;gap:4px;display:flex}.search-inline{border:1px solid var(--line-2);border-radius:6px;outline:none;width:220px;height:32px;padding:0 10px;font-size:13px}.search-inline:focus{border-color:var(--blue)}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,252px));gap:24px 22px;padding:30px 36px 48px 40px;display:grid}.card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;min-height:340px;transition:box-shadow .15s,border-color .15s;display:flex;position:relative}.card:hover{border-color:var(--line-2);box-shadow:0 6px 20px #0000000f}.card__top{background:var(--bg);border-radius:16px 16px 0 0;justify-content:center;align-items:center;height:196px;padding:20px;display:flex;position:relative}.card__thumb{object-fit:cover;object-position:top center;background:#fff;border-radius:6px;width:100%;height:100%;box-shadow:0 6px 18px #0000001f}.card__thumb--empty{color:var(--muted-2);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.card__new{color:#fff;z-index:2;background:#ff2d20;border:2px solid #fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:12px;left:-10px}.card__bottom{flex-direction:column;flex:1;gap:6px;padding:20px 16px 16px 20px;display:flex}.card__name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500;overflow:hidden}.card__meta{color:var(--muted);font-size:14px}.card__counts{color:var(--muted);gap:16px;margin-top:8px;font-size:13px;display:flex}.card__counts span{align-items:center;gap:6px;display:inline-flex}.card__status{align-items:center;gap:8px;margin-top:auto;padding-top:14px;font-size:14px;display:flex}.card__menu{opacity:0;position:absolute;top:208px;right:10px}.card:hover .card__menu,.card__menu.is-open{opacity:1}.card--folder{margin-top:8px}.card--folder:before{content:"";background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:10px 14px 0 0;width:76px;height:20px;position:absolute;top:-9px;left:-1px}.card--folder .card__top{border-top-left-radius:0}.empty{text-align:center;color:var(--muted);padding:80px 40px;font-size:14px;line-height:1.6}.empty strong{color:var(--text-2);margin-bottom:4px;font-size:16px;display:block}.page-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:28px 40px 20px;display:flex}.page-head h1{font-size:22px;font-weight:600}.page-body{max-width:980px;padding:24px 40px 48px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px}.member{align-items:center;gap:12px;display:flex}.member small{color:var(--muted);font-size:13px;display:block}.tag{background:var(--bg-2);color:var(--muted);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.tag--admin{background:var(--blue-soft);color:var(--blue)}.card-box{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:520px;margin-bottom:24px;padding:24px}.card-box h2{margin-bottom:16px;font-size:16px;font-weight:600}.viewer{background:#fff;grid-template-rows:56px 1fr;height:100%;display:grid}.vbar{border-bottom:1px solid var(--line);z-index:30;background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px 0 22px;display:grid;position:relative}.vbar__left,.vbar__right{align-items:center;gap:6px;display:flex}.vbar__right{justify-content:flex-end;gap:14px}.vbar__logo{margin-right:14px;display:flex}.vbar__logo img{width:28px;height:28px}.vbar__sep{background:var(--line);width:1px;height:24px;margin:0 10px}.status-btn{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:8px;height:30px;padding:0 8px 0 10px;font-size:13px;display:inline-flex}.status-btn:hover{background:var(--bg)}.device-btn .dot{background:var(--blue);box-sizing:content-box;border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px}.tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:60;background:#2a2b2d;border-radius:4px;padding:4px 8px;font-size:12px;transition:opacity .1s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.has-tip:hover .tooltip{opacity:1}.toggle{border:1px solid var(--line-2);background:#fff;border-radius:8px;padding:3px;display:flex}.toggle button{cursor:pointer;background:0 0;border:0;border-radius:6px;width:104px;height:28px;font-size:14px}.toggle button.is-on{background:var(--blue);color:#fff}.vbody{grid-template-columns:365px 1fr;min-height:0;display:grid;position:relative}.vbody.is-collapsed{grid-template-columns:0 1fr}.tsidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.vbody.is-collapsed .tsidebar{border-right:0}.collapse-tab{z-index:25;border:1px solid var(--line);cursor:pointer;width:22px;height:38px;color:var(--muted);background:#fff;border-left:0;border-radius:0 6px 6px 0;justify-content:center;align-items:center;margin-top:-19px;padding:0;display:flex;position:absolute;top:50%;left:365px}.vbody.is-collapsed .collapse-tab{left:0}.tsb__head{padding:22px 20px 0}.tsb__title{text-overflow:ellipsis;white-space:nowrap;cursor:text;border-radius:4px;margin-left:-4px;padding:0 4px;font-size:20px;font-weight:600;overflow:hidden}.tsb__title:hover{background:var(--bg)}.tsb__title-input{border:1px solid var(--blue);border-radius:4px;outline:none;width:100%;margin-left:-5px;padding:0 4px;font-size:20px;font-weight:600}.tsb__note{color:var(--muted);cursor:pointer;white-space:pre-wrap;align-items:flex-start;gap:6px;margin:18px 0 22px;font-size:14px;line-height:1.4;display:flex}.tsb__note.has-note{color:var(--text-2)}.tsb__note-input{margin:14px 0 18px}.tsb__row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;height:42px;padding:0 14px 0 20px;font-size:14px;display:flex}.tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:stretch;height:44px;padding:0 14px 0 20px;display:flex}.tabs__list{gap:22px;display:flex}.tabs__tab{color:var(--muted-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:14px;display:flex;position:relative}.tabs__tab.is-on{color:var(--text)}.tabs__tab.is-on:after{content:"";background:var(--text);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tabs__tools{align-items:center;gap:2px;display:flex}.tsb__search{border-bottom:1px solid var(--line);padding:10px 14px 10px 20px}.tsb__search input{border:1px solid var(--line-2);border-radius:6px;outline:none;width:100%;height:34px;padding:0 10px;font-size:13px}.tsb__search input:focus{border-color:var(--blue)}.tsb__list{flex:1;min-height:0;overflow:auto}.group__head{border-bottom:1px solid var(--line);height:46px;color:var(--muted);cursor:pointer;z-index:2;background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:0 14px 0 20px;font-size:13px;display:flex;position:sticky;top:0}.group__head.is-current{color:var(--text-2)}.group__url{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group__count{flex:none;align-items:center;gap:10px;display:flex}.titem{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:#fff;width:100%;padding:20px 20px 26px;display:block}.titem:hover{background:#fafbfb}.titem.is-selected{background:#f7f6ff}.titem__badge{align-items:center;gap:8px;margin-bottom:14px;display:flex}.titem__author{font-size:14px;font-weight:600}.titem__time{color:var(--muted-2);margin-top:2px;font-size:13px}.titem__body{white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:18px;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.titem__meta{color:var(--muted);align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.titem__meta span{align-items:center;gap:5px;display:inline-flex}.notice{background:var(--bg-2);color:var(--muted);border-radius:4px;margin-top:14px;padding:8px 10px;font-size:12px;line-height:1.4}.notice b{color:var(--blue);font-weight:600}.notice--warn b{color:#b45309}.tsb__empty{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:18px;padding:90px 40px;font-size:14px;line-height:1.5;display:flex}.tsb__empty svg{color:var(--muted-2)}.thread{flex-direction:column;height:100%;min-height:0;display:flex}.thread__bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;height:44px;padding:0 12px 0 10px;display:flex}.thread__bar-right{align-items:center;gap:2px;margin-left:auto;display:flex}.thread__scroll{flex:1;padding:0 0 20px;overflow:auto}.msg{padding:22px 20px 6px}.msg+.msg{border-top:1px solid var(--line);padding-top:18px}.msg__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.msg__author{font-size:14px;font-weight:600}.msg__time{color:var(--muted-2);margin-top:2px;font-size:13px}.msg__body{white-space:pre-wrap;word-break:break-word;margin-top:14px;font-size:14px;line-height:1.45}.msg__actions{opacity:0}.msg:hover .msg__actions,.msg__actions.is-open{opacity:1}.thread__meta{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 20px 0;display:flex}.shot{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:4px;align-items:center;width:calc(100% - 40px);height:36px;margin:18px 20px 0;padding:0;font-size:13px;display:flex;overflow:hidden}.shot img{object-fit:cover;border-right:1px solid var(--line-2);width:44px;height:34px}.shot span{text-align:center;flex:1}.shot svg{margin-right:12px}.shot.is-pending{color:var(--muted-2);cursor:default}.reply{border:1px solid var(--line-2);background:var(--bg);border-radius:4px;align-items:flex-end;gap:6px;margin:22px 20px 0;padding:4px 6px 4px 12px;display:flex}.reply:focus-within{border-color:var(--blue);background:#fff}.reply textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-height:30px;max-height:200px;padding:6px 0;font-size:13px;line-height:1.4}.reply textarea::placeholder{color:var(--muted-2)}.thread__foot{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;height:60px;padding:0 12px;display:flex}.pager-select{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:4px;height:28px;padding:0 8px;font-size:13px}.resolved-banner{color:#1e7a45;background:#e9f7ef;border-radius:6px;align-items:center;gap:8px;margin:16px 20px 0;padding:10px 12px;font-size:13px;display:flex}.stage{background:#fff;min-width:0;min-height:0;position:relative;overflow:hidden}.stage--desktop{background:var(--bg)}.stage__scroll{flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.stage__label{color:var(--muted-2);flex:none;padding:28px 0 18px;font-size:13px}.device{background:#fff;border:1px solid #e3e5e7;flex:none;position:relative;box-shadow:0 0 0 1px #00000005}.device--mobile{border-bottom:0;border-radius:44px 44px 0 0;padding:50px 14px 0}.device--tablet{border-bottom:0;border-radius:32px 32px 0 0;padding:36px 14px 0}.device__speaker{border:1px solid #e3e5e7;border-radius:999px;width:60px;height:8px;margin-left:-30px;position:absolute;top:26px;left:50%}.device--tablet .device__speaker{top:15px}.frame-wrap{background:#fff;position:relative;overflow:hidden}.frame-wrap iframe{transform-origin:0 0;background:#fff;border:0;display:block}.frame-wrap--desktop{position:absolute;inset:0}.stage__loading{z-index:3;color:var(--muted);text-align:center;background:#ffffffbf;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.spinner{border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.composer{z-index:10;border:1px solid var(--line);width:380px;box-shadow:var(--shadow-pop);background:#fff;border-radius:8px;padding:6px 8px 6px 14px;position:absolute}.composer__row{align-items:flex-start;gap:8px;display:flex}.composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-height:32px;max-height:220px;padding:6px 0;font-size:14px;line-height:1.4}.composer textarea::placeholder{color:var(--muted-2)}.composer__tools{align-items:center;gap:4px;padding-top:3px;display:flex}.composer__hint{color:var(--muted-2);padding:2px 0;font-size:12px}.composer__error{color:var(--red);padding-bottom:4px;font-size:12px}.mode-hint{z-index:6;color:#fff;box-shadow:var(--shadow-pop);background:#111;border-radius:999px;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.mode-hint button{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:999px;padding:2px 10px;font-size:12px}.lightbox{z-index:150;cursor:zoom-out;background:#000c;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.lightbox img{border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 20px 60px #0006}.code{background:var(--bg);border:1px solid var(--line);word-break:break-all;white-space:pre-wrap;border-radius:6px;width:100%;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;display:block}.radio-row{border:1px solid var(--line-2);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px;font-size:14px;line-height:1.4;display:flex}.radio-row.is-on{border-color:var(--blue);background:#f9f8ff}.radio-row input{margin-top:3px}.radio-row small{color:var(--muted);font-size:13px;display:block}@media (width<=900px){.login{grid-template-columns:1fr}.login__right{display:none}.shell{grid-template-columns:1fr}.sidebar{display:none}}.stage--image{background:var(--bg)}.image-stage{flex-direction:column;align-items:center;padding:0 48px 80px;display:flex;position:absolute;inset:0;overflow:auto}.image-wrap{background:#fff;flex:none;line-height:0;position:relative;box-shadow:0 6px 24px #0000001a}.image-wrap img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.image-wrap.is-commenting{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='10' fill='%231b00fb' stroke='white' stroke-width='2'/%3E%3Cpath d='M14 9v10M9 14h10' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 14 14,crosshair}.vpin{background:var(--blue);color:#fff;width:26px;height:26px;font:600 12px/22px var(--font);text-align:center;cursor:pointer;z-index:2;border:2px solid #fff;border-radius:50%;margin:-13px 0 0 -13px;padding:0;transition:transform .12s;position:absolute;box-shadow:0 1px 4px #00000059}.vpin:hover{transform:scale(1.12)}.vpin.is-selected{z-index:3;transform:scale(1.18);box-shadow:0 0 0 4px #1b00fb40,0 1px 4px #00000059}.vpin.is-resolved{background:var(--green)}.vpin.is-reposition{background:var(--orange)}.vpin--draft{pointer-events:none;width:22px;height:22px;margin:-11px 0 0 -11px}.composer--image{cursor:default;line-height:normal}.zoom-bar{z-index:5;border:1px solid var(--line);box-shadow:var(--shadow-pop);background:#fff;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex;position:fixed;bottom:24px;right:24px}.zoom-bar__value{cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:52px;height:32px;font-size:13px}.zoom-bar__value:hover{background:var(--bg)}.guest-badge{background:var(--bg);height:32px;color:var(--text-2);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.links-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.links-table td,.links-table th{border-bottom:1px solid var(--line);text-align:left;padding:8px 6px}.links-table th{color:var(--muted);font-size:12px;font-weight:600}.link-new{grid-template-columns:1fr 130px 120px auto;align-items:center;gap:8px;display:grid}.link-new .input{height:36px}.section-title{margin:22px 0 6px;font-size:15px;font-weight:600}.upload-drop{border:1.5px dashed var(--line-2);min-height:140px;color:var(--muted);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:14px;display:flex}.upload-drop.is-over,.upload-drop:hover{border-color:var(--blue);background:#f9f8ff}.upload-preview{border-radius:6px;max-width:100%;max-height:160px;box-shadow:0 2px 10px #0000001a}.device-pick{gap:8px;display:flex}.device-pick button{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:10px;font-size:13px;display:flex}.device-pick button.is-on{border-color:var(--blue);color:var(--blue);background:#f9f8ff}
