:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbfcfd;--surface:#fff;--surface-soft:#f4f7f6;--ink:#111315;--muted:#687078;--line:#e5e7eb;--primary:#111315;--primary-dark:#2b3035;--accent:#00d4a4;--sky:#101827;--star:#f7c948;--danger:#b42318;--shadow:0 24px 48px -18px #1113152e;--font-pixel:"Geist Pixel", "BestTen-CRT", "Courier New", ui-monospace, SFMono-Regular, Menlo, monospace}@font-face{font-family:Geist Pixel;src:url(/fonts/geist-pixel/GeistPixel-Circle.woff2)format("woff2");font-display:block;font-style:normal;font-weight:400}@font-face{font-family:BestTen-CRT;src:url(/fonts/BestTen-CRT.otf)format("opentype");font-display:swap;font-style:normal;font-weight:700}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}html{background:var(--bg);min-width:320px}body{color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}.cluster-page{overscroll-behavior:none;color:#fff;background:#000 url(/assets/star-cluster-background.png) 50%/cover no-repeat;min-height:100dvh;position:relative;overflow:hidden}.cluster-topbar{--archive-label-left:634px;--archive-label-min-width:220px;--archive-label-right-space:180px;z-index:2;min-height:102px;padding:0;display:block;position:relative}.cluster-topbar h1{color:#fff;font-family:var(--font-pixel);letter-spacing:0;text-shadow:3px 0 #fff;margin:0;font-size:6.25rem;font-weight:400;line-height:normal;position:absolute;top:-28px;left:-6px}.cluster-topbar p{top:59px;left:var(--archive-label-left);width:min(488px, max(var(--archive-label-min-width), calc(100vw - var(--archive-label-left) - var(--archive-label-right-space))));color:#fff;letter-spacing:0;opacity:.5;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin:0;font-family:Helvetica,Noto Sans KR,Arial,sans-serif;font-size:14px;font-weight:700;line-height:normal;position:absolute;overflow:hidden}.activity-log-history{z-index:3;pointer-events:none;color:#fff;width:451px;max-width:calc(100vw - 28px);max-height:133px;font-family:var(--font-pixel);white-space:nowrap;isolation:isolate;flex-direction:column;gap:7px;margin:0;padding:0;font-size:16px;font-weight:400;line-height:normal;list-style:none;display:flex;position:absolute;top:94px;left:14px}.activity-log-history li{z-index:1;color:#fff;align-items:center;gap:13px;min-width:0;display:flex;position:relative}.activity-log-history span,.activity-log-history time{background:linear-gradient(180deg, rgb(var(--activity-log-gradient-start-rgb,255 255 255)) 0%, rgb(var(--activity-log-gradient-end-rgb,255 255 255)) 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.activity-log-history span{text-overflow:ellipsis;overflow:hidden}.activity-log-history time{text-align:right;flex:none;font-size:10px}.cluster-actions{justify-content:flex-end;gap:30px;margin:0;display:flex;position:absolute;top:49px;right:47px}.text-button{color:#fff;text-underline-position:from-font;cursor:pointer;background:#000;border:0;min-height:44px;padding:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:18px;font-weight:400;line-height:normal;text-decoration:none}.text-button:hover,.text-button:focus-visible{color:#fff;text-decoration-line:underline}.cluster-stage{z-index:1;border-bottom:1px solid #ffffff47;min-height:calc(100dvh - 102px);position:relative}.star-field{overscroll-behavior:contain;touch-action:none;position:absolute;inset:0;overflow:hidden}.constellation-viewport{isolation:isolate;transform-origin:50%;--group-motion-duration:.22s;--group-motion-easing:ease;transition:transform .22s;position:absolute;inset:0}.constellation-links{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.constellation-link-shape{opacity:.9}.constellation-link-shape.depth-1{opacity:.52}.constellation-link-shape.depth-2{opacity:.38}.constellation-object{z-index:2;width:128px;min-height:92px;transform:translate(-50%, -50%) scale(var(--node-depth-scale,1));transform-origin:50%;color:#fff;cursor:pointer;font:inherit;text-align:center;opacity:1;background:0 0;border:0;place-items:center;transition:opacity .18s,filter .18s,transform .18s;display:grid;position:absolute}.constellation-object:disabled{cursor:default}.constellation-object.is-dimmed{opacity:1;filter:none}.constellation-object.is-dimmed .object-art-stack{filter:saturate(.32)brightness(.42)}.constellation-object.is-dimmed .object-label{opacity:calc(var(--group-label-opacity,1) * .22)}.constellation-object.is-dimmed .object-value{opacity:calc(var(--group-value-opacity,1) * .22)}.constellation-object.is-selected{transform:translate(-50%, -50%) scale(calc(var(--node-depth-scale,1) * 1.08));filter:drop-shadow(0 0 22px #ffffff8a);z-index:7!important}.constellation-object:not(:disabled):hover .object-art-stack,.constellation-object:focus-visible .object-art-stack{filter:drop-shadow(0 0 18px #ffffffc7)}.constellation-object.is-selected .object-art-stack,.constellation-object.is-selected:hover .object-art-stack,.constellation-object.is-selected:focus-visible .object-art-stack{filter:drop-shadow(1px 0 #fff)drop-shadow(-1px 0 #fff)drop-shadow(0 1px #fff)drop-shadow(0 -1px #fff)drop-shadow(0 0 18px #ffffffb8)}.constellation-object.is-newly-ready .object-art-stack{animation:1.4s ease-in-out 2 newly-ready-pulse}@keyframes newly-ready-pulse{0%,to{filter:drop-shadow(0 0 #00d4a400)}50%{filter:drop-shadow(0 0 18px #00d4a4e6)}}.object-art-stack{min-height:58px;margin-bottom:max(0px, calc((var(--node-size-scale,1) - 1) * 32px));transform:scale(var(--node-size-scale,1));transform-origin:50%;justify-content:center;align-items:center;transition:filter .18s,margin-bottom .18s,transform .18s;display:flex}.group-node .object-art-stack{width:calc(var(--group-shape-size,20px) * 3.6);min-height:calc(var(--group-shape-size,20px) * 3.1);padding:4px;display:block;position:relative}.group-node .object-art{width:var(--group-shape-size,20px);height:var(--group-shape-size,20px);transform:translate(calc(-50% + (var(--group-shape-x,0px) * var(--group-spread-scale,1))), calc(-50% + (var(--group-shape-y,0px) * var(--group-spread-scale,1)))) rotate(var(--group-shape-rotate,0deg));transition:transform var(--group-motion-duration,.22s) var(--group-motion-easing,ease);margin:0;position:absolute;top:50%;left:50%}.object-art{width:54px;height:54px;display:block}.object-label,.object-value{font-family:var(--font-pixel);font-size:18px;font-weight:400;line-height:normal;display:block}.group-node .object-value{opacity:var(--group-value-opacity,1);transform:translateY(var(--group-value-offset,0px));transition:opacity var(--group-motion-duration,.22s) var(--group-motion-easing,ease), transform var(--group-motion-duration,.22s) var(--group-motion-easing,ease)}.object-label{margin-bottom:5px}.group-node .object-label{opacity:var(--group-label-opacity,1);transform:translateY(var(--group-label-offset,0px));transition:opacity var(--group-motion-duration,.22s) var(--group-motion-easing,ease), transform var(--group-motion-duration,.22s) var(--group-motion-easing,ease)}.object-label:empty{display:none}.shape-1 .object-art,.object-art.shape-1{background:var(--person-shape-color,#fff800);border-radius:50%}.shape-2 .object-art,.object-art.shape-2{background:var(--person-shape-color,#ff1515)}.shape-3 .object-art,.shape-4 .object-art,.shape-5 .object-art{clip-path:polygon(50% 0,60% 36%,100% 50%,60% 64%,50% 100%,40% 64%,0 50%,40% 36%)}.shape-3 .object-art{background:var(--person-shape-color,#03dfff);width:82px;height:82px}.shape-4 .object-art{background:var(--person-shape-color,#ff1a1a);width:72px;height:72px}.shape-5 .object-art{background:var(--person-shape-color,#0f0);width:108px;height:108px}.shape-6 .object-art{background:var(--person-shape-color,#f000ff);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:72px;height:84px}.shape-7 .object-art,.shape-10 .object-art,.shape-11 .object-art,.shape-12 .object-art,.shape-13 .object-art{position:relative}.shape-7 .object-art:before,.shape-10 .object-art:before,.shape-11 .object-art:before,.shape-12 .object-art:before,.shape-13 .object-art:before,.shape-7 .object-art:after,.shape-10 .object-art:after,.shape-11 .object-art:after,.shape-12 .object-art:after,.shape-13 .object-art:after{content:"";position:absolute}.shape-7 .object-art:before{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#00e7ff;inset:0}.shape-7 .object-art:after{background:#ff1818;width:15px;height:15px;bottom:2px;right:0}.shape-8 .object-art{background:var(--person-shape-color,#ff9300);clip-path:polygon(50% 0,100% 100%,0 100%);width:58px;height:51px}.shape-9 .object-art{background:var(--person-shape-color,#1689f6);clip-path:polygon(50% 0,98% 35%,80% 100%,20% 100%,2% 35%);width:66px;height:64px}.shape-10 .object-art:before{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#f000ff;width:20px;height:20px;top:17px;left:10px}.shape-10 .object-art:after{clip-path:polygon(50% 0,100% 100%,0 100%);background:#ff9300;width:32px;height:28px;top:9px;left:37px}.shape-11 .object-art:before{background:radial-gradient(circle at 50% 18%,#fff800 0 4px,#0000 4px),radial-gradient(circle at 80% 45%,#00e7ff 0 4px,#0000 4px),radial-gradient(circle at 20% 45%,#f000ff 0 4px,#0000 4px),radial-gradient(circle at 50% 74%,#ff9300 0 4px,#0000 4px);width:28px;height:28px;top:10px;left:23px}.shape-11 .object-art:after{background:#ff1515;width:12px;height:12px;top:27px;left:28px}.shape-12 .object-art:before{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#00e7ff;width:32px;height:32px;top:11px;left:4px}.shape-12 .object-art:after{background:linear-gradient(#ff1515,#ff1515) 50%/100% 3px no-repeat,linear-gradient(90deg,#ff1515,#ff1515) 50%/3px 100% no-repeat;width:24px;height:24px;top:18px;left:34px;rotate:45deg}.shape-13 .object-art:before{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#f000ff;width:29px;height:29px;top:14px;left:4px}.shape-13 .object-art:after{clip-path:polygon(50% 0,62% 35%,100% 50%,62% 65%,50% 100%,38% 65%,0 50%,38% 35%);background:linear-gradient(#0f0,#0f0) 50%/100% 18px no-repeat,linear-gradient(90deg,#0f0,#0f0) 50%/18px 100% no-repeat;width:48px;height:48px;top:3px;left:32px}.constellation-object:not(.group-node) .object-art:before,.constellation-object:not(.group-node) .object-art:after{content:none}.constellation-object:not(.group-node) .object-art.shape-7{background:var(--person-shape-color,#00e7ff);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:64px;height:64px}.constellation-object:not(.group-node) .object-art.shape-10{background:var(--person-shape-color,#f000ff);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:64px;height:64px}.constellation-object:not(.group-node) .object-art.shape-11{background:var(--person-shape-color,#ff9300);border-radius:50%;width:64px;height:64px}.constellation-object:not(.group-node) .object-art.shape-12{background:var(--person-shape-color,#00e7ff);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:64px;height:64px}.constellation-object:not(.group-node) .object-art.shape-13{background:var(--person-shape-color,#0f0);clip-path:polygon(50% 0,62% 35%,100% 50%,62% 65%,50% 100%,38% 65%,0 50%,38% 35%);width:64px;height:64px}.group-node .object-art.shape-3,.group-node .object-art.shape-4,.group-node .object-art.shape-5{clip-path:polygon(50% 0,60% 36%,100% 50%,60% 64%,50% 100%,40% 64%,0 50%,40% 36%)}.group-node .object-art.shape-3{background:var(--person-shape-color,#03dfff)}.group-node .object-art.shape-4{background:var(--person-shape-color,#ff1a1a)}.group-node .object-art.shape-5{background:var(--person-shape-color,#0f0)}.group-node .object-art.shape-6{background:var(--person-shape-color,#f000ff);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.group-node .object-art.shape-7{background:var(--person-shape-color,#00e7ff);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.group-node .object-art.shape-8{background:var(--person-shape-color,#ff9300);clip-path:polygon(50% 0,100% 100%,0 100%)}.group-node .object-art.shape-9{background:var(--person-shape-color,#1689f6);clip-path:polygon(50% 0,98% 35%,80% 100%,20% 100%,2% 35%)}.group-node .object-art.shape-10{background:var(--person-shape-color,#f000ff);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.group-node .object-art.shape-11{background:var(--person-shape-color,#ff9300);border-radius:50%}.group-node .object-art.shape-12{background:var(--person-shape-color,#00e7ff);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.group-node .object-art.shape-13{background:var(--person-shape-color,#0f0);clip-path:polygon(50% 0,62% 35%,100% 50%,62% 65%,50% 100%,38% 65%,0 50%,38% 35%)}.group-node .object-art,.group-node .object-art:before,.group-node .object-art:after{content:none;width:var(--group-shape-size,20px);height:var(--group-shape-size,20px)}.cluster-photo-grid{z-index:6;--photo-grid-left:clamp(24px, 22vw, 333px);left:var(--photo-grid-left);width:min(calc(100vw - var(--photo-grid-left) - 126px), 1053px);flex-direction:column;max-height:min(100dvh - 146px,670px);transition:opacity .18s;display:flex;position:absolute;top:22px;overflow:visible}.photo-grid-close{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:-3px;right:-53px}.photo-grid-close:before,.photo-grid-close:after{content:"";background:#fff;width:24px;height:3px;position:absolute}.photo-grid-close:before{transform:rotate(45deg)}.photo-grid-close:after{transform:rotate(-45deg)}.person-name-editor{flex:none;align-items:center;gap:12px;width:min(100%,430px);margin:0 0 15px;display:flex}.person-name-label{width:min(100%,151px);display:block}.person-name-label input{color:#fff;width:100%;font-family:var(--font-pixel);letter-spacing:0;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;outline:none;padding:0 0 2px;font-size:26px;font-weight:700;line-height:36px;transition:border-color .16s;display:block}.person-name-label input:hover,.person-name-label input:focus{border-bottom-color:#ffffffd1}.person-name-label input:focus,.person-name-label input:focus-visible{outline-offset:0;box-shadow:none;outline:none}.person-name-label input::selection{color:#fff;background:#295eff}.person-name-save-state{color:#ffffffb3;min-width:56px;font-size:.86rem;font-weight:700}.person-name-save-state.error{color:#ff6b6b}.photo-grid-tiles{overscroll-behavior:contain;flex:auto;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;min-height:0;display:grid;overflow-y:auto}.photo-grid-tile{aspect-ratio:209/121;background-color:#c6c6c6;background-position:50%;background-size:cover;border:0;display:block;position:relative}.photo-grid-tile.placeholder{background:#c6c6c6}.photo-lightbox{z-index:12;color:#fff;touch-action:pan-y;background:#000;place-items:center;display:grid;position:fixed;inset:102px 0 0;overflow:hidden}.photo-lightbox-canvas{background:#000;place-items:center;display:grid;position:absolute;inset:0}.photo-lightbox-image{max-width:100vw;max-height:100%;display:inline-grid;position:relative}.photo-lightbox-frame{object-fit:contain;grid-area:1/1;width:100%;height:100%;display:block}.photo-lightbox-overlay-plane{pointer-events:none;grid-area:1/1;width:100%;height:100%;position:relative}.photo-lightbox-overlay-plane.is-adding-face{cursor:crosshair;pointer-events:auto;touch-action:none}.photo-lightbox-overlay-plane.is-adding-face .photo-face-label{pointer-events:none}.photo-lightbox-close,.photo-lightbox-delete,.photo-lightbox-nav{z-index:2;cursor:pointer;background:50%/contain no-repeat;border:0;border-radius:999px;position:absolute}.photo-lightbox-close{background-image:url(/assets/photo-viewer-back.svg);width:42px;height:42px;top:19px;left:14px}.photo-lightbox-delete{color:#ffffffc7;background:0 0;place-items:center;width:42px;height:42px;transition:color .16s,opacity .16s;display:grid;top:19px;right:14px}.photo-lightbox-delete:before{content:"";background:currentColor;width:28px;height:28px;display:block;-webkit-mask:url(/assets/photo-viewer-delete.svg) 50%/28px 28px no-repeat;mask:url(/assets/photo-viewer-delete.svg) 50%/28px 28px no-repeat}.photo-lightbox-delete span{display:none}.photo-lightbox-delete:hover,.photo-lightbox-delete:focus-visible{color:#fff}.photo-lightbox-delete:disabled{cursor:default;opacity:.45}.photo-lightbox-actions{z-index:3;flex-flow:row-reverse wrap;justify-content:flex-start;align-items:center;gap:8px 28px;max-width:calc(100vw - 168px);display:flex;position:absolute;top:25px;right:72px}.photo-add-face-button{color:#ffffffc7;cursor:pointer;background:0 0;border:0;min-height:28px;padding:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:18px;text-decoration:none}.photo-add-face-button:hover,.photo-add-face-button:focus-visible,.photo-add-face-button.is-active{color:#fff;text-underline-offset:3px;text-decoration:underline}.photo-add-face-button:disabled{cursor:default;opacity:.45;text-decoration:none}.photo-face-boxes-toggle,.photo-ignored-toggle,.photo-duplicates-toggle{color:#ffffffc7;cursor:pointer;background:0 0;border:0;min-height:28px;padding:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:18px;text-decoration:none}.photo-face-boxes-toggle:hover,.photo-face-boxes-toggle:focus-visible,.photo-face-boxes-toggle.is-active,.photo-ignored-toggle:hover,.photo-ignored-toggle:focus-visible,.photo-ignored-toggle.is-active,.photo-duplicates-toggle:hover,.photo-duplicates-toggle:focus-visible,.photo-duplicates-toggle.is-active{color:#fff;text-underline-offset:3px;text-decoration:underline}.photo-lightbox-nav{z-index:7;width:54px;height:54px;top:50%;transform:translateY(-50%)}.photo-lightbox-nav.previous{background-image:url(/assets/photo-viewer-nav.svg);left:30px}.photo-lightbox-nav.next{background-image:url(/assets/photo-viewer-nav.svg);right:30px;transform:translateY(-50%)rotate(180deg)}.photo-lightbox-placeholder{background:#000;width:100%;height:100%}.photo-face-overlay{z-index:3;pointer-events:none;position:absolute}.photo-face-overlay.is-open{z-index:6}.photo-face-box{pointer-events:none;border:1px solid #fffc;position:absolute;inset:0;box-shadow:0 0 12.6px 2px #fff6}.photo-face-overlay.is-ignored .photo-face-box{border-color:#ffffff80;box-shadow:0 0 10px 1px #ffffff38}.photo-face-overlay.is-duplicate .photo-face-box{border-color:#ffffff9e;box-shadow:0 0 10px 1px #ffffff47}.photo-face-overlay.is-draft .photo-face-box{border-style:dashed;box-shadow:0 0 12.6px 2px #fff6}.photo-face-label{color:#fff;width:max-content;max-width:min(42vw,360px);font-family:var(--font-pixel);cursor:pointer;pointer-events:auto;white-space:nowrap;background:#808080b8;border:0;align-items:center;gap:5px;padding:0 2px 0 1px;font-size:13px;font-weight:400;line-height:18px;display:flex;position:absolute;bottom:calc(100% + 7px);left:0;overflow:visible}.photo-face-overlay.is-controls-below .photo-face-label{top:calc(100% + 7px);bottom:auto}.photo-face-label span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.photo-face-label:disabled{cursor:wait;opacity:.72}.photo-face-caret{border-top:3px solid #fff;border-left:3px solid #0000;border-right:3px solid #0000;width:0;height:0}.photo-face-label.is-open .photo-face-caret{border-top:0;border-bottom:3px solid #fff}.photo-face-overlay.is-controls-below .photo-face-label.is-open .photo-face-caret{border-top:3px solid #fff;border-bottom:0}.photo-face-overlay.is-ignored .photo-face-label{color:#ffffffd1;background:#5050509e}.photo-face-overlay.is-duplicate .photo-face-label{background:#4a4a4aa8}.photo-face-menu{z-index:4;pointer-events:auto;background:#fff;grid-template-rows:auto auto minmax(0,1fr);width:169px;max-height:min(54dvh,320px);display:grid;position:absolute;top:-5px;left:-3px;overflow:hidden;box-shadow:0 0 6.3px #0003}.photo-face-overlay.is-controls-below .photo-face-menu{top:calc(100% + 31px)}.photo-face-menu input{color:#111315;appearance:none;background:#f2f2f2;border:0;border-bottom:1px solid #d9d9d9;border-radius:0;width:100%;height:28px;min-height:28px;padding:0 8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:28px}.photo-face-menu input::placeholder{color:#bdbdbd}.photo-face-menu>span{color:#999;padding:2px 8px 0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:10px;font-weight:500;line-height:14px}.photo-face-menu-options{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:0;min-height:0;max-height:min(240px,54dvh - 52px);padding:4px 4px 8px 8px;display:grid;overflow-y:auto}.photo-face-menu button{color:#111315;width:100%;min-height:21px;font-family:var(--font-pixel);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;padding:0 6px;font-size:14px;font-weight:400;line-height:21px;display:flex}.photo-face-menu button span{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400}.photo-face-menu button strong{font-family:var(--font-pixel);font-size:14px;font-weight:400;line-height:21px}.photo-face-menu button.is-ignore-action{color:#777}.photo-face-menu button:hover,.photo-face-menu button:focus-visible{color:#111315;background:#0003}.upload-modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000009e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.upload-modal{color:#111315;background:#fff;border:1px solid #ffffff29;border-radius:8px;width:min(100%,520px);max-height:calc(100dvh - 40px);padding:24px;position:relative;overflow-y:auto;box-shadow:0 32px 80px #0000005c}.settings-modal{grid-template-rows:auto auto minmax(0,1fr);gap:18px;width:min(100%,560px);display:grid}.settings-modal h2,.settings-modal h3{letter-spacing:0;margin:0}.settings-modal h2{font-size:1.8rem}.settings-modal h3{font-size:1rem}.settings-section{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:14px;padding:16px;display:grid}.settings-scroll-area{gap:14px;min-height:0;max-height:min(64dvh,620px);padding-right:2px;display:grid;overflow-y:auto}.settings-session-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-account-controls{gap:12px;display:grid}.display-name-form{gap:6px;display:grid}.display-name-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.display-name-row .button{min-height:40px;padding:0 14px}.field-hint{min-height:18px;color:var(--muted);margin:0;font-size:.78rem;line-height:18px}.field-hint.error{color:var(--danger)}.account-delete-button{justify-self:start}.account-danger-section p{color:var(--muted);margin:0}.account-danger-section{background:snow;border-color:#efd2cf}.account-danger-section h3{color:#8f1d14}.cluster-management-row{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.cluster-management-row span{gap:2px;min-width:0;display:grid}.cluster-management-row small{color:var(--muted)}.cluster-management-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-sign-in-copy{color:var(--muted);margin:0}.settings-modal input,.settings-modal select{border-radius:4px}.settings-modal select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--ink) 50%) calc(100% - 18px) 50% / 5px 5px no-repeat, linear-gradient(135deg, var(--ink) 50%, transparent 50%) calc(100% - 13px) 50% / 5px 5px no-repeat, #fff;padding-right:34px}.settings-modal select.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;min-height:1px;padding:0;position:absolute;overflow:hidden}.cluster-select-field{position:relative}.cluster-select-control{margin-top:6px;position:relative}.cluster-select-button{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:4px;align-items:center;padding:0 38px 0 12px;display:flex;position:relative}.cluster-select-button:before,.cluster-select-button:after{background:var(--ink);content:"";width:6px;height:2px;position:absolute;top:50%}.cluster-select-button:before{right:20px;transform:translateY(-50%)rotate(45deg)}.cluster-select-button:after{right:16px;transform:translateY(-50%)rotate(-45deg)}.cluster-select-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cluster-select-button:disabled{cursor:not-allowed;opacity:.58}.cluster-select-menu{z-index:6;background:#fff;border:1px solid #cfd7df;border-radius:6px;width:100%;max-height:188px;padding:4px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 14px 28px #1113152e}.cluster-select-menu button{width:100%;min-height:38px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:4px;padding:0 10px}.cluster-select-menu button:hover,.cluster-select-menu button:focus-visible,.cluster-select-menu button.is-selected{background:#eef2f4}.album-member-list{align-content:start;gap:8px;min-height:112px;max-height:180px;display:grid;overflow-y:auto}.member-invite-feedback{min-height:18px;color:var(--muted);font-size:.78rem;line-height:18px}.member-invite-feedback span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.member-invite-feedback.error{color:var(--danger)}.album-member-list.is-loading{opacity:.58;pointer-events:none}.album-member-row{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 10px;display:flex}.album-member-row.is-pending{background:#f7f7f4}.album-member-row span{gap:2px;min-width:0;display:grid}.album-member-row strong,.album-member-row small{overflow-wrap:anywhere;min-width:0}.album-member-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.album-member-row small,.muted{color:var(--muted)}.elevated-backdrop{z-index:80}.confirm-modal{gap:16px;width:min(100%,420px);display:grid}.confirm-modal h2,.confirm-modal p{margin:0}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.modal-close-button{color:#111315;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;font-size:0;display:grid;position:absolute;top:14px;right:14px}.modal-close-button:before,.modal-close-button:after{content:"";background:currentColor;width:24px;height:3px;position:absolute}.modal-close-button:before{transform:rotate(45deg)}.modal-close-button:after{transform:rotate(-45deg)}.modal-close-button:hover{color:#000}.modal-eyebrow{color:#007d63;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:850}.modal-copy{max-width:410px;color:var(--muted);margin:10px 0 0}.upload-modal .upload-dropzone{min-height:178px;margin-top:22px}.upload-modal .status-message{margin-top:14px}.upload-progress{border:1px solid var(--line);min-height:92px;color:var(--ink);background:var(--surface-soft);border-radius:8px;align-items:center;gap:12px;margin-top:22px;padding:16px;display:flex}.main-upload-notice{z-index:8;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111315e0;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:12px;width:min(360px,100vw - 32px);padding:14px 16px;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 18px 36px #00000047}.main-upload-notice small{color:#ffffffad;margin-top:3px;display:block}.main-upload-notice.complete:before{background:var(--accent);content:"";border-radius:50%;flex:none;width:8px;height:8px}.screen-drop-overlay{z-index:19;pointer-events:none;opacity:0;background:#00000057;place-items:center;padding:24px;transition:opacity .14s;display:grid;position:fixed;inset:0}.screen-drop-overlay.is-active{opacity:1}.screen-drop-overlay-panel{color:#fff;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111315d6;border:1px dashed #ffffffb8;border-radius:8px;gap:4px;min-width:min(320px,100vw - 48px);padding:22px 24px;display:grid;box-shadow:0 24px 60px #0000005c}.screen-drop-overlay-panel strong{font-size:18px;line-height:1.2}.screen-drop-overlay-panel span{color:#ffffffb3;font-size:13px}.upload-progress small{color:var(--muted);margin-top:4px;display:block}.upload-progress-spinner{border:2px solid #c7d2df;border-top-color:#111315;border-radius:50%;flex:none;width:18px;height:18px;animation:.85s linear infinite upload-progress-spin}@keyframes upload-progress-spin{to{transform:rotate(360deg)}}.upload-modal-note{border:1px solid var(--line);color:var(--ink);background:var(--surface-soft);border-radius:8px;gap:8px;margin-top:18px;padding:14px;display:grid}.upload-modal-note span{color:var(--muted)}.add-photos-modal .main-upload-notice{width:100%;margin-top:16px;position:static}button,input,select{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:none}.app-shell{min-height:100vh;padding:32px}.workspace-header{background:radial-gradient(circle at 14% 24%,#00d4a429,#0000 32%),linear-gradient(135deg,#eef8ff 0%,#fffaf2 100%);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:end;gap:24px;max-width:1180px;margin:0 auto 24px;padding:32px;display:grid}.eyebrow{color:#007d63;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1,h2{letter-spacing:0;margin:0;line-height:1.05}h1{max-width:720px;font-size:clamp(2.4rem,8vw,5.6rem)}h2{font-size:1.25rem}.lede{max-width:660px;color:var(--muted);margin:16px 0 0;font-size:1.05rem}.session-panel,.tool-panel,.constellation-panel,.media-strip{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:12px}.session-panel{justify-content:flex-end;align-items:end;gap:12px;padding:16px;display:flex}.sign-in-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;width:100%;display:grid}.workspace-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:24px;max-width:1180px;margin:0 auto 24px;display:grid}.tool-panel,.constellation-panel,.media-strip{padding:20px}.field{color:var(--ink);gap:6px;margin-top:16px;font-size:.9rem;font-weight:750;display:grid}.field.compact{margin-top:0}.confirm-text-label{font-weight:400}.confirm-text-label strong{font-weight:800}.confirm-warning{color:#8f1d14;background:#fff1ef;border:1px solid #b4231838;border-radius:8px;padding:10px 12px}input,select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:999px;padding:0 12px}.split-fields{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.cluster-edit-fields{grid-template-columns:minmax(0,1fr) auto}.cluster-edit-actions{gap:8px;display:flex}.cluster-edit-actions .button{min-width:84px}.button{color:#fff;background:var(--primary);cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:44px;padding:0 16px;font-weight:800;transition:transform .18s,background .18s}.button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.button.secondary{color:var(--ink);background:#e9eef2;border-color:#c9d3dc}.button.secondary:hover:not(:disabled){color:var(--ink);background:#d9e2e8;border-color:#aebbc7}.sign-out-button{box-shadow:0 1px #0000000a}.sign-out-button:hover:not(:disabled){color:var(--ink)}.danger-button{background:#b42318}.danger-button:hover:not(:disabled){background:#8f1d14}.compact-button{min-height:34px;padding:0 12px}.button:disabled,.upload-dropzone.disabled{cursor:not-allowed;opacity:.58}.upload-dropzone{min-height:132px;color:var(--ink);cursor:pointer;text-align:center;background:linear-gradient(#fff,#f4f7f6);border:1px dashed #a8b6ca;border-radius:8px;place-items:center;margin-top:18px;padding:18px;display:grid}.upload-dropzone.is-dragging{background:#fff;border-color:#111315}.upload-dropzone span{font-weight:850}.upload-dropzone-mobile-title{display:none}.upload-dropzone small{max-width:260px;color:var(--muted)}.upload-dropzone input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.status-message{min-height:44px;color:var(--ink);background:var(--surface-soft);border-radius:8px;margin-top:16px;padding:12px}.status-message.error{color:var(--danger);background:#fff0ee}.status-message.success{color:#1f4f2b;background:#eef8f0}.panel-heading-row{justify-content:space-between;align-items:start;gap:16px;display:flex}.count-pill{color:var(--ink);background:var(--surface-soft);border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:800}.analysis-stats,.cluster-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.analysis-stats span{color:#eaf3ef;background:#10211f57;border:1px solid #ffffff1f;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:800}.constellation-sky{background:radial-gradient(circle at 20% 25%,#00d4a43d,#0000 28%),radial-gradient(circle at 75% 35%,#f7c94829,#0000 25%),linear-gradient(145deg,#10211f 0%,#172625 54%,#273331 100%);border-radius:8px;min-height:430px;margin-top:18px;position:relative;overflow:hidden}.constellation-sky:before{content:"";background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 78%);mask-image:radial-gradient(circle,#000,#0000 78%)}.star-node{background:var(--star);border-radius:999px;width:14px;height:14px;position:absolute;box-shadow:0 0 0 5px #f7c94824,0 0 32px #f7c948b8}.star-node.pending{opacity:.62;filter:grayscale(.25)}.empty-state{color:#dbe7ff;margin:0;position:absolute;inset:auto 24px 24px}.media-strip{max-width:1180px;margin:0 auto}.muted{color:var(--muted)}.media-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.media-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;min-height:88px;padding:12px;display:grid}.media-preview{background:var(--surface-soft);background-position:50%;background-size:cover;border-radius:8px;width:64px;height:64px}.media-preview.analysis-dot{border:1px solid var(--line);background:radial-gradient(circle at center, var(--star) 0 18%, transparent 19%), var(--surface-soft);background-position:50%;background-size:cover}.media-preview.analysis-dot.ready:not([style*=background-image]){background:radial-gradient(circle at center, var(--primary) 0 18%, transparent 19%), #ebfbf5}.media-preview.analysis-dot.failed:not([style*=background-image]){background:radial-gradient(circle at center, var(--danger) 0 18%, transparent 19%), #fff0ee}.media-item strong,.media-item span{overflow-wrap:anywhere;display:block}.media-item span{color:var(--muted)}@media (max-width:1280px) and (min-width:861px){.cluster-topbar{--archive-label-left:634px;--archive-label-min-width:180px;--archive-label-right-space:210px}.cluster-actions{gap:24px;right:32px}}@media (max-width:1120px) and (min-width:861px){.cluster-topbar{--archive-label-right-space:18px;min-height:148px}.cluster-actions{justify-content:flex-end;top:94px;left:auto;right:32px}.cluster-stage{min-height:calc(100dvh - 148px)}}@media (max-width:860px){.cluster-topbar{min-height:148px}.cluster-topbar h1{top:10px;left:max(18px, env(safe-area-inset-left));overflow-wrap:anywhere;max-width:calc(100vw - 36px);font-size:2.7rem;line-height:1}.cluster-topbar p{top:62px;left:max(18px, env(safe-area-inset-left));white-space:nowrap;width:calc(100vw - 36px);max-width:calc(100vw - 36px);transform:none}.activity-log-history{display:none}.cluster-actions{top:94px;right:auto;left:max(18px, env(safe-area-inset-left));flex-wrap:wrap;justify-content:flex-start;gap:24px;max-width:calc(100vw - 36px)}.cluster-stage{min-height:calc(100dvh - 148px)}.constellation-object{width:96px;min-height:82px}.cluster-photo-grid{top:auto;left:14px;right:14px;bottom:max(18px, env(safe-area-inset-bottom));width:auto;max-height:min(48dvh,360px)}.photo-grid-close{top:-48px;right:0}.person-name-editor{width:calc(100% - 54px);min-height:44px;margin-bottom:14px}.person-name-label input{font-size:1.28rem;line-height:1.25}.photo-grid-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-lightbox{inset:148px 0 0}.photo-lightbox-close{top:12px;left:12px}.photo-lightbox-delete{top:12px;right:12px}.photo-lightbox-actions{flex-flow:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 24px);top:58px;right:12px}.photo-lightbox-actions button{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 24px);min-height:28px;overflow:hidden}.photo-lightbox-nav{width:46px;height:46px}.photo-lightbox-nav.previous{left:12px}.photo-lightbox-nav.next{right:12px}.photo-face-overlay{pointer-events:auto}.photo-face-label{color:#0000;opacity:0;background:0 0;width:100%;max-width:none;height:100%;padding:0;inset:0}.photo-face-label .photo-face-caret{display:none}.photo-face-overlay.is-controls-below .photo-face-label{width:100%;height:100%;inset:0}.photo-face-label.is-open{color:#fff;opacity:1;background:#808080c7;width:max-content;max-width:min(60vw,240px);height:auto;padding:0 2px;font-size:13px;line-height:18px;display:flex;top:auto;bottom:calc(100% + 6px);left:0}.photo-face-overlay.is-controls-below .photo-face-label.is-open{width:max-content;height:auto;inset:calc(100% + 6px) auto auto 0}.photo-face-label.is-open .photo-face-caret{display:block}.photo-face-overlay.is-open .photo-face-box{border-color:#ffffffdb;box-shadow:0 0 12.6px 2px #fff6}.photo-face-menu{z-index:24;top:auto;right:12px;bottom:max(12px, env(safe-area-inset-bottom));background:#fff;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);width:auto;max-height:min(42dvh,320px);padding:10px;position:fixed;left:12px;overflow:hidden;box-shadow:0 18px 40px #00000057}.photo-face-overlay.is-controls-below .photo-face-menu{top:auto}.photo-face-menu input{border-bottom:0;border-radius:4px;height:42px;min-height:42px;padding:0 12px;font-size:16px;line-height:42px}.photo-face-menu>span{padding:8px 2px 4px;font-size:11px;line-height:15px}.photo-face-menu-options{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;max-height:calc(min(42dvh,320px) - 86px);padding:4px 0 0;overflow-y:auto}.photo-face-menu button{border-radius:4px;min-height:40px;padding:0 10px;font-size:15px;line-height:20px}.photo-face-menu button strong,.photo-face-menu button span{font-size:15px}.object-art{scale:.82}.upload-modal-backdrop{padding:8px 12px 12px;padding-bottom:max(12px, env(safe-area-inset-bottom));align-items:end}.upload-modal{width:100%;max-height:calc(100dvh - 24px);padding:20px}.add-photos-modal{max-height:calc(100dvh - 20px);padding:18px 16px max(16px, env(safe-area-inset-bottom));border-bottom-right-radius:0;border-bottom-left-radius:0}.add-photos-modal .modal-close-button{width:40px;height:40px;top:8px;right:8px}.add-photos-modal .modal-close-button:before,.add-photos-modal .modal-close-button:after{width:21px;height:2px}.add-photos-modal .modal-eyebrow{margin-bottom:4px;margin-right:46px;font-size:.68rem}.add-photos-modal h2{margin-right:46px;font-size:1.45rem;line-height:1.1}.add-photos-modal .modal-copy{margin-top:8px;font-size:.95rem}.add-photos-modal .upload-dropzone{cursor:pointer;text-align:center;background:0 0;border:0;place-items:stretch stretch;min-height:0;margin-top:18px;padding:0}.add-photos-modal .upload-dropzone-title{display:none}.add-photos-modal .upload-dropzone-mobile-title{color:#fff;background:var(--primary);border:1px solid #0000;border-radius:8px;place-items:center;min-height:48px;padding:0 16px;font-weight:800;display:grid}.add-photos-modal .upload-dropzone small{max-width:none;color:var(--muted);margin-top:10px}.add-photos-modal .upload-dropzone.is-dragging .upload-dropzone-mobile-title{background:var(--primary-dark)}.add-photos-modal .upload-modal-note{margin-top:18px}.add-photos-modal .upload-modal-note .button{width:100%}.add-photos-modal .status-message{min-height:0;margin-top:14px}.add-photos-modal .upload-progress{min-height:76px;margin-top:18px;padding:14px}.settings-modal{width:100%;max-height:calc(100dvh - 20px);padding:18px 16px max(16px, env(safe-area-inset-bottom));border-bottom-right-radius:0;border-bottom-left-radius:0;grid-template-rows:auto auto minmax(0,1fr);gap:14px}.settings-modal .modal-close-button{width:40px;height:40px;top:8px;right:8px}.settings-modal .modal-close-button:before,.settings-modal .modal-close-button:after{width:21px;height:2px}.settings-modal .modal-eyebrow{margin-bottom:4px;margin-right:46px;font-size:.68rem}.settings-modal h2{margin-right:46px;font-size:1.45rem;line-height:1.1}.settings-modal h3{overflow-wrap:anywhere;font-size:.95rem}.settings-scroll-area{max-height:calc(100dvh - 128px - env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:0;padding-right:0}.settings-section{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:12px;padding:16px 0}.settings-section:last-child{border-bottom:0;padding-bottom:2px}.settings-modal .field{margin-top:8px;font-size:.86rem}.settings-modal input,.settings-modal select{min-height:46px;font-size:16px}.settings-session-row,.display-name-row,.cluster-management-row,.album-member-row{flex-direction:column;align-items:stretch}.settings-session-row span{overflow-wrap:anywhere;min-width:0}.display-name-row .button{width:100%}.cluster-management-row{background:0 0;border:0;padding:0}.cluster-management-actions,.album-member-actions{justify-content:flex-start;width:100%}.cluster-management-actions .button{flex:1 1 0;min-height:40px}.album-member-actions .button{flex:0 auto;min-height:34px;padding:0 10px;font-size:.86rem}.settings-modal .split-fields{grid-template-columns:1fr;gap:10px}.settings-modal .split-fields>.button{width:100%}.cluster-edit-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.cluster-edit-actions .button{min-width:0}.album-member-list{min-height:0;max-height:none;overflow:visible}.album-member-row{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;min-height:0;padding:12px 0}.album-member-row.is-pending{background:0 0}.account-danger-section{border-color:var(--line);background:0 0}.account-delete-button,.sign-out-button{width:100%}.main-upload-notice{bottom:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:calc(100vw - 24px)}.app-shell{padding:18px}.workspace-header,.workspace-grid,.session-panel,.sign-in-form,.split-fields{grid-template-columns:1fr}}@media (max-width:520px){.cluster-topbar{min-height:136px}.cluster-topbar h1{text-shadow:2px 0 #fff;font-size:2.15rem;top:14px}.cluster-topbar p{font-size:12px;top:56px}.cluster-actions{top:84px}.text-button{font-size:16px}.cluster-stage{min-height:calc(100dvh - 136px)}.photo-lightbox{inset:136px 0 0}.cluster-photo-grid{left:12px;right:12px;bottom:max(14px, env(safe-area-inset-bottom));max-height:min(50dvh,330px)}.upload-modal{padding:18px}.add-photos-modal,.settings-modal{max-height:calc(100dvh - 16px);padding:16px 14px max(14px, env(safe-area-inset-bottom))}.settings-section{padding:14px 0}.settings-scroll-area{max-height:calc(100dvh - 116px - env(safe-area-inset-bottom))}.confirm-actions{grid-template-columns:1fr;display:grid}.confirm-actions .button{width:100%}}@media (max-width:380px){.cluster-topbar h1{font-size:1.86rem}.cluster-actions{gap:18px}.photo-grid-tiles{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.face-debug-page{color:#111315;background:#f6f7f8;min-height:100vh;padding:28px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.face-debug-header{justify-content:space-between;align-items:end;gap:20px;max-width:1240px;margin:0 auto 18px;display:flex}.face-debug-header h1{letter-spacing:0;max-width:none;margin:0;font-size:clamp(2rem,5vw,4.2rem)}.face-debug-header p{color:#5f6872;margin:8px 0 0}.face-debug-eyebrow{text-transform:uppercase;font-size:.76rem;font-weight:850;color:#5865f2!important;margin:0 0 6px!important}.face-debug-session{color:#4c5662;background:#fff;border:1px solid #d9dee5;border-radius:8px;padding:10px 12px;font-size:.9rem}.face-debug-controls,.face-debug-metrics,.face-debug-panel{max-width:1240px;margin:0 auto 14px}.face-debug-controls{background:#fff;border:1px solid #dfe4ea;border-radius:8px;grid-template-columns:minmax(220px,320px) minmax(260px,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.face-debug-controls label,.face-debug-signin label{color:#4c5662;gap:6px;font-size:.86rem;font-weight:760;display:grid}.face-debug-controls select,.face-debug-controls input[type=range],.face-debug-signin input{width:100%}.face-debug-controls select,.face-debug-signin input{color:#111315;min-height:44px;font:inherit;background:#fff;border:1px solid #cfd7df;border-radius:6px;padding:0 12px}.face-debug-button{color:#fff;cursor:pointer;background:#111315;border:1px solid #111315;border-radius:6px;min-height:44px;padding:0 16px;font-weight:800}.face-debug-control-actions{justify-content:flex-end;align-items:end;gap:8px;display:flex}.face-debug-button.secondary{color:#111315;background:#eef2f4;border-color:#cfd7df}.face-debug-button.danger{color:#fff;background:#b42318;border-color:#9f1d14}.face-debug-button:disabled{cursor:not-allowed;opacity:.48}.face-debug-dialog-backdrop{z-index:90;background:#11131561;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.face-debug-dialog{background:#fff;border:1px solid #dfe4ea;border-radius:8px;width:min(100%,460px);padding:18px;box-shadow:0 18px 48px #1113152e}.face-debug-dialog h2{margin:0 0 8px;font-size:1.12rem}.face-debug-dialog p{color:#4c5662;margin:0 0 14px;line-height:1.5}.face-debug-dialog label{color:#4c5662;gap:7px;font-size:.86rem;font-weight:760;display:grid}.face-debug-dialog input{color:#111315;min-height:44px;font:inherit;background:#fff;border:1px solid #cfd7df;border-radius:6px;padding:0 12px}.face-debug-dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.face-debug-status{color:#4c5662;background:#fff;border:1px solid #dfe4ea;border-radius:8px;max-width:1240px;margin:0 auto 14px;padding:12px 14px}.face-debug-status.error{color:#b42318;background:#fff2f0;border-color:#f0c7c2}.face-debug-metrics,.face-debug-threshold-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.face-debug-threshold-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.face-debug-metric,.face-debug-panel{background:#fff;border:1px solid #dfe4ea;border-radius:8px}.face-debug-metric{gap:5px;padding:14px;display:grid}.face-debug-metric span,.face-debug-metric small,.face-debug-section-heading span,.face-debug-thumb small,.face-debug-cluster-row span{color:#66717d}.face-debug-metric strong{font-size:1.8rem;line-height:1}.face-debug-panel{padding:16px}.face-debug-section-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:14px;display:flex}.face-debug-section-heading h2{margin:0;font-size:1.08rem}.face-debug-filters{flex-wrap:wrap;gap:6px;display:flex}.face-debug-filters button{color:#4c5662;cursor:pointer;background:#fff;border:1px solid #d4dce4;border-radius:999px;min-height:34px;padding:0 12px}.face-debug-filters button.is-active{color:#fff;background:#111315;border-color:#111315}.face-debug-pair-list,.face-debug-cluster-list{gap:10px;display:grid}.face-debug-pair{background:#fbfcfd;border:1px solid #e3e7ec;border-left-width:5px;border-radius:8px;grid-template-columns:minmax(160px,1fr) minmax(150px,220px) minmax(160px,1fr);align-items:center;gap:12px;padding:10px;display:grid}.face-debug-pair.verdict-merge{border-left-color:#10b981}.face-debug-pair.verdict-split{border-left-color:#f59e0b}.face-debug-pair.verdict-conflict{border-left-color:#ef4444}.face-debug-pair.verdict-stable{border-left-color:#6366f1}.face-debug-pair.verdict-separate{border-left-color:#cbd5e1}.face-debug-pair-center{text-align:center;gap:6px;display:grid}.face-debug-pair-center span{color:#4c5662;text-transform:uppercase;font-size:.82rem;font-weight:800}.face-debug-pair-center strong{font-family:var(--font-pixel);font-size:1.4rem;font-weight:400}.face-debug-pair-center small{color:#66717d}.face-debug-thumb{grid-template-columns:86px minmax(0,1fr);align-items:center;column-gap:10px;display:grid}.face-debug-thumb strong,.face-debug-thumb small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.face-debug-thumb small{grid-column:2}.face-debug-thumb-image{aspect-ratio:1;background:#dde3ea 50%/cover no-repeat;border-radius:6px;grid-row:span 2;width:86px;position:relative;overflow:hidden}.face-debug-thumb-image span{border:2px solid #fff;position:absolute;box-shadow:0 0 0 1px #111315}.face-debug-secondary-metrics{margin-top:-2px}.face-debug-pair.is-labeled{background:#fff}.face-debug-pair-center em{color:#111315;text-transform:uppercase;background:#eef2f4;border:1px solid #d7dee6;border-radius:999px;justify-self:center;padding:3px 8px;font-size:.74rem;font-style:normal;font-weight:800}.face-debug-decision-buttons{flex-wrap:wrap;justify-content:center;gap:5px;margin-top:4px;display:flex}.face-debug-decision-buttons button{color:#3f4954;cursor:pointer;background:#fff;border:1px solid #d4dce4;border-radius:6px;min-height:30px;padding:0 9px;font-size:.75rem;font-weight:800}.face-debug-decision-buttons button:hover:not(:disabled),.face-debug-decision-buttons button.is-active{color:#fff;background:#111315;border-color:#111315}.face-debug-decision-buttons button:disabled{cursor:not-allowed;opacity:.42}.face-debug-cluster-row{border-top:1px solid #e5e9ef;grid-template-columns:minmax(120px,1.1fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(120px,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.face-debug-cluster-row:first-child{border-top:0}.face-debug-cluster-row code{color:#111315;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.face-debug-empty{color:#66717d;margin:0}@media (max-width:860px){.face-debug-page{padding:16px}.face-debug-header,.face-debug-section-heading{display:grid}.face-debug-controls,.face-debug-metrics,.face-debug-threshold-grid{grid-template-columns:1fr}.face-debug-control-actions,.face-debug-dialog-actions{grid-template-columns:1fr;display:grid}.face-debug-pair{grid-template-columns:1fr}.face-debug-pair-center{text-align:left}.face-debug-cluster-row{grid-template-columns:1fr;gap:6px}}
