.textLayer{color-scheme:only light;position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:clip;opacity:1;line-height:1;letter-spacing:normal;word-spacing:normal;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:0;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size))}.textLayer.highlighting{touch-action:none}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%;-webkit-user-select:text;-moz-user-select:text;user-select:text}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.textLayer .highlight{--highlight-bg-color:rgb(180 0 170 / .25);--highlight-selected-bg-color:rgb(0 100 0 / .25);--highlight-backdrop-filter:none;--highlight-selected-backdrop-filter:none;margin:-1px;padding:1px;background-color:var(--highlight-bg-color);-webkit-backdrop-filter:var(--highlight-backdrop-filter);backdrop-filter:var(--highlight-backdrop-filter);border-radius:4px}@media screen and (forced-colors:active){.textLayer .highlight{--highlight-bg-color:transparent;--highlight-selected-bg-color:transparent;--highlight-backdrop-filter:var(--hcm-highlight-filter);--highlight-selected-backdrop-filter:var( --hcm-highlight-selected-filter )}}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color);-webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);backdrop-filter:var(--highlight-selected-backdrop-filter);scroll-margin-top:50px}.textLayer ::-moz-selection{background:#0000ff40;background:color-mix(in srgb,AccentColor,transparent 50%);color:transparent}.textLayer ::selection{background:#0000ff40;background:color-mix(in srgb,AccentColor,transparent 50%);color:transparent}.textLayer.selectionRendering ::-moz-selection{background:transparent;color:transparent}.textLayer.selectionRendering ::selection{background:transparent;color:transparent}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-text: #16181d;--color-text-muted: #5c6270;--color-border: #d6dae2;--color-primary: #3d5afe;--color-primary-text: #ffffff;--color-danger: #c0243c;--color-warning-bg: #fff5d6;--color-warning-border: #e0b400;--color-error-bg: #fdecef;--color-success-bg: #e6f5ec;--color-open: #f2c200;--color-open-border: #a37e00;--color-resolved: #9aa2b1;--color-selected: #1a49d8;--radius: 8px;--shadow: 0 1px 3px rgb(16 20 30 / 12%);--panel-width: 360px;--touch-target: 44px;--sheet-closed-height: calc(56px + env(safe-area-inset-bottom)) }@media(prefers-color-scheme:dark){:root{--color-bg: #14161b;--color-surface: #1d2029;--color-text: #eef0f5;--color-text-muted: #a3aab8;--color-border: #333846;--color-primary: #7c8dff;--color-primary-text: #10131a;--color-danger: #ff8095;--color-warning-bg: #3a3208;--color-warning-border: #b39400;--color-error-bg: #3a1720;--color-success-bg: #10301f;--color-selected: #8aa2ff}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:15px;line-height:1.6;-webkit-text-size-adjust:100%}h1{font-size:1.35rem;margin:0 0 .5rem}h2{font-size:1.05rem;margin:0}:focus-visible{outline:3px solid var(--color-selected);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.text-muted{color:var(--color-text-muted)}.text-small{font-size:.85rem}.page{min-height:100dvh;display:flex;flex-direction:column}.page--narrow{max-width:720px;margin:0 auto;width:100%;padding:0 max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-bottom))}.page__main{padding:16px;max-width:1100px;width:100%;margin:0 auto}.page__heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin:16px 0;display:flex;flex-direction:column;gap:16px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px max(12px,env(safe-area-inset-left));background:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:52px}.app-header__left,.app-header__right{display:flex;align-items:center;gap:10px;min-width:0}.app-header__brand{font-weight:700;color:inherit;text-decoration:none;white-space:nowrap}.app-header__title{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-border);width:28px;height:28px;font-size:.8rem;flex-shrink:0}.avatar--small{width:24px;height:24px}.badge{font-size:.72rem;border:1px solid var(--color-border);border-radius:999px;padding:0 6px}.user-menu{position:relative}.user-menu__trigger{display:flex;align-items:center;gap:8px;background:none;border:1px solid transparent;border-radius:var(--radius);padding:4px 8px;min-height:var(--touch-target);color:inherit;cursor:pointer;font:inherit}.user-menu__panel{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:180px;z-index:30;padding:4px}.user-menu__identity{margin:4px 8px;font-size:.85rem;color:var(--color-text-muted)}.user-menu__item{display:block;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:10px;min-height:var(--touch-target);color:inherit;text-decoration:none;font:inherit;cursor:pointer}.user-menu__item:hover{background:var(--color-bg)}@media(max-width:640px){.user-menu__name{display:none}}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--touch-target);min-width:var(--touch-target);padding:8px 14px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:inherit;font:inherit;text-decoration:none;cursor:pointer}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.button--danger{border-color:var(--color-danger);color:var(--color-danger)}.button--block{width:100%}.button--small{min-height:36px;padding:4px 10px;font-size:.85rem}.button-row{display:flex;gap:8px;flex-wrap:wrap}.icon-button{background:none;border:1px solid transparent;border-radius:6px;min-height:32px;min-width:32px;color:inherit;cursor:pointer;font:inherit}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-weight:600;font-size:.9rem}.field__hint{font-size:.8rem;color:var(--color-text-muted)}.field__input,select,textarea{font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px;min-height:var(--touch-target);width:100%}.form-error{color:var(--color-danger);font-size:.85rem;margin:4px 0 0}.skeleton{padding:16px;display:flex;flex-direction:column;gap:10px}.skeleton__line{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--color-border),var(--color-bg),var(--color-border));background-size:200% 100%;animation:skeleton-shimmer 1.4s linear infinite}@keyframes skeleton-shimmer{to{background-position:-200% 0}}.empty-state,.error-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;margin:16px 0}.empty-state__title,.error-state__title{font-weight:700;margin:0}.error-state__meta{font-size:.75rem;color:var(--color-text-muted);word-break:break-all}.banner{border-radius:var(--radius);padding:10px 12px;border:1px solid var(--color-border);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.banner--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.banner--error{background:var(--color-error-bg);border-color:var(--color-danger)}.toasts{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:60;width:min(92vw,420px)}.toast{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 12px;display:flex;gap:12px;align-items:center;justify-content:space-between}.toast--success{background:var(--color-success-bg)}.toast--error{background:var(--color-error-bg);border-color:var(--color-danger)}.toast__close{background:none;border:0;color:inherit;cursor:pointer;font:inherit;text-decoration:underline}.review-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px}.review-list__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}.review-list__title{margin:0 0 8px}.review-list__meta{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;font-size:.85rem}.review-list__meta dt{color:var(--color-text-muted);font-size:.75rem}.review-list__meta dd{margin:0}.review-list__actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:24px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}.dropzone--active{border-color:var(--color-primary);background:var(--color-bg)}.selected-file{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;border:1px solid var(--color-border);border-radius:var(--radius);padding:12px}.selected-file__preview{width:80px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg)}.selected-file__preview--empty{height:110px}.selected-file__meta{margin:0;display:flex;flex-direction:column;gap:4px;font-size:.85rem;flex:1 1 180px}.selected-file__meta dt{color:var(--color-text-muted);font-size:.75rem}.selected-file__meta dd{margin:0;word-break:break-all}.progress{display:flex;flex-direction:column;gap:8px}.progress__bar{width:100%;height:8px}.copy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.copy-row__value{flex:1 1 200px;border:1px solid var(--color-border);border-radius:var(--radius);padding:10px;word-break:break-all;background:var(--color-bg);min-height:var(--touch-target);display:flex;align-items:center}.copy-row__value--pin{font-size:1.6rem;font-weight:700;letter-spacing:.3em;font-variant-numeric:tabular-nums}.dev-login{border-top:1px solid var(--color-border);padding-top:12px}.dev-login__buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pin-form{display:flex;flex-direction:column;gap:12px}.pin-input{position:relative}.pin-input__field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;font-size:1.6rem;letter-spacing:1em;border:0}.pin-input__boxes{display:flex;gap:10px}.pin-input__box{flex:1 1 0;min-height:56px;border:2px solid var(--color-border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-variant-numeric:tabular-nums;background:var(--color-surface)}.pin-input__box.is-filled{border-color:var(--color-primary)}.pin-input__field:focus+.pin-input__boxes .pin-input__box{border-color:var(--color-selected)}.review{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.review__body{display:flex;flex:1;min-height:0}.review__viewer{flex:1;min-width:0;position:relative;display:flex;flex-direction:column}.review__panel{width:var(--panel-width);min-width:320px;max-width:480px;border-left:1px solid var(--color-border);background:var(--color-surface);overflow-y:auto;resize:horizontal}.review__return{position:absolute;bottom:72px;left:50%;transform:translate(-50%);z-index:20;box-shadow:var(--shadow)}.connection-status{font-size:.8rem;padding:2px 8px;border-radius:999px;border:1px solid var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-text)}.connection-banner{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:50;width:min(92vw,480px)}.toolbar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto}.toolbar__group{display:flex;align-items:center;gap:4px;flex-shrink:0}.toolbar__group--end{margin-left:auto}.toolbar__button{min-height:var(--touch-target);min-width:var(--touch-target);padding:4px 10px;border:1px solid transparent;border-radius:6px;background:none;color:inherit;font:inherit;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.toolbar__button:hover:not(:disabled){background:var(--color-bg)}.toolbar__button.is-active{border-color:var(--color-primary);background:var(--color-bg);font-weight:600}.toolbar__button:disabled{opacity:.4;cursor:not-allowed}.toolbar__page{display:flex;align-items:center;gap:4px}.toolbar__page-input{width:3.5rem;min-height:36px;padding:2px 6px;text-align:center;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:inherit;font:inherit}.toolbar__page-total,.toolbar__scale{font-size:.85rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:3rem;text-align:center}.toolbar__count{background:var(--color-primary);color:var(--color-primary-text);border-radius:999px;padding:0 6px;font-size:.75rem}.toolbar__overflow{position:relative}.toolbar__overflow-panel{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;z-index:30;padding:4px}.pdf-viewer{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.pdf-viewer__mode-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border)}.pdf-viewer__scroll{flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;background:var(--color-bg)}.pdf-viewer__scroll--area-mode{touch-action:pinch-zoom}.pdf-viewer__pages{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px}.pdf-page{position:relative;background:#fff;box-shadow:var(--shadow);flex-shrink:0}.pdf-page__canvas{display:block}.pdf-page__text{position:absolute;top:0;right:0;bottom:0;left:0}.pdf-page__text--locked{-webkit-user-select:none;user-select:none;pointer-events:none}.pdf-page__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:repeating-linear-gradient(45deg,var(--color-bg),var(--color-bg) 10px,var(--color-surface) 10px,var(--color-surface) 20px)}.pdf-page__spinner{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff6}.annotation-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.annotation{position:absolute;pointer-events:auto;padding:0;cursor:pointer;background:#f2c20047;border:1px solid var(--color-open-border);border-radius:2px}.annotation--open{border-style:solid}.annotation--resolved{background:#9aa2b138;border-color:var(--color-resolved);border-style:dashed}.annotation--selected{background:#1a49d838;border:2px solid var(--color-selected);box-shadow:0 0 0 2px #1a49d840}.annotation--area{background:transparent}.annotation__badge{position:absolute;top:-10px;right:-10px;width:20px;height:20px;border-radius:50%;background:var(--color-surface);border:1px solid currentcolor;font-size:.7rem;display:flex;align-items:center;justify-content:center}.area-capture{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.area-capture--active{pointer-events:auto;cursor:crosshair}.area-capture__rect{position:absolute;border:2px dashed var(--color-selected);background:#1a49d81f}.selection-action{position:fixed;transform:translate(-50%,-100%);z-index:50}.selection-action--fixed{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--sheet-closed-height) + 12px)}.comments-panel{display:flex;flex-direction:column;height:100%}.comments-panel__header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:5}.comments-panel__count{margin:0;font-weight:600}.switch{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;min-height:var(--touch-target)}.comments-panel__sort select{min-height:36px;padding:2px 6px;width:auto}.comments-panel__list{list-style:none;margin:0;padding:8px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.thread-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:10px;display:flex;flex-direction:column;gap:8px}.thread-card--expanded{border-color:var(--color-selected);box-shadow:0 0 0 1px var(--color-selected)}.thread-card--resolved{opacity:.75}.thread-card__select{background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:40px}.thread-card__meta{display:flex;gap:8px;align-items:center;font-size:.78rem;color:var(--color-text-muted)}.thread-card__state--open{color:var(--color-open-border)}.thread-card__state--resolved{color:var(--color-resolved)}.thread-card__anchor{font-size:.85rem;color:var(--color-text-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.thread-card__reply-count,.thread-card__time{font-size:.78rem;color:var(--color-text-muted);margin:0}.thread-card__replies{list-style:none;margin:0;padding:0 0 0 12px;border-left:2px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.thread-card__detail{display:flex;flex-direction:column;gap:8px}.thread-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.comment{display:flex;flex-direction:column;gap:4px}.comment__header{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-muted)}.comment__author{font-weight:600;color:var(--color-text)}.comment__edited{font-style:italic}.comment__menu{position:relative;margin-left:auto}.comment__menu-panel{position:absolute;right:0;top:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:20;padding:4px;min-width:120px}.comment__menu-item{display:block;width:100%;text-align:left;background:none;border:0;padding:8px;min-height:40px;border-radius:6px;color:inherit;font:inherit;cursor:pointer}.comment__menu-item--danger{color:var(--color-danger)}.comment__body{margin:0;white-space:pre-wrap;word-break:break-word}.comment--deleted .comment__tombstone{margin:0;color:var(--color-text-muted);font-style:italic}.confirm,.conflict{border:1px solid var(--color-danger);background:var(--color-error-bg);border-radius:var(--radius);padding:10px;font-size:.85rem}.confirm p,.conflict p{margin:0 0 6px}.confirm__actions{display:flex;gap:8px;justify-content:flex-end}.conflict__label{font-weight:600}.conflict__body{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:6px;margin:0 0 8px;white-space:pre-wrap;word-break:break-word;max-height:8rem;overflow:auto;font:inherit}.composer{display:flex;flex-direction:column;gap:6px}.composer__input{resize:vertical}.composer__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer__count{font-size:.75rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.composer__actions{display:flex;gap:8px}.draft-composer{position:fixed;bottom:calc(var(--sheet-closed-height) + 8px);left:50%;transform:translate(-50%);width:min(94vw,460px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;z-index:55;display:flex;flex-direction:column;gap:8px}.draft-composer__anchor{margin:0;font-size:.8rem;color:var(--color-text-muted)}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:12px 12px 0 0;box-shadow:0 -2px 12px #10141e26;z-index:45;display:flex;flex-direction:column;transition:height .2s ease;padding-bottom:env(safe-area-inset-bottom)}.bottom-sheet--closed{height:var(--sheet-closed-height)}.bottom-sheet--half{height:45dvh}.bottom-sheet--full{height:calc(100dvh - 52px)}.bottom-sheet__handle{flex-shrink:0;touch-action:none}.bottom-sheet__toggle{width:100%;min-height:56px;background:none;border:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.bottom-sheet__grip{position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--color-border)}.bottom-sheet__count{background:var(--color-primary);color:var(--color-primary-text);border-radius:999px;padding:0 8px;font-size:.78rem}.bottom-sheet__content{flex:1;min-height:0;overflow:hidden;display:flex}.bottom-sheet__content>*{flex:1;min-width:0;min-height:0}@media(max-width:1023px){.review__body{padding-bottom:var(--sheet-closed-height)}}@media(min-width:1024px){.selection-action--fixed,.draft-composer{bottom:max(12px,env(safe-area-inset-bottom))}}
