*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])),.hidden{display:none}.resize{resize:both}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--blue:#0967e8;--blue-dark:#0758c7;--ink:#101828;--muted:#667085;--line:#d7dee8;--soft:#f5f7fa;--green:#197a3e;--red:#ef2424}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#f8fafc;margin:0;font-family:Inter,Noto Sans TC,Microsoft JhengHei,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-decoration:none}label{gap:7px;font-size:14px;font-weight:650;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd7e3;border-radius:8px;outline:none;padding:10px 12px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{border-color:var(--blue);outline:3px solid #0967e838}textarea{resize:vertical;min-height:78px}.primary,.buttonLink{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:10px 16px;font-weight:750}.primary:hover,.buttonLink:hover{background:var(--blue-dark)}.ghost{background:#fff;border:1px solid #cfd7e3;border-radius:8px;padding:9px 15px;font-weight:700}.wide{width:100%;padding:13px}.dangerText{color:#c52e2e!important}.muted{color:var(--muted);font-size:13px}.error{color:#b42318}.eyebrow{color:var(--blue);letter-spacing:.14em;font-size:12px;font-weight:800}.label{color:var(--muted);font-size:14px}.appHeader{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex;position:relative}.brand{letter-spacing:.03em;font-size:22px;font-weight:850}.appHeader nav{align-items:center;gap:20px;font-weight:650;display:flex}.userBadge{border-left:1px solid var(--line);padding-left:20px}.userBadge:first-letter{color:var(--blue)}.authPage{background:radial-gradient(circle at 15% 15%,#29496d 0,#17283a 30%,#0e1926 72%);grid-template-columns:1.15fr .85fr;align-items:center;gap:7vw;min-height:100vh;padding:7vh 8vw;display:grid;position:relative}.authHero{color:#fff;max-width:680px}.companyLockup{z-index:2;color:#fff;letter-spacing:.025em;align-items:center;gap:20px;font-size:clamp(28px,2.15vw,34px);line-height:1.25;display:flex;position:absolute;top:clamp(24px,4vh,46px);left:clamp(24px,4vw,70px)}.companyLogo{aspect-ratio:2/3;flex:none;width:clamp(68px,5.2vw,84px);display:block;position:relative}.companyLogo img{-o-object-fit:contain;object-fit:contain}.authHero h1{letter-spacing:-.04em;margin:18px 0 24px;font-size:clamp(44px,5vw,76px);line-height:1.13}.authHero p{color:#c5d2df;max-width:580px;font-size:18px;line-height:1.8}.authCard{background:#fff;border-radius:18px;width:100%;max-width:500px;padding:32px;box-shadow:0 30px 90px #0005}.modeTabs{background:#edf1f6;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:4px;display:grid}.modeTabs button{background:0 0;border:0;border-radius:7px;padding:10px;font-weight:750}.modeTabs .active{color:var(--blue);background:#fff;box-shadow:0 2px 8px #1d29391c}.authCard form{gap:18px;display:grid}.formMessage{color:#0758c7;background:#eef7ff;border-radius:8px;margin:0;padding:12px;line-height:1.5}.hint{color:var(--muted);margin:18px 0 0;font-size:12px;line-height:1.6}.pageShell{max-width:1440px;margin:auto;padding:44px 28px}.pageTitle{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.pageTitle h1{margin:8px 0;font-size:38px}.pageTitle p{color:var(--muted);margin:0}.toolbar{justify-content:flex-end;margin:-48px 0 18px;display:flex}.inlineForm{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:2fr 1.4fr 1.4fr auto;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.memberChoices{background:#fff;border:1px solid #cfd7e3;border-radius:8px;gap:5px;max-height:110px;padding:8px;display:grid;overflow-y:auto}.memberChoices label{align-items:center;gap:7px;font-weight:500;display:flex}.memberChoices input{width:auto}.memberHint{color:var(--muted);font-size:12px;font-weight:500}.readonlyChoice{background:#f5f7fa;border:1px solid #cfd7e3;border-radius:8px;align-items:center;min-height:42px;padding:8px 12px;display:flex}.projectGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.projectCard{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px;transition:all .18s;display:block}.projectCard:hover{border-color:#9dc4fb;transform:translateY(-2px);box-shadow:0 12px 30px #223b5d12}.projectCard h2{margin:20px 0 8px;font-size:21px}.projectCard p{color:var(--muted)}.cardTop{justify-content:space-between;display:flex}.people{border-top:1px solid #edf0f4;gap:7px;margin-top:22px;padding-top:14px;font-size:13px;display:grid}.status{width:max-content;color:var(--green);background:#ecfdf3;border-radius:999px;align-items:center;padding:4px 10px;font-size:13px;font-weight:750;display:inline-flex}.status.waiting{color:#9a6700;background:#fff7e8}.status.revising{color:#c12c2c;background:#fff1f0}.status.completed{color:#14783a;background:#e9f9ee}.empty{text-align:center;color:var(--muted);padding:30px}.empty.big{border:1px dashed #b9c3d0;border-radius:12px;margin:40px}.userTable{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.userRow{border-top:1px solid #e8ecf2;grid-template-columns:1fr 2fr 1.2fr 1.2fr 2.6fr;align-items:center;gap:16px;padding:15px 18px;font-size:14px;display:grid}.userRow.head{color:var(--muted);background:#f3f5f8;border:0;font-weight:700}.rowActions{flex-wrap:wrap;gap:6px;display:flex}.rowActions button{background:#fff;border:1px solid #ccd4df;border-radius:6px;padding:6px 8px;font-size:12px}.saving{color:#fff;background:#111827;border-radius:8px;padding:10px 14px;position:fixed;bottom:20px;right:20px}.notice{color:#b42318}.reviewPage{background:#fff;height:100vh;overflow:hidden}.reviewPage .appHeader{font-size:24px}.reviewPage .brand{font-size:33px}.reviewMain{flex-direction:column;height:calc(100vh - 68px);min-height:0;padding:14px 24px 20px;font-size:24px;display:flex}.reviewMain .label,.reviewMain label{font-size:21px}.reviewMain .muted{font-size:19px}.reviewMain .eyebrow{font-size:18px}.reviewMain input,.reviewMain select,.reviewMain textarea{font-size:21px}.projectHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 2px 14px;display:flex}.batchForm{align-items:center;gap:6px;display:flex}.titleLine{align-items:center;gap:16px;display:flex}.titleLine h1{margin:5px 0 0;font-size:46px}.topActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.itemNav{justify-content:space-between;align-items:center;gap:18px;min-height:90px;display:flex}.tabs{scrollbar-width:thin;align-self:stretch;min-width:0;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 19px;font-weight:700}.tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.pager{flex:none;align-items:center;gap:14px;display:flex}.pager button{border:1px solid var(--line);background:#fff;border-radius:7px;width:58px;height:54px;font-size:36px}.pager span{text-align:center;min-width:62px}.toast{z-index:100;color:#fff;cursor:pointer;background:#101828;border-radius:8px;padding:10px 16px;position:fixed;top:76px;right:28px;box-shadow:0 8px 22px #0003}.workspace{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-height:0;display:grid}.leftPanel,.rightPanel{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;min-height:0;overflow:hidden}.leftPanel{flex-direction:column;display:flex}.panelTitle{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;min-height:78px;padding:10px 14px;display:flex}.panelTitle strong{font-size:26px}.itemNameBlock{gap:2px;display:grid}.itemNameBlock .label{font-size:15px}.itemTools{gap:4px;display:flex}.itemTools button{background:#fff;border:1px solid #ccd5e0;border-radius:5px;padding:5px 7px;font-size:17px}.historyButton{color:#0758c7;white-space:nowrap;background:#eaf3ff;border:2px solid #0967e8;border-radius:8px;padding:8px 12px;font-size:18px;font-weight:850}.historyButton:hover:not(:disabled){color:#fff;background:#0967e8}.uploadForm{align-items:center;gap:7px;margin-left:auto;display:flex}.dropZone{color:#274866;cursor:pointer;background:#f6f9fd;border:1.5px dashed #8aa4c2;border-radius:8px;transition:all .16s}.dropZone.compact{text-overflow:ellipsis;white-space:nowrap;min-width:165px;max-width:220px;padding:7px 10px;font-size:18px;font-weight:700;overflow:hidden}.dropZone:hover,.dropZone.dragging{border-color:var(--blue);color:var(--blue);background:#eaf3ff;box-shadow:0 0 0 3px #0967e81a}.dropZone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.uploadForm button,.versionCard header button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 9px;font-size:18px;font-weight:700}.versionScroll{min-height:0;padding:12px;overflow-y:auto}.versionCard{border:1px solid var(--line);border-radius:9px;margin-bottom:12px;overflow:hidden}.versionCard.selected{border-color:#7eb3f9;box-shadow:0 0 0 2px #deecff}.historyBackdrop{z-index:200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07111fcc;place-items:center;padding:4vh 4vw;display:grid;position:fixed;inset:0}.historyDialog{background:#fff;border:1px solid #cbd5e1;border-radius:16px;flex-direction:column;width:min(1180px,94vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 28px 90px #0008}.historyDialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px 18px;display:flex}.historyDialog h2{margin:4px 0;font-size:30px}.historyDialog p{color:var(--muted);margin:0;font-size:17px}.historyClose{color:#344054;background:#fff;border:1px solid #cbd5e1;border-radius:50%;flex:none;width:46px;height:46px;font-size:32px;line-height:1}.historyGrid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;min-height:0;padding:22px 26px 28px;display:grid;overflow-y:auto}.historyCard{min-width:0;color:var(--ink);text-align:left;background:#fff;border:2px solid #d6deea;border-radius:12px;align-self:start;gap:10px;padding:12px;font-size:16px;display:grid;box-shadow:0 6px 16px #14243a12}.historyCard:hover,.historyCard.active{border-color:#0967e8;box-shadow:0 0 0 3px #0967e81f}.historyCard.active{background:#f3f8ff}.historyCardHeading{justify-content:space-between;align-items:center;gap:10px;display:flex}.historyCardHeading strong{color:#0758c7;font-size:18px}.historyCardHeading>span,.historyCardMeta{color:var(--muted);font-size:13px}.historyThumbnail{background:#e9eef4;border-radius:8px;width:100%;display:block;position:relative;overflow:hidden}.historyThumbnail img{-o-object-fit:contain;object-fit:contain}.historyAnnotation{border:2px solid var(--red);pointer-events:none;background:#ef24240a;display:block;position:absolute}.historyAnnotation i{background:var(--red);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-style:normal;font-weight:900;display:grid;position:absolute;top:-12px;left:-12px}.versionCard header{justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.versionCard header>div{align-items:center;gap:9px;display:flex}.versionBadge{color:#263a52;background:#eaf0f7;border-radius:7px;padding:4px 9px;font-weight:850}.viewVersionButton{color:#fff;box-shadow:0 3px 9px #0967e833;background:#0967e8!important;border-color:#0967e8!important}.viewVersionButton:hover:not(:disabled){background:#0758c7!important}.viewVersionButton.active,.viewVersionButton:disabled{color:#fff;opacity:1;cursor:default;background:#16845b!important;border-color:#16845b!important}.pinBadge{color:#0b65d8;background:#e9f2ff;border-radius:999px;padding:4px 9px;font-size:18px}.versionCard footer{color:var(--muted);justify-content:space-between;padding:8px 11px;font-size:18px;display:flex}.noticePreview{background:#fbfcfe;border-top:1px solid #e4e8ee;padding:10px 12px;font-size:20px;line-height:1.6}.noticePreview p{white-space:pre-wrap;margin:4px 0 0}.statusSelect{width:auto;padding:5px 8px;font-size:18px}.imageCanvas{-webkit-user-select:none;user-select:none;touch-action:none;background:#eef1f4;width:100%;position:relative;overflow:hidden}.imageCanvas img{-o-object-fit:contain;object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.annotationBox{border:2px solid var(--red);cursor:move;position:absolute}.annotationBox>span{background:var(--red);color:#fff;box-shadow:0 0 0 1px var(--red);border:2px solid #fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:850;display:grid;position:absolute;top:-21px;left:-21px}.annotationBox>.resizeHandle{background:var(--red);cursor:nwse-resize;border:2px solid #fff;border-radius:2px;width:13px;height:13px;padding:0;position:absolute;bottom:-6px;right:-6px}.annotationBox:focus-visible,.annotationBox>.resizeHandle:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 5px #0967e8}.annotationBox.draft{pointer-events:none;background:#ef242418;border-style:dashed}.rightPanel{grid-template-rows:minmax(0,1fr) minmax(0,1fr);display:grid}.detailsCard{border-bottom:1px solid var(--line);gap:10px;padding:14px 16px;display:grid;overflow-y:auto}.detailsCard h2,.feedbackCard h2{margin:0;font-size:26px}.cardHeading,.feedbackHeading{justify-content:space-between;align-items:center;gap:12px;display:flex}.detailsMeta,.reminderUnavailable{color:var(--muted);white-space:nowrap;font-size:17px}.detailsCard textarea{min-height:81px}.linkFields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.linkInputRow{align-items:center;gap:6px;display:flex}.linkInputRow input{min-width:0}.openLink{background:var(--blue);color:#fff;border-radius:7px;place-items:center;width:54px;min-width:54px;height:54px;font-size:30px;font-weight:800;text-decoration:none;display:grid}.openLink.disabled{color:#8792a2;pointer-events:none;background:#d7dde5}.detailsCard .primary{justify-self:end;padding:8px 14px}.feedbackCard{flex-direction:column;min-height:0;display:flex}.feedbackHeading{border-bottom:1px solid var(--line);padding:14px 16px}.feedbackHeading h2 span{color:var(--blue);font-size:20px}.reminderButton{color:#fff;background:linear-gradient(135deg,#ff9f1a,#f97316);border:2px solid #ffcf70;border-radius:10px;flex:none;padding:11px 17px;font-size:18px;font-weight:900;text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:0 5px 16px #f9731640}.reminderButton:hover{transform:translateY(-2px);box-shadow:0 8px 22px #f9731659}.userEmail{color:var(--muted);margin-top:3px;font-size:17px;display:block}.feedbackScroll{min-height:0;padding:0 14px 14px;overflow-y:auto}.feedbackItem{border-bottom:1px solid #e5e9ef;grid-template-columns:54px 1fr;gap:10px;padding:14px 0;display:grid}.feedbackNumber{border:2px solid var(--red);color:var(--red);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:850;display:grid}.feedbackBody textarea{min-height:70px}.feedbackBody p{color:var(--muted);margin:7px 0;font-size:18px}.feedbackActions{justify-content:flex-end;gap:8px;display:flex}.feedbackActions button{background:#fff;border:1px solid #ccd5e0;border-radius:6px;padding:6px 10px}.feedbackActions .primary{background:var(--blue);color:#fff;border:0}.draftFeedback label{font-weight:700}.draftFeedback textarea{margin-top:6px}@media (max-width:1000px){.reviewPage{height:auto;overflow:auto}.reviewMain{height:auto;min-height:calc(100vh - 68px)}.workspace{flex:none;grid-template-columns:1fr}.leftPanel,.rightPanel{height:720px}.projectGrid{grid-template-columns:repeat(2,1fr)}.userRow{grid-template-columns:1fr 1.5fr 1fr}.userRow>:nth-child(3),.userRow.head>:nth-child(3){display:none}.rowActions{grid-column:auto/span 3}.authPage{grid-template-columns:1fr;padding:150px 6vw 6vh}.authHero{display:none}}@media (max-width:680px){.appHeader{padding:0 14px}.reviewPage .appHeader{font-size:18px}.reviewPage .brand{font-size:25px}.brand{font-size:17px}.appHeader nav>a{display:none}.appHeader nav{gap:10px}.userBadge{border:0;padding-left:0}.reviewMain{padding:10px}.projectHead{align-items:flex-start;gap:12px}.titleLine h1{font-size:34px}.topActions{flex-wrap:wrap;justify-content:flex-end}.topActions .ghost{padding:7px;font-size:18px}.itemNav{align-items:stretch}.tabs button{padding:0 12px}.workspace{gap:10px}.leftPanel,.rightPanel{height:680px}.panelTitle{flex-wrap:wrap}.historyBackdrop{padding:12px}.historyDialog{width:100%;max-height:94vh}.historyDialog>header{padding:16px}.historyDialog h2{font-size:25px}.historyGrid{grid-template-columns:1fr;padding:16px}.uploadForm{width:100%;margin-left:0}.uploadForm input{min-width:0;max-width:none}.linkFields,.projectGrid{grid-template-columns:1fr}.pageShell{padding:28px 14px}.toolbar{justify-content:flex-start;margin:0 0 14px}.inlineForm,.userRow{grid-template-columns:1fr}.userRow.head{display:none}.rowActions{grid-column:auto}.authPage{padding:116px 20px 20px}.companyLockup{gap:12px;font-size:clamp(20px,6vw,25px);top:18px;left:20px;right:20px}.companyLogo{width:52px}.authCard{padding:24px}}
