@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}h1,h2,h3{font-family:var(--font-heading);margin:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-white)}.btn-dark{background:var(--color-ink);color:var(--color-white)}.btn-dark:hover{color:var(--color-white);background:var(--color-text)}.btn-outline{background:var(--color-white);border-color:var(--color-line-strong);color:var(--color-ink)}.btn-outline:hover:not(:disabled){background:var(--color-surface)}.btn-sm{height:40px;padding:0 14px;font-size:14px}.btn-link{height:auto;color:var(--color-primary);background:0 0;border:0;padding:0;font-size:14px;font-weight:500;text-decoration:underline}.field{color:var(--color-text);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.input{border:1px solid var(--color-line-strong);height:46px;color:var(--color-ink);background:var(--color-white);border-radius:10px;width:100%;padding:0 14px;font-size:15px}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-team-bg);outline:none}.error{color:var(--color-danger);margin:0;font-size:13px}.muted{color:var(--color-muted)}.pill{white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px;font-size:12px;font-weight:600}.pill-open{background:var(--color-team-bg);color:var(--color-team-text)}.pill-resolved{background:var(--color-resolved-bg);color:var(--color-resolved)}.pill-neutral{background:var(--color-surface2);color:var(--color-muted)}.segmented{background:var(--color-white);border:1px solid var(--color-line);border-radius:10px;gap:4px;padding:3px;display:flex}.segmented button{cursor:pointer;height:34px;color:var(--color-text);background:0 0;border:0;border-radius:7px;padding:0 14px;font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--color-ink);color:var(--color-white)}.auth{flex-wrap:wrap;min-height:100vh;display:flex}.auth-brand{background:var(--color-ink);color:var(--color-white);flex-direction:column;flex:420px;justify-content:space-between;gap:40px;padding:48px;display:flex}.auth-brand img{width:120px;height:auto}.auth-brand h1{font-size:40px;font-weight:700;line-height:1.1}.auth-brand p{color:var(--color-line-strong);max-width:460px;margin:16px 0 0;font-size:17px;line-height:1.6}.auth-brand small{color:var(--color-pin-resolved);font-size:13px}.auth-main{flex:420px;justify-content:center;align-items:center;padding:48px 24px;display:flex}.auth-card{flex-direction:column;gap:20px;width:100%;max-width:400px;display:flex}.auth-card h2{font-size:26px;font-weight:700}.auth-card p{margin:0;line-height:1.6}.auth-icon{background:var(--color-resolved-bg);width:48px;height:48px;color:var(--color-resolved);border-radius:12px;justify-content:center;align-items:center;display:flex}@media (width<=860px){.auth-brand{flex-basis:100%;gap:20px;padding:28px 24px}.auth-brand h1{font-size:30px}.auth-brand p{font-size:15px}.auth-main{align-items:flex-start;padding:32px 20px}}.topbar{background:var(--color-white);border-bottom:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:12px 24px;display:flex}.brand{color:var(--color-ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{border-radius:8px;width:32px;height:32px}.brand span{font-family:var(--font-heading);font-size:16px;font-weight:700}.topnav{gap:4px;display:flex}.topnav a{color:var(--color-text);border-radius:8px;padding:8px 12px;font-weight:500;text-decoration:none}.topnav a[aria-current=page]{background:var(--color-team-bg);color:var(--color-team-text);font-weight:600}.spacer{flex-grow:1}.account{position:relative}.account>button{cursor:pointer;color:var(--color-text);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:13px;display:flex}.avatar{background:var(--color-ink);width:34px;height:34px;color:var(--color-white);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.menu{background:var(--color-white);border:1px solid var(--color-line);min-width:180px;box-shadow:0 8px 24px color-mix(in srgb, var(--color-ink) 12%, transparent);z-index:10;border-radius:10px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px;font-size:14px}.menu button:hover{background:var(--color-surface)}@media (width<=600px){.topbar{padding:10px 16px}.account-email{display:none}}.page{flex-direction:column;gap:28px;max-width:1200px;margin:0 auto;padding:32px 24px 64px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head h1{font-size:30px;font-weight:700}.page-head p{margin:6px 0 0}.create{background:var(--color-white);border:1px solid var(--color-line);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:20px;display:flex}.create .field:first-child{flex:2 320px}.create .field:nth-child(2){flex:200px}.create .input{height:44px}.create .error{flex-basis:100%}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.card{background:var(--color-white);border:1px solid var(--color-line);border-radius:14px;flex-direction:column;gap:16px;min-width:0;padding:20px;display:flex}.card-head{align-items:flex-start;gap:12px;display:flex}.card-icon{width:40px;height:40px;color:var(--color-white);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.card-title{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.card-title h2{font-family:var(--font-body);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;font-weight:600;display:-webkit-box;overflow:hidden}.card-title span{color:var(--color-muted);overflow-wrap:anywhere;font-size:13px}.card-stats{color:var(--color-text);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.card-stats .activity{color:var(--color-muted);margin-left:auto}.card-actions{gap:8px;display:flex}.card-actions .btn{flex:1 1 0}.icon-btn{border:1px solid var(--color-line-strong);background:var(--color-white);width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.rename{flex-wrap:wrap;gap:8px;display:flex}.rename .input{flex:160px;height:40px}.empty{text-align:center;color:var(--color-muted);background:var(--color-white);border:1px dashed var(--color-line-strong);border-radius:14px;padding:48px 24px}@media (width<=600px){.page{padding:24px 16px 48px}.grid{grid-template-columns:1fr}.card-head{flex-wrap:wrap}.card-head .pill{order:3;margin-left:52px}.page-head h1{font-size:26px}}.placeholder{flex-direction:column;gap:16px;max-width:560px;margin:80px auto;padding:0 24px;display:flex}.viewer{flex-direction:column;height:100vh;display:flex}.viewer-bar{background:var(--color-white);border-bottom:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 20px;display:flex}.divider{background:var(--color-line);width:1px;height:24px}.viewer-project{flex-direction:column;min-width:0;max-width:200px;display:flex}.viewer-project strong,.viewer-project span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-project strong{font-size:14px}.viewer-project span{color:var(--color-muted);font-size:12px}.page-select select{border:1px solid var(--color-line);background:var(--color-surface);max-width:190px;height:40px;color:var(--color-ink);border-radius:10px;padding:0 10px;font-size:13px}.segmented-soft{background:var(--color-surface)}.segmented-soft button{align-items:center;gap:6px;padding:0 12px;display:flex}.segmented-soft button[aria-pressed=true]{background:var(--color-white);color:var(--color-primary);box-shadow:0 1px 2px color-mix(in srgb, var(--color-ink) 12%, transparent)}.segmented-soft .count{background:var(--color-line-strong);min-width:18px;color:var(--color-white);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700}.segmented-soft button[aria-pressed=true] .count{background:var(--color-primary)}@media (width<=1600px){.segmented-soft .device-label{display:none}}.viewer-body{flex-grow:1;min-height:0;display:flex}.panel{background:var(--color-white);border-right:1px solid var(--color-line);flex-direction:column;flex:0 0 360px;min-width:340px;max-width:420px;display:flex;overflow-y:auto}.panel-tabs{border-bottom:1px solid var(--color-line);gap:4px;padding:12px 16px 0;display:flex}.panel-tabs button{height:40px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.panel-tabs button[aria-selected=true]{border-bottom-color:var(--color-primary);color:var(--color-ink)}.panel-tabs .tab-count{background:var(--color-surface2);color:var(--color-muted);border-radius:999px;padding:0 7px;font-size:12px}.panel-tabs button[aria-selected=true] .tab-count{background:var(--color-team-bg);color:var(--color-team-text)}.panel-filter{border-bottom:1px solid var(--color-surface2);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.panel-filter label{color:var(--color-text);align-items:center;gap:8px;display:flex}.panel-empty{text-align:center;color:var(--color-muted);margin:0;padding:40px 24px;line-height:1.5}.stage{background:var(--color-white);flex-direction:column;flex-grow:1;min-width:0;display:flex;position:relative;overflow:hidden}.screen{flex:none;position:relative;overflow:hidden}.screen iframe{transform-origin:0 0;background:var(--color-white);border:0;display:block}.stage-framed{background:var(--color-surface);align-items:center;padding:12px 16px}.device-caption{background:var(--color-white);border:1px solid var(--color-line);color:var(--color-muted);z-index:2;border-radius:999px;margin:0;padding:2px 8px;font-size:11px;position:absolute;bottom:10px;right:12px}.device-frame{background:var(--color-device-body);border:3px solid var(--color-device-rim);box-shadow:0 0 0 1px var(--color-device-ring), 0 24px 48px color-mix(in srgb, var(--color-ink) 22%, transparent);flex:none;display:flex;position:relative}.device-mobile{border-radius:62px;padding:12px}.device-tablet{border-radius:34px;padding:18px}.device-screen{background:var(--color-device-body);position:relative;overflow:hidden}.device-mobile .device-screen{border-radius:50px}.device-tablet .device-screen{border-radius:18px}.device-safe-top{background:var(--color-device-body);position:relative}.device-island{background:var(--color-ink);box-shadow:0 0 0 1px var(--color-device-ring);border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.device-camera{background:var(--color-device-ring);width:6px;height:6px;box-shadow:inset 0 0 0 1px var(--color-device-rim);border-radius:50%;position:absolute;top:6px;left:50%;transform:translate(-50%)}.panel-tab{z-index:5;border:1px solid var(--color-line-strong);background:var(--color-white);width:26px;height:48px;color:var(--color-text);cursor:pointer;box-shadow:2px 0 6px color-mix(in srgb, var(--color-ink) 8%, transparent);border-left:0;border-radius:0 8px 8px 0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.panel-tab:hover{color:var(--color-primary)}.pin{border:2px solid var(--color-white);background:var(--color-primary);width:30px;height:30px;color:var(--color-white);font:700 12px / 26px var(--font-body);text-align:center;box-shadow:0 2px 6px color-mix(in srgb, var(--color-ink) 25%, transparent);pointer-events:none;border-radius:50% 50% 50% 4px;position:absolute;transform:translateY(-100%)}.pin-draft{background:var(--color-ink);box-shadow:0 2px 6px color-mix(in srgb, var(--color-ink) 25%, transparent), 0 0 0 4px color-mix(in srgb, var(--color-primary) 35%, transparent)}.composer{background:var(--color-white);border:1px solid var(--color-line);box-shadow:0 12px 32px color-mix(in srgb, var(--color-ink) 18%, transparent);z-index:5;box-sizing:border-box;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;overflow-y:auto}.composer textarea,.sheet-form textarea{box-sizing:border-box;overflow-wrap:anywhere;width:100%;max-width:100%}.composer textarea{resize:none;border:1px solid var(--color-line-strong);border-radius:8px;min-height:72px;max-height:160px;padding:10px 12px;font-size:14px;overflow-y:auto}.composer textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-team-bg);outline:none}.composer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sheet-form textarea{max-height:40vh;overflow-y:auto}.toast{background:var(--color-ink);color:var(--color-white);z-index:20;box-shadow:0 8px 24px color-mix(in srgb, var(--color-ink) 25%, transparent);border-radius:10px;margin:0;padding:10px 16px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.thread-list{margin:0;padding:0;list-style:none}.thread-item{border:0;border-bottom:1px solid var(--color-surface2);background:var(--color-white);text-align:left;cursor:pointer;width:100%;color:var(--color-ink);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.thread-item:hover{background:var(--color-surface)}.badge{background:var(--color-primary);width:26px;height:26px;color:var(--color-white);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.badge-resolved{background:var(--color-pin-resolved)}.thread-main{flex-direction:column;flex-grow:1;gap:6px;min-width:0;display:flex}.thread-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.thread-time{color:var(--color-muted);margin-left:auto;font-size:12px}.thread-text{color:var(--color-text);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.thread-chips{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.chip{background:var(--color-surface);border:1px solid var(--color-line);border-radius:999px;padding:2px 8px}.role{border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.role-team{background:var(--color-team-bg);color:var(--color-team-text)}.role-client{background:var(--color-client-bg);color:var(--color-client-text)}.detail{flex-direction:column;flex-grow:1;min-height:0;display:flex}.detail-head{border-bottom:1px solid var(--color-line);align-items:center;gap:10px;padding:12px 16px;display:flex}.detail-head .btn{height:36px;font-size:13px;font-weight:500}.detail-context{border-bottom:1px solid var(--color-surface2);color:var(--color-muted);flex-wrap:wrap;gap:6px 12px;padding:12px 16px;font-size:12px;display:flex}.detail-warning{background:var(--color-surface);border:1px solid var(--color-line-strong);color:var(--color-text);border-radius:8px;margin:12px 16px 0;padding:10px 12px;font-size:13px}.messages{flex-direction:column;gap:18px;padding:16px;display:flex;overflow-y:auto}.message{gap:10px;display:flex}.message-body{flex-direction:column;flex-grow:1;gap:4px;min-width:0;display:flex}.message-body p{color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.5}.avatar-client{background:var(--color-client-bg);color:var(--color-client-text)}.message-body a{overflow-wrap:anywhere}.message-actions{gap:12px;display:flex}.message-actions .btn-link,.confirm .btn-link{color:var(--color-muted);font-size:12px}.confirm{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.confirm .danger{color:var(--color-danger)}.edit-box,.reply-box{flex-direction:column;gap:8px;display:flex}.edit-box textarea,.reply-box textarea{resize:vertical;border:1px solid var(--color-line-strong);color:var(--color-ink);border-radius:8px;padding:10px 12px;font-size:14px}.edit-box textarea:focus,.reply-box textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-team-bg);outline:none}.reply-box{border-top:1px solid var(--color-line);margin-top:auto;padding:12px 16px 16px}.row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.row-actions .counter{margin-right:auto;font-size:12px}.btn-icon{border:1px solid var(--color-line-strong);background:var(--color-white);width:30px;height:30px;color:var(--color-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{color:var(--color-primary);border-color:var(--color-primary)}.composer-actions .btn-icon{margin-right:auto}.uploads{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.upload,.attachment-file{border:1px solid var(--color-line);color:var(--color-ink);background:var(--color-surface);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;text-decoration:none;display:flex}.upload-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-meta{color:var(--color-muted);white-space:nowrap}.upload-error .upload-meta{color:var(--color-danger)}.upload .btn-link{color:var(--color-muted);font-size:14px;line-height:1}.attachments{flex-direction:column;gap:6px;margin-top:6px;display:flex}.attachment-images{flex-wrap:wrap;gap:6px;display:flex}.attachment-images img{object-fit:cover;border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;width:120px;max-width:100%;height:84px;display:block}.attachment-file:hover{border-color:var(--color-primary)}.attachment-kind{color:var(--color-danger);font-size:10px;font-weight:700}.shot{margin:12px 16px 0}.shot-placeholder{border:1px dashed var(--color-line-strong);color:var(--color-muted);background:var(--color-surface);border-radius:8px;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.shot-placeholder .btn-link{font-size:13px}.spinner{border:2px solid var(--color-line-strong);border-top-color:var(--color-primary);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shot-thumb{cursor:zoom-in;text-align:left;background:0 0;border:0;flex-direction:column;gap:6px;width:calc(100% - 32px);padding:0;display:flex}.shot-frame{border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;width:100%;display:block;position:relative;overflow:hidden}.shot-thumb .shot-frame{max-height:220px}.shot-frame img{width:100%;height:auto;display:block}.shot-caption{color:var(--color-primary);font-size:12px;font-weight:600}.shot-thumb:hover .shot-frame{border-color:var(--color-primary)}.shot-pin{border:2px solid var(--color-white);background:var(--color-primary);width:24px;height:24px;color:var(--color-white);text-align:center;box-shadow:0 2px 6px color-mix(in srgb, var(--color-ink) 25%, transparent);border-radius:50% 50% 50% 4px;font-size:11px;font-weight:700;line-height:20px;position:absolute;transform:translateY(-100%)}.modal-backdrop{z-index:50;background:color-mix(in srgb, var(--color-ink) 55%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--color-white);max-width:100%;max-height:100%;box-shadow:0 24px 48px color-mix(in srgb, var(--color-ink) 30%, transparent);border-radius:12px;outline:none;flex-direction:column;display:flex}.shot-modal-bar{border-bottom:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.shot-modal-bar strong{color:var(--color-ink);margin-right:auto}.shot-modal-bar .check{color:var(--color-text);align-items:center;gap:6px;display:flex}.shot-modal-stage{background:var(--color-surface);border-radius:0 0 12px 12px;min-height:0;padding:16px;overflow:auto}.shot-frame-large{width:min(1200px, calc(100vw - 96px), calc((100vh - 150px) * var(--shot-ratio)));max-width:none;margin:0 auto}.shot-modal-stage:fullscreen{background:var(--color-ink);justify-content:center;align-items:center;padding:0;display:flex}.shot-modal-stage:fullscreen .shot-frame-large{border:0;border-radius:0;width:auto;height:100vh}.shot-modal-stage:fullscreen .shot-frame-large img{width:auto;height:100%}.toast{align-items:center;gap:14px;display:flex}.toast-action{color:var(--color-white);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.detail-actions{align-items:center;gap:6px;margin-left:auto;display:flex;position:relative}.icon-btn{width:32px;height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover,.icon-btn:focus-visible,.icon-btn[aria-expanded=true]{background:var(--color-surface);color:var(--color-ink)}.resolve-btn{color:var(--color-pin-resolved)}.resolve-btn:hover,.resolve-btn:focus-visible{background:var(--color-resolved-bg);color:var(--color-resolved)}.resolve-btn.is-resolved{color:var(--color-resolved)}.resolved-line{color:var(--color-resolved);margin:0;padding:8px 16px 0;font-size:12px;font-weight:500}.thread-resolved{color:var(--color-resolved);font-size:12px;font-weight:500}.menu{z-index:30;border:1px solid var(--color-line);background:var(--color-white);min-width:170px;box-shadow:0 12px 28px color-mix(in srgb, var(--color-ink) 14%, transparent);border-radius:10px;padding:6px;position:absolute;top:38px;right:0}.menu button{width:100%;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:13px;display:block}.menu button:hover,.menu button:focus-visible{background:var(--color-surface)}.menu a[role=menuitem]{color:var(--color-ink);border-radius:6px;padding:8px 10px;font-size:13px;text-decoration:none;display:block}.menu a[role=menuitem]:hover,.menu a[role=menuitem]:focus-visible{background:var(--color-surface)}.info-pop{z-index:30;border:1px solid var(--color-line);background:var(--color-white);width:300px;box-shadow:0 12px 28px color-mix(in srgb, var(--color-ink) 14%, transparent);border-radius:10px;padding:12px 14px;font-size:12px;position:absolute;top:38px;right:0}.info-pop dl{grid-template-columns:74px 1fr;gap:6px 10px;margin:0 0 10px;display:grid}.info-pop dt{color:var(--color-muted)}.info-pop dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0}.info-pop .row-actions{justify-content:space-between}.card-preview{background:var(--color-surface2);border-bottom:1px solid var(--color-line);border-radius:14px 14px 0 0;margin:-20px -20px 0;padding:18px 18px 0;text-decoration:none;display:block;overflow:hidden}.card-browser{border:1px solid var(--color-line);background:var(--color-white);box-shadow:0 6px 18px color-mix(in srgb, var(--color-ink) 10%, transparent);border-bottom:0;border-radius:10px 10px 0 0;display:block;overflow:hidden}.card-browser-bar{background:var(--color-surface);border-bottom:1px solid var(--color-line);align-items:center;gap:5px;padding:6px 8px;display:flex}.card-browser-bar i{background:var(--color-line-strong);border-radius:50%;width:6px;height:6px}.card-browser-bar span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-left:6px;font-size:10px;overflow:hidden}.card-shot{aspect-ratio:16/10;background:var(--color-white);justify-content:center;align-items:center;display:flex;overflow:hidden}.card-shot-img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.card-preview:hover .card-browser{border-color:var(--color-primary)}.card-shot-status{color:var(--color-muted);flex-direction:column;align-items:center;gap:8px;font-size:12px;display:flex}.card-shot-status .spinner{border-width:3px;width:22px;height:22px}.card-shot-initial{width:56px;height:56px;color:var(--color-white);border-radius:14px;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.menu.floating-layer,.info-pop.floating-layer{z-index:1000;position:fixed;right:auto}.floating-layer:focus{outline:none}.btn.is-copied{border-color:var(--color-resolved);background:var(--color-resolved-bg);color:var(--color-resolved)}.hint-text{color:var(--color-muted);font-size:12px;font-weight:400}.invite-modal{gap:14px;width:min(520px,100%);padding:20px 22px}.invite-modal h2{margin:0;font-size:18px}.invite-modal p{margin:0}.invite-modal .spacer{flex:1}.shot-row{border:1px solid var(--color-line);background:var(--color-white);width:calc(100% - 46px);height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;margin:-4px 0 4px 46px;padding:4px 10px 4px 4px;font-size:14px;display:flex}button.shot-row:hover,button.shot-row:focus-visible{background:var(--color-surface)}.shot-row-status{cursor:default}.shot-row-thumb{background:var(--color-surface);border-radius:4px;flex:none;justify-content:center;align-items:center;width:56px;height:36px;display:flex;overflow:hidden}.shot-row-img{object-fit:cover;width:100%;height:100%;display:block}.shot-row-icon{color:var(--color-muted)}.shot-row-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.shot-row svg{color:var(--color-muted);flex:none}.shot-preview{border:1px solid var(--color-line);background:var(--color-white);width:240px;box-shadow:0 12px 28px color-mix(in srgb, var(--color-ink) 16%, transparent);pointer-events:none;border-radius:10px;padding:6px}.shot-preview.floating-layer{z-index:1000;position:fixed}.touch-viewer{background:var(--color-white);flex-direction:column;display:flex;position:fixed;inset:0}.touch-bar{border-bottom:1px solid var(--color-line);background:var(--color-white);align-items:center;gap:10px;padding:6px 10px;display:flex}.touch-title{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.touch-title strong,.touch-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.touch-title span{color:var(--color-muted);white-space:normal;font-size:12px}.touch-mode button{min-height:44px;padding:0 12px}.touch-stage{flex:1;min-height:0;position:relative}.touch-stage iframe{border:0;width:100%;height:100%;display:block}.touch-fab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:20;background:var(--color-ink);min-height:48px;color:var(--color-white);box-shadow:0 6px 18px color-mix(in srgb, var(--color-ink) 25%, transparent);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:flex;position:fixed}.sheet{z-index:40;background:var(--color-white);max-height:85vh;box-shadow:0 -8px 28px color-mix(in srgb, var(--color-ink) 18%, transparent);padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-grip{background:var(--color-line-strong);border-radius:999px;width:40px;height:5px;margin:8px auto 4px}.sheet-body{flex-direction:column;min-height:0;display:flex;overflow:auto}.sheet-form{flex-direction:column;gap:10px;padding:8px 16px 16px;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:4px 16px 8px;display:flex}.sheet-actions{align-items:center;gap:8px;display:flex}.sheet-actions .spacer{flex:1}.sheet-panel{min-height:0;overflow:auto}.sheet-panel .panel{border-right:0;width:100%;min-width:0;max-width:none}.touch-viewer .btn,.touch-viewer .btn-sm,.touch-viewer .btn-icon,.touch-viewer .icon-btn,.touch-viewer .btn-link,.touch-viewer .thread-item,.touch-viewer .shot-row,.touch-viewer .panel-tabs button{min-width:44px;min-height:44px}.touch-viewer textarea,.touch-viewer input,.touch-viewer select{font-size:16px}.presence{margin:0;padding:0;list-style:none;display:flex}.presence .avatar{border:2px solid var(--color-white);width:30px;height:30px;margin-left:-6px;font-size:11px}.presence .avatar:first-child{margin-left:0}.choice-list{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.choice{border:1px solid var(--color-line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.choice>span{flex-direction:column;gap:2px;display:flex}.choice .muted{font-size:13px}.duplicate-notice{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-text);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex}.duplicate-notice p{margin:0}.duplicate-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.duplicate-actions .btn-link{font-size:13px}.menu-footer{border-top:1px solid var(--color-line);color:var(--color-muted);margin:4px 0 0;padding:8px 10px 4px;font-size:11px}.outdated{z-index:60;border:1px solid var(--color-line-strong);background:var(--color-white);max-width:calc(100% - 32px);box-shadow:0 8px 24px color-mix(in srgb, var(--color-ink) 14%, transparent);color:var(--color-text);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.problem-form{flex-direction:column;gap:10px;display:flex}.problem-form textarea{resize:vertical;border:1px solid var(--color-line-strong);border-radius:8px;min-height:110px;padding:10px 12px;font-size:16px}.problem-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-team-bg);outline:none}.problem-modal .small{font-size:12px}.help-button{border:1px solid var(--color-line-strong);background:var(--color-white);width:32px;height:32px;color:var(--color-ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.help-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.touch-bar .help-button{flex:none;width:44px;height:44px}.pill-ready,.role-agent,.avatar-agent{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-white));color:var(--color-accent)}.thread-ready{color:var(--color-muted);font-size:12px;display:block}.thread-ready .pill{padding:1px 8px;font-size:11px}.ready-line{color:var(--color-muted);align-items:center;gap:10px;margin:0 16px 8px;font-size:13px;display:flex}.ready-line p{flex:1;margin:0}.history{color:var(--color-muted);margin:4px 16px 12px;font-size:13px}.history summary{cursor:pointer;font-weight:600}.history ol{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.history li{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.history-note{color:var(--color-text);flex-basis:100%}.retention-line{color:var(--color-muted);margin:0 16px 8px;font-size:12px}.attachment-expired{opacity:.7;cursor:default}.privacy-note{color:var(--color-muted);margin:12px 0 0;font-size:12px;line-height:1.5}.token-created{background:var(--color-surface);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.token-form{gap:8px;display:flex}.token-form .input{flex:1}.token-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.token-list li{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.toast-region{display:contents}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.legal{background:var(--color-surface);min-height:100vh;padding:24px 16px 48px}.legal-head{max-width:720px;margin:0 auto 16px}.legal-body{border:1px solid var(--color-line);background:var(--color-white);max-width:720px;color:var(--color-text);border-radius:12px;margin:0 auto;padding:28px 32px;font-size:16px;line-height:1.65}.legal-body h1{color:var(--color-ink);margin:0 0 4px;font-size:26px;line-height:1.25}.legal-body h2{color:var(--color-ink);margin:28px 0 8px;font-size:18px}.legal-body ul{margin:0 0 12px;padding-left:22px}.legal-body p{margin:0 0 12px}.legal-links{margin-top:6px;font-size:12px;display:inline-block}.auth-brand small a{color:var(--color-line-strong);text-decoration:underline}.finish-review{border-top:1px solid var(--color-line);margin-top:auto;padding:12px 16px 16px}.finish-review .btn{width:100%;min-height:44px}.finish-review p{text-align:center;margin:6px 0 0;font-size:12px}.changes-modal{max-height:min(80vh,640px);overflow-y:auto}.changes-client ul{margin:6px 0 0;padding-left:18px;font-size:13px}.changes-client p{font-size:12px}.only-me{background:var(--color-surface2);color:var(--color-ink);vertical-align:middle;border-radius:999px;align-items:center;gap:3px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.visibility-choice{align-self:end}
