:root{--bg: #fafafa;--surface: #ffffff;--surface-2: #f4f4f5;--border: rgba(9, 9, 11, .08);--border-strong: rgba(9, 9, 11, .16);--text: #18181b;--text-2: #52525b;--text-3: #a1a1aa;--accent: #2563eb;--invert-bg: #18181b;--invert-text: #fafafa;--shadow-md: 0 14px 30px -12px rgba(9, 9, 11, .22), 0 2px 6px rgba(9, 9, 11, .05);--canvas: #f1f1f1;--glass-bg: rgba(255, 255, 255, .92);--glass-border: rgba(9, 9, 11, .08);--glass-text: #18181b;--glass-shadow: 0 6px 18px -6px rgba(9, 9, 11, .22);--r-md: 12px;--page-max: 1680px;--gutter: clamp(16px, 3.5vw, 48px);--card-w: clamp(140px, 16vw, 168px);--ease: cubic-bezier(.2, .7, .2, 1)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg: #09090b;--surface: #131316;--surface-2: #1c1c20;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .16);--text: #fafafa;--text-2: #a1a1aa;--text-3: #71717a;--accent: #3b82f6;--invert-bg: #fafafa;--invert-text: #09090b;--shadow-md: 0 14px 30px -12px rgba(0, 0, 0, .7), 0 2px 6px rgba(0, 0, 0, .3)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg: #09090b;--surface: #131316;--surface-2: #1c1c20;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .16);--text: #fafafa;--text-2: #a1a1aa;--text-3: #71717a;--accent: #3b82f6;--invert-bg: #fafafa;--invert-text: #09090b;--shadow-md: 0 14px 30px -12px rgba(0, 0, 0, .7), 0 2px 6px rgba(0, 0, 0, .3)}}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body.modal-open{overflow:hidden;overscroll-behavior:none}svg{display:block}[hidden]{display:none!important}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:var(--page-max);height:var(--topbar-h);margin:0 auto;padding:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left));display:flex;align-items:center;gap:8px}.brand{display:flex;align-items:center;gap:10px;min-width:0;margin-right:12px}.brand-mark{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--invert-bg);color:var(--invert-text)}.brand-mark svg{width:16px;height:16px}.brand-name{font-size:15px;font-weight:650;letter-spacing:-.02em;white-space:nowrap;text-transform:uppercase}.cta{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:10px;background:var(--invert-bg);color:var(--invert-text);font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s,transform .15s}.cta:hover{opacity:.86}.cta:active{transform:translateY(1px)}.cta svg{width:15px;height:15px}.page{max-width:var(--page-max);margin:0 auto;padding:0 max(var(--gutter),env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left))}.hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;padding:clamp(12px,4vw,10px) 0 10px}.hero-text{flex:1 1 340px;min-width:0}.eyebrow{margin:0 0 6px;font-size:12.5px;font-weight:500;color:var(--text-3)}.hero-title{margin:0;font-size:clamp(26px,5vw,40px);font-weight:650;line-height:1.05;letter-spacing:-.035em}.hero-sub{margin:8px 0 0;max-width:min(62ch,100%);font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s,border-color .15s,transform .15s}.btn svg{width:16px;height:16px}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-text)}@media(hover:hover){.btn.primary:hover{opacity:.86}}.btn{text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{color:var(--text-3);cursor:default;background:transparent}.soon{padding:1px 6px;border-radius:999px;background:var(--surface-2);color:var(--text-3);font-size:10.5px;font-weight:600;letter-spacing:.02em}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search{flex:1 1 auto;max-width:380px;min-width:0;display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-3);transition:border-color .15s}.search:focus-within{border-color:var(--accent);color:var(--text-2)}.search svg{flex:none;width:15px;height:15px}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13px}.search input::placeholder{color:var(--text-3)}.search input::-webkit-search-cancel-button{cursor:pointer}.search-key{flex:none;padding:0 6px;border:1px solid var(--border-strong);border-radius:5px;font:inherit;font-size:11px;color:var(--text-3)}.search:focus-within .search-key,.search input:not(:placeholder-shown)~.search-key{display:none}@media(hover:none){.search-key{display:none}}.toolbar{position:sticky;top:var(--topbar-offset, var(--topbar-h));z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:22px calc(-1 * var(--gutter)) 0;padding:10px var(--gutter);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border);scroll-margin-top:var(--topbar-offset, var(--topbar-h))}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}@media(hover:hover){.chip:hover{border-color:var(--border-strong);color:var(--text)}}.chip[aria-pressed=true]{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-text)}.chip-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.select-wrap select{height:28px;padding:0 26px 0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.switch{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2);cursor:pointer}.switch[hidden]{display:none}.result-count{margin-left:auto;font-size:12.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.badge{display:inline-block;margin-right:6px;padding:0 6px;border-radius:5px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:10.5px;font-weight:650}.badge.muted{background:var(--surface-2);color:var(--text-3)}.footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3)}.toast{position:fixed;left:50%;bottom:calc(max(24px,env(safe-area-inset-bottom)) + 56px);z-index:80;padding:9px 16px;border-radius:999px;background:var(--invert-bg);color:var(--invert-text);font-size:13px;box-shadow:var(--shadow-md);opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .2s,transform .2s var(--ease)}.toast.show{opacity:1;transform:translate(-50%)}.section{padding-top:22px;scroll-margin-top:56px}.section-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-2);color:var(--text-2)}.section-icon svg{width:15px;height:15px}.section-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.section-count{font-size:12.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.grid{list-style:none;margin:0 calc(-1 * var(--gutter));padding:8px var(--gutter) 12px;display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.grid>.card{flex:none;width:var(--card-w);scroll-snap-align:start}.empty{display:flex;align-items:center;gap:10px;padding:18px 20px;border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-3);font-size:13px}.empty svg{width:16px;height:16px}.card{display:flex;flex-direction:column;gap:6px;min-width:0;cursor:pointer;outline:none}.card-media{position:relative;aspect-ratio:5 / 4;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.card-media:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--border);pointer-events:none}.card:focus-visible .card-media{transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(hover:hover){.card:hover .card-media{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card:hover .card-media img{transform:scale(1.03)}}.card:focus-visible .card-media{outline:2px solid var(--accent);outline-offset:3px}.card-media.is-image{background:var(--canvas)}.card-media img{display:block;width:100%;height:100%;padding:6px;object-fit:contain;transition:transform .4s var(--ease)}.card-media.fit-cover img{padding:0;object-fit:cover}.card-media.is-doc{display:grid;place-items:center}.doc-sheet{position:relative;width:50px;height:64px;border-radius:6px;background:#fff;box-shadow:0 1px 2px #09090b14,0 8px 18px -8px #09090b47;transition:transform .3s var(--ease)}.doc-sheet:before{content:"";position:absolute;top:0;right:0;width:16px;height:16px;border-bottom-left-radius:4px;background:linear-gradient(225deg,var(--surface-2) 50%,#e4e4e7 50%)}.doc-sheet:after{content:"";position:absolute;top:19px;left:9px;right:9px;height:20px;background:repeating-linear-gradient(to bottom,#e4e4e7 0 2px,transparent 2px 7px)}.doc-ext{position:absolute;left:8px;bottom:8px;padding:2px 6px;border-radius:4px;background:var(--doc-color, #52525b);color:#fff;font-size:8.5px;font-weight:700;letter-spacing:.05em}.card:focus-visible .doc-sheet{transform:translateY(-3px) rotate(-2deg)}@media(hover:hover){.card:hover .doc-sheet{transform:translateY(-3px) rotate(-2deg)}}.card-actions{position:absolute;right:10px;bottom:10px;z-index:1;display:flex;gap:6px;opacity:0;transform:translateY(4px);transition:opacity .2s var(--ease),transform .2s var(--ease)}.card:hover .card-actions,.card:focus-within .card-actions{opacity:1;transform:none}@media(hover:none){.card-actions{opacity:1;transform:none}.card-media.is-doc .doc-sheet{margin-bottom:34px}}.card-action{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:9px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--glass-text);box-shadow:var(--glass-shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:transform .15s,background-color .15s}.card-action:hover{transform:translateY(-1px);background:#fff}.card-action.primary{background:#18181b;border-color:#18181b;color:#fff}.card-action.primary:hover{background:#000}.card-action svg{width:15px;height:15px}.card-body{min-width:0;padding:0 2px}.card-name{font-size:12.5px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{margin-top:2px;font-size:11.5px;color:var(--text-3)}@media(max-width:560px){.hero{gap:12px}.hero-text{flex-basis:100%}.search{max-width:none}.chips{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none}.result-count{margin-left:0}.grid{gap:10px}.grid>.card{width:clamp(130px,42vw,180px)}}.modal-backdrop{position:fixed;inset:0;z-index:50;display:none}.modal-backdrop.open{display:block;animation:viewer-in .18s ease}@keyframes viewer-in{0%{opacity:0}to{opacity:1}}.modal{position:relative;display:flex;flex-direction:column;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:var(--canvas);color:var(--glass-text)}.modal-header{z-index:5;display:flex;align-items:center;gap:6px}.modal-title{flex:1 1 auto;min-width:0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-body{position:relative;flex:1 1 auto;min-height:0}.modal-body iframe{display:block;width:100%;height:100%;border:0}.icon-btn{flex:none;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;text-decoration:none;transition:background-color .15s,transform .15s}.icon-btn svg{width:16px;height:16px}.glass{border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--glass-text);box-shadow:var(--glass-shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal.pdf-mode,.modal.dwg-mode,.modal.gallery-mode,.modal.model-mode{background:#28282c}.modal.model-mode .modal-header{display:none}.modal.model-mode .modal-body iframe{background:#28282c}.modal.pdf-mode .modal-header,.modal.dwg-mode .modal-header,.modal.gallery-mode .modal-header{flex:none;height:52px;padding:0 10px 0 18px;background:#18181b;color:#fafafa;border-bottom:1px solid rgba(255,255,255,.06)}.modal.pdf-mode .icon-btn:hover,.modal.dwg-mode .icon-btn:hover,.modal.gallery-mode .icon-btn:hover{background:#ffffff1a}.pdf-scroll{position:absolute;inset:0;overflow:auto;padding:16px 12px 40px;background:#3a3a40;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y}.pdf-pages{display:flex;flex-direction:column;align-items:flex-start;width:max-content;min-width:100%;gap:12px}.pdf-page{flex:none;margin:0 auto;background:#fff;box-shadow:0 2px 10px #00000059}.pdf-page canvas{display:block;width:100%;height:100%}.dwg-stage{position:absolute;inset:0;background:#1b1b1f;overflow:hidden;cursor:grab;touch-action:none;overscroll-behavior:contain}.dwg-stage.panning{cursor:grabbing}.dwg-stage>svg{width:100%;height:100%;-webkit-user-select:none;user-select:none}.dwg-status{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:13px;color:#a1a1aa;background:#1b1b1f}.viewer-zoom{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;gap:2px;padding:3px;border-radius:12px}.modal.pdf-mode .modal-header,.modal.dwg-mode .modal-header,.modal.gallery-mode .modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px}.modal-title{grid-column:1}.modal-header .viewer-zoom{grid-column:2}.modal-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:2px}.modal-header .viewer-zoom{position:static;transform:none;gap:2px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.modal-header .gallery-zoom-btn{width:36px;height:36px;border-radius:10px;color:inherit;transition:background-color .15s}.modal-header .gallery-zoom-btn:hover{background:#ffffff1a}.modal-header .gallery-zoom-btn:disabled{opacity:.35}.modal-header .gallery-zoom-btn:disabled:hover{background:transparent}.modal-header .gallery-zoom-btn svg{width:16px;height:16px}.modal-header .gallery-zoom-level{min-width:48px;font-size:12.5px;color:#a1a1aa}.modal-header .gallery-zoom-sep{height:16px;margin:0 6px;background:#ffffff24}@media(pointer:coarse){.modal-header .gallery-zoom-btn{width:44px;height:44px}}@media(max-width:760px){.modal.pdf-mode .modal-header,.modal.dwg-mode .modal-header,.modal.gallery-mode .modal-header{grid-template-columns:minmax(0,1fr) auto}.modal-header:has(.viewer-zoom) .modal-title{display:none}.modal-header .viewer-zoom{grid-column:1;justify-self:center}.modal-actions{grid-column:2}}.gallery-layout{display:flex;width:100%;height:100%}.gallery-main{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;padding:20px 76px 24px;background:#3a3a40;overflow:hidden}.gallery-main img{background:#fff;box-shadow:0 2px 10px #00000059;max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;transition:transform .12s ease}.gallery-main{touch-action:none;overscroll-behavior:contain}.gallery-main.zoomed{cursor:grab}.gallery-main.zoomed.panning{cursor:grabbing}.gallery-main.panning img{transition:none}.gallery-nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:999px;transform:translateY(-50%);cursor:pointer;transition:background-color .15s}.gallery-nav:hover{background:#fff}.gallery-nav.prev{left:16px}.gallery-nav.next{right:16px}.gallery-nav svg{width:18px;height:18px}.gallery-nav[hidden]{display:none}.gallery-zoom-btn{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:inherit;cursor:pointer}.gallery-zoom-btn:hover{background:#09090b0f}.gallery-zoom-btn:disabled{opacity:.3;cursor:default}.gallery-zoom-btn:disabled:hover{background:transparent}.gallery-zoom-btn svg{width:16px;height:16px}.gallery-zoom-level{min-width:44px;text-align:center;font-size:12px;font-weight:500;color:#52525b;font-variant-numeric:tabular-nums}.gallery-zoom-sep{width:1px;height:18px;margin:0 3px;background:#09090b1a}.gallery-strip{order:-1;flex:none;width:156px;height:100%;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;background:#28282c;border-right:1px solid rgba(255,255,255,.06);scrollbar-width:thin}.gallery-thumb{flex:none;width:100%;aspect-ratio:4 / 3;padding:0;border:0;border-radius:9px;overflow:hidden;background:#3a3a40;box-shadow:0 0 0 1px #ffffff14;opacity:.65;cursor:pointer;transition:opacity .15s,box-shadow .15s}.gallery-thumb:hover{opacity:1}.gallery-thumb.active{opacity:1;box-shadow:0 0 0 2px #3b82f6}.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:760px){.gallery-layout{flex-direction:column}.gallery-strip{order:1;width:100%;height:calc(80px + env(safe-area-inset-bottom));padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;border-top:1px solid rgba(255,255,255,.06)}.gallery-thumb{width:auto;height:100%}.gallery-main{min-height:0;padding:12px 12px 60px}.gallery-nav{width:36px;height:36px}.gallery-nav.prev{left:8px}.gallery-nav.next{right:8px}.modal.pdf-mode .modal-header,.modal.dwg-mode .modal-header,.modal.gallery-mode .modal-header{height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}}@media(pointer:coarse){.chip,.cta{height:40px}.card-action{width:40px;height:40px}.icon-btn{width:44px;height:44px}.gallery-zoom-btn{width:40px;height:40px}.gallery-nav{width:44px;height:44px}.gallery-thumb{min-width:56px}}.card,button,a,.chip{touch-action:manipulation}.modal.pdf-mode .modal-header,.modal.dwg-mode .modal-header,.modal.gallery-mode .modal-header{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.pdf-scroll{padding-bottom:calc(40px + env(safe-area-inset-bottom))}@media(max-width:760px){.modal.pdf-mode .modal-header,.modal.dwg-mode .modal-header,.modal.gallery-mode .modal-header{gap:4px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.modal-header .viewer-zoom{min-width:0;max-width:100%}.modal-header .gallery-zoom-btn{width:40px;height:40px}.modal-header .gallery-zoom-level{min-width:42px;font-size:12px}.modal-header .gallery-zoom-sep{margin:0 3px}.modal-actions .icon-btn{width:40px;height:40px}.card:active .card-media{transform:scale(.98)}.card-action{width:34px;height:34px;border-radius:8px}.card-actions{right:6px;bottom:6px}.card-name{font-size:12.5px}}@media(max-width:380px){.modal-header .gallery-zoom-sep{display:none}.modal-header .gallery-zoom-btn{width:36px;height:36px}.modal-header .gallery-zoom-level{min-width:38px}.cta{padding:0 11px}}.theme-toggle{flex:none;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;transition:border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}@media(pointer:coarse){.theme-toggle{width:40px;height:40px}}.topbar-spacer{flex:1 1 auto}a.brand{color:inherit;text-decoration:none}.hero-compact{padding-bottom:8px}.input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea.input{resize:vertical}.link-btn{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:12.5px;cursor:pointer}.gate{max-width:440px;margin:clamp(48px,14vh,140px) auto 0;text-align:center}.gate[hidden]{display:none}.gate-title{margin:0 0 8px;font-size:24px;font-weight:650;letter-spacing:-.03em}.gate-text{margin:0 0 20px;color:var(--text-2)}.gate-form{display:flex;flex-direction:column;gap:10px}.gate-form .btn{justify-content:center}.gate-note{min-height:1.5em;margin:14px 0 0;font-size:13px;color:var(--text-2)}.date-filter{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-3)}.date-filter input{height:28px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:12.5px}.day{padding-top:24px}.day-head{display:flex;align-items:baseline;gap:8px}.day-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.day-note{margin:6px 0 4px;max-width:70ch}.day-note-text{margin:0 0 4px;font-size:13.5px;color:var(--text-2);white-space:pre-wrap}.day-note-actions{display:flex;gap:8px;margin-top:8px}.day-note-actions .btn{height:32px}.photo-grid{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.photo{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;outline:none}.photo:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.photo img:not([src]){visibility:hidden}@media(hover:hover){.photo:hover img{transform:scale(1.04)}}.photo-tags{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet{width:min(560px,100vw);max-height:100dvh;margin:auto;padding:0;border:1px solid var(--border-strong);border-radius:16px;background:var(--bg);color:var(--text);box-shadow:var(--shadow-md)}.sheet::backdrop{background:#00000080}.sheet-form{display:flex;flex-direction:column;max-height:100dvh}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px 18px}.sheet-head h2{margin:0;font-size:16px;font-weight:600}.sheet-body{flex:1 1 auto;overflow-y:auto;padding:4px 18px 12px;display:flex;flex-direction:column;gap:14px}.sheet-foot{display:flex;align-items:center;gap:12px;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border)}.sheet-progress{flex:1;font-size:12.5px;color:var(--text-2)}.sheet .chips{flex-wrap:wrap;overflow:visible}@media(max-width:560px){.sheet{width:100vw;max-width:none;height:100dvh;border-radius:0;border:0}.sheet-form{height:100%}}.pick-row{display:flex;flex-wrap:wrap;gap:8px}.file-btn{cursor:pointer}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12.5px;font-weight:600;color:var(--text-2)}.form-error{min-height:1.2em;margin:0;font-size:13px;color:#dc2626}.upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.upload-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.upload-item.is-error{border-color:#dc2626}.upload-item img{flex:none;width:64px;height:64px;border-radius:8px;object-fit:cover}.upload-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.upload-name{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-body .input{min-height:32px;padding:4px 8px;font-size:13px}.upload-hint{font-size:11.5px;color:var(--text-3)}.upload-item.is-error .upload-hint{color:#dc2626}.lb{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:#18181b;color:#fafafa}.lb[hidden]{display:none}.lb-bar{flex:none;display:flex;align-items:center;gap:6px;height:52px;padding:0 10px 0 18px;border-bottom:1px solid rgba(255,255,255,.06)}.lb-title{flex:1;min-width:0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb .icon-btn:hover{background:#ffffff1a}.lb-stage{position:relative;flex:1 1 auto;min-height:0;display:grid;place-items:center}.lb-stage img{max-width:100%;max-height:100%;object-fit:contain}.lb-meta{flex:none;padding:10px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.06);font-size:13px}.lb-caption{margin:0 0 6px}.lb-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.lb-tags .badge{margin:0;background:#ffffff1f;color:#fafafa}.lb-by{margin-left:auto;font-size:12px;color:#a1a1aa}.pswp{--pswp-bg: #28282c;--pswp-placeholder-bg: #28282c}.pswp-header{position:absolute;top:0;left:0;right:0;z-index:12;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;height:52px;padding:0 max(10px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));background:#18181b;color:#fafafa;border-bottom:1px solid rgba(255,255,255,.06);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pswp-header .icon-btn:hover{background:#ffffff1a}.pswp-header .icon-btn.active{color:#60a5fa}.pswp-header .icon-btn[hidden]{display:none}.pswp-header .icon-btn{color:inherit}@media(max-width:760px){.pswp-header{grid-template-columns:minmax(0,1fr) auto;height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);gap:4px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.pswp-header:has(.viewer-zoom) .modal-title{display:none}.pswp-header .viewer-zoom{grid-column:1;justify-self:center}.pswp-header .modal-actions{grid-column:2}.pswp-header .modal-actions .icon-btn{width:40px;height:40px}}.icon-btn.text-btn{width:auto;padding:0 10px;font-size:12px;font-weight:600;letter-spacing:.03em}.pswp__thumbs{position:absolute;left:0;right:0;bottom:0;z-index:11;display:flex;gap:8px;padding:24px 12px max(12px,env(safe-area-inset-bottom));overflow-x:auto;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);scrollbar-width:none}.pswp__thumbs[hidden]{display:none}.pswp__thumbs::-webkit-scrollbar{display:none}.pswp__thumb{flex:none;width:84px;height:56px;padding:0;border:0;border-radius:8px;overflow:hidden;background:#27272a;opacity:.7;cursor:pointer;transition:opacity .15s,box-shadow .15s}.pswp__thumb:hover{opacity:1}.pswp__thumb.active{opacity:1;box-shadow:0 0 0 2px #3b82f6}.pswp__thumb img{display:block;width:100%;height:100%;object-fit:cover}@media(pointer:coarse){.pswp__thumb{width:72px;height:48px}}.pswp__img{background:#f4f4f5}:root{--paper: #f4f4f5;--r-lg: 18px;--topbar-h: 60px}:root[data-theme=dark]{--paper: #e9e9ec}@media(prefers-color-scheme:dark){:root:not([data-theme]){--paper: #e9e9ec}}.topnav,.folder-nav{display:flex;align-items:center;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar,.folder-nav::-webkit-scrollbar{display:none}.topnav a,.folder-nav a{flex:none;white-space:nowrap;padding:7px 11px;border-radius:8px;color:var(--text-2);font-size:13.5px;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s}.topnav a:hover,.folder-nav a:hover{color:var(--text);background:var(--surface-2)}.landing .hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,62vh,620px);margin-top:20px;padding:0;border-radius:var(--r-lg);overflow:hidden;background:#18181b;color:#fff;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;filter:contrast(1.06) saturate(1.12) brightness(1.03);opacity:0;transform:scale(1.03);transition:opacity .6s ease,transform 1.2s var(--ease)}.hero-media.loaded img{opacity:1;transform:none}.hero-content{width:100%;padding:clamp(22px,4.5vw,52px)}.landing .hero-title{margin:0;font-size:clamp(38px,6.4vw,72px);font-weight:700;line-height:1;letter-spacing:-.045em;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4),0 4px 28px rgba(0,0,0,.35)}.landing .hero-sub{margin:12px 0 0;max-width:none;font-size:14.5px;color:#fffffff2;font-weight:500;text-shadow:0 1px 1px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.5),0 2px 14px rgba(0,0,0,.4);display:flex;flex-wrap:wrap;gap:2px 0}.landing .hero-sub span+span:before{content:"·";margin:0 10px;opacity:.6}.btn.light{background:#fff;border-color:#fff;color:#18181b}@media(hover:hover){.btn.light:hover{background:#f4f4f5}}.btn.glass-btn{background:#ffffff24;border-color:#ffffff4d;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(hover:hover){.btn.glass-btn:hover{background:#ffffff3d}}.library{margin-top:52px;scroll-margin-top:var(--topbar-offset, var(--topbar-h))}.landing .toolbar{justify-content:space-between;gap:10px 16px;margin-top:14px;padding:10px var(--gutter)}.tabs{display:flex;gap:2px;padding:3px;border-radius:11px;background:var(--surface-2);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,color .15s}.tab:hover{color:var(--text)}.tab[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014,0 0 0 1px var(--border)}.tab-count{font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.toolbar-filters{display:flex;align-items:center;gap:8px}.landing .search{width:240px;flex:0 1 240px}.landing .select-wrap select{height:36px;border-radius:10px;padding:0 28px 0 12px}.landing .section{padding-top:28px;scroll-margin-top:calc(var(--topbar-offset, var(--topbar-h)) + 60px)}.landing .section-head{align-items:baseline;gap:10px;margin-bottom:8px}.landing .section-title{margin:0;font-size:18px;font-weight:650;letter-spacing:-.02em}.landing .section-count{font-size:13px}.landing .grid{--per-row: 8;--gap: 14px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--per-row) - 1) * var(--gap)) / var(--per-row));gap:var(--gap);margin:0 calc(-1 * var(--gutter));padding:6px var(--gutter) 10px;scroll-padding-inline:var(--gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l, 0px),#000 calc(100% - var(--fade-r, 0px)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l, 0px),#000 calc(100% - var(--fade-r, 0px)),transparent 100%)}.landing .grid::-webkit-scrollbar{display:none}.landing .grid.fade-start{--fade-l: var(--gutter)}.landing .grid.fade-end{--fade-r: var(--gutter)}.landing .grid>.card{width:auto;min-width:0;scroll-snap-align:start}.landing .grid.grid-photo{--per-row: 6}@media(max-width:1440px){.landing .grid{--per-row: 7}.landing .grid.grid-photo{--per-row: 5}}@media(max-width:1200px){.landing .grid{--per-row: 6}.landing .grid.grid-photo{--per-row: 4}}@media(max-width:960px){.landing .grid{--per-row: 5}.landing .grid.grid-photo{--per-row: 3}}@media(max-width:720px){.landing .grid{--per-row: 2.4;--gap: 12px}.landing .grid.grid-photo{--per-row: 1.6}}@media(max-width:400px){.landing .grid{--per-row: 2.25}.landing .grid.grid-photo{--per-row: 1.3}}.landing .row-nav{display:none;margin-left:auto;gap:4px}@media(hover:hover)and (pointer:fine){.landing .row-nav{display:flex}}.landing .row-nav[hidden]{display:none}.row-nav-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);cursor:pointer;transition:border-color .15s,color .15s}.row-nav-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.row-nav-btn:disabled{opacity:.35;cursor:default}.row-nav-btn svg{width:15px;height:15px}.landing .card{gap:8px;cursor:default}.landing .card-media{display:block;width:100%;padding:0;border:0;aspect-ratio:4 / 3;border-radius:12px;background:var(--paper);font:inherit;cursor:pointer}.landing .card-media.is-photo{aspect-ratio:16 / 10}.landing .card-media img{padding:8px;object-fit:contain}.landing .card-media.is-photo img{padding:0;object-fit:cover}.landing .card-media.is-doc{display:grid;place-items:center}.landing .card-media .doc-sheet{margin:0}.landing .card-media:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(hover:hover){.landing .card-media:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.landing .card-media:hover img{transform:scale(1.03)}.landing .card-media:hover .doc-sheet{transform:translateY(-3px) rotate(-2deg)}}.card-flags{position:absolute;top:8px;left:8px;z-index:1;display:flex;gap:4px}.flag{padding:2px 7px;border-radius:6px;background:#fffffff0;color:#18181b;font-size:10.5px;font-weight:650;letter-spacing:.02em;box-shadow:0 1px 3px #00000026}.flag.new{background:var(--accent);color:#fff}.flag.muted{background:#e4e4e7;color:#52525b}.landing .card-body{display:flex;align-items:flex-start;gap:8px;padding:0 2px}.card-text{flex:1;min-width:0}.landing .card-name{display:block;font-size:13.5px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing .card-meta{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:12px;white-space:nowrap;overflow:hidden}.card-detail{min-width:0;overflow:hidden;text-overflow:ellipsis}.type-pill{flex:none;padding:0 5px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-2);font-size:9.5px;font-weight:650;line-height:15px;letter-spacing:.04em}.card-download{flex:none;display:grid;place-items:center;width:32px;height:32px;margin:-4px -4px 0 0;border-radius:8px;color:var(--text-3);transition:background-color .15s,color .15s}.card-download:hover{background:var(--surface-2);color:var(--text)}.card-download svg{width:16px;height:16px}.landing .footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:72px;padding:28px 0 8px;font-size:13px}.footer-brand{display:flex;flex-direction:column;gap:2px}.footer-brand strong{color:var(--text);font-size:14px;font-weight:650}.footer-meta{display:flex;align-items:center;gap:18px}.footer-meta a{color:var(--text-2);text-decoration:none}.footer-meta a:hover{color:var(--text)}@media(max-width:720px){.cta{padding:0 11px}.cta span{display:none}.landing .hero-sub{font-size:13px;gap:2px 14px}.landing .hero-sub span+span:before{display:none}.landing .hero{margin-top:12px;min-height:clamp(380px,68vh,560px);border-radius:16px}.library{margin-top:36px}.landing .toolbar{flex-direction:column;align-items:stretch}.toolbar-filters{width:100%}.landing .search{flex:1 1 auto;width:auto;max-width:none}.landing .footer{flex-direction:column}}.hero-compact{align-items:flex-end}#viewTabs{max-width:100%}.view{padding-bottom:24px}.view .toolbar{margin-top:14px}.live-dot{width:8px;height:8px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 25%,transparent)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.field-hint{margin:0;font-size:12px;color:var(--text-3)}.field-hint:empty{display:none}.sheet-wide{width:min(720px,100vw)}fieldset.issue-fields{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:14px}.btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.day-facts{margin:0 0 4px;font-size:12.5px;font-weight:600;color:var(--text-2)}.cmp{margin-top:16px}.cmp-stage{position:relative;width:100%;max-width:min(100%,calc(70vh * 4 / 3));max-height:70vh;aspect-ratio:4 / 3;margin:0 auto;overflow:hidden;border-radius:var(--r-md);background:#111;--pos: 50%}.cmp-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.cmp-stage img:not([src]){visibility:hidden}.cmp-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}.cmp-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 6px #00000080;pointer-events:none}.cmp-handle span{position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0006}.cmp-handle span:before{content:"‹ ›";position:absolute;inset:0;display:grid;place-items:center;color:#18181b;font-size:14px;font-weight:700;letter-spacing:2px}.cmp-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.cmp-stage:focus-within .cmp-handle span{outline:2px solid var(--accent)}.cmp-label{position:absolute;top:10px;padding:3px 8px;border-radius:6px;background:#0009;color:#fff;font-size:12px;pointer-events:none}.cmp-label.left{left:10px}.cmp-label.right{right:10px}.cmp-label:empty{display:none}.cmp-pickers{display:grid;gap:12px;margin-top:16px}.cmp-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.cmp-strip{position:relative;list-style:none;margin:0;padding:2px 2px 6px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}.cmp-thumb button{position:relative;display:block;width:96px;aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--surface-2);cursor:pointer}.cmp-thumb img{display:block;width:100%;height:100%;object-fit:cover}.cmp-thumb img:not([src]){visibility:hidden}.cmp-thumb.is-selected button{border-color:var(--accent)}.cmp-thumb-date{position:absolute;left:0;right:0;bottom:0;padding:10px 4px 3px;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);color:#fff;font-size:10.5px;text-align:center}.tl-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:min(100%,calc(70vh * 4 / 3));margin:12px auto 0}.tl-scrub{flex:1 1 160px;accent-color:var(--accent)}.log-stats{margin-left:0;margin-right:auto}.log-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.log-card{padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.log-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.log-facts{font-size:12.5px;font-weight:600;color:var(--text-2)}.log-text{margin:6px 0 0;font-size:13.5px;color:var(--text-2);white-space:pre-wrap;max-width:80ch}.log-materials strong{color:var(--text);font-weight:600}.log-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:12px;color:var(--text-3)}.log-by{margin-right:auto}.issue-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin-top:14px}.issue-list .empty{grid-column:1 / -1}.issue-card{display:flex;gap:12px;width:100%;padding:12px;border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s}.issue-card:hover{border-color:var(--border-strong)}.issue-card.priority-high{border-left-color:#dc2626}.issue-card.priority-low{border-left-color:var(--border)}.issue-thumb{flex:none;width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--surface-2)}.issue-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.issue-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.issue-title{font-size:14px;font-weight:600;line-height:1.3}.issue-meta{font-size:12px;color:var(--text-3)}.issue-meta.is-overdue{color:#dc2626}.status-pill{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:650}.status-open{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309}.status-in_progress{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.status-resolved{background:color-mix(in srgb,#16a34a 16%,transparent);color:#15803d}.priority-pill{background:color-mix(in srgb,#dc2626 14%,transparent);color:#dc2626}:root[data-theme=dark] .status-open{color:#fbbf24}:root[data-theme=dark] .status-resolved{color:#4ade80}.issue-photos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.issue-photos:empty{display:none}.issue-photo{position:relative}.issue-photo img{display:block;width:72px;height:72px;border-radius:8px;object-fit:cover;background:var(--surface-2)}.issue-photo-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--invert-bg);color:var(--invert-text);font-size:14px;line-height:1;cursor:pointer}.pin-stage{position:relative;width:fit-content;max-width:100%;margin:6px auto 0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--paper, #f4f4f5)}.pin-stage img{display:block;max-width:100%;max-height:60vh;width:auto;height:auto;cursor:crosshair}.issue-fields:disabled .pin-stage img{cursor:default}.pin{position:absolute;width:22px;height:22px;margin:-22px 0 0 -11px;border-radius:50% 50% 50% 0;background:#dc2626;border:2px solid #fff;transform:rotate(-45deg);box-shadow:0 2px 6px #0006;pointer-events:none}.pin-actions{display:flex;gap:16px;margin-top:6px}.pin-actions a.link-btn{text-decoration:none}.comments{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.comments h3{margin:0}.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.comment-empty{font-size:12.5px;color:var(--text-3)}.comment-head{display:flex;gap:8px;font-size:12px;color:var(--text-3)}.comment-head strong{color:var(--text);font-weight:600}.comment-body{margin:2px 0 0;font-size:13.5px;white-space:pre-wrap}.comment.is-status .comment-body{color:var(--text-2);font-style:italic}.comment-new{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.live-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.live-card{padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);transition:box-shadow .3s}.live-card.is-highlighted{box-shadow:0 0 0 2px var(--accent)}.live-who{margin:6px 0 0;font-size:13.5px}.live-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.live-history-title{margin:18px 0 0;font-size:13px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.live-pill-requested{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309}.live-pill-live{background:#dc2626;color:#fff}:root[data-theme=dark] .live-pill-requested{color:#fbbf24}.live-room{z-index:70}.live-stage{background:#000}.live-stage video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.live-stage video.is-mirrored{transform:scaleX(-1)}.live-status{position:absolute;left:50%;bottom:16px;max-width:min(520px,calc(100% - 32px));margin:0;padding:8px 14px;border-radius:10px;background:#000000b3;color:#fafafa;font-size:13px;text-align:center;transform:translate(-50%)}.live-badge{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;background:#ffffff24;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.live-badge.is-live{background:#dc2626}.live-controls{flex:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 14px max(14px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.06)}.live-controls .btn:not(.danger){background:#ffffff1a;border-color:#ffffff29;color:#fafafa}.live-controls .btn[aria-pressed=true]{background:#fafafa;color:#18181b}@media(max-width:720px){#addBtn span{display:none}.hero-compact{flex-direction:column;align-items:stretch}.issue-list{grid-template-columns:1fr}.cmp-thumb button{width:76px}}.landing .hero-3d{position:absolute;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);height:44px;padding:0 18px;border-radius:12px;font-size:14px}.landing .toolbar{margin-top:24px;padding-top:8px;padding-bottom:8px}.landing .toolbar{flex-wrap:nowrap}.landing .toolbar-filters{flex:none;margin-left:auto}.result-count{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13px;color:var(--text-3)}.link-btn{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:550;cursor:pointer}.link-btn:hover{text-decoration:underline}.empty .link-btn{margin-left:4px}@media(max-width:720px){.landing .search{width:auto;flex:1 1 140px}.landing .toolbar-filters{width:100%}.result-count:empty{display:none}}.topnav a[aria-current],.folder-nav a[aria-current]{color:var(--text);background:var(--surface-2)}@media(max-width:720px){.topnav:empty{display:none}.topbar-inner{flex-wrap:wrap;height:auto;min-height:var(--topbar-h);row-gap:0;padding-top:4px;padding-bottom:0}.topbar-inner>.topnav+*{margin-left:auto}.topnav{order:5;flex:0 0 100%;gap:4px;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter) 8px;overflow-x:auto;scrollbar-width:none}.topnav a,.folder-nav a{padding:6px 12px;border:1px solid var(--border);border-radius:999px;font-size:13px}.topnav a[aria-current],.folder-nav a[aria-current]{border-color:var(--border-strong)}.folder-nav{gap:4px;flex:0 0 auto}.landing .hero-3d{top:14px;bottom:auto;right:14px;height:38px;padding:0 14px}}.row-all{height:30px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);font:inherit;font-size:12.5px;font-weight:550;cursor:pointer}.row-all:hover{border-color:var(--border-strong);color:var(--text)}.landing .row-nav{display:flex;align-items:center}.landing .row-nav .row-nav-btn{display:none}@media(hover:hover)and (pointer:fine){.landing .row-nav .row-nav-btn{display:grid}}.landing .grid.grid-wrap{grid-auto-flow:row;grid-template-columns:repeat(var(--per-row-whole, 6),minmax(0,1fr));overflow-x:visible;-webkit-mask-image:none;mask-image:none}.landing .grid.grid-wrap{--per-row-whole: 7}.landing .grid.grid-photo.grid-wrap{--per-row-whole: 5}@media(max-width:1440px){.landing .grid.grid-wrap{--per-row-whole: 6}.landing .grid.grid-photo.grid-wrap{--per-row-whole: 4}}@media(max-width:1200px){.landing .grid.grid-wrap{--per-row-whole: 5}.landing .grid.grid-photo.grid-wrap{--per-row-whole: 3}}@media(max-width:960px){.landing .grid.grid-wrap{--per-row-whole: 4}.landing .grid.grid-photo.grid-wrap{--per-row-whole: 3}}@media(max-width:720px){.landing .grid.grid-wrap,.landing .grid.grid-photo.grid-wrap{--per-row-whole: 2}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img,.landing .card-media,.landing .card-media img{transition:none}}@media(max-width:440px){.brand{margin-right:0}.brand-name{display:none}.topbar-inner>.btn span{display:none}.topbar-inner>.btn{padding:0 11px}}.account{position:relative;flex:none}.account-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:border-color .15s}.account-btn:hover,.account-btn[aria-expanded=true]{border-color:var(--border-strong)}@media(pointer:coarse){.account-btn{width:40px;height:40px}}.account-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:40;min-width:220px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-md)}.account-who{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;overflow-wrap:anywhere}.account-who span{font-size:12.5px;color:var(--text-3)}.account-who .account-role{color:var(--text-2)}.account-item{display:block;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;font-size:13.5px;text-align:left;text-decoration:none;cursor:pointer}.account-item:hover,.account-item:focus-visible{background:var(--surface-2)}.gate .btn+.btn,.gate-note+.btn{margin-top:4px}.google-btn{gap:10px;border-color:var(--border-strong);background:var(--surface);color:var(--text)}.google-btn:hover:not(:disabled){background:var(--surface-2)}.gate-form .google-btn{justify-content:center;height:44px}.users{max-width:760px;margin:0 auto;padding-bottom:16px}.users-section{margin-top:28px}.users-section h2{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;font-size:16px;font-weight:650}.users-count{font-size:12.5px;font-weight:500;color:var(--text-3)}.users-note{color:var(--text-3);font-size:13.5px}.users-banner{margin:0 0 12px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);font-size:13.5px}.users-banner.ok{border-color:color-mix(in srgb,#16a34a 45%,var(--border))}.users-banner.bad{border-color:color-mix(in srgb,#dc2626 55%,var(--border));color:#dc2626}.people{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.person{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.person.is-highlighted{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.person-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);font-weight:650}.person-text{flex:1;min-width:0}.person-name{display:flex;align-items:center;gap:8px;font-weight:600;overflow-wrap:anywhere}.person-you{padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:600}.person-meta{font-size:12.5px;color:var(--text-3);overflow-wrap:anywhere}.person-actions{display:flex;align-items:center;gap:8px;flex:none}@media(max-width:640px){.person{flex-wrap:wrap}.person-actions{width:100%}.person-actions .select-wrap{flex:1}.person-actions select{width:100%}}.gate-form .gate-form{margin:0}.gate-or{display:flex;align-items:center;gap:12px;margin:2px 0;color:var(--text-3);font-size:12.5px}.gate-or:before,.gate-or:after{content:"";flex:1;height:1px;background:var(--border)}.invite-form{display:flex;gap:8px;flex-wrap:wrap}.invite-form .input{flex:1 1 220px;min-width:0}.people.invites{margin-top:10px}
