@font-face{font-family:'PRT Inter';font-weight:100 900;font-display:swap;src:url('/font-assets/InterVariable.woff2')}@font-face{font-family:'PRT Noto Sans JP';font-weight:100 900;font-display:swap;src:url('/font-assets/NotoSansJP.ttf')}
:root{--bg:var(--t-canvas,#0c0c0c);--panel:var(--t-panel,#151515);--header:var(--t-header,#1b1b1b);--surface:var(--t-raised,#101010);--text:var(--t-text,#e5e5e5);--muted:var(--t-muted,#a0a0a0);--line:color-mix(in srgb,var(--t-border,#505050) calc(var(--t-borderOpacity,.35)*100%),transparent);--accent:var(--t-accent,#e5a05a);--active:var(--t-selected,#3c3024);--warn:var(--t-waiting,#d4b17e)}body{font-family:'PRT Inter','PRT Noto Sans JP',sans-serif;font-weight:400;font-synthesis:none}button,input,select,textarea{border-radius:var(--t-controlRadius,5px);transition:background var(--t-transition,80ms),color var(--t-transition,80ms),border-color var(--t-transition,80ms)}button:hover{background:color-mix(in srgb,var(--t-hover,#292929) calc(var(--t-hoverOpacity,.55)*100%),transparent);border-color:var(--line)}button:disabled{opacity:var(--t-disabledOpacity,.4)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--t-focusWidth,1px) solid var(--t-focus,var(--accent))}input,select,textarea{background:var(--surface);border:var(--t-borderWidth,1px) solid var(--line);padding:5px var(--t-inputPadding,9px);min-height:var(--t-inputHeight,28px);color:var(--text)}button{min-height:var(--t-buttonHeight,28px);padding:3px var(--t-buttonPadding,9px)}button.primary{background:var(--accent);color:#18120b}.top{background:var(--surface);border-color:var(--line)}.brand span,#restore,#answer,#help{display:none}.brand strong{font-weight:500}.scene-bar{background:var(--header);border-color:var(--line)}.scene-bar .nav{display:flex;color:var(--muted)}.scene-bar .nav button{font-size:11px}.selection-test{font-size:10px}.workspace{background:var(--bg)}.divider,.layout-locked .divider{background:color-mix(in srgb,var(--t-border,#505050) calc(var(--t-dividerOpacity,.28)*100%),var(--bg))}.divider:hover,.divider.resizing{background:var(--accent)}.group{background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),var(--bg));border:var(--t-borderWidth,1px) solid var(--line);border-radius:var(--t-panelRadius,8px);box-shadow:inset 0 1px 0 rgb(255 255 255/var(--t-innerHighlight,0))}.group.focused{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.grouphead{height:var(--t-headerHeight,30px);background:var(--header);border-bottom:var(--t-sectionRule,1px) solid var(--line);padding:0 5px 0 var(--t-panelPadding,12px)}.grip{display:flex;align-items:center;gap:5px}.panel-grip{width:var(--t-dragGrip,16px);color:var(--muted);font-size:10px;flex:none}.window-buttons button{min-height:23px;height:23px;padding:0 5px;color:var(--muted);border-radius:var(--t-controlRadius,5px)}.tabs{gap:var(--t-tabGap,2px);background:var(--surface);border-color:var(--line);min-height:var(--t-tabHeight,28px)}.tab{min-height:var(--t-tabHeight,28px);border:0;padding:3px var(--t-tabPadding,10px);border-radius:var(--t-tabRadius,5px);color:var(--muted)}.tab.active{background:var(--active);color:var(--text);border-bottom:var(--t-tabIndicator,1px) solid var(--accent)}.content{padding:var(--t-panelPadding,12px)}.content.viewer-content{padding:0}.toolbar-edge{background:var(--panel);border-color:var(--line)}.tool-grip{height:var(--t-headerHeight,30px);flex-basis:var(--t-headerHeight,30px);background:var(--header);color:var(--muted)}.toolbar-edge.horizontal .tool-grip{width:var(--t-headerHeight,30px)}.toolbar-edge .toolbar{padding:var(--t-toolbarPadding,4px);gap:var(--t-toolGap,2px)}.toolbar button{width:var(--t-toolSize,32px);height:var(--t-toolSize,32px);min-height:var(--t-toolSize,32px);border:1px solid transparent;background:transparent;border-radius:var(--t-controlRadius,5px);display:grid;place-items:center;padding:0}.toolbar button.active{background:var(--active);color:var(--accent)}.toolbar button:hover{background:var(--t-hover,#292929)}.preview-icon{width:var(--t-iconSize,17px);height:var(--t-iconSize,17px);object-fit:contain;opacity:var(--t-iconOpacity,.9);display:inline-block;vertical-align:middle;flex:none}.toolbar button .preview-icon{max-width:calc(var(--t-iconHit,30px) - 6px)}.viewer{background:radial-gradient(ellipse at 50% 110%,#ffffff05,transparent 70%),var(--bg)}.viewer:before{background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px)}.viewer-top,.viewer-top small{color:var(--muted)}.annotation{border:var(--t-borderWidth,1px) dashed var(--accent);background:color-mix(in srgb,var(--active) 60%,transparent);border-radius:var(--t-controlRadius,5px);cursor:move;color:var(--text);gap:var(--t-iconLabelGap,6px)}.minimap{background:var(--surface);border:var(--t-borderWidth,1px) solid var(--line);color:var(--muted);border-radius:var(--t-controlRadius,5px)}.viewer-controls button{background:var(--panel);border-color:var(--line);color:var(--text)}.search{border:var(--t-borderWidth,1px) solid var(--line);background:var(--surface);border-radius:var(--t-controlRadius,5px);gap:var(--t-iconLabelGap,6px)}.search input{background:transparent}.filters{margin-bottom:var(--t-fieldGap,6px)}.filters button{background:var(--surface);border-color:var(--line)}.row{min-height:var(--t-rowHeight,34px);padding:3px var(--t-rowPadding,9px);gap:var(--t-iconLabelGap,6px);margin-bottom:var(--t-rowGap,0px);border-color:var(--line);border-radius:var(--t-controlRadius,5px)}.row.selected{background:color-mix(in srgb,var(--active) calc(var(--t-selectedOpacity,.8)*100%),transparent)}.row:hover{background:var(--t-hover,#292929)}.row small{color:var(--muted)}.row .icon{width:var(--t-thumbSize,28px);height:var(--t-thumbSize,28px);display:grid;place-items:center;flex:none}.row .label small{padding-left:var(--t-indent,16px)}.pill{min-height:var(--t-badgeHeight,18px);padding:1px var(--t-badgePadding,5px);border-radius:var(--t-badgeRadius,9px);background:var(--surface);color:var(--warn);display:flex;align-items:center}.unread-dot{width:var(--t-unreadDot,5px);height:var(--t-unreadDot,5px);border-radius:50%;background:var(--accent);display:inline-block;margin-right:4px}.property{display:grid;grid-template-columns:minmax(60px,var(--t-labelWidth,92px)) minmax(0,1fr);gap:var(--t-fieldGap,6px);border-bottom:var(--t-sectionRule,1px) solid var(--line);padding:var(--t-fieldGap,6px) 0}.property input,.property select{max-width:100%;width:100%}.property input[type=checkbox]{width:var(--t-checkSize,16px);height:var(--t-checkSize,16px);min-height:0;accent-color:var(--accent)}:is(.property,.file-fov-control,.file-thumbnail-control) input[type=range]{padding:0;accent-color:var(--accent);height:var(--t-sliderTrack,3px)}input[type=range]::-webkit-slider-thumb{width:var(--t-sliderThumb,12px);height:var(--t-sliderThumb,12px)}.toggle-preview{width:var(--t-switchWidth,34px);background:var(--active)!important;justify-self:end}.color{background:var(--accent)}.body-text{line-height:1.55;padding:var(--t-fieldGap,6px) 0}.reply{border-color:var(--line);background:var(--surface);border-radius:var(--t-controlRadius,5px);margin:var(--t-sectionGap,16px) 0;padding:var(--t-panelPadding,12px)}.compose{border:var(--t-borderWidth,1px) solid var(--line);background:var(--surface);border-radius:var(--t-controlRadius,5px);padding:7px;margin-top:var(--t-sectionGap,16px)}.compose textarea{width:100%;border:0;resize:vertical;background:transparent}.status{background:var(--surface);border-color:var(--line);color:var(--muted)}.status .hint{color:var(--muted)}.floating{box-shadow:0 var(--t-shadowY,6px) var(--t-shadowBlur,20px) rgb(0 0 0/var(--t-shadowOpacity,.22))}.floating .group{border-color:var(--line)}.collapsed-rail{background:var(--line)}.collapsed-rail:hover{background:var(--accent)}.swap-handle{background:var(--header);color:var(--accent)}.swap-handle:hover{background:var(--active)}#ui-lock[aria-pressed=true]{background:var(--active);color:var(--text);border-color:var(--line)}.dock-highlight{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent)}.drop-ghost{background:var(--panel);border-color:var(--accent);color:var(--text)}.toast{background:color-mix(in srgb,var(--header) calc(var(--t-toastOpacity,.96)*100%),transparent);color:var(--text);border-color:var(--line);border-radius:var(--t-toastRadius,8px);width:var(--t-noticeWidth,340px);text-align:center}.dialog{background:var(--panel);border-color:var(--line);border-radius:var(--t-panelRadius,8px)}.panel-option{border-color:var(--line)}.backdrop{background:#000b}.layout-locked .grip{cursor:default}.progress-study{display:grid;gap:12px}.study-donut{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;margin:8px auto;background:conic-gradient(var(--t-completed) 0 37.5%,var(--t-inProgress) 37.5% 50%,var(--t-waiting) 50% 62.5%,var(--t-pending) 62.5% 75%,var(--t-notStarted) 75% 100%)}.study-donut span{display:grid;place-items:center;border-radius:50%;width:80px;height:80px;background:var(--panel)}.study-progress{height:var(--t-progressHeight,4px);background:var(--surface);border-radius:4px;overflow:hidden}.study-progress i{display:block;width:37.5%;height:100%;background:var(--t-completed)}.study-state{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:4px 0}.study-state i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px}.preview-note{color:var(--muted);font-size:10px}.preview-controls{display:flex;gap:8px;margin-top:var(--t-sectionGap,16px)}
.divider:before{content:'';position:absolute;background:color-mix(in srgb,var(--t-border,#505050) calc(var(--t-dividerOpacity,.28)*100%),var(--bg));pointer-events:none;z-index:0}.divider.horizontal:before{width:var(--t-divider,4px);height:100%;left:50%;transform:translateX(-50%)}.divider.vertical:before{height:var(--t-divider,4px);width:100%;top:50%;transform:translateY(-50%)}.divider:hover:before{background:var(--accent)}.toolbar button{min-width:var(--t-iconHit,30px)}
.annotation.focus-pulse{outline:var(--t-focusWidth,1px) solid var(--accent);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 35%,transparent)}
.floating.minimized{height:var(--t-headerHeight,30px)!important;min-height:var(--t-headerHeight,30px)!important}:is(.property,.file-fov-control,.file-thumbnail-control) input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;border:0;height:24px;min-height:24px}:is(.property,.file-fov-control,.file-thumbnail-control) input[type=range]::-webkit-slider-runnable-track{height:var(--t-sliderTrack,3px);background:var(--line);border-radius:5px}:is(.property,.file-fov-control,.file-thumbnail-control) input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:var(--t-sliderThumb,12px);height:var(--t-sliderThumb,12px);margin-top:calc((var(--t-sliderTrack,3px) - var(--t-sliderThumb,12px))/2);background:var(--accent);border:0;border-radius:50%}
/* Viewer is a continuous base; docked leaves only reserve geometry above it. */
.workspace{background:linear-gradient(155deg,var(--t-viewerTop,#535963),var(--t-viewerBottom,#343940))}
#viewer-base{position:absolute;inset:0;z-index:0;overflow:hidden}
#viewer-base .viewer{position:absolute;min-height:0;background:transparent;overflow:hidden}
#viewer-base .viewer:before{background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px)}
#dock-root{pointer-events:none;z-index:1}#dock-root .group:not(.viewer-anchor),#dock-root .divider,#dock-root .collapsed-rail{pointer-events:auto}
.group.viewer-anchor{visibility:hidden;pointer-events:none!important}
.viewer-hud{position:absolute;right:14px;top:12px;display:flex;gap:10px;align-items:center;color:#dce0e4;font-size:11px}.viewer-hud button{background:#15151590;border:1px solid #ffffff18}
.viewer-top{color:#edf0f3}.viewer-top small{color:#c1c6cd}
.viewer-expanded #dock-root,.viewer-expanded #float-root{visibility:hidden}
.viewer-expanded #viewer-base .viewer{inset:0!important;width:100%!important;height:100%!important}
.divider,.layout-locked .divider,.divider:hover{background:transparent;flex-basis:var(--t-panelGap,5px);overflow:visible}
.divider:before{opacity:0;background:var(--accent);transition:opacity 90ms}
.divider:hover:before,.divider:focus-visible:before,.divider.resizing:before{opacity:.65}
.divider.horizontal:before{width:var(--t-divider,4px)}.divider.vertical:before{height:var(--t-divider,4px)}
.grouphead{background:transparent;border-bottom-color:transparent;transition:background 90ms,border-color 90ms}
.grouphead:hover,.grouphead:focus-within{background:var(--header);border-bottom-color:var(--line)}
.group{box-shadow:0 2px 10px #00000012,inset 0 1px 0 rgb(255 255 255/var(--t-innerHighlight,0))}
.group.focused{border-color:var(--line)}.panel-grip{opacity:.45}.grouphead:hover .panel-grip{opacity:1}
.toolbar-edge.floating-toolbar{border-radius:var(--t-panelRadius,20px);box-shadow:0 6px 22px #0004;z-index:20}
.floating-toolbar .tool-grip{background:transparent}.floating-toolbar .toolbar{flex:none}.floating-toolbar.vertical .tool-grip{flex-basis:var(--t-headerHeight,27px)}
.viewer-controls span{display:none}
/* A small visible thumb, a larger transparent grab gutter. */
*{scrollbar-width:thin;scrollbar-color:#73737355 transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7776;border:3px solid transparent;background-clip:padding-box;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#999a;border-width:2px}::-webkit-scrollbar-corner{background:transparent}
.select-source{display:none!important}.themed-select{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:left;background:var(--surface);border:var(--t-borderWidth,1px) solid var(--line);min-height:var(--t-inputHeight,28px);padding:4px var(--t-inputPadding,9px)}.themed-select:after{content:'⌄';color:var(--muted);margin-left:auto}.property>.themed-select{width:100%}
.themed-options{position:fixed;z-index:5000;max-height:min(340px,60vh);overflow:auto;padding:5px;border:1px solid var(--line);border-radius:var(--t-controlRadius,10px);background:var(--panel);box-shadow:0 12px 36px #0006;font:inherit}.themed-options button{display:block;width:100%;text-align:left;padding:6px 10px;border:0}.themed-options [aria-selected=true]{color:var(--accent);background:var(--active)}
@font-face{font-family:'PRT DM Sans';font-weight:100 1000;font-display:swap;src:url('/font-assets/DMSans.ttf')}@font-face{font-family:'PRT Zen Kaku';font-weight:400;font-display:swap;src:url('/font-assets/ZenKaku-Regular.ttf')}@font-face{font-family:'PRT Zen Kaku';font-weight:300;font-display:swap;src:url('/font-assets/ZenKaku-Light.ttf')}@font-face{font-family:'PRT Zen Kaku';font-weight:500;font-display:swap;src:url('/font-assets/ZenKaku-Medium.ttf')}
@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important}}
.divider:hover:before,.divider:focus-visible:before,.divider.resizing:before{opacity:var(--t-dividerOpacity,.28)}
.divider:after{content:'';position:absolute;inset:0;z-index:-1}.divider.horizontal:after{left:50%;width:max(10px,var(--t-panelGap,5px));transform:translateX(-50%)}.divider.vertical:after{top:50%;height:max(10px,var(--t-panelGap,5px));transform:translateY(-50%)}
/* Shared hover color, optional overrides only. */
.row:hover{background:var(--hover-list,var(--t-hover,#292929))!important}.toolbar button:hover{background:var(--hover-toolbar,var(--t-hover,#292929))!important}.grouphead:hover,.grouphead:focus-within{background:var(--hover-header,var(--t-hover,#292929))!important}
button:hover,.themed-options button:hover,.themed-options button:focus-visible{background:var(--hover-controls,var(--t-hover,#292929))}
.toggle-preview{display:flex;align-items:center;justify-content:center;padding:0!important;min-width:0;text-align:center;line-height:1;overflow:hidden}
.switch-preview{width:var(--t-switchWidth,40px);height:22px!important;min-height:22px!important;padding:2px!important;border:1px solid var(--line);border-radius:20px!important;background:var(--surface);display:flex;align-items:center;justify-self:end}.switch-preview i{height:16px;width:16px;flex:none;border-radius:50%;background:var(--muted);transform:translateX(0);transition:transform var(--t-transition,80ms)}.switch-preview[aria-checked=true]{background:var(--active);border-color:var(--accent)}.switch-preview[aria-checked=true] i{background:var(--accent);transform:translateX(calc(var(--t-switchWidth,40px) - 22px))}
:is(.property,.file-fov-control,.file-thumbnail-control) input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--t-sliderFill,var(--accent)) 0 var(--range-progress,50%),var(--line) var(--range-progress,50%) 100%)}
:is(.property,.file-fov-control,.file-thumbnail-control) input[type=range]::-moz-range-track{background:var(--line);height:var(--t-sliderTrack,3px)}:is(.property,.file-fov-control,.file-thumbnail-control) input[type=range]::-moz-range-progress{background:var(--t-sliderFill,var(--accent));height:var(--t-sliderTrack,3px)}
.property input[type=number]{font-variant-numeric:tabular-nums}
.split-child{overflow:visible}.group{position:relative;box-shadow:0 var(--t-panelShadowY,4px) var(--t-panelShadowBlur,18px) rgb(0 0 0/var(--t-panelShadowOpacity,.22)),inset 0 1px 0 rgb(255 255 255/var(--t-innerHighlight,0))}
.group.viewer-anchor{box-shadow:none}.floating .group,.floating-toolbar,.themed-options,.dialog{background:var(--t-floatingSurface,#1c1c1c)}.floating .group{box-shadow:inset 0 1px 0 rgb(255 255 255/var(--t-innerHighlight,0))}.floating,.floating-toolbar{box-shadow:0 var(--t-shadowY,6px) var(--t-shadowBlur,20px) rgb(0 0 0/var(--t-shadowOpacity,.22))}
.property{grid-template-columns:minmax(60px,var(--t-labelWidth,92px)) minmax(0,1fr)}.property>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.grouphead .grip{flex:1}.grouphead .window-buttons{height:100%;align-items:center}.grouphead .window-buttons button{height:min(23px,var(--t-headerHeight,27px));min-height:0}.scene-bar .nav button{min-width:70px}.scene-bar .nav button:nth-child(2){min-width:125px}.filters button{min-width:75px}.property input{height:var(--t-inputHeight,28px)}
.docking-silhouette{position:absolute;inset:0;pointer-events:none}.dock-preview-panel{position:absolute;border:1px solid var(--accent);border-radius:var(--t-panelRadius,20px);background:color-mix(in srgb,var(--t-panel,#151515) 75%,transparent);box-shadow:0 4px 20px #0004;overflow:hidden}.dock-preview-panel.target-preview{opacity:.3}.dock-preview-tab{position:absolute;border-radius:var(--t-tabRadius,5px) var(--t-tabRadius,5px) 0 0;background:var(--t-selected,#3c3024);border:1px solid var(--accent);padding:4px 12px;height:var(--t-tabHeight,28px);color:var(--text);white-space:nowrap}.dock-preview-panel.tab-body{background:color-mix(in srgb,var(--t-panel,#151515) 35%,transparent);box-shadow:none}

@font-face{font-family:'PRT-en-interLocal';src:url('/font-assets/InterVariable.woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-notoLocal';src:url('/font-assets/NotoSansJP.ttf');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-dmLocal';src:url('/font-assets/DMSans.ttf');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-zenLocal';src:url('/font-assets/ZenKaku-Light.ttf');font-weight:300;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-zenLocal';src:url('/font-assets/ZenKaku-Regular.ttf');font-weight:400;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-zenLocal';src:url('/font-assets/ZenKaku-Medium.ttf');font-weight:500;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-system';src:local('.SFNS'),local('SF Pro Text'),local('Arial');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-hiragino';src:local('Hiragino Sans');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-yu';src:local('Yu Gothic');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-noto';src:local('Noto Sans JP');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-inter';src:local('Inter');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-arial';src:local('Arial');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-en-mono';src:local('SFMono-Regular'),local('Menlo');font-weight:100 900;font-display:swap;unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:'PRT-ja-interLocal';src:url('/font-assets/InterVariable.woff2');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-notoLocal';src:url('/font-assets/NotoSansJP.ttf');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-dmLocal';src:url('/font-assets/DMSans.ttf');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-zenLocal';src:url('/font-assets/ZenKaku-Light.ttf');font-weight:300;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-zenLocal';src:url('/font-assets/ZenKaku-Regular.ttf');font-weight:400;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-zenLocal';src:url('/font-assets/ZenKaku-Medium.ttf');font-weight:500;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-system';src:local('Hiragino Sans'),url('/font-assets/NotoSansJP.ttf');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-hiragino';src:local('Hiragino Sans');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-yu';src:local('Yu Gothic');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-noto';src:local('Noto Sans JP');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-inter';src:local('Inter');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-arial';src:local('Arial');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'PRT-ja-mono';src:local('SFMono-Regular'),local('Menlo');font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
.row:hover{background:color-mix(in srgb,var(--hover-list,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*100%),transparent)!important}.toolbar button:hover{background:color-mix(in srgb,var(--hover-toolbar,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*100%),transparent)!important}.grouphead:hover,.grouphead:focus-within{background:color-mix(in srgb,var(--hover-header,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*100%),transparent)!important}button:hover,.themed-options button:hover,.themed-options button:focus-visible{background:color-mix(in srgb,var(--hover-controls,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*100%),transparent)}
/* Compositing: input surfaces, utility surfaces and translucent panels are independent. */
:root{--surface:var(--t-utilitySurface,#101010)}
.group{background:color-mix(in srgb,var(--t-panel,#151515) calc(var(--t-surfaceOpacity,1)*100%),transparent)!important;box-shadow:0 var(--t-panelShadowY,5px) var(--t-panelShadowBlur,20px) rgb(0 0 0/var(--t-panelShadowOpacity,.22));isolation:isolate}
.group:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgb(255 255 255/var(--t-innerHighlight,0));z-index:2}
.group.viewer-anchor,.group.viewer-anchor:after{box-shadow:none}.floating .group{background:color-mix(in srgb,var(--t-floatingSurface,#1c1c1c) calc(var(--t-surfaceOpacity,1)*100%),transparent)!important;box-shadow:none}
.max-layer{background:transparent}.content,.split,.split-child{background:transparent}
.toolbar-edge{background:color-mix(in srgb,var(--t-panel,#151515) calc(var(--t-surfaceOpacity,1)*100%),transparent);box-shadow:0 var(--t-panelShadowY,5px) var(--t-panelShadowBlur,20px) rgb(0 0 0/var(--t-panelShadowOpacity,.22))}
.toolbar-edge.floating-toolbar{background:color-mix(in srgb,var(--t-floatingSurface,#1c1c1c) calc(var(--t-surfaceOpacity,1)*100%),transparent);box-shadow:0 var(--t-shadowY,5px) var(--t-shadowBlur,20px) rgb(0 0 0/var(--t-shadowOpacity,.22))}
.property input:not([type=range]):not([type=checkbox]),textarea,.themed-select,.search{background:var(--t-raised,#25252a)}.search input{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important}.search:focus-within{outline:var(--t-focusWidth,1px) solid var(--t-focus,var(--accent));outline-offset:-1px}
.divider,.divider:hover,.divider:focus-within{background:transparent!important;box-shadow:none!important;outline:none}
.divider:before{opacity:var(--t-dividerRestOpacity,0)!important;background:var(--accent);transition:opacity var(--t-hoverLeave,100ms)}
.divider:hover:before,.divider.resizing:before{opacity:var(--t-dividerHoverOpacity,.65)!important;transition-duration:var(--t-hoverEnter,90ms);transition-delay:var(--t-hoverDelay,0ms)}
.swap-handle,.swap-handle:hover,.swap-handle:focus{box-shadow:none!important}.collapsed-rail{background:color-mix(in srgb,var(--t-muted,#aaa) 65%,var(--t-panel,#151515));opacity:1;box-shadow:none;min-width:0;min-height:0;overflow:hidden}.collapsed-rail:hover{background:var(--accent)}
html,body{overflow:hidden!important;width:100%;height:100%;max-height:100dvh}.workspace{overflow:hidden;height:calc(100dvh - 108px);min-height:0}.dock-root,#float-root{overflow:clip}.split-child{min-height:0}.collapsed-rail{display:block;width:100%;height:100%}
.window-buttons{align-items:center;justify-content:center}.window-buttons button{display:grid;place-items:center;padding:0!important;width:25px;min-width:25px;line-height:1}.window-buttons .preview-icon{display:block;vertical-align:initial}
button,.grouphead,.row,.tab,.themed-select{transition-property:background-color,color,border-color;transition-duration:var(--t-hoverLeave,100ms);transition-delay:0ms;transition-timing-function:ease-out}
button:hover,.grouphead:hover,.row:hover,.tab:hover,.themed-select:hover{transition-duration:var(--t-hoverEnter,90ms);transition-delay:var(--t-hoverDelay,0ms)}
.dock-preview-panel{background:color-mix(in srgb,var(--accent) 17%,transparent);border-color:var(--accent);box-shadow:none}.dock-preview-panel.target-preview{background:color-mix(in srgb,var(--accent) 8%,transparent);opacity:.4}.dock-preview-panel.tab-body{background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:0 0 var(--t-panelRadius,20px) var(--t-panelRadius,20px)}.dock-preview-tab{box-sizing:border-box;background:color-mix(in srgb,var(--accent) 25%,var(--t-panel,#151515));color:var(--accent);display:flex;align-items:center;justify-content:center}.drop-ghost{max-width:calc(100% - 24px);white-space:normal;font-size:11px;color:var(--accent)}
.review-tooltip{position:fixed;z-index:10000;pointer-events:none;max-width:340px;padding:8px 11px;border-radius:8px;border:1px solid #ffffff20;background:#151515f5;color:#e5e5e5;box-shadow:0 6px 20px #0006;font:12px/1.55 'PRT Noto Sans JP',sans-serif;opacity:0;transition:opacity 120ms}.review-tooltip.shown{opacity:1}.review-tooltip[hidden]{display:none}
#float-root{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:10}#float-root>.floating{pointer-events:auto}.tabs{background:transparent}.grouphead:focus-within:not(:hover){background:transparent!important;border-bottom-color:transparent!important}

/* Round every independent paint layer, including the floating shadow owner.
   Explicit child clipping also avoids WebKit's rounded overflow compositing seam. */
.floating{border-radius:var(--t-panelRadius,20px);background:transparent}
.grouphead{border-radius:max(0px,calc(var(--t-panelRadius,20px) - var(--t-borderWidth,1px))) max(0px,calc(var(--t-panelRadius,20px) - var(--t-borderWidth,1px))) 0 0;overflow:hidden}
.group{--inner-alpha:calc((1 + var(--t-surfaceOpacity,1))/2);-webkit-backdrop-filter:blur(var(--t-panelBlur,0px));backdrop-filter:blur(var(--t-panelBlur,0px))}
.group>.content{border-radius:0 0 max(0px,calc(var(--t-panelRadius,20px) - var(--t-borderWidth,1px))) max(0px,calc(var(--t-panelRadius,20px) - var(--t-borderWidth,1px)));isolation:isolate}
.group .search,.group .property input:not([type=range]):not([type=checkbox]),.group textarea,.group .themed-select{background:color-mix(in srgb,var(--t-raised,#25252a) calc(var(--inner-alpha)*100%),transparent)}
.group .search input,.group .compose textarea{background:transparent!important}
.group .reply,.group .compose,.group .filters button,.group .pill{background:color-mix(in srgb,var(--surface) calc(var(--inner-alpha)*100%),transparent)}
.group .tab.active,.group .toggle-preview{background:color-mix(in srgb,var(--active) calc(var(--inner-alpha)*100%),transparent)!important}
.grouphead:hover{background:color-mix(in srgb,var(--hover-header,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*var(--inner-alpha)*100%),transparent)!important}
.group .row:hover{background:color-mix(in srgb,var(--hover-list,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*var(--inner-alpha)*100%),transparent)!important}
.group .row.selected{background:color-mix(in srgb,var(--active) calc(var(--t-selectedOpacity,.8)*var(--inner-alpha)*100%),transparent)}
.collapsed-rail{position:relative;z-index:8;min-width:0;min-height:0;border-radius:var(--t-minimizedRadius,4px);background:var(--panel);border:1px solid var(--line);cursor:pointer;touch-action:manipulation}
.collapsed-rail:hover{background:color-mix(in srgb,var(--panel) 85%,var(--accent));border-color:var(--accent)}

/* The docked flex item never owns a backdrop-filter compositing layer.
   WebKit needs the background shader itself clipped, independently of content and shadow. */
.group,.floating .group{background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.group:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),transparent);-webkit-backdrop-filter:blur(var(--t-panelBlur,0px));backdrop-filter:blur(var(--t-panelBlur,0px));clip-path:inset(0 round var(--t-panelRadius,20px))}
.floating .group:before{background:color-mix(in srgb,var(--t-floatingSurface,#1c1c1c) calc(var(--t-surfaceOpacity,1)*100%),transparent)}
.group.viewer-anchor:before{display:none}
.docking-silhouette{z-index:1}.drop-ghost{z-index:2}.review-tooltip{z-index:2147483000}
.swap-handle svg{color:var(--t-neutralIcon,#a5a5a5)}
.collapsed-rail:after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:12px;pointer-events:none;background:radial-gradient(circle,var(--muted) 1px,transparent 1.2px) 0 0/4px 4px;opacity:.8}
.collapsed-rail[data-inward=top]:after,.collapsed-rail[data-inward=bottom]:after{width:12px;height:8px}

/* Clip the header's own animated paint layer explicitly in WebKit. */
.grouphead{clip-path:inset(0 round max(0px,calc(var(--t-panelRadius,20px) - var(--t-borderWidth,1px))) max(0px,calc(var(--t-panelRadius,20px) - var(--t-borderWidth,1px))) 0 0)}
/* Rails inherit the same transparent surface and background blur as their panel. */
.collapsed-rail{background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),transparent);-webkit-backdrop-filter:blur(var(--t-panelBlur,0px));backdrop-filter:blur(var(--t-panelBlur,0px));clip-path:inset(0 round var(--t-minimizedRadius,4px))}
.collapsed-rail:hover{background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),transparent);border-color:var(--accent)}
/* October review: mode tools, compact item metadata and shared panel paint. */
.grouphead:hover{background:linear-gradient(to bottom,color-mix(in srgb,var(--hover-header,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*var(--inner-alpha)*100%),transparent),color-mix(in srgb,var(--hover-header,var(--t-hover,#292929)) calc(var(--t-hoverOpacity,.55)*var(--inner-alpha)*var(--t-headerHoverEnd,0)*100%),transparent))!important}
.floating .group{background:transparent!important}.floating .group:before{background:color-mix(in srgb,var(--t-panel,#101010) calc(var(--t-surfaceOpacity,1)*100%),transparent)}
.toolbar .mode-tools,.toolbar .creation-tools,.toolbar .viewer-tools{display:flex;gap:var(--t-toolGap,2px);flex:none;align-items:center}.toolbar-edge.vertical .toolbar{align-items:center}.toolbar-edge.vertical .mode-tools,.toolbar-edge.vertical .creation-tools,.toolbar-edge.vertical .viewer-tools{flex-direction:column}.toolbar .mode-button{flex:none}.toolbar-edge.vertical .mode-button{height:calc(var(--t-toolSize,32px)*2);min-height:calc(var(--t-toolSize,32px)*2)}.toolbar-edge.horizontal .mode-button{width:calc(var(--t-toolSize,32px)*2);min-width:calc(var(--t-toolSize,32px)*2)}.toolbar button[aria-pressed=true]{background:var(--active);color:var(--accent)}.tool-separator{flex:none;background:var(--line);opacity:.65}.vertical .tool-separator{height:1px;width:20px;margin:5px 0}.horizontal .tool-separator{width:1px;height:20px;margin:0 5px}.toolbar-edge.floating-toolbar{transition:width var(--t-transition,80ms),height var(--t-transition,80ms)}
.viewer-hud button,.viewer-controls button{display:none}.viewer-expanded #viewer-base .viewer.aspect-study{inset:auto!important;width:min(100%,calc((100dvh - 108px)*1.6))!important;height:auto!important;aspect-ratio:16/10;left:50%!important;top:50%!important;transform:translate(-50%,-50%)}.viewer.aspect-study{outline:1px solid var(--line);background:linear-gradient(var(--t-viewerTop,#535963),var(--t-viewerBottom,#343940))}
.scene-bar{position:relative;flex-wrap:nowrap;gap:10px}.scene-bar .nav{display:flex;flex:none;gap:5px}.scene-bar .nav button{display:flex;align-items:center;gap:5px;border:var(--t-borderWidth,1px) solid var(--line);background:var(--surface);min-width:0;white-space:nowrap}.scene-info{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-width:0}.scene-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-info .themed-select{display:inline-flex;align-items:center;gap:5px;flex:none;width:auto;min-width:124px}.selection-test{flex:none;margin-left:0}.scene-bar .nav{max-width:30%}.scene-bar .nav button:nth-child(2){min-width:0}
.rows{min-width:0}.row{display:grid;grid-template-columns:var(--t-thumbSize,26px) minmax(0,1fr) auto;align-items:center;column-gap:6px;background:var(--t-listSurface,#161616);border:1px solid var(--t-listBorder,#383838)}.row.selected{background:color-mix(in srgb,var(--t-listSelected,#493520) calc(var(--t-selectedOpacity,.65)*100%),transparent)!important}.row:hover{background:color-mix(in srgb,var(--hover-list,var(--t-listHover,#292929)) calc(var(--t-hoverOpacity,.55)*100%),transparent)!important}.row .label{display:block;min-width:0;white-space:nowrap}.row .label small{margin-left:0;padding-left:0;display:block}.marquee{overflow:hidden;white-space:nowrap;max-width:100%}.marquee>span{display:inline-block;min-width:100%;vertical-align:top}.row:hover .marquee.overflows>span{animation:review-marquee var(--marquee-time,5s) linear infinite alternate}@keyframes review-marquee{0%,15%{transform:translateX(0)}85%,100%{transform:translateX(var(--marquee-offset,0px))}}@media(prefers-reduced-motion:reduce){.row:hover .marquee.overflows>span{animation:none}}
.row-indicators{display:grid;gap:2px;justify-items:end}.row-status,.row-flags{display:flex;align-items:center;justify-content:flex-end;gap:3px;white-space:nowrap}.row .pill{font-size:var(--badge-font,10px);padding:1px 4px;min-height:16px;height:auto;line-height:1.3}.row .row-flag{display:grid;place-items:center;padding:0;width:18px;height:18px;min-height:0;background:transparent;border:0;opacity:.4}.row .row-flag.on{opacity:1}.row .row-flag .preview-icon,.read-state .preview-icon{width:13px!important;height:13px!important}.read-state{display:grid;place-items:center;color:var(--muted);opacity:.65}.read-state.unread{color:var(--accent);opacity:1}.read-state.unread img{filter:none}.filters{flex-wrap:nowrap;gap:5px;align-items:center}.filters button{white-space:nowrap;min-width:0;flex:none}.filters button[data-demo=filter]{display:flex;align-items:center;gap:3px}.filter-check{width:12px;display:grid;place-items:center;visibility:hidden}.filter-check img{width:12px!important;height:12px!important}.filters button[aria-pressed=true]{background:var(--active);color:var(--accent)}.filters button[aria-pressed=true] .filter-check{visibility:visible}.search{min-width:0}.search input{min-width:0;width:100%}
.status-badge[data-status=notStarted]{--status-color:var(--t-notStarted)}.status-badge[data-status=inProgress]{--status-color:var(--t-inProgress)}.status-badge[data-status=waiting]{--status-color:var(--t-waiting)}.status-badge[data-status=completed]{--status-color:var(--t-completed)}.status-badge[data-status=pending]{--status-color:var(--t-pending)}.status-badge[data-status]{color:var(--status-color)!important;background:color-mix(in srgb,var(--status-color) 16%,var(--t-utilitySurface,#101010))!important;border-color:color-mix(in srgb,var(--status-color) 30%,transparent)!important}
.scene-info{position:absolute;left:50%;transform:translateX(-50%);max-width:43%}.selection-test{margin-left:auto}.scene-bar .nav{z-index:1}.scene-name{min-width:0}.toolbar .creation-tools[hidden],.toolbar .tool-separator[hidden]{display:none!important}
/* Header rule is independent of its hover gradient. */
.grouphead,.grouphead:hover,.grouphead:focus-within{border-bottom-color:color-mix(in srgb,var(--t-border,#505050) calc(var(--t-headerRuleOpacity,1)*100%),transparent)!important}
.toolbar-edge.floating-toolbar{transition:none}
.scene-language{display:flex;align-items:center;flex:none;margin-left:4px}.scene-language .themed-select{min-width:86px;width:auto}
.scene-bar .nav{gap:var(--t-navGap,5px)}.scene-bar .nav button{height:var(--t-navHeight,28px);min-height:var(--t-navHeight,28px);padding:0 var(--t-navPadding,6px);border-width:var(--t-navBorderWidth,1px);border-color:color-mix(in srgb,var(--t-navBorder,#505050) calc(var(--t-navBorderOpacity,.35)*100%),transparent);border-radius:var(--t-navRadius,10px);background:var(--t-navSurface,#25252a);color:var(--t-navText,#e5e5e5);font-size:var(--t-navFontSize,13px)!important;transition:background-color var(--t-hoverLeave,100ms),color var(--t-hoverLeave,100ms)}.scene-bar .nav button .preview-icon{width:var(--t-navIconSize,17px)!important;height:var(--t-navIconSize,17px)!important}.scene-bar .nav button:hover,.scene-bar .nav button:focus-visible{background:var(--t-navHover,#292929);color:var(--t-navHoverText,#e5e5e5);transition-duration:var(--t-hoverEnter,90ms)}
/* A changing long edge must never reflow or compress the cross axis. */
.floating-toolbar.horizontal .toolbar{height:100%;flex-shrink:0;flex-wrap:nowrap}.floating-toolbar.vertical .toolbar{width:100%;flex-shrink:0;flex-wrap:nowrap}
/* Moving the trailing tools must not create a temporary scrollbar. */
.floating-toolbar.mode-animating .toolbar{overflow:hidden}

/* Hover underline is independent of the resting underline and gradient. */
.grouphead:hover,.grouphead:focus-within{border-bottom-color:color-mix(in srgb,var(--t-border,#505050) calc(var(--t-headerRuleHoverOpacity,0)*100%),transparent)!important}
.toolbar-edge.floating-toolbar{transition:opacity 220ms ease-in-out}
.toolbar-edge.floating-toolbar[data-preview-mode=view]:not(:hover):not(:has(:focus-visible)){opacity:.3;box-shadow:0 var(--t-shadowY,5px) var(--t-shadowBlur,20px) rgb(0 0 0/calc(var(--t-shadowOpacity,.22)*.4))}
.row .pill.status-badge{font-size:var(--t-listStatusSize,11px)!important;min-height:var(--t-badgeHeight,18px);padding:1px var(--t-badgePadding,5px)}
.row .read-state .preview-icon{width:var(--t-listReadSize,13px)!important;height:var(--t-listReadSize,13px)!important}
.row .row-flag[data-row-action=visible]{--flag-size:var(--t-listVisibleSize,13px)}.row .row-flag[data-row-action=private]{--flag-size:var(--t-listPrivateSize,13px)}.row .row-flag[data-row-action=lock]{--flag-size:var(--t-listLockSize,13px)}
.row .row-flag{width:max(18px,calc(var(--flag-size,13px) + 4px));height:max(18px,calc(var(--flag-size,13px) + 4px))}.row .row-flag .preview-icon{width:var(--flag-size,13px)!important;height:var(--flag-size,13px)!important}.row-status,.row-flags{gap:var(--t-listIndicatorGap,3px)}

/* Keep backdrop sampling outside content opacity, including WebKit. */
:is(.toolbar-edge.floating-toolbar,.comparison-lens-handle,.viewer-compare-toolbar,.sandbox-navigation,.floating.minimized,.collapsed-rail){isolation:isolate;background:transparent!important;opacity:1!important;--toolbar-paint:var(--t-surfaceOpacity,1);--toolbar-blur:var(--t-panelBlur,0px);transition:box-shadow 220ms ease-in-out}
:is(.toolbar-edge.floating-toolbar,.comparison-lens-handle,.viewer-compare-toolbar,.sandbox-navigation,.floating.minimized,.collapsed-rail):before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;clip-path:inset(0 round var(--t-panelRadius,20px));background:color-mix(in srgb,var(--t-floatingSurface,#101010) calc(var(--toolbar-paint)*100%),transparent);-webkit-backdrop-filter:blur(var(--toolbar-blur));backdrop-filter:blur(var(--toolbar-blur))}
:is(.toolbar-edge.floating-toolbar,.comparison-lens-handle,.viewer-compare-toolbar,.sandbox-navigation,.floating.minimized,.collapsed-rail)> *{opacity:1;transition:opacity 220ms ease-in-out}
:is(.toolbar-edge.floating-toolbar,.comparison-lens-handle,.viewer-compare-toolbar,.sandbox-navigation,.floating.minimized,.collapsed-rail)[data-preview-mode=view]:not(:hover):not(:has(:focus-visible)){--toolbar-paint:calc(var(--t-surfaceOpacity,1)*var(--t-toolbarIdleOpacity,.3));--toolbar-blur:var(--t-toolbarIdleBlur,3px);box-shadow:0 var(--t-toolbarIdleShadowY,5px) var(--t-toolbarIdleShadowBlur,20px) rgb(0 0 0/var(--t-toolbarIdleShadowOpacity,.084))}
:is(.toolbar-edge.floating-toolbar,.comparison-lens-handle,.viewer-compare-toolbar,.sandbox-navigation,.floating.minimized,.collapsed-rail)[data-preview-mode=view]:not(:hover):not(:has(:focus-visible))> *{opacity:var(--t-toolbarIdleOpacity,.3)}

/* Paint across the transparent border too: avoid a one-pixel unpainted seam. */
.grouphead:hover{background:linear-gradient(to bottom,color-mix(in srgb,var(--hover-header,var(--t-hover,#292929)) calc(var(--t-headerHoverTop,.8)*var(--inner-alpha)*100%),transparent),color-mix(in srgb,var(--hover-header,var(--t-hover,#292929)) calc(var(--t-headerHoverTop,.8)*var(--inner-alpha)*var(--t-headerHoverEnd,0)*100%),transparent) calc(var(--t-headerHoverFade,1)*100%)) border-box!important;background-origin:border-box!important;background-clip:border-box!important}
.review-tooltip{background:color-mix(in srgb,var(--t-helpSurface,#151515) calc(var(--t-helpOpacity,.96)*100%),transparent);color:var(--t-helpText,#e5e5e5);border:var(--t-helpBorderWidth,1px) solid color-mix(in srgb,var(--t-helpBorder,#fff) calc(var(--t-helpBorderOpacity,.13)*100%),transparent);border-radius:var(--t-helpRadius,8px);backdrop-filter:blur(var(--t-helpBlur,0px));-webkit-backdrop-filter:blur(var(--t-helpBlur,0px))}
/* Folder study is a separate surface, leaving every main docking node mounted. */
#folder-study{position:absolute;inset:0;z-index:25;padding:var(--t-panelGap,5px);background:var(--bg);display:flex;flex-direction:column;gap:var(--t-sectionGap,16px);overflow:auto}#folder-study[hidden]{display:none}
.workspace.folder-screen-open>#dock-root,.workspace.folder-screen-open>#float-root,.workspace.folder-screen-open>#viewer-base,.workspace.folder-screen-open>#toolbar-dock{visibility:hidden;pointer-events:none}
.folder-return{display:none}.folder-screen-open .folder-return{display:block}.folder-screen-open .scene-info,.folder-screen-open .selection-test{visibility:hidden}.folder-heading{display:flex;align-items:center;gap:var(--t-fieldGap,6px);padding:var(--t-panelPadding,12px)}.folder-heading h2{margin:0;font-weight:500}.folder-heading>div{flex:1}.folder-heading button,.folder-actions button{display:inline-flex;align-items:center;gap:var(--t-iconLabelGap,6px)}.folder-prototype{color:var(--muted);font-size:11px}.folder-columns{display:grid;grid-template-columns:240px minmax(300px,1fr) 300px;gap:var(--t-panelGap,5px);flex:1;min-height:0;min-width:860px}.folder-pane>.content{overflow:auto;flex:1;min-height:0}.folder-actions{display:flex;align-items:center;gap:var(--t-fieldGap,6px);flex-wrap:wrap;margin-bottom:var(--t-fieldGap,6px)}.folder-actions button[aria-pressed=true],.folder-entry.selected,.folder-image.selected{background:var(--active);border-color:var(--accent)}.folder-entry{width:100%;display:flex;gap:var(--t-iconLabelGap,6px);align-items:center;text-align:left;padding:var(--t-rowPadding,9px);margin-bottom:var(--t-rowGap,2px);min-height:var(--t-rowHeight,40px)}.folder-entry span{min-width:0}.folder-entry strong,.folder-entry small{display:block}.folder-entry strong{font-weight:500}.folder-entry small,.folder-image small{color:var(--muted)}.folder-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--t-fieldGap,8px)}.folder-image{text-align:left;padding:8px;min-width:0;border:var(--t-borderWidth,1px) solid var(--line)}.folder-image strong,.folder-image small{display:block;overflow:hidden;text-overflow:ellipsis}.folder-image strong{font-weight:400;margin-top:6px}.folder-thumbnail{display:flex;align-items:end;aspect-ratio:2;background:linear-gradient(160deg,var(--t-viewerTop,#535963),var(--t-viewerBottom,#343940));border-radius:var(--t-controlRadius,10px);padding:7px;color:var(--muted)}.folder-count{margin:8px 0}.folder-panorama{aspect-ratio:2;position:relative;display:grid;place-items:center;overflow:hidden;border-radius:var(--t-controlRadius,10px);background:linear-gradient(var(--t-viewerTop,#535963) 49%,var(--t-viewerBottom,#343940) 51%);color:var(--text);text-align:center}.folder-panorama.sphere{aspect-ratio:1;border-radius:50%;box-shadow:inset -30px -15px 45px #0008,inset 10px 5px 20px #fff1}.folder-horizon{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 24%,#fff1 25% 25.5%,transparent 26% 50%)}.folder-panorama span{z-index:1}.folder-details{display:grid;grid-template-columns:80px minmax(0,1fr);gap:var(--t-fieldGap,6px);overflow-wrap:anywhere}.folder-details>span:nth-child(odd){color:var(--muted)}.folder-import{color:var(--text);background:var(--panel);border-color:var(--line);max-width:700px}.folder-import::backdrop{background:#0008}.folder-import-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0}.folder-adopt{color:var(--accent)}
/* File Manager v2: adjustable columns, larger images and a shared modal surface. */
.folder-columns{grid-template-columns:var(--file-left,240px) 6px minmax(300px,1fr) 6px var(--file-right,360px);gap:0;min-width:860px}.file-splitter{cursor:col-resize;touch-action:none;position:relative;background:transparent;outline-offset:-1px}.file-splitter:hover,.file-splitter:focus-visible{background:color-mix(in srgb,var(--accent) 40%,transparent)}.file-splitter:before{content:'';position:absolute;inset:0 -3px}.folder-image-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.folder-thumbnail{min-height:112px}.folder-inspection>.grouphead{justify-content:space-between}.folder-inspection>.grouphead>button{margin-left:auto;min-height:0;height:100%;padding:0 8px}.folder-inspection>.grouphead>strong{display:contents}.folder-preview-max{grid-template-columns:minmax(0,1fr)}.folder-preview-max>.folder-sidebar,.folder-preview-max>.folder-images,.folder-preview-max>.file-splitter{display:none}.folder-preview-max>.folder-inspection{grid-column:1}.folder-preview-max .folder-inspection .content{display:flex;flex-direction:column}.folder-preview-max .file-vr,.folder-preview-max .folder-panorama{width:min(100%,1000px);align-self:center}.file-vr{display:block;width:100%;aspect-ratio:16/10;border-radius:var(--t-controlRadius,10px);cursor:grab;touch-action:none;background:var(--t-viewerBottom,#343940)}.file-vr:active{cursor:grabbing}.folder-heading{flex-wrap:wrap;align-items:center;gap:20px}.folder-heading>div:first-child{flex:0 1 220px}.folder-heading>.file-import-zone{flex:1 1 260px;min-height:86px;border:1px dashed var(--line);border-radius:var(--t-controlRadius,10px);display:flex;gap:5px;align-items:center;justify-content:center;flex-direction:column;cursor:pointer}.file-import-zone:hover,.file-import-zone.drag-over{border-color:var(--accent);background:var(--active)}.file-import-zone small{color:var(--muted)}.file-storage{flex:0 0 170px!important;display:grid;gap:6px}.file-storage progress{width:100%;height:6px;accent-color:var(--accent)}.file-storage small,.file-overview small{color:var(--muted)}.file-overview{flex:0 0 150px!important;display:grid;gap:5px}.folder-import.dialog{padding:0;max-width:760px;max-height:85vh;overflow:auto;background:var(--panel);border-radius:var(--t-panelRadius,20px);box-shadow:0 var(--t-shadowY,5px) var(--t-shadowBlur,20px) rgb(0 0 0/var(--t-shadowOpacity,.7))}.folder-import>.content{padding:var(--t-panelPadding,12px)}

.folder-import.dialog{resize:both;min-width:min(380px,90vw);min-height:280px}.folder-import>.grouphead{cursor:move;flex:none}.folder-import>.grouphead button{height:100%;min-height:0;padding:0 8px}.folder-import>.grouphead strong{flex:1}
/* File Manager sizing controls and scroll-free maximized VR stage. */
.folder-image-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--file-thumb-size,230px)),1fr))}.folder-thumbnail{min-height:0}.file-thumbnail-control,.file-fov-control{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}.file-thumbnail-control input{flex:1;min-width:90px}.file-fov-control input{width:100%}.file-preview-layout,.file-preview-stage,.file-preview-info{min-width:0;min-height:0}.file-vr-slot{width:100%;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;min-height:0}.file-vr-slot>.folder-panorama{width:100%}.folder-preview-max .folder-inspection>.content{display:block;overflow:hidden}.folder-preview-max .file-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--t-sectionGap,16px);height:100%}.folder-preview-max .file-preview-stage{display:flex;flex-direction:column;overflow:hidden}.folder-preview-max .file-vr-slot{aspect-ratio:auto;flex:1;overflow:hidden}.folder-preview-max .file-preview-info{overflow:auto}.folder-preview-max .file-vr{flex:none;max-height:none;max-width:none;align-self:auto}
/* File Manager list scrollports: controls remain outside the scrollable content. */
.folder-sidebar>.content,.folder-images>.content{display:flex;flex-direction:column;overflow:hidden;min-height:0}.folder-sidebar>.content>.folder-actions,.folder-images>.content>.folder-state,.folder-images>.content>.file-thumbnail-control,.folder-images>.content>.folder-count{flex:none}.folder-entries,.folder-image-grid{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.folder-image-grid{align-content:start;align-items:start;grid-auto-rows:max-content}.folder-image{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;white-space:normal}.folder-image>.folder-thumbnail{width:100%;aspect-ratio:2/1;flex:none;box-sizing:border-box}.folder-image>strong,.folder-image>small{flex:none;overflow-wrap:anywhere;white-space:normal;line-height:inherit}
/* Fit the picture in both axes in narrow and wide preview panels. */
.folder-inspection{container-type:inline-size}.folder-inspection>.content{display:block;overflow:hidden}.folder-inspection .file-preview-layout{display:flex;flex-direction:column;height:100%;gap:var(--t-fieldGap,6px)}.folder-inspection .file-preview-stage{display:flex;flex-direction:column;flex:1;min-height:100px;overflow:hidden}.folder-inspection .file-vr-slot{aspect-ratio:auto;flex:1;overflow:hidden}.folder-inspection .file-preview-info{flex:none;max-height:45%;overflow:auto;overscroll-behavior:contain}.folder-inspection .file-vr{flex:none;max-height:none;max-width:none;align-self:auto}.folder-inspection .folder-panorama{flex:none;max-height:none;max-width:none;align-self:auto}
@container(min-width:600px){.folder-inspection .file-preview-layout{flex-direction:row}.folder-inspection .file-preview-info{flex:0 0 240px;max-height:100%}}
/* Independent progress screen: shared tokens, no changes to the main dock tree. */
#progress-screen{position:absolute;inset:0;z-index:25;display:flex;flex-direction:column;gap:var(--t-fieldGap,6px);padding:var(--t-panelPadding,12px);background:var(--bg);overflow:auto;min-width:960px}#progress-screen[hidden]{display:none}.workspace.progress-screen-open>#dock-root,.workspace.progress-screen-open>#float-root,.workspace.progress-screen-open>#viewer-base,.workspace.progress-screen-open>#toolbar-dock{visibility:hidden;pointer-events:none}.progress-screen-open .scene-info,.progress-screen-open .selection-test{visibility:hidden}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}.progress-heading h2,.progress-heading p{margin:0}.progress-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--t-panelGap,5px);flex:none}.progress-summary>.group{height:auto;min-height:80px;padding:var(--t-panelPadding,12px);gap:8px}.progress-summary strong{font-size:24px;font-weight:400}.progress-rate{display:grid;grid-template-columns:55px minmax(45px,1fr) 50px;align-items:center;gap:10px}.progress-rate small{color:var(--muted);text-align:right}.progress-filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--t-fieldGap,6px);flex:none}.progress-filter-bar>label{display:flex;align-items:center;gap:6px}.progress-filter-bar .themed-select{min-width:105px}.progress-filter-bar>.preview-note{align-self:center}.progress-body{display:grid;grid-template-columns:minmax(580px,1fr) 310px;gap:var(--t-panelGap,5px);flex:1;min-height:220px}.progress-body>.group{min-height:0}.progress-list-head,.progress-scene-row,.progress-comment-row{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(180px,1fr) minmax(100px,.7fr);gap:12px;align-items:center;padding:var(--t-rowPadding,9px);text-align:left;flex:none}.progress-list-head{color:var(--muted);border-bottom:var(--t-sectionRule,1px) solid var(--line)}.progress-list-port{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 var(--t-panelPadding,12px)}.progress-scene-row,.progress-comment-row{width:100%;min-height:var(--t-rowHeight,52px);margin:var(--t-rowGap,2px) 0;border:var(--t-borderWidth,1px) solid var(--line);white-space:normal}.progress-scene-row strong,.progress-scene-row small{display:block;font-weight:400}.progress-scene-row small{color:var(--muted)}.progress-scene-row.selected{background:var(--active);border-color:var(--accent)}.progress-distribution{display:flex;align-items:center;height:8px;border-radius:4px;overflow:hidden;background:var(--surface)}.progress-distribution i{display:block;height:100%}.progress-distribution small{line-height:1;font-size:9px}.progress-modes{display:flex;gap:4px;height:100%}.progress-modes button{height:100%;min-height:0;padding:0 8px}.progress-modes button[aria-pressed=true]{background:var(--active);color:var(--accent)}.progress-detail>.content{flex:1;min-height:0;overflow:auto}.progress-detail h3{font-weight:400}.progress-donut{width:170px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin:20px auto}.progress-donut>span{width:135px;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--panel)}.progress-donut strong{font-size:24px;font-weight:400}.progress-donut small{color:var(--muted)}.progress-scope{flex:none;margin:0;padding:4px}.progress-comment-row .pill{justify-self:start}.progress-list-head{padding-left:calc(var(--t-panelPadding,12px) + var(--t-rowPadding,9px));padding-right:calc(var(--t-panelPadding,12px) + var(--t-rowPadding,9px))}
/* Progress v2: scene cards and a configurable comment sheet. */
.progress-summary-expanded{grid-template-columns:1.3fr 1.8fr 1fr}.progress-summary-expanded>.group{min-height:125px}.progress-all-states{display:grid;gap:5px!important}.progress-all-states>div{display:grid;grid-template-columns:95px minmax(50px,1fr) 30px;align-items:center;gap:8px}.progress-extra-counts{display:grid;gap:5px!important}.progress-extra-counts>span{display:flex;justify-content:space-between;gap:10px}.progress-extra-counts strong{font-size:inherit}.progress-pending-toggle{display:flex;gap:8px;align-items:center}.progress-pending-toggle input,.progress-multi input{accent-color:var(--accent);min-height:0}.progress-view-bar{display:flex;gap:6px;align-items:center;flex:none}.progress-view-bar button[aria-pressed=true]{background:var(--active);color:var(--accent)}.progress-new-body{display:grid;grid-template-columns:minmax(260px,var(--progress-split,50%)) 6px minmax(260px,1fr);flex:1;min-height:240px}.progress-new-body>.group{min-height:0;overflow:visible}.progress-new-body.reverse{grid-template-columns:minmax(260px,1fr) 6px minmax(260px,var(--progress-split,50%))}.progress-new-body.reverse .progress-cards-pane{grid-column:3;grid-row:1}.progress-new-body.reverse .progress-sheet-pane{grid-column:1;grid-row:1}.progress-body-divider{grid-column:2;grid-row:1;cursor:col-resize;touch-action:none;position:relative}.progress-body-divider:hover,.progress-body-divider:focus-visible{background:color-mix(in srgb,var(--accent) 40%,transparent)}.progress-body-divider button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-height:22px;padding:0 4px;background:var(--panel);border:1px solid var(--line);z-index:5;opacity:0;pointer-events:none}.progress-body-divider:hover button,.progress-body-divider:focus-within button{opacity:1;pointer-events:auto}.progress-new-body.cards,.progress-new-body.table{grid-template-columns:minmax(0,1fr)}.progress-new-body.cards .progress-sheet-pane,.progress-new-body.cards .progress-body-divider,.progress-new-body.table .progress-cards-pane,.progress-new-body.table .progress-body-divider{display:none}.progress-new-body.cards .progress-cards-pane,.progress-new-body.table .progress-sheet-pane{grid-column:1;grid-row:1}.progress-cards-port{padding:var(--t-panelPadding,12px);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));grid-auto-rows:max-content;align-content:start;gap:var(--t-fieldGap,6px);flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.progress-scene-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;white-space:normal;padding:var(--t-rowPadding,9px);border:var(--t-borderWidth,1px) solid var(--line)}.progress-scene-card.selected{border-color:var(--accent);background:var(--active)}.progress-card-title strong,.progress-card-title small{display:block;font-weight:400}.progress-card-title small{color:var(--muted)}.progress-card-main{display:flex;align-items:center;gap:18px}.progress-card-donut{width:110px;aspect-ratio:1;flex:none;border-radius:50%;display:grid;place-items:center}.progress-card-donut>span{width:84px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--panel);font-size:16px}.progress-card-counts{display:grid;gap:3px;flex:1}.progress-card-counts>span{display:flex;align-items:center;gap:6px}.progress-card-counts i{width:6px;height:6px;border-radius:50%;flex:none}.progress-card-counts b{font-weight:400;margin-left:auto}.progress-card-counts{font-size:11px}.progress-sheet-pane>.grouphead{overflow:visible;clip-path:none;position:relative;z-index:10}.progress-sheet-pane>.grouphead>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-multi{position:relative;flex:none;font-size:12px}.progress-multi>summary{cursor:pointer;list-style:none;padding:5px 9px;background:var(--surface);border:var(--t-borderWidth,1px) solid var(--line);border-radius:var(--t-controlRadius,10px);white-space:nowrap}.progress-multi[open]>summary{border-color:var(--accent)}.progress-multi-options{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:180px;max-height:280px;overflow:auto;padding:8px;display:grid;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:var(--t-controlRadius,10px);box-shadow:0 6px 20px #0007}.progress-multi-options label{display:flex;align-items:center;gap:8px;white-space:nowrap}.progress-column-menu{margin-left:auto}.progress-column-menu .progress-multi-options{left:auto;right:0}.progress-column-menu summary{padding:0 6px}.progress-sheet-port{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.progress-sheet-inner{width:100%;position:relative}.progress-sheet-head,.progress-sheet-row{display:grid;grid-template-columns:var(--progress-cols);width:max-content;min-width:100%}.progress-sheet-head{position:sticky;top:0;z-index:4;background:var(--panel);border-bottom:1px solid var(--line)}.progress-column-head{display:flex;align-items:center;position:relative;min-width:0;border-right:1px solid var(--line)}.progress-column-head>button{border:0;min-width:0;min-height:30px;padding:3px 5px;overflow:hidden;text-overflow:ellipsis}.progress-column-head [data-progress-sort]{flex:1;text-align:left}.progress-column-grip{cursor:grab;touch-action:none;color:var(--muted)}.progress-column-resize{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;touch-action:none;z-index:5}.progress-column-resize:hover{background:var(--accent)}.progress-sheet-row{min-height:var(--t-rowHeight,52px);border-bottom:1px solid var(--line)}.progress-sheet-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--t-rowPadding,9px);border-right:1px solid var(--line);align-content:center}.progress-sheet-row:hover{background:color-mix(in srgb,var(--t-hover,#292929) calc(var(--t-hoverOpacity,.8)*100%),transparent)}
/* Scene card rings: inspect one arc without dimming any other card. */
.progress-scene-card{min-height:var(--t-progressCardHeight,280px);background:var(--t-progressCardSurface,#171717);position:relative;gap:12px;justify-content:space-between}.progress-card-main{gap:16px;min-width:0}.progress-card-counts{min-width:90px;padding-left:4px;gap:7px}.progress-card-counts>span{transition:opacity 90ms}.progress-card-donut{height:var(--t-progressDonutSize,164px);width:var(--t-progressDonutSize,164px);position:relative;display:block;background:none!important}.progress-ring{display:block;width:100%;height:100%;overflow:visible}.progress-ring-segment{cursor:crosshair;transform-origin:100px 100px;transition:transform 100ms,opacity 100ms}.progress-ring-segment circle{stroke-width:var(--ring-stroke);transition:stroke-width 100ms;pointer-events:visibleStroke}.progress-ring-segment.ring-active{transform:translate(var(--ring-x),var(--ring-y))}.progress-ring-segment.ring-active circle{stroke-width:var(--ring-hover-stroke)}.progress-ring-center{fill:var(--text);font-size:20px;pointer-events:none}.ring-inspecting .progress-ring-segment:not(.ring-active),.ring-inspecting .progress-card-counts>span:not(.ring-active){opacity:.3}.progress-ring-callout{display:none;pointer-events:none}.progress-ring-callout.ring-active{display:block}.progress-ring-callout path{stroke:var(--accent);stroke-width:1.5;fill:none}.progress-ring-callout text{fill:var(--text);font-size:13px;paint-order:stroke;stroke:var(--t-progressCardSurface,#171717);stroke-width:4px;stroke-linejoin:round}.progress-sheet-pane,.progress-sheet-head{background:var(--t-progressSheetSurface,#171717)}.progress-sheet-port{margin-inline:var(--t-progressSheetInset,10px)}
.progress-ring-segment:focus{outline:none}.progress-ring-segment:focus-visible circle{filter:drop-shadow(0 0 1px var(--accent))}.progress-ring-callout text{font-size:15px}.progress-heading,.progress-scene-card{user-select:none}
/* Inspection overrides hover/selection fill; the selected border remains identifiable. */
.progress-scene-card.ring-inspecting,.progress-scene-card.ring-inspecting:hover,.progress-scene-card.selected.ring-inspecting{background:color-mix(in srgb,var(--t-progressCardSurface,#171717) calc((1 - var(--t-progressInspectDarken,.4))*100%),#000)!important}.progress-scene-card.ring-inspecting>.progress-card-title,.progress-scene-card.ring-inspecting>.progress-rate{opacity:calc(1 - var(--t-progressInspectDarken,.4)*.6)}.progress-ring-segment.ring-active,.progress-ring-callout.ring-active{filter:drop-shadow(0 var(--t-progressRingShadowY,2px) var(--t-progressRingShadowBlur,4px) rgb(0 0 0/var(--t-progressRingShadowOpacity,.65)))}.progress-ring-segment:focus-visible circle{filter:none}.progress-ring-callout text{stroke:none;paint-order:normal;fill:var(--text)}.progress-ring-callout path{stroke:var(--text)}.progress-tools-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;flex:none}.progress-tools-row>.progress-filter-bar{margin-left:auto;align-items:center}.progress-tools-row>.progress-view-bar{flex-wrap:wrap}

/* Sheet filters travel with their pane through reversal and resizing. */
.progress-sheet-pane>.progress-filter-bar{justify-content:flex-end;align-items:center;padding:6px 10px;flex:none;position:relative;z-index:12;border-bottom:1px solid var(--line)}
.progress-sheet-pane>.progress-filter-bar>.preview-note{max-width:100%;overflow-wrap:anywhere}
.progress-count-label{display:inline-flex;align-items:center;gap:7px}.progress-count-label svg{width:var(--t-iconSize,18px);height:var(--t-iconSize,18px);flex:none}
.progress-ring-callout.ring-active{filter:drop-shadow(0 var(--t-progressCalloutShadowY,2px) var(--t-progressCalloutShadowBlur,3px) rgb(0 0 0/var(--t-progressCalloutShadowOpacity,.85)))}

/* One compact sheet heading; keep menus outside the scrolling rows. */
.progress-sheet-pane>.grouphead{height:auto;min-height:var(--t-headerHeight,27px);display:flex;flex-wrap:nowrap;gap:6px;overflow:visible}
.progress-sheet-pane>.grouphead>strong{flex:1;min-width:0}
.progress-sheet-pane>.grouphead>.progress-filter-bar{margin-left:auto;flex-wrap:nowrap;align-items:center;gap:3px}
.progress-sheet-pane .progress-filter-bar .progress-multi>summary{padding:0 5px}
.progress-sheet-pane .progress-filter-bar>button{padding:0 5px;min-height:0}
.progress-sheet-pane .progress-filter-bar>.preview-note{display:none}
.progress-sheet-pane .progress-column-menu{margin-left:0}
.progress-sheet-pane .progress-multi-options{left:auto;right:0}
/* Filter each annotation primitive so its shadow composites above the ring. */
.progress-ring-callout.ring-active{filter:none}
.progress-ring-callout.ring-active path,.progress-ring-callout.ring-active text{filter:drop-shadow(0 var(--t-progressCalloutShadowY,2px) var(--t-progressCalloutShadowBlur,3px) rgb(0 0 0/var(--t-progressCalloutShadowOpacity,.85)))}

/* WebKit: use native SVG filter attributes, avoiding CSS filters on SVG text. */
.progress-ring-callout.ring-active path,.progress-ring-callout.ring-active text{filter:revert}
.progress-card-donut{margin-bottom:24px}
.progress-view-bar button{border:1px solid var(--line)}

.progress-view-bar button{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2;min-height:30px;padding:5px 10px}.progress-view-bar button .preview-icon{display:block;flex:none;vertical-align:middle}
.progress-tools-row{flex-wrap:nowrap;gap:12px}.progress-tools-row>.progress-view-bar{flex-wrap:nowrap}.progress-tools-row>.progress-filter-bar{margin-left:auto;flex-wrap:nowrap;align-items:center;gap:5px}.progress-tools-row .progress-column-menu{margin-left:0}.progress-tools-row .progress-multi-options{left:auto;right:0}.progress-tools-row .progress-filter-bar>.preview-note{display:none}
.progress-comment-label{display:flex;align-items:center;gap:7px;min-width:0}.progress-comment-label>span{overflow:hidden;text-overflow:ellipsis}.progress-comment-label .preview-icon,.progress-state-icon .preview-icon{width:var(--t-iconSize,18px)!important;height:var(--t-iconSize,18px)!important;flex:none}.progress-state-icon{display:flex;align-items:center;justify-content:center;opacity:.4}.progress-state-icon.on{opacity:1}.progress-state-icon.unread{color:var(--accent)}.progress-state-icon.unread img{filter:none}
.progress-sheet-row .status-badge{display:inline-flex;align-items:center;min-height:var(--t-badgeHeight,18px);padding:1px var(--t-badgePadding,5px);font-size:var(--t-listStatusSize,11px);border-radius:var(--t-badgeRadius,8px);line-height:1.3}
.progress-card-donut{margin-bottom:0}

/* Shared dimensions for all sheet dropdowns, including Columns. */
.progress-tools-row .progress-multi>summary,.progress-tools-row [data-progress-reset]{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:3px;min-height:30px;height:30px;padding:4px 9px;border:var(--t-borderWidth,1px) solid var(--line);border-radius:var(--t-controlRadius,10px);font-size:inherit;line-height:1.2}
.progress-tools-row .progress-multi>summary{background:color-mix(in srgb,var(--bg) 70%,#000)}
.progress-tools-row [data-progress-reset]{background:color-mix(in srgb,var(--bg) 90%,#fff)}
.progress-tools-row .progress-filter-bar[hidden]{display:none}
.progress-card-donut{margin-top:24px;margin-bottom:24px}

/* Home is a separate study screen; the existing workspace remains mounted. */
#home-study{position:absolute;inset:0;z-index:25;display:flex;flex-direction:column;gap:var(--t-fieldGap,6px);padding:var(--t-panelPadding,12px);background:var(--bg);min-width:960px;overflow:auto}#home-study[hidden]{display:none}.workspace.home-screen-open>#dock-root,.workspace.home-screen-open>#float-root,.workspace.home-screen-open>#viewer-base,.workspace.home-screen-open>#toolbar-dock{visibility:hidden;pointer-events:none}.home-screen-open .scene-info,.home-screen-open .selection-test{visibility:hidden}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.home-heading h2,.home-heading p{margin:0}.home-layout{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(290px,1fr) minmax(220px,.7fr);gap:var(--t-panelGap,5px);flex:1;min-height:300px}.home-layout>.group{min-height:0;background:var(--panel)}.home-map-pane .grouphead{height:auto;min-height:var(--t-headerHeight,27px)}.home-map-tools{display:flex;align-items:center;gap:5px;margin-left:auto}.home-map-tools button{padding:0 6px;min-height:24px}.home-map-tools output{font-size:11px;color:var(--muted)}.home-map-port{flex:1;min-height:0;overflow:hidden;position:relative;background:linear-gradient(145deg,var(--surface),var(--panel));touch-action:none;cursor:grab}.home-map-port:active{cursor:grabbing}.home-map-port svg{width:100%;height:100%;min-height:240px}.home-map-land{fill:color-mix(in srgb,var(--text) 3%,transparent);stroke:var(--line);stroke-width:2}.home-map-route{fill:none;stroke:var(--line);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.home-map-pin{cursor:pointer;outline:none}.home-map-pin circle{fill:var(--surface);stroke:var(--muted);stroke-width:2}.home-map-pin text{fill:var(--text);font-size:12px}.home-map-pin.selected circle,.home-map-pin:focus-visible circle{fill:var(--active);stroke:var(--accent);stroke-width:3}.home-map-pin .home-map-name{font-size:11px;paint-order:stroke;stroke:var(--panel);stroke-width:3px}.home-map-caption{position:absolute;bottom:10px;left:12px;color:var(--muted);font-size:10px;pointer-events:none}.home-filters{flex:none;padding:10px;display:grid;gap:8px;border-bottom:1px solid var(--line)}.home-search{display:flex;align-items:center;gap:6px}.home-search input{width:100%;min-width:0}.home-filter-row{display:flex;align-items:center;gap:7px}.home-filter-row label{display:flex;align-items:center;gap:4px;min-width:0}.home-filter-row select{min-width:65px}.home-scenes{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px;display:flex;flex-direction:column;gap:var(--t-rowGap,2px)}.home-scene{display:flex;align-items:center;gap:10px;flex:none;min-width:0;padding:var(--t-rowPadding,9px);min-height:var(--t-rowHeight,52px);text-align:left;border:var(--t-borderWidth,1px) solid var(--line);border-radius:var(--t-controlRadius,10px)}.home-scene.selected{background:var(--active);border-color:var(--accent)}.home-scene>span:nth-child(2){flex:1;min-width:0}.home-scene strong,.home-scene small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.home-scene small{color:var(--muted)}.home-thumbnail{display:grid;place-items:center;width:48px;height:32px;border-radius:var(--t-controlRadius,10px);background:linear-gradient(155deg,var(--t-viewerTop,#535963),var(--t-viewerBottom,#343940));flex:none}.home-detail-content{padding:12px;flex:1;min-height:0;overflow:auto}.home-scene-image{aspect-ratio:2;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border-radius:var(--t-controlRadius,10px);background:linear-gradient(155deg,var(--t-viewerTop,#535963),var(--t-viewerBottom,#343940));font-size:10px;color:var(--text)}.home-detail h3{font-size:16px;font-weight:400;margin-bottom:5px}.home-detail dl{display:grid;gap:5px;margin:20px 0}.home-detail dt{color:var(--muted);font-size:11px}.home-detail dd{margin:0 0 8px}.home-open{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;white-space:normal;background:var(--active);border:1px solid var(--accent)}

.home-layout{grid-template-columns:minmax(230px,var(--home-left,40%)) 6px minmax(220px,1fr) 6px minmax(200px,var(--home-right,24%));gap:0}.home-divider{cursor:col-resize;touch-action:none;border-radius:3px}.home-divider:hover,.home-divider:focus-visible{background:color-mix(in srgb,var(--accent) 45%,transparent)}.home-map-land-fill{fill:color-mix(in srgb,var(--muted) 16%,var(--panel))}.home-map-terrain-fill{fill:color-mix(in srgb,var(--text) 35%,var(--panel))}.home-map-pin text{font-size:15px}.home-map-pin .home-map-name{font-size:14px}

.home-map-port{background:linear-gradient(to bottom,var(--t-homeMapTop,#222328),var(--t-homeMapBottom,#101012))}.home-map-port::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:var(--t-homeGridOpacity,.06);background-image:linear-gradient(var(--text) 1px,transparent 1px),linear-gradient(90deg,var(--text) 1px,transparent 1px);background-size:40px 40px}.home-map-port svg{position:relative}.home-map-land-fill{fill:var(--t-homeLand,#66666a);opacity:var(--t-homeLandOpacity,.22)}.home-map-terrain-fill{fill:var(--text);opacity:var(--t-homeTerrainOpacity,.28)}.home-map-pin.selected .home-map-name{fill:var(--accent)}.home-pin-icon{width:32px;height:32px;display:grid;place-items:center}.home-pin-icon .preview-icon{width:32px!important;height:32px!important}.home-map-pin.selected .preview-icon{filter:none}
.home-thumbnail{width:auto;min-width:48px;gap:7px;display:flex;background:none}.home-scene-counts{display:grid;gap:4px;justify-items:end;flex:none;font-size:10px}.home-scene-counts>span{display:flex;align-items:center;gap:4px}.home-scene-counts .preview-icon{width:13px!important;height:13px!important}.home-status-counts>span{display:flex;align-items:center;gap:2px}.home-status-counts i{width:4px;height:4px;border-radius:50%;background:currentColor}

/* Native HTML map layers avoid WebKit SVG image/foreignObject mask failures. */
.home-map-world{position:absolute;width:1254px;height:1254px;transform-origin:0 0;will-change:transform}.home-map-port .home-land-vector{position:absolute;inset:0;width:1254px;height:1254px;min-height:0;overflow:visible;pointer-events:none}.home-land-vector path{fill:var(--t-homeLand,#66666a);opacity:var(--t-homeLandOpacity,.22)}.home-terrain-layer{position:absolute;inset:0;background:var(--text);opacity:var(--t-homeTerrainOpacity,.28);mask:url('/home-terrain.png') 0 0/1254px 1254px no-repeat;-webkit-mask:url('/home-terrain.png') 0 0/1254px 1254px no-repeat;pointer-events:none}
.home-map-port::before{background-size:calc(100% / 8) calc(100% / 8);opacity:var(--t-homeGridOpacity,.06)}.home-map-pin{position:absolute;transform:translate(-50%,-100%);padding:0!important;width:46px;height:54px;min-height:0;border:0!important;background:transparent!important;overflow:visible;display:grid;place-items:center}.home-map-pin .home-pin-icon{width:46px;height:54px}.home-map-pin .home-pin-icon .preview-icon{width:46px!important;height:54px!important}.home-pin-label{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--t-controlRadius,10px);color:var(--text);font-size:19px;box-shadow:0 4px 12px #0006;pointer-events:none;z-index:3}.home-map-pin:hover .home-pin-label,.home-map-pin:focus-visible .home-pin-label{display:block}.home-map-pin.selected .home-pin-label{color:var(--accent)}.home-colored-icon{display:inline-block;width:var(--t-iconSize,18px);height:var(--t-iconSize,18px);flex:none}
.home-scene-status{display:grid;gap:9px;margin:18px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-scene-status>div{display:flex;align-items:center;gap:6px}.home-scene-status strong{margin-left:auto;font-weight:500}.home-scene-status .pill{display:inline-flex;align-items:center;gap:5px}.home-scene-status .preview-icon{width:15px!important;height:15px!important}.home-scene-status .study-progress{height:4px}

.home-map-pin.selected .home-pin-icon{filter:drop-shadow(0 0 5px var(--accent)) drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 60%,transparent))}.home-map-pin:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.home-empty-selection{margin:auto;padding:20px;text-align:center}
/* Compact detail composition keeps the normal preview height scroll-free. */
.home-detail-content{padding:10px;display:flex;flex-direction:column;gap:6px}.home-scene-image{height:clamp(36px,8vh,70px);min-height:36px;aspect-ratio:auto;flex:none;gap:4px}.home-detail h3{margin:2px 0;font-size:14px}.home-detail-content>p{margin:0}.home-scene-status{margin:2px 0;padding:6px 0;gap:4px;flex:none}.home-scene-status .pill{min-height:17px;padding:0 5px;line-height:1.2}.home-scene-status .preview-icon{height:13px!important;width:13px!important}.home-detail dl{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;margin:2px 0}.home-detail dt{font-size:10px}.home-detail dd{margin:0;font-size:10px}.home-detail-content>.preview-note{font-size:10px!important;line-height:1.4!important}.home-open{min-height:28px;padding:4px 7px}.home-layout{min-height:260px}
.home-map-pin.selected .home-pin-icon{filter:none}.home-map-pin.selected{filter:drop-shadow(0 0 5px var(--accent)) drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 60%,transparent))}

/* Limit the filtered surface to the pin visual; tooltip is an unfiltered sibling. */
.home-map-pin.selected{filter:none}.home-pin-visual{display:grid;place-items:center;width:46px;height:54px}.home-map-pin.selected .home-pin-visual{filter:drop-shadow(0 0 5px var(--accent)) drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 55%,transparent))}.home-pin-label{filter:none!important}
.home-scene-image{height:clamp(82px,14vh,160px);min-height:82px;flex:none}.home-detail-content{gap:6px}.home-detail-content>.home-open{margin:4px 0 2px}.home-scene-status{gap:3px;padding:5px 0}.home-detail-content>.preview-note{font-size:9px!important}

/* Allocate spare detail height to the preview rather than an empty bottom area. */
.home-detail-content>.home-scene-image{height:auto;min-height:82px;flex:1 0 82px;max-height:none}.home-detail-content>:not(.home-scene-image){flex-shrink:0}.home-detail-content>.home-open{min-height:56px;padding:10px 8px}

/* The grid shares the terrain's world-space scale and translation. */
.home-map-port::before{background-size:var(--home-grid-size,60px) var(--home-grid-size,60px);background-position:var(--home-grid-x,0px) var(--home-grid-y,0px)}

.home-map-pin{--pin-color:var(--t-homePinColor,var(--accent));width:var(--t-homePinSize,46px);height:calc(var(--t-homePinSize,46px)*1.174)}.home-map-pin.selected{--pin-color:var(--t-homePinSelectedColor,var(--accent));z-index:2}.home-map-pin .home-pin-visual,.home-map-pin .home-pin-icon{width:100%;height:100%}.home-pin-visual{position:relative;opacity:var(--t-homePinOpacity,1)}.home-map-pin .home-pin-icon .preview-icon{width:100%!important;height:100%!important}.home-map-pin.selected .home-filled-pin{opacity:var(--t-homePinFill,1)}.home-pin-outline{position:absolute;inset:0;background:var(--pin-color);mask-size:contain;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;opacity:calc(1 - var(--t-homePinFill,1));pointer-events:none}.home-map-pin.selected .home-pin-visual{filter:drop-shadow(0 0 var(--t-homePinGlowBlur,5px) color-mix(in srgb,var(--t-homePinGlowColor,var(--accent)) calc(var(--t-homePinGlowOpacity,.7)*100%),transparent)) drop-shadow(0 0 var(--t-homePinGlowWide,10px) color-mix(in srgb,var(--t-homePinGlowColor,var(--accent)) calc(var(--t-homePinGlowOpacity,.7)*65%),transparent))}.home-map-pin.selected .home-pin-label{display:block;color:var(--pin-color)}
/* Login is a presentation-only route over the preserved workspace. */
#login-study{position:absolute;inset:0;z-index:30;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--accent) 4%,var(--bg)),var(--bg) 75%);display:grid;place-items:center;overflow:auto;padding:24px;isolation:isolate}#login-study[hidden]{display:none}.workspace.login-screen-open>#dock-root,.workspace.login-screen-open>#float-root,.workspace.login-screen-open>#viewer-base,.workspace.login-screen-open>#toolbar-dock{visibility:hidden;pointer-events:none}.login-screen-open .scene-info,.login-screen-open .selection-test{visibility:hidden}.login-screen-open .scene-bar{visibility:hidden}.study-logout{display:inline-flex;align-items:center;gap:6px;margin-left:8px}
.login-crest{position:absolute;pointer-events:none;z-index:-1;width:min(68vh,620px);aspect-ratio:1;left:-6vw;top:-8vh;background:var(--text);opacity:.045;mask:url('/login-artwork/arima-crest.png') center/contain no-repeat;-webkit-mask:url('/login-artwork/arima-crest.png') center/contain no-repeat}.login-banner{position:absolute;z-index:-1;pointer-events:none;width:min(85vh,780px);aspect-ratio:1;right:-7vw;bottom:-8vh;opacity:.08}.login-banner>span{position:absolute;inset:0;background:var(--text);mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.login-banner-art{mask-image:url('/login-artwork/banner-watermark.png');-webkit-mask-image:url('/login-artwork/banner-watermark.png');clip-path:inset(12% 0 0)}.login-banner-inscription{mask-image:url('/login-artwork/banner-inscription.svg');-webkit-mask-image:url('/login-artwork/banner-inscription.svg')}
.login-card{width:min(380px,100%);margin:auto;display:flex;flex-direction:column;gap:16px;padding:28px;background:var(--panel);color:var(--text);border:var(--t-borderWidth,1px) solid var(--line);border-radius:var(--t-panelRadius,20px);box-shadow:0 var(--t-panelShadowY,5px) var(--t-panelShadowBlur,20px) rgb(0 0 0/var(--t-panelShadowOpacity,.5))}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.login-brand>.preview-icon{width:44px!important;height:44px!important}.login-brand h1,.login-intro h2,.login-brand p,.login-intro p{margin:0}.login-intro{display:grid;gap:6px;margin-top:8px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field input{width:100%;min-width:0;min-height:38px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--t-controlRadius,10px);color:var(--text)}.login-field input:focus{outline:1px solid var(--accent);outline-offset:1px}.login-password{display:flex;align-items:center;position:relative}.login-password input{padding-right:42px}.login-password button{position:absolute;right:4px;display:grid;place-items:center;width:32px;height:32px;min-height:0;padding:5px;border:0;background:transparent}.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;background:var(--active);color:var(--accent);border:1px solid var(--accent);border-radius:var(--t-controlRadius,10px)}.login-submit:hover{background:color-mix(in srgb,var(--accent) 20%,var(--panel))}.login-study-note{margin:0;line-height:1.5}.login-copyright{text-align:center;color:var(--muted);font-size:10px;line-height:1.6}
#login-study{overflow:hidden;box-sizing:border-box}.login-card{box-sizing:border-box;max-height:100%;overflow:auto}

/* Collapse the signed-in scene bar; background and artwork share one full canvas. */
.login-screen-open .scene-bar{display:none}#login-study{background:var(--t-loginBackgroundBottom,#101012)}.login-background{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(to bottom,var(--t-loginBackgroundTop,#222328),var(--t-loginBackgroundBottom,#101012))}.login-crest{width:min(85vh,var(--t-loginCrestSize,620px));opacity:var(--t-loginCrestOpacity,.05);background:var(--t-loginPatternColor,#e5e5e5)}.login-banner{width:min(100vh,var(--t-loginBannerSize,780px));opacity:var(--t-loginBannerOpacity,.08)}.login-banner>span{background:var(--t-loginPatternColor,#e5e5e5)}

.login-banner-art{clip-path:none}.login-banner .login-banner-inscription{position:absolute;inset:0;width:100%;height:100%;fill:var(--t-loginPatternColor,#e5e5e5);mask:none;-webkit-mask:none;pointer-events:none}.login-crest{left:var(--t-loginCrestX,-6vw);top:var(--t-loginCrestY,-8vh)}.login-banner{right:var(--t-loginBannerX,-7vw);bottom:var(--t-loginBannerY,-8vh)}.login-card{background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),transparent);-webkit-backdrop-filter:blur(var(--t-panelBlur,0px));backdrop-filter:blur(var(--t-panelBlur,0px))}.login-logo{display:block;width:44px;height:44px;background:var(--accent);mask-size:contain;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}
/* Original raster lettering is replaced by the intact typeset inscription. */
.login-banner-art{clip-path:inset(10.85% 0 0)}

/* A fixed logical artboard keeps the complete login composition stable. */
.study-reference-canvas{position:absolute;left:50%;top:50%;transform-origin:center;isolation:isolate;pointer-events:none}.login-reference-canvas{display:grid;place-items:center;padding:32px;box-sizing:border-box}.login-reference-canvas .login-card{pointer-events:auto}.study-reference-canvas .login-crest{width:var(--t-loginCrestSize,620px);left:var(--t-loginCrestX,-80px);top:var(--t-loginCrestY,-60px)}.study-reference-canvas .login-banner{width:var(--t-loginBannerSize,780px);right:var(--t-loginBannerX,-90px);bottom:var(--t-loginBannerY,-60px)}
#home-study,#folder-study{isolation:isolate}.shared-art-background{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.shared-art-background[hidden]{display:none}.shared-art-background>.login-background{z-index:0}.shared-art-background>.study-reference-canvas{z-index:1}.study-backdrop-on .home-layout>.group,.study-backdrop-on .folder-columns>.group{background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),transparent);backdrop-filter:blur(var(--t-panelBlur,0px));-webkit-backdrop-filter:blur(var(--t-panelBlur,0px))}

#progress-screen{isolation:isolate}.study-backdrop-on .progress-summary>.group{background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),transparent);backdrop-filter:blur(var(--t-panelBlur,0px));-webkit-backdrop-filter:blur(var(--t-panelBlur,0px))}.study-backdrop-on .progress-cards-pane,.study-backdrop-on .progress-sheet-pane{background:color-mix(in srgb,var(--t-progressSheetSurface,#171717) calc(var(--t-surfaceOpacity,1)*100%),transparent);backdrop-filter:blur(var(--t-panelBlur,0px));-webkit-backdrop-filter:blur(var(--t-panelBlur,0px))}

/* Independent scene-card glazing; children keep their original opacity. */
.progress-scene-card{background:color-mix(in srgb,var(--t-progressCardSurface,#171717) calc(var(--t-progressCardOpacity,.85)*100%),transparent);backdrop-filter:blur(var(--t-progressCardBlur,3px));-webkit-backdrop-filter:blur(var(--t-progressCardBlur,3px))}.progress-scene-card:hover{background:color-mix(in srgb,var(--t-hover,#292929) calc(var(--t-progressCardOpacity,.85)*100%),transparent)}.progress-scene-card.selected{background:color-mix(in srgb,var(--active) calc(var(--t-progressCardOpacity,.85)*100%),transparent)}.progress-scene-card.ring-inspecting,.progress-scene-card.ring-inspecting:hover,.progress-scene-card.selected.ring-inspecting{background:color-mix(in srgb,color-mix(in srgb,var(--t-progressCardSurface,#171717) calc((1 - var(--t-progressInspectDarken,.4))*100%),#000) calc(var(--t-progressCardOpacity,.85)*100%),transparent)!important}

/* Users study: shared controls, independent scrolling in three panels. */
#users-study{position:absolute;inset:0;z-index:25;display:flex;flex-direction:column;gap:12px;padding:14px;overflow:auto;background:var(--bg);color:var(--text)}
#users-study[hidden]{display:none}
.users-screen-open #dock-root,.users-screen-open #float-root,.users-screen-open #viewer-base,.users-screen-open .toolbar-edge,.users-screen-open .scene-info,.users-screen-open .selection-test{visibility:hidden;pointer-events:none}
.user-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.user-heading h2,.user-heading p{margin:0}.user-role-preview{display:flex;align-items:center;gap:10px}
.user-columns{display:grid;grid-template-columns:minmax(250px,var(--user-left,31%)) 6px minmax(230px,1fr) 6px minmax(280px,var(--user-right,38%));flex:1;min-height:0;min-width:950px;gap:3px}
#users-study .group{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--t-panelRadius,20px)}
#users-study .grouphead{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;flex-shrink:0;border-bottom:1px solid var(--line)}
.user-panel-content{display:flex;flex-direction:column;gap:18px;padding:18px;overflow:auto;min-height:0}.user-panel-content>label,.user-modal label{display:flex;flex-direction:column;gap:7px}
#users-study input:not([type=color]){width:100%;box-sizing:border-box;padding:10px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--t-controlRadius,10px)}
#users-study button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px}#users-study .user-primary{background:var(--active);border:1px solid var(--accent);color:var(--accent)}
.user-profile,.user-row-top{display:flex;align-items:center;gap:12px}.user-profile small,.user-row-top small{display:block;margin-top:4px}.user-avatar{display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;border-radius:50%;background:var(--user-color)}.user-avatar .preview-icon{width:28px;height:28px}
.user-color-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-color-field input{height:38px;width:52px;padding:3px;border:1px solid var(--line);background:var(--surface);border-radius:8px}.user-password-setting{border-top:1px solid var(--line);padding-top:18px}.preview-note{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.user-error{color:#ed997e;margin:0;min-height:1em}
.user-overall{display:flex;flex-direction:column;gap:12px}.user-overall>strong{font-size:42px;color:#88c9b2}.user-overall>small{align-self:flex-end;color:var(--muted)}.user-state-list{display:flex;flex-direction:column;gap:14px}.user-state-list>div{display:flex;align-items:center;justify-content:space-between}.user-count-grid{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:14px}.user-count-grid>div{display:flex;align-items:center;gap:10px}.user-count-grid strong{margin-left:auto}
.user-list-controls{padding:14px;display:flex;flex-direction:column;gap:8px}.user-list-port{padding:0 14px 14px;overflow:auto;min-height:0;flex:1}.user-list-row{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;background:var(--surface)}.user-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.user-delete{margin-left:auto}.user-row-status{display:flex;gap:18px;margin:14px 0 10px}.user-row-status>span{display:flex;align-items:center;gap:6px}.user-complete{margin-left:auto;color:#88c9b2}.user-divider{cursor:col-resize;border-radius:4px}.user-divider:hover,.user-divider:focus{background:var(--accent)}
.user-modal-shade{position:absolute;inset:0;z-index:50;display:grid;place-items:center;background:#0009;padding:20px}.user-modal{width:min(420px,90%);max-height:90%;overflow:auto;display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 40px #0009}.user-modal h3{margin:0}.user-modal-actions{display:flex;justify-content:flex-end;gap:10px}.user-modal-actions button{padding:8px 18px}
.users-screen-open .scene-bar .nav{max-width:none}.users-screen-open .scene-bar .nav button{flex-shrink:0}
#users-study .group{background:color-mix(in srgb,var(--panel) calc(var(--t-surfaceOpacity,1)*100%),transparent);backdrop-filter:blur(var(--t-panelBlur,3px));-webkit-backdrop-filter:blur(var(--t-panelBlur,3px))}.user-panel-content{padding:var(--t-panelPadding,18px);gap:var(--t-sectionGap,18px)}

#users-study{isolation:isolate}
.user-row-choice{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left}.user-row-choice>div{min-width:0}#users-study button.user-row-choice{justify-content:flex-start;border:0;background:transparent;padding:0}.user-list-row.selected{border-color:var(--accent);background:color-mix(in srgb,var(--active) 55%,var(--surface))}.user-row-choice:focus-visible{outline:1px solid var(--accent);outline-offset:5px}.user-status-owner{display:flex;align-items:center;gap:8px}.user-reset-target{margin:0;color:var(--accent)}

/* Keep navigation hit areas intact when the host preview is narrower than its design canvas. */
.scene-bar .nav button{flex-shrink:0}
@media(max-width:1400px){.scene-bar .nav{max-width:none}.scene-info{position:static;transform:none;margin-left:auto;max-width:none;justify-content:flex-end}.scene-name{max-width:160px}}
/* Account screen: groups, user list, settings, status. */
.user-columns-four{grid-template-columns:minmax(220px,1fr) 6px minmax(250px,1.15fr) 6px minmax(230px,1fr) 6px minmax(220px,1fr);min-width:980px;gap:3px}.user-columns-four .grouphead strong{display:flex;align-items:center;gap:7px}.user-columns-four .user-panel-content{gap:12px;padding:14px}.user-columns-four .user-list-controls{padding:12px;gap:7px}.user-columns-four .user-list-port{padding:0 12px 12px}.user-columns-four .user-list-row{padding:11px;cursor:default}.user-card-label{min-width:0;flex:1}.user-card-label strong,.user-card-label small{overflow-wrap:anywhere}.user-card-actions{display:flex;gap:3px;flex-shrink:0}.user-card-actions button,.user-group-title>button{padding:4px;min-width:28px!important;min-height:28px!important}.user-group-tag,.user-unassigned{display:inline-flex;align-items:center;gap:4px;font-size:11px}.user-group-tag{color:var(--group-color);border:1px solid color-mix(in srgb,var(--group-color) 50%,transparent);border-radius:7px;padding:3px 5px;background:color-mix(in srgb,var(--group-color) 10%,transparent)}.user-group-tag .preview-icon,.user-unassigned .preview-icon{width:14px!important;height:14px!important}.user-card-groups{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.user-group-card{border:1px solid color-mix(in srgb,var(--group-color) 50%,var(--line));border-radius:12px;padding:12px;margin-bottom:10px;background:var(--surface)}.user-group-title{display:flex;gap:6px;align-items:center}.user-group-title>div{min-width:0;flex:1;overflow-wrap:anywhere}.user-group-title strong{color:var(--group-color)}.user-group-title small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.user-group-members{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.user-member{display:inline-flex;align-items:center;gap:3px;font-size:11px;border:1px solid var(--line);border-radius:6px;padding:3px 5px}.user-member button{min-height:18px!important;padding:0 3px}.user-group-count{float:right;font-size:10px;color:var(--muted);margin-top:8px}.group-add-user{font-size:11px;padding:5px 7px;min-height:28px!important}.user-group-card.drop-active{outline:2px solid var(--accent);background:var(--active)}.dragging-users .user-group-card{border-style:dashed}.user-deleted-filter{display:flex;align-items:center;gap:7px;font-size:11px}.user-deleted-filter input,.user-member-picker input{width:auto!important}.deactivated .user-card-label{opacity:.6}.user-member-picker{max-height:40vh;overflow:auto;display:flex;flex-direction:column;gap:10px}.user-member-picker label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.user-multi-placeholder{justify-content:center;align-items:flex-start;color:var(--accent)}.user-multi-placeholder p{font-size:12px;color:var(--muted)}.user-danger-dialog{border-color:#dd8070}.danger{color:#ee9b87}.user-columns-four .user-row-status{margin:9px 0 0;font-size:11px}.user-columns-four .user-overall>strong{font-size:32px}.user-columns-four .user-state-list,.user-columns-four .user-count-grid{gap:10px}.user-columns-four .user-list-row[aria-selected=true]{border-color:var(--accent)}.user-columns-four .user-list-row:focus-visible{outline:2px solid var(--accent)}
.user-icon-button{width:32px;height:32px;flex:none;border-radius:50%;padding:0;overflow:hidden;display:grid;place-items:center;color:#fff;border:1px solid #ffffff30}.user-icon-button img,.user-icon-button svg,.user-avatar img{width:100%;height:100%;object-fit:cover}.user-icon-button svg{width:65%;height:65%}.user-avatar{overflow:hidden}.avatar-dialog{width:min(420px,94vw);padding:20px;border:1px solid var(--border,#666);border-radius:20px;background:var(--panel,#242b35);color:var(--text,#eee)}.avatar-dialog::backdrop{background:#0009}.avatar-crop{width:min(320px,75vw);aspect-ratio:1;margin:16px auto;border-radius:50%;overflow:hidden;outline:2px solid var(--accent);background:#111}.avatar-crop canvas{width:100%;height:100%;cursor:grab;touch-action:none}.avatar-crop canvas:active{cursor:grabbing}.avatar-dialog label{display:flex;gap:12px;align-items:center}.avatar-dialog input{flex:1}.avatar-dialog footer{display:flex;justify-content:flex-end;gap:8px}
.user-list-avatar{display:inline-grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;flex:0 0 32px;aspect-ratio:1;border-radius:50%;overflow:hidden;color:white}.user-list-avatar img{width:100%;height:100%;object-fit:cover}.user-profile .user-icon-button{width:48px;height:48px;min-height:0;min-width:48px;flex:0 0 48px;aspect-ratio:1}.user-list-avatar img.avatar-default,.user-icon-button img.avatar-default{width:65%;height:65%;object-fit:contain;filter:brightness(0) invert(1)}
.avatar-context-menu{position:fixed;z-index:1000001;padding:5px;border:1px solid var(--border,#666);border-radius:10px;background:var(--panel,#242b35);color:var(--text,#eee);box-shadow:0 6px 20px #0007}.avatar-context-menu button{padding:7px 12px;white-space:nowrap}
