:root{--bg: #f1ede4;--surface: #f8f5ef;--raised: #fffdf9;--soft: #e8e2d6;--line: #dcd4c6;--line-strong: #b9b0a2;--ink: #1d1b18;--ink-2: #3b3732;--muted: #6a645c;--on-ink: #f8f5ef;--confirmed: #2f5d3a;--probable: #8a6a1f;--guess: #8f897f;--danger: #9b2f22;--ok: #2f5d3a;--scrim: rgba(24, 22, 19, .55);--shadow: 0 1px 2px rgba(29, 27, 24, .06), 0 8px 24px rgba(29, 27, 24, .1);--serif: "Cormorant Garamond", Georgia, serif;--sans: Inter, system-ui, -apple-system, sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs: 15px;--fs-lg: 17px;--fs-h3: 24px;--fs-h2: 40px;--fs-h1: 44px;--caps-track: .12em;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--gutter: 48px;--sidebar: 248px;--ease: cubic-bezier(.2, .7, .2, 1);--t: .15s;color-scheme:light}:root[data-theme=dark]{--bg: #151412;--surface: #1c1a17;--raised: #24211d;--soft: #2b2824;--line: #35312b;--line-strong: #4d4740;--ink: #ede8de;--ink-2: #d6d0c5;--muted: #a39c91;--on-ink: #151412;--confirmed: #8fc29b;--probable: #d8b45e;--guess: #8a847a;--danger: #e8937f;--ok: #8fc29b;--scrim: rgba(0, 0, 0, .65);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .45);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg: #151412;--surface: #1c1a17;--raised: #24211d;--soft: #2b2824;--line: #35312b;--line-strong: #4d4740;--ink: #ede8de;--ink-2: #d6d0c5;--muted: #a39c91;--on-ink: #151412;--confirmed: #8fc29b;--probable: #d8b45e;--guess: #8a847a;--danger: #e8937f;--ok: #8fc29b;--scrim: rgba(0, 0, 0, .65);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .45);color-scheme:dark}}@media(max-width:1200px){:root{--gutter: 32px}}@media(max-width:860px){:root{--gutter: 16px}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs)/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--ink);color:var(--on-ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.caps{text-transform:uppercase;letter-spacing:var(--caps-track);font-size:var(--fs-xs);font-weight:500}.muted{color:var(--muted)}.serif{font-family:var(--serif)}.italic{font-style:italic}.row{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:var(--s2)}.spacer{flex:1}.err{color:var(--danger)}.scroll-x{display:flex;gap:var(--s3);overflow-x:auto;padding-bottom:var(--s2);scrollbar-width:thin}.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;padding:var(--s5) var(--s3) var(--s4);gap:2px;z-index:30}.sidebar .brand{font-family:var(--serif);font-size:26px;letter-spacing:.32em;font-weight:500;text-decoration:none;padding:0 var(--s3) var(--s4);white-space:nowrap}.working-for{margin:0 0 var(--s2)}.working-for>.pop-anchor{display:block}.working-for .nav-item{border:1px solid var(--line);background:var(--surface);padding:7px 10px}.working-for .nav-item.active{border-color:var(--ink)}.working-for .nav-label{display:flex;flex-direction:column;line-height:1.25;min-width:0}.working-for .wf-sub{font-size:11px;color:var(--muted)}.working-for .nav-item.active .wf-sub{color:inherit;opacity:.7}.add-images{width:100%;justify-content:flex-start;margin:0 0 var(--s2);padding:0 12px}.add-images .count-pill{margin-left:auto;opacity:.75;font-size:var(--fs-xs)}.section-link{text-decoration:none;display:block}.section-link:hover,.section-link.on{color:var(--ink)}.status-dot{width:8px;height:8px;border-radius:50%;flex:none;margin:0 4px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.foot-icons{gap:2px;padding-top:6px}.sidebar-resizer{position:fixed;top:0;bottom:0;width:7px;cursor:col-resize;z-index:35}.sidebar-resizer:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:transparent;transition:background var(--t)}.sidebar-resizer:hover:after,.sidebar-resizer:focus-visible:after,body.resizing .sidebar-resizer:after{background:var(--ink);width:2px}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.nav-item{display:flex;align-items:center;gap:var(--s3);padding:8px var(--s3);text-decoration:none;color:var(--ink-2);font-size:var(--fs-sm);border:1px solid transparent;cursor:pointer;background:none;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--t) var(--ease)}.nav-item:hover{background:var(--soft)}.nav-item.active{background:var(--ink);color:var(--on-ink)}.nav-item svg{flex:none}.nav-item .count{margin-left:auto;color:var(--muted);font-size:var(--fs-xs)}.nav-item.active .count{color:inherit;opacity:.7}.nav-item.drop-ok{border:1px dashed var(--ink);background:var(--soft)}.nav-item.dropped{background:var(--ok);color:var(--on-ink)}.nav-section{margin:var(--s5) var(--s3) 6px;color:var(--muted);font-size:11px}.nav-thumb{width:22px;height:22px;object-fit:cover;flex:none;background:var(--line)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:var(--s4)}.app.unpinned{grid-template-columns:minmax(0,1fr)}.app.unpinned .sidebar{position:fixed;left:0;top:0;z-index:70;width:var(--sidebar-w);transform:translate(-100%);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.app.unpinned.peek .sidebar,.app.unpinned .sidebar:has(:focus-visible){transform:none;box-shadow:0 0 40px #0000002e}.sidebar-edge{position:fixed;left:0;top:0;bottom:0;width:14px;z-index:65}.sidebar-edge:after{content:"";position:absolute;left:4px;top:50%;width:3px;height:48px;margin-top:-24px;border-radius:2px;background:var(--line-strong);transition:background var(--t),height var(--t)}.sidebar-edge:hover:after{background:var(--ink);height:72px;margin-top:-36px}.foot-icons .icon-btn.on{color:var(--ink);background:var(--soft)}.main{min-width:0}.page{padding:40px var(--gutter) 72px;max-width:1680px}.page-head{display:flex;align-items:flex-end;gap:var(--s3) var(--s4);flex-wrap:wrap;margin-bottom:36px}.page-head h1{font:400 var(--fs-h2)/1.1 var(--serif);margin:0}.page-head p{margin:0;color:var(--muted);font:italic 18px/1.4 var(--serif);flex:0 0 100%;order:1;text-wrap:pretty}.mobile-tabs{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border:1px solid var(--ink);background:var(--ink);color:var(--on-ink);cursor:pointer;font-size:var(--fs-sm);font-weight:500;letter-spacing:.01em;white-space:nowrap;border-radius:0;transition:opacity var(--t),background var(--t);text-decoration:none}.btn:hover{opacity:.88}.btn:disabled{opacity:.4;cursor:default}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn.secondary:hover{background:var(--soft);opacity:1}.btn.ghost{background:transparent;color:var(--ink);border-color:transparent}.btn.ghost:hover{background:var(--soft);opacity:1}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.sm{height:30px;padding:0 10px;font-size:13px}.btn.ghost.sm,.btn.ghost{color:var(--ink-2)}.btn.ghost:hover{color:var(--ink)}.btn.lg{height:46px;padding:0 24px;font-size:var(--fs)}.btn.on{background:var(--ink);color:var(--on-ink)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:transparent;color:var(--ink);cursor:pointer;position:relative;flex:none;transition:background var(--t);padding:0}.icon-btn:hover{background:var(--soft)}.icon-btn.on{background:var(--ink);color:var(--on-ink)}.icon-btn.sm{width:28px;height:28px}.link{background:none;border:0;padding:0;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:var(--fs-sm)}.link:hover{color:var(--ink)}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:80;background:var(--ink);color:var(--on-ink);font:12px/1.3 var(--sans);letter-spacing:0;text-transform:none;padding:5px 8px;white-space:nowrap;pointer-events:none;font-weight:400}[data-tip-pos=bottom]:hover:after,[data-tip-pos=bottom]:focus-visible:after{bottom:auto;top:calc(100% + 6px)}[data-tip-pos=right]:hover:after{bottom:auto;left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.input,.select,.textarea{background:var(--raised);border:1px solid var(--line);padding:8px 10px;border-radius:0;outline:none;font-size:var(--fs-sm);transition:border-color var(--t);width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink)}.textarea{font:var(--fs-lg)/1.45 var(--serif);resize:vertical;min-height:80px}.field{display:flex;flex-direction:column;gap:6px}.field>.label{color:var(--muted)}.switch{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:var(--fs-sm);-webkit-user-select:none;user-select:none}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:18px;background:var(--line-strong);position:relative;margin:2px 0 0;cursor:pointer;transition:background var(--t);flex:none}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--raised);transition:transform var(--t) var(--ease)}.switch input:checked{background:var(--ink)}.switch input:checked:after{transform:translate(14px)}.switch .hint{display:block;color:var(--muted);font-size:var(--fs-xs)}input[type=range]{accent-color:var(--ink)}input[type=search]::-webkit-search-cancel-button{display:none}.slider-field{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:var(--fs-sm)}.slider-field input{grid-column:1 / -1;width:100%}.slider-field .ends{grid-column:1 / -1;display:flex;justify-content:space-between;color:var(--muted);font-size:var(--fs-xs)}.pop-anchor{position:relative;display:inline-flex}.popover{position:absolute;z-index:60;background:var(--raised);border:1px solid var(--line-strong);box-shadow:var(--shadow);min-width:240px;animation:pop var(--t) var(--ease);top:calc(100% + 6px);left:0}.popover.right{left:auto;right:0}.popover.up{top:auto;bottom:calc(100% + 6px)}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.menu{padding:6px 0}.menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;padding:8px 14px;font-size:var(--fs-sm);cursor:pointer;color:var(--ink);text-decoration:none}.menu-item:hover,.menu-item.active{background:var(--soft)}.menu-item .hint{margin-left:auto;color:var(--muted);font-size:var(--fs-xs)}.menu-item img{width:28px;height:28px;object-fit:cover;background:var(--line)}.menu-sep{height:1px;background:var(--line);margin:6px 0}.menu-label{padding:8px 14px 4px;color:var(--muted)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:70;display:flex;align-items:flex-start;justify-content:center;animation:fade var(--t);padding:8vh var(--s4) var(--s4)}@keyframes fade{0%{opacity:0}}.dialog{background:var(--raised);width:min(640px,100%);max-height:84vh;overflow:auto;box-shadow:var(--shadow);animation:pop .18s var(--ease)}.dialog.wide{width:min(980px,100%)}.dialog-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--raised);z-index:1}.dialog-head h2{margin:0;font:400 var(--fs-h3) var(--serif);flex:1}.dialog-body{padding:var(--s5)}.dialog-foot{display:flex;gap:var(--s3);justify-content:flex-end;align-items:center;padding:var(--s4) var(--s5);border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--raised)}.tabs{display:flex;gap:var(--s5);border-bottom:1px solid var(--line)}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;cursor:pointer;color:var(--muted);font-size:var(--fs-sm)}.tab.active{color:var(--ink);border-color:var(--ink)}.tab .n{color:var(--muted);margin-left:4px;font-size:var(--fs-xs)}.seg{display:inline-flex;border:1px solid var(--line);background:var(--surface);padding:2px;gap:2px}.seg button{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:6px 12px;cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.seg button.on{background:var(--raised);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong);font-weight:500}.seg button:hover:not(.on){color:var(--ink);background:var(--soft)}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:var(--soft);padding:3px 10px;font-size:var(--fs-sm);color:var(--ink);text-decoration:none;cursor:default;white-space:nowrap}button.chip,a.chip{cursor:pointer;background:var(--raised);border-color:var(--line)}button.chip:hover,a.chip:hover{border-color:var(--ink)}.chip.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.chip .x{background:none;border:0;padding:0;cursor:pointer;color:var(--muted);display:inline-flex}.chip .x:hover{color:var(--ink)}.chip b{font-weight:500;font-size:10px;letter-spacing:var(--caps-track);text-transform:uppercase;color:var(--muted)}.chip.neg{border-style:dashed}.toasts{position:fixed;bottom:var(--s5);left:50%;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--ink);color:var(--on-ink);padding:10px 12px 10px 16px;display:flex;gap:var(--s4);align-items:center;font-size:var(--fs-sm);box-shadow:var(--shadow);animation:pop .18s var(--ease);min-width:280px}.toast button{background:none;border:0;color:inherit;cursor:pointer;font-size:var(--fs-sm);font-weight:600;text-decoration:underline;text-underline-offset:3px}.toast a{color:inherit;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--caps-track);font-weight:600}.skeleton{background:linear-gradient(90deg,var(--soft),var(--line),var(--soft));background-size:200% 100%;animation:shimmer 1.3s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.empty-state{padding:var(--s7) var(--s4);text-align:center;max-width:540px;margin:0 auto}.empty-state h3{font:400 var(--fs-h3) var(--serif);margin:0 0 6px}.empty-state p{color:var(--muted);margin:0 0 var(--s4)}.kbd{display:inline-block;border:1px solid var(--line-strong);border-bottom-width:2px;padding:0 6px;font:11px/18px var(--sans);color:var(--ink-2);min-width:20px;text-align:center;background:var(--raised)}.banner{border:1px solid var(--line);background:var(--surface);padding:var(--s3) var(--s4);display:flex;gap:var(--s3);align-items:center;font-size:var(--fs-sm)}.panel{background:var(--surface);border:1px solid var(--line);padding:var(--s5)}.progress{height:3px;background:var(--line);overflow:hidden}.progress>i{display:block;height:100%;background:var(--ink);transition:width .3s var(--ease)}.search-head{position:sticky;top:0;z-index:20;background:var(--bg);padding:var(--s4) var(--gutter) 0;border-bottom:1px solid var(--line)}.search-field{display:flex;align-items:center;gap:6px;border-bottom:2px solid var(--ink);padding:4px 0;position:relative;flex-wrap:wrap}.search-field .q{flex:1;min-width:180px;border:0;background:transparent;outline:none;font:400 26px/1.3 var(--serif);padding:4px 2px}.search-field .q::placeholder{color:var(--muted);font-style:italic}.qimage{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:3px 6px 3px 3px;background:var(--raised);font-size:var(--fs-sm)}.qimage img{width:34px;height:34px;object-fit:cover}.toolbar{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) 0;flex-wrap:wrap}.toolbar.rows{flex-direction:column;align-items:stretch;gap:2px;padding:var(--s2) 0 var(--s3)}.toolbar-row{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;min-height:36px}.toolbar .count{color:var(--muted);font-size:var(--fs-sm);margin-right:var(--s2)}.suggest{left:0;right:0;top:calc(100% + 2px);max-height:420px;overflow-y:auto}.swatches-grid{display:grid;grid-template-columns:repeat(8,26px);gap:6px;padding:var(--s3)}.swatches-grid button{width:26px;height:26px;border:1px solid var(--line);cursor:pointer;padding:0}.swatches-grid button:hover{outline:2px solid var(--ink);outline-offset:1px}.home{display:grid;gap:44px;padding-bottom:var(--s5)}.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--s3)}.check-item{border:1px solid var(--line);background:var(--surface);padding:var(--s4);text-decoration:none;display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:left}.check-item:hover{border-color:var(--ink)}.check-item.done{opacity:.55}.check-item .t{font:400 20px/1.2 var(--serif)}.check-item .d{color:var(--muted);font-size:var(--fs-sm)}.section-title{display:flex;align-items:baseline;gap:var(--s3);margin:0 0 var(--s4);flex-wrap:wrap}.section-title h2{font:400 var(--fs-h3) var(--serif);margin:0}section.block h3{font:500 var(--fs-xs) var(--sans);text-transform:uppercase;letter-spacing:var(--caps-track);color:var(--muted);margin:var(--s5) 0 var(--s3);display:flex;gap:var(--s3);align-items:baseline;flex-wrap:wrap}section.block h3 .lead{color:var(--ink)}section.block h3 .hint{text-transform:none;letter-spacing:0;font:italic 15px var(--serif)}.grid{display:flex;gap:var(--gap, 16px);align-items:flex-start}.col{flex:1;min-width:0}.tile{margin:0 0 var(--gap, 16px);position:relative;outline:none}.tile .pic{position:relative;overflow:hidden;cursor:zoom-in;background:var(--line)}.tile img{width:100%;transition:transform .4s var(--ease),opacity var(--t)}.tile:hover img{transform:scale(1.015)}.tile:focus-visible .pic{outline:2px solid var(--ink);outline-offset:2px}.tile .regionbox{position:absolute;border:2px solid #fff;box-shadow:0 0 0 1px #000;pointer-events:none}.tile .overlay-bar{position:absolute;left:0;right:0;top:0;display:flex;gap:2px;padding:8px 8px 30px 40px;justify-content:flex-end;align-items:center;background:linear-gradient(rgba(0,0,0,.45),transparent);opacity:0;transition:opacity var(--t);z-index:2;pointer-events:none}.tile .overlay-bar>*{pointer-events:auto}.tile:hover .overlay-bar,.tile:focus-within .overlay-bar,.tile.keep .overlay-bar{opacity:1}.tile.keep .pic{overflow:visible}.grid .tile .pic{container-type:inline-size}@container (max-width: 300px){.overlay-bar .save .save-label{display:none}.overlay-bar .save{padding:0 9px}}.overlay-bar .icon-btn{color:#fff;width:32px;height:32px}.overlay-bar .icon-btn:hover{background:#fff3}.overlay-bar .icon-btn.on{background:#fff;color:#111}.overlay-bar .save{margin-right:4px;background:#fff;color:#111;border:0;height:32px;padding:0 12px;display:inline-flex;gap:6px;align-items:center;font:600 11px var(--sans);letter-spacing:var(--caps-track);text-transform:uppercase;cursor:pointer}.info{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:4px;padding:44px 12px 11px;color:#fff;font:13px/1.35 var(--sans);text-shadow:0 1px 2px rgba(0,0,0,.35);pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.6) 55%,transparent);opacity:0;transform:translateY(6px);transition:opacity var(--t),transform var(--t)}:is(.tile,.board-pic,.mosaic):is(:hover,:focus-within) .info{opacity:1;transform:none}.info-who{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap}.info-name{font:500 16px/1.2 var(--sans)}.info-who+.info-who .info-name{font-size:14px;font-weight:400}.info-status{display:inline-flex;align-items:center;font-size:12px;color:#ffffffe6;white-space:nowrap}.info .dot{margin-right:5px;vertical-align:0}.info .dot.confirmed{background:#8fc29b}.info .dot.probable{background:#e3c06a}.info .dot.guess{background:#bdb6aa}.info-what{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.info-swatches{display:inline-flex;gap:3px}.info-swatches i{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 1px #fff9}.info-why{font-size:12px;color:#ffffffd9}@media(hover:none){.info{opacity:1;transform:none;flex-direction:row;flex-wrap:wrap;gap:0 8px;padding:28px 8px 7px;font-size:12px}.info-name,.info-swatches,.info-why,.info-note,.info-who+.info-who{display:none}}.tile-name{padding-top:8px;font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-name.unknown{color:var(--muted);font-style:italic}.tile .check{position:absolute;top:8px;left:8px;width:24px;height:24px;border:2px solid #fff;background:#0000004d;display:none;align-items:center;justify-content:center;color:#fff;cursor:pointer;padding:0;z-index:2}.selecting .tile .check,.tile:hover .check,.tile.sel .check{display:inline-flex}.tile.sel .check{background:var(--ink);border-color:var(--ink)}.tile.sel .pic{outline:3px solid var(--ink);outline-offset:-3px}.tile.liked .pic{box-shadow:0 0 0 3px var(--ok)}.tile.disliked{opacity:.35}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px;flex:none}.dot.confirmed{background:var(--confirmed)}.dot.probable{background:var(--probable)}.dot.guess{background:var(--guess)}.sentinel{height:40px}.action-bar{position:fixed;bottom:var(--s5);left:calc(var(--sidebar) + (100vw - var(--sidebar)) / 2);transform:translate(-50%);z-index:50;background:var(--ink);color:var(--on-ink);display:flex;align-items:center;gap:2px;padding:6px 6px 6px 16px;box-shadow:var(--shadow);max-width:calc(100vw - var(--sidebar) - 32px);flex-wrap:wrap}.action-bar .btn{background:transparent;border-color:transparent;color:var(--on-ink)}.action-bar .btn:hover{background:#7f7f7f40;opacity:1}.action-bar .n{font-size:var(--fs-sm);margin-right:10px}.action-bar .popover{color:var(--ink)}.map{height:calc(100vh - 220px);min-height:480px;border:1px solid var(--line);background:var(--surface);position:relative;margin-top:var(--s3)}.map svg{width:100%;height:100%;display:block;cursor:grab}.map .legend{position:absolute;left:12px;bottom:10px;color:var(--muted)}.hub-source text{font:500 13px var(--serif);fill:var(--ink)}.hub-technique text{font:italic 12px var(--serif);fill:var(--muted)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:var(--bg);display:grid;grid-template-columns:minmax(0,1fr) 460px;animation:fade var(--t)}.viewer .stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--soft)}.viewer .canvas{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:64px var(--s6) var(--s5);min-height:0}.viewer .frame{position:relative;max-width:100%;max-height:100%;transition:transform .2s var(--ease);cursor:zoom-in}.viewer .frame img{max-width:100%;max-height:calc(100vh - 190px);object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.viewer .frame.zoomed{cursor:zoom-out}.viewer .frame.picking{cursor:crosshair}.viewer .nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--raised);border:1px solid var(--line);width:40px;height:40px;display:grid;place-items:center;cursor:pointer;z-index:2;color:var(--ink)}.viewer .nav.prev{left:16px}.viewer .nav.next{right:16px}.viewer .top{position:absolute;top:12px;left:16px;right:16px;display:flex;gap:8px;z-index:2;align-items:center}.viewer .hintbar{position:absolute;top:60px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--on-ink);padding:8px 14px;font-size:var(--fs-sm);z-index:3;display:flex;gap:12px;align-items:center}.viewer .hintbar button{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}.filmstrip{display:flex;gap:6px;padding:8px var(--s4);overflow-x:auto;background:var(--surface);border-top:1px solid var(--line);flex:none}.filmstrip img{height:64px;width:auto;cursor:pointer;opacity:.5;flex:none}.filmstrip img.on,.filmstrip img:hover{opacity:1}.filmstrip img.on{outline:2px solid var(--ink)}.viewer .side{border-left:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:0}.viewer .side-head{padding:var(--s5) var(--s5) 0}.viewer .side-head h2{font:400 28px/1.15 var(--serif);margin:4px 0 6px}.viewer .actions{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s4) 0}.viewer .side-body{flex:1;overflow-y:auto;padding:var(--s4) var(--s5) var(--s6)}.sect{margin-top:var(--s5)}.sect:first-child{margin-top:0}.sect>.caps{color:var(--muted);margin-bottom:var(--s2);display:flex;gap:8px;align-items:center}.attr{padding:var(--s3) 0;border-bottom:1px solid var(--line)}.attr .name{font:20px/1.2 var(--serif)}.attr .basis{color:var(--muted);font-size:var(--fs-sm);margin-top:2px}.summary{font:italic 18px/1.45 var(--serif);margin:0}.palette{display:flex;height:28px;border:1px solid var(--line)}.palette span{flex-basis:0;cursor:pointer}.bars{display:grid;grid-template-columns:80px 1fr 40px;gap:6px 10px;align-items:center;font-size:var(--fs-xs);color:var(--muted)}.bars i{display:block;height:4px;background:var(--ink)}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.thumbs figure{margin:0;cursor:pointer}.thumbs img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--line)}.thumbs figcaption{font-size:11px;color:var(--muted);line-height:1.3;margin-top:4px}.selbox{position:absolute;border:2px solid #fff;box-shadow:0 0 0 1px #000;background:#ffffff26;pointer-events:none}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s5)}.card{background:var(--surface);border:1px solid var(--line);text-decoration:none;display:block;transition:border-color var(--t);position:relative}.card:hover{border-color:var(--ink)}.card .cover{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:2px;aspect-ratio:4/3;background:var(--line)}.card .cover>*{width:100%;height:100%;object-fit:cover;background:var(--soft)}.card .cover>:first-child{grid-row:span 2}.card .body{padding:var(--s3) var(--s4) var(--s4)}.card .title{font:400 21px/1.2 var(--serif)}.card.new{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:240px;border-style:dashed;cursor:pointer;background:transparent;color:var(--muted)}.card.new:hover{color:var(--ink)}.board-item{position:relative}.board-item .item-bar{position:absolute;top:8px;right:8px;display:flex;gap:2px;opacity:0;transition:opacity var(--t);background:var(--raised);box-shadow:var(--shadow);z-index:3}.board-item:hover .item-bar,.board-item:focus-within .item-bar{opacity:1}.lock-flag{position:absolute;top:8px;left:8px;background:var(--ink);color:var(--on-ink);padding:3px 6px;font:600 10px var(--sans);letter-spacing:var(--caps-track);text-transform:uppercase;display:inline-flex;gap:4px;align-items:center;z-index:2}.board-item.flagged img{outline:2px dashed var(--danger);outline-offset:3px}.board-item .note{font:italic 14px var(--serif);color:var(--ink-2);margin-top:4px}.canvas-board{position:relative;width:100%;background-color:var(--surface);border:1px solid var(--line);overflow:hidden;-webkit-user-select:none;user-select:none;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:24px 24px}.canvas-item{position:absolute;cursor:grab;box-shadow:0 1px 4px #00000026;touch-action:none}.canvas-item:active{cursor:grabbing}.canvas-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.canvas-item .handle{position:absolute;right:-7px;bottom:-7px;width:14px;height:14px;background:var(--ink);cursor:nwse-resize;opacity:0}.canvas-item:hover .handle,.canvas-item.active .handle{opacity:1}.canvas-item.active{outline:2px solid var(--ink)}.present{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#0f0e0d;color:#eee;display:flex;flex-direction:column}.present .pstage{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;min-height:0}.present .pstage img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}.present .cap{text-align:center;padding:0 0 24px;font:italic 18px var(--serif);color:#bbb}.present .ptop{position:absolute;top:16px;right:16px;left:24px;display:flex;gap:8px;align-items:center;color:#999}.present .icon-btn{color:#eee}.present .icon-btn:hover{background:#ffffff1a}.side-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--raised);border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:60;display:flex;flex-direction:column;animation:slidein .2s var(--ease)}@keyframes slidein{0%{transform:translate(30px);opacity:0}}.side-panel .dialog-body{overflow-y:auto;flex:1}.ring{--p: 0;width:88px;height:88px;border-radius:50%;background:conic-gradient(var(--ink) calc(var(--p) * 1%),var(--line) 0);display:grid;place-items:center;flex:none}.ring>span{width:72px;height:72px;border-radius:50%;background:var(--raised);display:grid;place-items:center;font:26px var(--serif)}.meter{display:grid;grid-template-columns:110px 1fr 44px;gap:8px;align-items:center;font-size:var(--fs-sm)}.meter i{display:block;height:6px;background:var(--line);position:relative}.meter i b{position:absolute;inset:0 auto 0 0;background:var(--ink)}.duel{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}.duel-pick{position:relative;background:var(--surface);border:1px solid var(--line);height:min(60vh,640px);display:flex;align-items:center;justify-content:center;padding:var(--s4);cursor:pointer;transition:border-color var(--t),transform var(--t) var(--ease);color:var(--ink)}.duel-pick:hover{border-color:var(--ink);transform:translateY(-2px)}.duel-pick img{max-width:100%;max-height:100%;object-fit:contain}.duel-pick .label{position:absolute;bottom:14px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--on-ink);padding:6px 14px;opacity:0;transition:opacity var(--t);display:inline-flex;gap:8px;align-items:center;white-space:nowrap;font-size:var(--fs-sm)}.duel-pick:hover .label,.duel-pick:focus-visible .label{opacity:1}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:var(--scrim);display:grid;place-items:center;pointer-events:none}.drop-overlay>div{border:2px dashed #fff;color:#fff;padding:60px 80px;font:32px var(--serif);text-align:center}.drop-overlay small{display:block;font:14px var(--sans);margin-top:8px;opacity:.8}.dropzone{border:1px dashed var(--line-strong);background:var(--surface);padding:var(--s7) var(--s5);text-align:center;cursor:pointer;display:block;transition:border-color var(--t)}.dropzone:hover,.dropzone.over{border-color:var(--ink)}.dropzone .t{font:26px var(--serif)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.viewer{grid-template-columns:1fr;overflow-y:auto}.viewer .side{border-left:0;min-height:auto}.viewer .stage{min-height:72vh}}.split-aside{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:40px;align-items:start}@media(max-width:860px){.split-aside,.app{grid-template-columns:1fr}.sidebar,.sidebar-edge{display:none}.mobile-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--bg);border-top:1px solid var(--line);justify-content:space-around;padding:6px 0 calc(6px + env(safe-area-inset-bottom))}.mobile-tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;text-decoration:none;color:var(--muted);padding:4px 8px}.mobile-tabs a.active{color:var(--ink)}.page{padding-bottom:96px}.search-field .q{font-size:21px}.duel{grid-template-columns:1fr}.duel-pick{height:38vh}.action-bar{left:50%;max-width:calc(100vw - 16px);bottom:76px}.hide-sm{display:none!important}.toasts{bottom:80px}}.src-badge{display:inline-flex;align-items:center;gap:6px;font:500 12px var(--sans);color:var(--ink-2, var(--ink));white-space:nowrap}.src-badge.danger .dot,.dot.danger{background:var(--danger)}.search-inline{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.search-inline .input{width:min(320px,70vw)}.designer-text{margin:6px 0 0;font:400 17px/1.6 var(--sans);max-width:68ch}.cites{margin-left:3px;font-size:11px}.cites a{margin-right:3px;color:var(--muted);text-decoration:none;border-bottom:1px solid currentColor}.plain-list{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.timeline{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.timeline li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px}.timeline .years{color:var(--muted);font-variant-numeric:tabular-nums}.timeline li.current span:last-child{font-weight:600}.sources{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.sources li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;scroll-margin-top:80px}.sources li:target{background:var(--soft)}.sources .n{color:var(--muted);font-variant-numeric:tabular-nums}.sources .quote{margin-top:4px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.plain-link{color:inherit;text-decoration:none}.plain-link:hover{text-decoration:underline;text-underline-offset:3px}.review{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start}@media(max-width:860px){.review{grid-template-columns:minmax(0,1fr)}}.review-img{width:100%;max-height:72vh;object-fit:contain;background:var(--soft)}.review-evidence ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}.review-evidence li>div{overflow-wrap:anywhere}.quality{display:flex;flex-direction:column;gap:18px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.quality h2{font:400 26px var(--serif)}.quality-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.quality-tile{background:var(--raised, var(--bg));padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}.quality-tile .v{font:400 34px/1 var(--serif);font-variant-numeric:tabular-nums}.delta{font-size:13px}.delta.good{color:var(--ok)}.delta.bad{color:var(--danger)}.quality-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:start}@media(max-width:860px){.quality-grid{grid-template-columns:minmax(0,1fr)}}.quality-history{margin:0}.quality-history svg{display:block;overflow:visible}.quality-history .grid{stroke:var(--line);stroke-width:1}.quality-history .axis{fill:var(--muted);font:11px var(--sans);font-variant-numeric:tabular-nums}.quality-history .line{stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.quality-history .dotmark{fill:var(--ink);stroke:var(--bg);stroke-width:2;pointer-events:none}.chart-tip{position:absolute;transform:translate(-50%,calc(-100% - 12px));background:var(--raised, var(--bg));border:1px solid var(--line-strong, var(--line));padding:6px 9px;font-size:12.5px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #00000014}.weak{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.weak li{display:flex;justify-content:space-between;gap:12px}.weak li .muted{font-variant-numeric:tabular-nums}.chart-tip.left{transform:translate(calc(-100% + 12px),calc(-100% - 12px))}.telemetry{transition:opacity var(--t)}.telemetry code{font-size:12px;background:var(--soft);padding:1px 4px}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:44px}.stat-tile{background:var(--raised, var(--bg));padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-width:0;text-decoration:none;color:inherit;transition:background var(--t)}.stat-tile:hover,.stat-tile:focus-visible{background:var(--surface)}.stat-tile>.muted{font-size:var(--fs-sm)}.stat-tile .v{font:500 32px/1.05 var(--sans);letter-spacing:-.01em}.stat-tile .stat-sub{font-size:var(--fs-xs);color:var(--muted)}.tele-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:44px 64px;align-items:start}.tele-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tele-bars li{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr) 4em;gap:12px;align-items:center;font-size:var(--fs-sm)}.tele-bars .lbl{display:flex;align-items:center;min-width:0}.tele-bars .lbl .status-dot{margin:0 8px 0 0}.status-dot.hollow{background:none;box-shadow:inset 0 0 0 1.5px var(--line-strong)}.tele-bars .lbl a{color:inherit;text-decoration:none}.tele-bars .lbl a:hover,.tele-bars .lbl a:focus-visible{text-decoration:underline}.tele-bars .bar{display:block;height:8px}.tele-bars .bar b{display:block;height:100%;background:var(--ink);border-radius:0 4px 4px 0}.tele-bars .num,.tele-cov .num,.tele-cov .pc,.tele-table .num{font-variant-numeric:tabular-nums;text-align:right}.tele-bars .num{color:var(--ink-2)}.tele-facts{color:var(--muted);font-size:var(--fs-sm);margin:14px 0 0}.tele-cov{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:var(--fs-sm)}.tele-cov .row{gap:10px}.tele-cov .num{color:var(--muted)}.tele-cov .pc{width:3.2em}.tele-cov i{display:block;height:4px;background:var(--line)}.tele-cov i b{display:block;height:100%;background:var(--ink)}.tele-db{margin-top:52px;padding-top:32px;border-top:1px solid var(--line)}.tele-db-facts{display:flex;flex-wrap:wrap;gap:10px 32px;font-size:var(--fs-sm);margin-bottom:18px}.tele-db-facts>span{display:inline-flex;align-items:center;gap:6px}.tele-db-facts .status-dot{margin:0}.tele-db-facts b{font-weight:500}.tele-table{width:100%;max-width:640px;border-collapse:collapse;font-size:var(--fs-sm)}.tele-table th{text-align:left;font-weight:500;color:var(--muted)}.tele-table th,.tele-table td{border-bottom:1px solid var(--line);padding:7px 12px 7px 0}.tele-table th.num{text-align:right}.tele-table tr.parked td{color:var(--muted);font-style:italic}@media(max-width:860px){.tele-bars li{grid-template-columns:minmax(0,12em) minmax(0,1fr) 3em}}.shelf-tile{flex:none;margin:0}.shelf-tile .overlay-bar{justify-content:flex-start;padding-left:8px}.shelf-tile .tile-name{width:0;min-width:100%}.board-pic{position:relative;overflow:hidden}.board-pic img{display:block}.suggest-row{display:flex;align-items:center;padding-right:6px}.suggest-row .menu-item{flex:1;min-width:0}.sort-bar{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:var(--s2)}.sort-step{display:inline-flex;align-items:center;gap:6px}.sort-step .then{color:var(--muted);font:italic 14px var(--serif)}.sort-level{display:inline-flex;align-items:center;gap:2px;background:var(--soft);padding:2px 6px 2px 4px;cursor:grab;font-size:var(--fs-sm);border:1px solid transparent}.sort-level.dragging{opacity:.4}.sort-level:hover,.sort-level:focus-within{border-color:var(--line-strong)}.sort-level .n{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--on-ink);font:600 11px var(--sans);margin-right:4px;flex:none}.sort-level .way{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:2px 4px;cursor:pointer;color:var(--ink);font:inherit}.sort-level .way .hint{color:var(--muted);font-size:var(--fs-xs)}.sort-level .nudge,.sort-level .x{background:none;border:0;padding:2px;cursor:pointer;color:var(--muted);display:inline-flex}.sort-level .nudge{display:none}.sort-level:hover .nudge,.sort-level:focus-within .nudge{display:inline-flex}.sort-level .nudge:hover,.sort-level .x:hover{color:var(--ink)}.sort-add{display:inline-flex;align-items:center;gap:4px;background:none;border:1px dashed var(--line-strong);padding:3px 10px;font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer}.sort-add:hover{color:var(--ink);border-color:var(--ink)}section.block h3.group-head{font:400 26px/1.2 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink);margin:var(--s6) 0 var(--s4);align-items:baseline}section.block h3.group-head .lead{display:inline-block}section.block h3.group-head .lead:first-letter{text-transform:uppercase}section.block h3.group-head .n{font:400 var(--fs-sm) var(--sans);color:var(--muted)}.group-sections{display:flex;flex-wrap:wrap;align-items:flex-start}.group-section{flex:0 0 auto;min-width:0}section.block.group-section h3.group-head{margin:var(--s5) 0 var(--s3);display:flex;flex-wrap:nowrap;min-width:0}section.block.group-section h3.group-head .lead{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}section.block.group-section h3.group-head .n{flex:none}.search-head.folded{display:flex;align-items:center;gap:var(--s4);padding-top:6px;padding-bottom:6px}.search-head.folded .search-field{flex:1;min-width:0;border-bottom-width:1px;flex-wrap:nowrap}.search-head.folded .search-field .q{font-size:19px;padding:0 2px}.search-head.folded .search-field>.chips{display:none}.fold-summary{display:inline-flex;align-items:center;gap:8px;max-width:55%;background:none;border:0;cursor:pointer;color:var(--muted);font-size:var(--fs-sm);padding:6px 4px}.fold-summary:hover{color:var(--ink)}@media(max-width:860px){.fold-summary{max-width:45%}.sort-bar{margin-left:0}}.filter-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fbtn{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);padding:5px 10px;font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.fbtn:hover{border-color:var(--ink)}.fbtn.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.fbtn .pick{max-width:11em;overflow:hidden;text-overflow:ellipsis;border-left:1px solid currentColor;padding-left:7px}.drop-panel{width:min(360px,90vw);max-height:min(60vh,460px);display:flex;flex-direction:column;padding:var(--s3) var(--s4) var(--s3);gap:var(--s3)}.drop-find{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line-strong);color:var(--muted);padding-bottom:6px}.drop-find input{flex:1;border:0;background:transparent;outline:none;font:inherit;font-size:var(--fs-sm);color:var(--ink);min-width:0}.drop-lists{overflow-y:auto;display:flex;flex-direction:column;gap:var(--s4);min-height:0}.drop-title{margin:0 0 4px}.drop-row{display:flex;align-items:center;gap:10px;padding:5px 2px;cursor:pointer;font-size:var(--fs-sm)}.drop-row:hover{background:var(--soft)}.drop-row input{accent-color:var(--ink);width:15px;height:15px;flex:none;margin:0}.drop-row .v{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-row.on .v{font-weight:600}.drop-row .n{color:var(--muted);font-variant-numeric:tabular-nums}.drop-row .sw{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px var(--line-strong);flex:none}.drop-clear{align-self:flex-start}.view-options{width:min(320px,90vw);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s4)}.sort-bar .implicit{font-size:var(--fs-sm);font-style:italic}.sub-sections{display:flex;flex-wrap:wrap;align-items:flex-start}.sub-section{flex:0 0 auto;min-width:0}h4.sub-head{display:flex;align-items:baseline;gap:8px;min-width:0;margin:var(--s3) 0 var(--s2);font:500 var(--fs-sm) var(--sans);color:var(--ink-2)}h4.sub-head .lead:first-letter{text-transform:uppercase}h4.sub-head .lead{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}h4.sub-head .n{color:var(--muted);font-weight:400;flex:none}.mosaics{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--s6) var(--s5)}.mosaic{display:block;text-decoration:none;color:inherit;outline:none;position:relative}.mosaic-pic{position:relative;overflow:hidden;background:var(--line)}.mosaic .cover{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:2px;aspect-ratio:4 / 3}.mosaic .cover>*{width:100%;height:100%;object-fit:cover;background:var(--soft);min-height:0;min-width:0}.mosaic .cover>:first-child{grid-row:span 2}.mosaic .cover img{transition:transform .4s var(--ease)}.mosaic:hover .cover img{transform:scale(1.02)}.mosaic:focus-visible .mosaic-pic{outline:2px solid var(--ink);outline-offset:2px}.mosaic-name{padding-top:10px;font:400 22px/1.2 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mosaic-sub{color:var(--muted);font-size:var(--fs-xs);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mosaic .info-text{font-size:13px;line-height:1.4;color:#ffffffeb;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mosaic .info-tags{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12px;color:#ffffffd9}.mosaic.new .mosaic-pic{display:grid;place-items:center;aspect-ratio:4 / 3;background:transparent;border:1px dashed var(--line-strong);color:var(--muted)}.mosaic.new:hover .mosaic-pic{color:var(--ink);border-color:var(--ink)}.mosaic.new .mosaic-pic>span{display:flex;flex-direction:column;align-items:center;gap:8px}@media(hover:none){.mosaic .info-text,.mosaic .info-tags{display:none}.mosaic .info{padding:24px 10px 8px}}.designer-head{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-bottom:var(--s5)}.designer-head h1{font:400 var(--fs-h3) var(--serif);margin:0}.designer-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);align-items:start}.designer.with-about .designer-body{grid-template-columns:minmax(0,1fr) minmax(300px,400px)}.designer-about{display:flex;flex-direction:column;gap:22px;position:sticky;top:var(--s4);max-height:calc(100vh - 32px);overflow-y:auto;padding-right:var(--s2)}.designer-images-col{min-width:0}@media(max-width:1000px){.designer.with-about .designer-body{grid-template-columns:minmax(0,1fr)}.designer-about{position:static;max-height:none}}.info-note{font-size:12.5px;line-height:1.4;color:#ffffffe0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(hover:none){.info-note{display:none}}.info .dot.danger{background:#e8937f}.board-about{margin:4px 0 var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:760px}button.mosaic.new{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;width:100%}.admin-bar{display:flex;align-items:center;gap:14px;padding:12px var(--gutter);border-bottom:1px solid var(--line);flex-wrap:wrap}.admin-brand{font:500 24px var(--serif);letter-spacing:.32em}.admin-page{padding:var(--s6) var(--gutter) 72px;max-width:1200px}.admin .stat-tiles{margin-bottom:var(--s5)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.admin-table th{text-align:left;font-weight:500;color:var(--muted);padding:8px 14px 8px 0;border-bottom:1px solid var(--line-strong);white-space:nowrap}.admin-table td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}.admin-table .who{font-weight:500;font-size:var(--fs)}.admin-table .actions{text-align:right;white-space:nowrap}.admin-table .actions>*{vertical-align:middle}.admin-table .warn{display:inline-flex;align-items:center;gap:4px;color:var(--danger);font-size:var(--fs-xs);margin-top:3px}.ok-note{display:inline-flex;align-items:center;gap:6px;color:var(--ok)}.invite-link{display:inline-flex;align-items:center;gap:6px}.invite-link .input{width:min(280px,40vw);font-size:var(--fs-xs)}@media(max-width:760px){.admin-page{padding-top:var(--s4)}}.admin .stat-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.admin .banner svg{flex:none}.admin-table .warn{display:flex}.admin-table td:first-child a{overflow-wrap:anywhere}.admin .stat-tile:last-child:nth-child(odd){grid-column:1 / -1}@media(max-width:760px){.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block}.admin-table tr{padding:14px 0;border-bottom:1px solid var(--line)}.admin-table td{border:0;padding:2px 0}.admin-table .actions{text-align:left;margin-top:8px}}.list-bar{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--s5)}.list-bar .count{color:var(--muted);font-size:var(--fs-sm);margin-right:var(--s2)}.sub-block{margin-bottom:var(--s4)}
