@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Light.woff2) format("woff2");ascent-override:71.4%;descent-override:19.1%;line-gap-override:8.3%;font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Medium.woff2) format("woff2");ascent-override:71.4%;descent-override:19.1%;line-gap-override:8.3%;font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Bold.woff2) format("woff2");ascent-override:71.4%;descent-override:19.8%;line-gap-override:8.3%;font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Martian Mono;src:url(/fonts/MartianMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Martian Mono;src:url(/fonts/MartianMono-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--glass-o:66%;--glass-r:16px;--glass-bg:color-mix(in srgb,var(--bg) var(--glass-o),transparent);--glass-blur:blur(var(--glass-r)) saturate(1.15)}html.noglass{--glass-bg:var(--bg);--glass-blur:none}:root{--bg:#fff;--fg:#0a0a0a;--dim:rgba(0,0,0,.35);--dark:#ececec;--label:#3f3f3f;--sqb:rgba(0,0,0,.4);--thumbbg:#ececec;--wire:rgba(0,0,0,.72);--node-bg:var(--glass-bg);--node-border:rgba(0,0,0,.15);--node-sh:0 .4em 1.4em rgba(0,0,0,.06);--textnode-bg:var(--glass-bg);--abs-fg:#333;--meta-fg:#4a4a4a;--strong:#000;--pill-bg:var(--glass-bg);--pill-hover:rgba(0,0,0,.08);--headgrad:linear-gradient(to bottom,rgba(255,255,255,.92),rgba(255,255,255,0));--frame-sh:inset 0 0 120px 10px rgba(0,0,0,.06);--frame-bd:rgba(0,0,0,.05);--exp-bg:rgba(255,255,255,.82);--exp-imgbg:#f2f2f2;--btn-bg:rgba(255,255,255,.6);--btn-hover:rgba(0,0,0,.08);--track-line:rgba(0,0,0,.5);--track-cap:rgba(0,0,0,.7);--handle-bd:#000;--handle-bg:#fff;--tag:rgba(0,0,0,.42);--row:#9a9a9a;--row-bd:rgba(0,0,0,.06);--hairline:rgba(0,0,0,.45);--hairline-2:rgba(0,0,0,.16);--lead:#1c1c1c;--band-k:#8a8a8a;--band-v:#222;--w-light:300;--w-text:500;--w-bold:700;--e-out:cubic-bezier(.19,1,.22,1);--e-io:cubic-bezier(.65,.05,.36,1);--t-fast:.35s;--t-mid:.6s;--t-slow:.85s;--t-ui:.26s;--font-mono:"Martian Mono","Courier New",monospace;--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif}html.dark{--bg:#000;--fg:#fff;--dim:rgba(255,255,255,.5);--dark:#0c0c0d;--label:#e2e2e2;--sqb:rgba(255,255,255,.5);--thumbbg:#111;--wire:rgba(255,255,255,.82);--node-border:rgba(255,255,255,.14);--node-sh:0 .5em 1.6em rgba(0,0,0,.28);--abs-fg:#dcdcdc;--meta-fg:#cfcfcf;--strong:#fff;--pill-hover:rgba(255,255,255,.12);--headgrad:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,0));--frame-sh:inset 0 0 120px 10px rgba(0,0,0,.5);--frame-bd:rgba(255,255,255,.06);--exp-bg:rgba(0,0,0,.8);--exp-imgbg:#0d0d0f;--btn-bg:rgba(12,12,13,.6);--btn-hover:rgba(255,255,255,.12);--track-line:rgba(255,255,255,.5);--track-cap:rgba(255,255,255,.7);--handle-bd:#fff;--handle-bg:#000;--tag:rgba(255,255,255,.42);--row:#5a5a5a;--row-bd:rgba(255,255,255,.03);--hairline:rgba(255,255,255,.5);--hairline-2:rgba(255,255,255,.2);--lead:#eaeaea;--band-k:#9a9a9a;--band-v:#e8e8e8}@media(prefers-reduced-motion:reduce){:root{--t-fast:.01s;--t-mid:.01s;--t-slow:.01s;--t-ui:.01s}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}html.reduce-motion{--t-fast:.01s;--t-mid:.01s;--t-slow:.01s;--t-ui:.01s}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}*{box-sizing:border-box}:root{color-scheme:light}html.dark{color-scheme:dark}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);overflow:hidden;font-family:var(--font-mono);font-weight:400;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;transition:background-color var(--t-mid) var(--e-out),color var(--t-mid) var(--e-out)}::selection{background:var(--fg);color:var(--bg)}#about,#about *,.exp-info,.exp-info *,#projpage .pp-text,#projpage .pp-text *,.pp-lockbox,.pp-lockbox *,#projpage .pp-sec:not(.pp-hsec):not(.pp-bsec) .pp-ittext,#projpage .pp-sec:not(.pp-hsec):not(.pp-bsec) .pp-ittext *{user-select:text;-webkit-user-select:text}:focus-visible{outline:2px solid var(--fg);outline-offset:2px}html.editmode [contenteditable]:focus-visible{outline:none}img{-webkit-user-drag:none;user-drag:none}#viewport{cursor:grab}body.dragging #viewport,body.draggingTile #viewport{cursor:grabbing}#viewport{position:fixed;inset:0;overflow:hidden;touch-action:none}#world{position:absolute;top:0;left:0;will-change:transform;opacity:0}#zoomwrap{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}#wires{position:absolute;left:0;top:0;width:14000px;height:11000px;overflow:visible;pointer-events:none;z-index:500}#wires path{fill:none;stroke:var(--wire);stroke-width:var(--ww,1.3px);vector-effect:non-scaling-stroke}.tile{position:absolute;left:0;top:0;width:var(--tw,210px);font-size:10px;transform-origin:0 0;will-change:transform;z-index:1;-webkit-user-drag:none;contain:layout style;border:.1em solid transparent;transition:background-color var(--t-mid) var(--e-out),border-color var(--t-mid) var(--e-out),border-radius var(--t-mid) var(--e-out),box-shadow var(--t-mid) var(--e-out),opacity var(--t-mid) var(--e-out)}.tile .bar{display:flex;align-items:center;justify-content:space-between;gap:.4em;height:1.4em;padding:0 .45em;cursor:grab}.tile .label{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.8em;line-height:1;letter-spacing:.04em;color:var(--label);white-space:nowrap;text-transform:uppercase;font-variant-numeric:tabular-nums}.tile .dot{width:.5em;height:.5em;border-radius:50%;flex:none;background:var(--dot,var(--sqb));transition:background var(--t-mid) var(--e-out)}.dot[data-cat=architecture]{--dot:#9db4c0}.dot[data-cat=branding]{--dot:#d5b79b}.dot[data-cat=illustration]{--dot:#d3a7af}.dot[data-cat=film]{--dot:#a9a3c4}.dot[data-cat=ar]{--dot:#96bfb4}.dot[data-cat=digital-art]{--dot:#a8b3d9}.dot[data-cat=tools]{--dot:#b7bd96}.dot[data-cat=portrait]{--dot:#c9a79b}.dot[data-cat=nature]{--dot:#a3bfa0}.dot[data-cat=graphic]{--dot:#ccbb92}.dot[data-cat=motion]{--dot:#9fb6c9}.dot[data-cat=abstract]{--dot:#bfa9bf}.tile .thumb{display:block;width:100%;height:auto;background:var(--thumbbg);border-radius:.5em;box-shadow:var(--sh,0 .2em .6em rgba(0,0,0,.08));transition:box-shadow var(--t-mid) var(--e-out),border-radius var(--t-mid) var(--e-out),opacity var(--t-slow) var(--e-out);pointer-events:none;opacity:0}.tile .thumb.ld{opacity:1}.tile .meta{display:none}.tile:hover{z-index:100000!important}.tile:not(.node):hover .thumb{box-shadow:0 .4em 1.2em #00000024!important}.tile.dim{opacity:.12;pointer-events:none}.tile.node{z-index:3;background:var(--node-bg);cursor:grab;border-color:var(--node-border);box-shadow:var(--node-sh);border-radius:.8em;overflow:hidden;overflow:clip;overflow-clip-margin:.6em}.tile.node .thumb{box-shadow:none;border-radius:0}.tile.node:hover .thumb{box-shadow:none!important}.tile.node .meta{display:block;padding:.85em .85em .9em;overflow:visible;clip-path:inset(0 -1.6em 0 -1.6em)}.tile.node .meta p{margin:0 0 .14em;font-size:.85em;line-height:1.3;color:var(--meta-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile.node .meta .mrow{display:grid;grid-template-columns:5.3em minmax(0,1fr);gap:.7em;align-items:baseline;overflow:visible}.tile.node .meta .mrow .mk,.tile.node .meta .mrow b{margin:0;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tile.textnode{background:var(--textnode-bg)}.tile.gone{opacity:0}.tile.textnode .abs{padding:1em;font-family:var(--font-sans);font-size:.95em;line-height:1.34;color:var(--abs-fg)}.tile.node .meta p b{color:var(--strong);font-weight:600}.tile.node .meta .mrow{color:var(--meta-fg);position:relative}.tile.node .rdot{position:absolute;top:50%;width:.3em;height:.3em;border-radius:50%;background:var(--wire);border:0;outline:0;box-shadow:none;opacity:.26;pointer-events:none;z-index:2;transition:opacity var(--t-fast) var(--e-out)}.tile.node .meta .rdot.rl{left:calc(-1em - 1px);transform:translate(-50%,-50%)}.tile.node .meta .rdot.rr{right:calc(-1em - 1px);transform:translate(50%,-50%)}.tile.node.textnode>.rdot.rl{left:0;transform:translate(-50%,-50%)}.tile.node.textnode>.rdot.rr{right:0;transform:translate(50%,-50%)}.tile.node .meta .mrow.anch-l .rdot.rl,.tile.node .meta .mrow.anch-r .rdot.rr,.tile.node.textnode.anch-l>.rdot.rl,.tile.node.textnode.anch-r>.rdot.rr{opacity:1}.tile.node .meta .mrow .mk{color:var(--band-k)}.tile.node .meta .mrow b{color:var(--strong);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.tile.node .meta .mk{font-size:.75em;letter-spacing:.12em;text-transform:uppercase;color:var(--band-k);margin-bottom:.5em}.tile.relnode.node{border-style:dashed}.tile.node .meta .more{display:inline-block;margin:.9em 0 0;cursor:pointer;white-space:nowrap;font-size:.75em;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--strong);padding:.5em .95em;border:1px solid var(--node-border);border-radius:2em;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out)}.tile.node .meta .more:hover{background:var(--pill-hover);border-color:var(--strong)}#frame{pointer-events:none;position:fixed;inset:0;z-index:15;box-shadow:var(--frame-sh)}#frame:after{content:"";position:absolute;inset:1px;border:1px solid var(--frame-bd)}header{position:fixed;left:0;right:0;top:0;z-index:30;display:flex;align-items:flex-start;gap:26px;padding:12px;pointer-events:none}header .gradient{position:absolute;left:0;right:0;top:0;height:56px;z-index:-1;background:var(--headgrad)}header:not(.overlayopen) .logo,header:not(.overlayopen) .pills button,header:not(.overlayopen) .utilbtn,header:not(.overlayopen)~#hud .themebtn{touch-action:none}.logo{pointer-events:auto;flex:none;display:flex;align-items:center;height:20px;color:var(--fg);text-decoration:none;transition:opacity var(--t-fast) var(--e-out)}.logo svg{height:11.4px;width:auto;display:block}.logo:hover{opacity:.6}.pills{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex:none;pointer-events:auto}.pills button{display:flex;align-items:center;height:20px;padding:0 8px;border:1px solid var(--dim);border-radius:999px;background:var(--pill-bg);color:var(--fg);font:inherit;font-size:11px;line-height:1;cursor:pointer;transition:background var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out)}.pills button.active{background:var(--dark)}.pills button:hover{background:var(--pill-hover)}.rightcluster{margin-left:auto;display:flex;align-items:center;gap:6px;pointer-events:auto}.utilbtn{display:flex;align-items:center;height:20px;padding:0 8px;border:1px solid var(--dim);border-radius:999px;background:var(--pill-bg);color:var(--fg);font:inherit;font-size:11px;line-height:1;cursor:pointer;pointer-events:auto;white-space:nowrap;transition:background var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out)}.utilbtn:hover{background:var(--pill-hover)}.utilbtn .ul{display:block;transition:opacity .13s var(--e-out)}.utilbtn.swap .ul{opacity:0}.utilbtn.act{background:var(--dark);border-color:var(--fg)}.utilbtn[hidden]{display:none!important}header.overlayopen .rightcluster{display:flex}header.overlayopen #track{display:none}.track{position:fixed;left:12px;bottom:14px;z-index:30;width:130px;height:14px;cursor:ew-resize;pointer-events:auto;touch-action:none}.track .line{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--track-line);transform:translateY(-50%)}.track .cap{position:absolute;top:50%;width:1px;height:9px;background:var(--track-cap);transform:translateY(-50%)}.track .cap.l{left:0}.track .cap.r{right:0}.track .handle{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;border:1px solid var(--handle-bd);background:var(--handle-bg);transform:translate(-50%,-50%);left:50%}#tagsbar{position:fixed;right:12px;top:40px;z-index:31;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;max-width:calc(100vw - 24px)}#tagsbar>*{pointer-events:auto}#tagsbar *{touch-action:none}#tagsbar .fpanel,#tagsbar .fpanel *{touch-action:pan-y}.fpanel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#tagsbar.open .fpanel{opacity:1;visibility:visible;transform:none;transition:opacity .18s var(--e-out),transform .18s var(--e-out),visibility 0s}.fpanel{transform-origin:100% 0;opacity:0;visibility:hidden;transform:translate3d(0,-4px,0) scale(.985);transition:opacity .18s var(--e-out),transform .18s var(--e-out),visibility 0s linear .2s;width:min(560px,calc(100vw - 40px));max-height:min(58vh,520px);overflow-y:auto;background:var(--glass-bg);border:1px solid var(--hairline-2);border-radius:12px;padding:14px 15px 11px;box-shadow:0 10px 34px #0000001a;display:flex;flex-direction:column;gap:13px}.fgrp{display:flex;flex-direction:column;gap:7px}.fk{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--band-k)}.fterms{display:flex;flex-wrap:wrap;gap:5px}.fterm{display:inline-flex;align-items:baseline;gap:5px;padding:5px 9px;border:1px solid transparent;border-radius:999px;background:var(--pill-hover);color:var(--fg);font:inherit;font-size:11px;line-height:1.1;cursor:pointer;text-transform:lowercase;white-space:nowrap;transition:background var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out),opacity var(--t-fast) var(--e-out)}.fterm .fn{font-size:9px;color:var(--band-k);font-variant-numeric:tabular-nums}.fterm:hover{background:var(--dark)}.fterm.on{background:var(--fg);color:var(--bg)}.fterm.on .fn{color:var(--bg);opacity:.6}.fterm.zero{opacity:.32}.ffoot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--row-bd);padding-top:10px}.fcount{font-size:10px;color:var(--band-k);font-variant-numeric:tabular-nums}.fclear{border:0;background:none;color:var(--band-k);font:inherit;font-size:10px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.fclear:hover{color:var(--fg)}header.overlayopen~#tagsbar{display:none}#hud{position:fixed;right:12px;bottom:12px;z-index:30;display:flex;align-items:center;gap:10px;pointer-events:none}#hud .code{font-size:11px;letter-spacing:.04em;color:var(--fg);text-transform:uppercase;font-variant-numeric:tabular-nums}#hud .view{display:none;align-items:center;height:20px;padding:0 8px;border:1px solid var(--dim);border-radius:999px;background:var(--pill-bg);color:var(--fg);font-size:11px;line-height:1;cursor:pointer;pointer-events:auto;text-decoration:none}#hud.show .view{display:flex}#hud .view:hover{background:var(--pill-hover)}.themebtn{width:20px;height:20px;border-radius:50%;border:1px solid var(--dim);background:var(--pill-bg);color:var(--fg);cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;padding:0;flex:none;transition:background var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out)}.themebtn svg{display:block;flex:none}.themebtn:hover{background:var(--pill-hover)}#expand{position:fixed;inset:0;z-index:29;display:none}#expand .exp-bg{position:absolute;inset:0;background:var(--exp-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0}#expand .exp-panel{position:absolute;left:4vw;right:4vw;top:7vh;bottom:7vh;background:var(--node-bg);border:1px solid var(--node-border);border-radius:12px;box-shadow:0 14px 40px #0000001a;display:flex;flex-direction:column;overflow:hidden;will-change:transform}#expand .exp-panel .bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;height:30px;padding:0 16px;cursor:default}#expand .exp-panel .bar .label,#expand .exp-count{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--label);text-transform:uppercase;font-variant-numeric:tabular-nums}#expand .exp-panel .bar .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#expand .exp-meta{display:flex;align-items:center;gap:10px;flex:none}#expand .exp-panel .bar .dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--dot,var(--sqb))}.exp-strip{flex:1;min-height:0;display:flex;gap:0;align-items:stretch;overflow-x:auto;overflow-y:hidden;padding:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dim) transparent}.exp-strip::-webkit-scrollbar{height:3px}.exp-strip::-webkit-scrollbar-thumb{background:var(--dim);border-radius:2px}.exp-strip::-webkit-scrollbar-track{background:transparent}.exp-strip img,.exp-strip video{height:100%;width:auto;object-fit:contain;flex:none;border-radius:0;background:var(--thumbbg);background-size:cover;background-position:center}.exp-info{--gut:clamp(24px,2.4vw,52px);flex:none;display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);column-gap:var(--gut);height:var(--info-h,auto);max-height:clamp(160px,24vh,260px);padding:14px 16px 0;border-top:1px solid var(--node-border);overflow:hidden}.exp-info>.sec{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:14px;scrollbar-width:none}.exp-info>.sec::-webkit-scrollbar{display:none}.exp-info>.sec.txt:last-child{grid-column:2 / -1}.exp-info .sec.txt{columns:2 260px;column-gap:var(--gut)}.exp-info .sec.txt.long{columns:auto}.exp-info .sec.txt .dup{display:none}.exp-info.measure{position:absolute;left:0;right:0;top:0;height:auto;max-height:none;visibility:hidden;pointer-events:none;grid-template-rows:auto}.exp-info.measure>.sec{overflow:visible}.exp-info .kv{margin:0;display:grid;grid-template-columns:6.6em minmax(0,1fr);column-gap:1.2em;row-gap:3px;align-content:start;font-family:var(--font-mono);font-size:10px;line-height:1.45;letter-spacing:.06em;text-transform:uppercase}.exp-info .kv .f{display:contents}.exp-info .kv dt{margin:0;color:var(--band-k)}.exp-info .kv dd{margin:0;color:var(--strong);overflow-wrap:anywhere}.exp-info .tx{break-inside:auto}.exp-info .tx+.tx{margin-top:14px}.exp-info .sec h4{margin:0 0 3px;font-family:var(--font-mono);font-size:10px;line-height:1.45;font-weight:inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--band-k);break-after:avoid}.exp-info .sec p{margin:0;font-family:var(--font-sans);font-size:clamp(12.5px,calc(11px + .16vw),14px);line-height:1.5;color:var(--meta-fg);orphans:2;widows:2}.exp-info .more{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent)}@media(max-width:880px){.exp-info{grid-template-columns:minmax(190px,1fr) minmax(0,2fr)}.exp-info>.aside{display:none}.exp-info .sec.txt .dup{display:block}.exp-info>.sec.txt{grid-column:2 / -1}}.exp-info a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;pointer-events:auto}#expand .exp-act{display:flex;align-items:center;gap:8px}.exp-open{display:inline-flex;align-items:center;height:18px;padding:0 8px;border:1px solid var(--node-border);border-radius:999px;background:transparent;color:var(--label);font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out)}.exp-open:hover{background:var(--pill-hover);border-color:var(--strong);color:var(--strong)}.exp-ext{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--label)}.overlay{position:fixed;inset:0;z-index:25;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:64px 40px 60px;font-family:var(--font-sans);opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,6px,0);transition:opacity var(--t-ui) var(--e-out),transform var(--t-ui) var(--e-out),visibility 0s linear .3s}.overlay.show{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity var(--t-ui) var(--e-out),transform var(--t-ui) var(--e-out),visibility 0s}#about{padding-top:132px}#about .band{gap:24px;padding:18px 0}#about .band .v .yr{margin-bottom:5px}#lgrid{display:none;margin:0 -40px}#listview.gridmode #lgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}#listview.gridmode.cols2 #lgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 2px}#listview.gridmode .lhead,#listview.gridmode #lrows{display:none}.gband{position:relative;min-width:0;margin-bottom:2px;cursor:pointer;transition:opacity var(--t-slow) var(--e-out),filter var(--t-slow) var(--e-out);opacity:.62;filter:saturate(.88);content-visibility:auto;contain-intrinsic-size:auto 64vh}.gband.focus{opacity:1;filter:none}html:not(.dark) .gband:not(.focus){opacity:.8;filter:saturate(.72)}#listview.nodim .gband{opacity:1;filter:none}.gband-bar{position:absolute;top:14px;left:14px;right:14px;z-index:2}.nodespill{position:absolute;right:14px;bottom:14px;z-index:2;display:flex;align-items:center;height:20px;padding:0 8px;border:1px solid var(--dim);border-radius:999px;background:var(--pill-bg);color:var(--fg);font-family:var(--font-mono);font-size:11px;line-height:1;cursor:pointer;opacity:0;transition:opacity var(--t-mid) var(--e-out),background var(--t-fast) var(--e-out)}.nodespill:hover{background:var(--pill-hover)}.gband.focus .nodespill,#listview.nodim .nodespill,.gband:hover .nodespill{opacity:1}.gband-strip{display:flex;gap:0;height:64vh;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;background:var(--thumbbg)}.gband-strip::-webkit-scrollbar{display:none}.gband-strip img,.gband-strip video{height:100%;width:auto;max-width:none;flex:none;object-fit:contain;background-size:cover;background-position:center}#listview.gridmode.cols2 .gband-strip{height:38vh}#listview.gridmode.cols2 .gband{contain-intrinsic-size:auto 38vh}#listview.gridmode.cols2 .gband-bar{font-size:9px;grid-template-columns:minmax(0,auto) auto;justify-content:space-between;gap:10px}#listview.gridmode.cols2 .gband-bar .mterms{display:none}#listview .search input{flex:1;background:none;border:0;color:var(--fg);font-family:var(--font-sans);font-size:16px;outline:none}#listview .search input::placeholder{color:var(--dim)}#listview .lhead,#listview .lrow{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,360px);gap:20px;align-items:center}#listview .lrow .cat,#listview .lhead span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#listview .lrow{font-family:var(--font-sans)}#listview .lrow span:nth-child(2){min-width:0;overflow-wrap:anywhere}#listview .lhead{font-size:11px;color:var(--fg);padding:0 0 8px;border-bottom:1px solid var(--hairline-2)}#listview .lrow{font-size:15px;color:var(--row);padding:8px 0;cursor:pointer;transition:color var(--t-fast) var(--e-out);border-bottom:1px solid var(--row-bd)}#listview .lrow:hover,#listview .lrow:focus-visible{color:var(--fg)}#listview .lrow:focus-visible{outline-offset:-2px}#listview .lrow .cat{text-transform:capitalize}.gband:focus-visible{outline-offset:-3px;opacity:1;filter:none}#listprev{position:fixed;left:0;top:0;width:230px;z-index:40;pointer-events:none;opacity:0;visibility:hidden;box-shadow:0 8px 24px #0000002e}#listprev img{display:block;width:100%;height:auto;background:var(--thumbbg)}.sheet{width:100%;max-width:1400px}.band{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;border-top:1px solid var(--hairline-2);padding:34px 0;align-items:start}.band>span:last-child:empty{display:none}@media(max-width:1000px){.band{grid-template-columns:150px minmax(0,1fr);gap:28px}#about .band{gap:20px}}.band .k{font-size:14px;color:var(--band-k);letter-spacing:.01em}.band .v{font-family:var(--font-sans);font-size:14px;line-height:1.35;color:var(--band-v)}.band .v .yr{display:block;font-size:13px;color:var(--band-k);margin-bottom:10px}.band .v .dimline{color:var(--band-k)}.band .v .btext{display:inline}#about .pblock{margin:0}#about .pblock.b-text{padding-bottom:18px}#about .ptext{margin:0 0 4px;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--band-v);max-width:none;font-weight:500}#about .pv-head{margin:0 0 10px}#about .pv-head h1{margin:0 0 6px;font-family:var(--font-sans);font-size:clamp(19px,1.6vw,25px);line-height:1.15;letter-spacing:-.015em;font-weight:500;color:var(--fg);max-width:22ch}#about .pv-head .lede{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.45;color:var(--band-k);max-width:62ch;font-weight:500}#about .tag{display:block;margin:0 0 7px;font-family:var(--font-mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--band-k)}#about h2{margin:0 0 8px;font-family:var(--font-sans);font-size:17px;line-height:1.25;font-weight:500;color:var(--fg)}#about .section-note{margin:0 0 12px;font-family:var(--font-sans);font-size:13px;line-height:1.5;color:var(--band-k);max-width:62ch;font-weight:500}#about .prule{border:0;border-top:1px solid var(--hairline-2);margin:26px 0}.svcnote{margin:0 0 14px;font-family:var(--font-mono);font-size:11.5px;line-height:1.6;color:var(--band-k);max-width:46ch}.svcpills{display:flex;gap:8px;flex-wrap:wrap}.spill{display:inline-flex;align-items:center;height:26px;padding:0 12px;border:1px solid var(--dim);border-radius:999px;background:var(--pill-bg);color:var(--fg);font-family:var(--font-mono);font-size:11px;line-height:1;text-decoration:none;white-space:nowrap;transition:background var(--t-fast) var(--e-out)}.spill:hover{background:var(--pill-hover)}.spill.ek-empty{border-style:dashed;opacity:.5}.band .v a.line{color:var(--meta-fg);text-decoration:underline;text-underline-offset:3px;display:inline-block}.band .v a.line:hover{color:var(--fg)}.hlink{font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;display:inline-block;line-height:1.3;transition:color var(--t-fast) var(--e-out)}.hlink:hover{color:var(--band-k)}.hlink.sm{font-size:14px}.mbar{display:grid;align-items:center;gap:4px;padding:0;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;color:var(--fg);font-family:var(--font-mono);font-size:10px;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.mbar .mc{min-width:0;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;height:20px;padding:0 9px;border:1px solid var(--dim);border-radius:999px;background:var(--pill-bg)}.mbar .my{text-align:right}.mbar .mterms{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;text-overflow:clip;justify-self:start;max-width:100%}.mbar .mterms::-webkit-scrollbar{display:none}.mbar .pbt+.pbt:before{content:", "}.pp-bar{position:fixed;left:12px;right:12px;bottom:38px;z-index:12}@media(max-width:880px){.track{display:none}}@media(max-width:760px){header .gradient{height:44px}header{gap:10px;flex-wrap:wrap;padding:8px}.logo{height:18px}.logo svg{height:9.9px}.pills{flex-wrap:wrap;gap:3px}.pills button{height:18px;padding:0 6px;font-size:10px}.nodespill{right:10px;bottom:10px;height:18px;padding:0 7px;font-size:10px;opacity:1}.rightcluster{position:fixed;left:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:31;display:flex;gap:5px}header{flex-wrap:nowrap;align-items:center}.utilbtn{height:18px;padding:0 7px;font-size:10px}#hud{bottom:8px;right:8px;gap:6px}#hud .view{display:none!important}#hud .code{font-size:10px}#tagsbar{left:8px;right:auto;top:auto;align-items:flex-start;bottom:calc(34px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 16px)}.fpanel{transform-origin:0 100%}.fpanel{width:calc(100vw - 16px);max-height:56vh;padding:12px 12px 9px}.fterm{padding:7px 10px}.overlay{padding:54px 18px calc(66px + env(safe-area-inset-bottom,0px))}#about{padding-top:104px}#about .band{gap:8px;padding:14px 0}#about .pblock.b-text{padding-bottom:14px}.band{grid-template-columns:1fr;gap:10px;padding:22px 0}.hlink{font-size:15px}.hlink.sm{font-size:14px}#listview .search input{font-size:16px}#lgrid{margin:0 -18px}.gband-strip{height:34vh}#listview.gridmode.cols2 .gband-strip{height:22vh}.gband{contain-intrinsic-size:auto 34vh}#listview.gridmode.cols2 .gband{contain-intrinsic-size:auto 22vh}.gband-bar,#listview.gridmode.cols2 .gband-bar{grid-template-columns:minmax(0,auto) auto;justify-content:space-between;gap:6px;font-size:9px;top:12px;left:8px;right:8px}#listview.gridmode.cols2 .gband-bar{font-size:8px}.mbar .mterms{display:none}#listview.gridmode .gband{opacity:1;filter:none}#listview.gridmode .gband.focus{opacity:1}#listview .lhead,#listview .lrow{grid-template-columns:52px minmax(0,1fr) 96px;gap:10px}#listview .lrow{font-size:14px}#expand .exp-panel{left:8px;right:8px;top:48px;bottom:calc(34px + env(safe-area-inset-bottom,0px));border-radius:10px}#expand .exp-panel .bar{height:28px;padding:0 12px}.exp-info{max-height:min(36%,270px);padding:12px 12px 0}.exp-info>.sec{padding-bottom:12px}#listprev{display:none}}@media(max-width:560px){.exp-info{display:flex;flex-direction:column;gap:9px;padding:10px 12px 0}.exp-info>.sec.kv{flex:none;overflow:visible;padding-bottom:0}.exp-info .kv{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));column-gap:12px;row-gap:6px;font-size:9px;line-height:1.35}.exp-info .kv .f{display:block;min-width:0}.exp-info .kv dt{font-size:8px}.exp-info .kv dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-info>.sec.txt{flex:1 1 auto;columns:auto}.exp-info .tx+.tx{margin-top:9px}.exp-info .sec h4{margin:0 0 2px;font-size:8px}.exp-info .sec p{font-size:12px;line-height:1.4}}#projpage{--pp-top:44px;padding:var(--pp-top) 0 0;z-index:28}.pp-lock{min-height:calc(100vh - 44px);display:flex;align-items:center;justify-content:center;padding:24px}.pp-lockbox{width:min(360px,100%);display:flex;flex-direction:column;gap:10px}.pp-lockbox .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--tag)}.pp-lockbox p{margin:0 0 6px;font-size:13px;line-height:1.45;color:var(--fg)}.pp-lockbox input{width:100%;padding:9px 11px;border:1px solid var(--dim);border-radius:9px;background:var(--btn-bg);color:var(--fg);font:inherit;font-size:13px}.pp-lockbox input:focus{outline:none;border-color:var(--fg)}.pp-lockbox button{align-self:flex-start;padding:8px 16px;border:1px solid var(--fg);border-radius:999px;background:var(--fg);color:var(--bg);font:inherit;font-size:12px;cursor:pointer}.pp-lockbox.busy button{opacity:.5;pointer-events:none}.pp-lockbox .err{min-height:15px;font-size:12px;color:#d9342b}#ppbody img,#ppbody video{display:block;max-width:100%;background-size:cover;background-position:center;background-color:var(--thumbbg)}.pp-hero img,.pp-hero video{width:100%;height:86vh;object-fit:cover}.pp-full{margin:0}.pp-full img,.pp-full video{width:100%;height:auto;display:block}.pp-full img.ld{background-image:none!important}.pp-center{margin:9vh auto;width:min(46vw,720px)}.pp-center img,.pp-center video{width:100%;height:auto}.pp-side{margin:9vh 0;display:flex}.pp-side.l{justify-content:flex-start;padding-left:8vw}.pp-side.r{justify-content:flex-end;padding-right:8vw}.pp-side img,.pp-side video{width:min(38vw,560px);height:auto}.pp-duo{margin:9vh 0;display:grid;grid-template-columns:1fr 1fr;gap:2vw;padding:0 6vw;align-items:start}.pp-duo img,.pp-duo video{width:100%;height:auto}.pp-text{margin:14vh auto;width:min(420px,80vw)}.pp-text p{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--lead);font-weight:300}.pp-credits{margin:16vh auto 12vh;width:min(560px,84vw);display:flex;flex-direction:column;gap:4px;padding-bottom:8vh}.pp-credits div{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.pp-credits .k{color:var(--band-k)}.pp-credits .v{color:var(--fg)}@media(max-width:760px){.pp-hero img{height:52vh}.pp-center{width:82vw}.pp-side img,.pp-side video{width:70vw}.pp-duo{grid-template-columns:1fr;gap:14px;padding:0 18px}.pp-text{margin:9vh auto}.pp-bar{left:8px;right:8px;bottom:calc(34px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr) auto;gap:6px;font-size:9px}#projpage{--pp-top:64px}}.pp-sec{position:relative;overflow:hidden}.pp-grid{position:relative}.pp-it{position:absolute;overflow:hidden;box-shadow:none}.pp-it img,.pp-it video{width:100%;height:100%;display:block;object-fit:cover;background-color:var(--thumbbg);background-size:cover;background-position:center}#ppbody img.fit-contain,#ppbody video.fit-contain{background:none}.pp-itembed{background:#000}.pp-embed{position:relative;width:100%;height:100%;cursor:pointer}.pp-embed img,.pp-embed iframe{width:100%;height:100%;display:block;border:0}.pp-embed img{object-fit:cover}.pp-embed.live{cursor:default}.pp-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:14%;min-width:44px;max-width:82px;aspect-ratio:1;border:0;border-radius:50%;background:#ffffffeb;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--t-fast) var(--e-out),background var(--t-fast) var(--e-out)}.pp-embed:hover .pp-play{transform:translate(-50%,-50%) scale(1.06);background:#fff}.pp-play span{width:0;height:0;margin-left:12%;border-left:34% solid #0a0a0a;border-top:22% solid transparent;border-bottom:22% solid transparent}html.editmode #projpage .pp-it{cursor:grab}html.editmode #projpage .pp-it:after{content:"";position:absolute;inset:0;pointer-events:none;outline:1px solid transparent;outline-offset:-1px;transition:outline-color .12s ease;z-index:2}html.editmode #projpage .pp-it:hover:after{outline-color:#3d8bff80}html.editmode #projpage .pp-it.ed-sel:after{outline:2px solid #3d8bff;outline-offset:-1px}html.editmode #projpage .pp-link,html.editmode #projpage .pp-play{pointer-events:none}html.editmode .pp-bar,html.editmode header,html.editmode #hud,html.editmode #tagsbar{display:none!important}html.editmode #projpage{--pp-top:0px}html.editmode #projpage .pp-ittext.ed-writing{cursor:text}html.editmode #projpage .pp-ittext [contenteditable]{outline:none;cursor:text}html.editmode #projpage .pp-sec.ed-selsec:after{content:"";position:absolute;inset:0;pointer-events:none;outline:2px solid rgba(61,139,255,.5);outline-offset:-2px;z-index:3}.ed-ui{font:500 11px/1 var(--font-sans);letter-spacing:.01em}.ed-hs{position:absolute;inset:0;pointer-events:none;z-index:6}.ed-h{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid #3d8bff;pointer-events:auto;z-index:7}.ed-h-nw{left:-1px;top:-1px;cursor:nwse-resize}.ed-h-ne{right:-1px;top:-1px;cursor:nesw-resize}.ed-h-se{right:-1px;bottom:-1px;cursor:nwse-resize}.ed-h-sw{left:-1px;bottom:-1px;cursor:nesw-resize}.ed-h-n{left:50%;top:-1px;transform:translate(-50%);cursor:ns-resize}.ed-h-s{left:50%;bottom:-1px;transform:translate(-50%);cursor:ns-resize}.ed-h-w{left:-1px;top:50%;transform:translateY(-50%);cursor:ew-resize}.ed-h-e{right:-1px;top:50%;transform:translateY(-50%);cursor:ew-resize}.ed-secui{position:absolute;inset:0;pointer-events:none;z-index:5;opacity:0;transition:opacity .14s ease}.pp-sec:hover .ed-secui,.pp-sec.ed-selsec .ed-secui{opacity:1}.ed-secui>*{pointer-events:auto}.ed-tl{position:absolute;left:12px;top:12px;display:flex;gap:6px}.ed-tr{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ed-secrow{display:flex;gap:4px}.ek-pill.ed-addsec{position:absolute;left:14px}.ed-addsec.top{top:0}.ed-addsec.bot{bottom:0}.ed-grip{position:absolute;left:0;right:0;bottom:0;height:22px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;gap:8px}.ed-grip span{width:64px;height:4px;background:#3d8bff;opacity:.55}.ed-grip b{font:600 9.5px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:#3d8bff;opacity:.55;font-weight:600}.ed-grip:hover span,.ed-grip:hover b{opacity:1}html.editmode #ppbody.ed-lines .pp-sec:not(.fp) .pp-grid:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background-image:linear-gradient(to right,rgba(61,139,255,.24) 1px,transparent 1px),linear-gradient(to bottom,rgba(61,139,255,.24) 1px,transparent 1px);background-size:var(--u) var(--u);box-shadow:inset -1px -1px #3d8bff3d}html.editmode #projpage .pp-ittext .rt[contenteditable]{outline:none;cursor:text}#ppbody .pp-it img.crop,#ppbody .pp-it video.crop{position:absolute;height:auto;max-width:none;object-fit:fill}html.editmode #projpage .pp-sec.ed-cropping{overflow:visible;z-index:30}html.editmode #projpage .pp-it.ed-crop{overflow:visible;z-index:40;cursor:move}html.editmode #projpage .pp-it.ed-crop:after{outline:1.5px solid #fff!important;outline-offset:0;box-shadow:0 0 0 100vmax #08080a8c;z-index:4}.ed-cropbox{position:absolute;pointer-events:none;z-index:6;outline:1px solid rgba(61,139,255,.95)}.ed-cr{position:absolute;width:11px;height:11px;background:#fff;border:1.5px solid #3d8bff;pointer-events:auto}.ed-cr-nw{left:-6px;top:-6px;cursor:nwse-resize}.ed-cr-ne{right:-6px;top:-6px;cursor:nesw-resize}.ed-cr-se{right:-6px;bottom:-6px;cursor:nwse-resize}.ed-cr-sw{left:-6px;bottom:-6px;cursor:nesw-resize}#ekbar .ek-lock{color:#3d8bff}#ekpop .ek-lay.off .ek-lname{opacity:.45;text-decoration:line-through}#ekpop .ek-lk{font-style:normal;font:600 8.5px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:#3d8bff;border:1px solid rgba(61,139,255,.5);padding:2px 4px;margin-right:4px;vertical-align:1px}html.editmode #about [data-bi]{position:relative}html.editmode #about [data-bi]:hover{outline:1px solid rgba(61,139,255,.3);outline-offset:8px}html.editmode #about [data-f]{cursor:text}html.editmode #about [contenteditable]{outline:none}.pp-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}.pp-ittext .pp-link{display:flex}.pp-ittext a{color:inherit;text-decoration:underline;text-underline-offset:3px}.pp-ittext a:hover{opacity:.65}.pp-ittext{display:flex;overflow:visible;height:auto;align-items:flex-start}.pp-ittext.va-mid{align-items:center}.pp-ittext.va-bot{align-items:flex-end}.pp-ittext p,.pp-ittext .rt{margin:0;width:100%;font-family:var(--font-sans);font-weight:300;color:var(--lead);line-height:1.45}.pp-ittext p:not([style*=font-size]),.pp-ittext .rt:not([style*=font-size]){font-size:max(12px,calc(.37*var(--u,24px)))}.pp-hsec{overflow:visible}.pp-hstage{position:sticky;top:calc(-1*var(--pp-top,0px));height:100vh;height:100dvh;overflow:hidden;cursor:grab}.pp-hstage.grabbing{cursor:grabbing}.pp-hpan{position:absolute;left:0;top:0;will-change:transform}.pp-bsec{overflow:visible}.pp-bit{--px:0px;--py:0px;transform:translate3d(var(--px),var(--py),0) scale(var(--s,1));transition:transform var(--t-mid) var(--e-out),box-shadow var(--t-mid) var(--e-out);cursor:grab}.pp-bit:hover{--s:1.04;z-index:20;box-shadow:0 10px 34px #00000029}.pp-bit.dragging{--s:1.06;cursor:grabbing;z-index:30;transition:none;box-shadow:0 14px 40px #0003}html.reduce-motion .pp-bit{transition:none}html.reduce-motion .pp-bit:hover{--s:1}.pp-bstage{position:sticky;top:calc(-1*var(--pp-top,0px));height:100vh;height:100dvh;overflow:hidden;touch-action:pan-y;cursor:grab}.pp-bstage.grabbing{cursor:grabbing}.pp-bpan{position:absolute;left:0;top:0;will-change:transform}.pp-zsec{position:relative;overflow:visible}.pp-zstage{position:sticky;top:calc(-1*var(--pp-top,0px));height:100vh;height:100dvh;overflow:hidden;perspective:1000px;perspective-origin:50% 50%;background:var(--bg)}.pp-zscene{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}.pp-zit{position:absolute;transform-style:preserve-3d}.pp-zit img,.pp-zit video{width:100%;height:100%;object-fit:cover;display:block;background:var(--thumbbg)}.pp-zbar{position:absolute;right:14px;top:22vh;width:2px;height:56vh;background:var(--hairline-2);pointer-events:none}.pp-zfill{width:100%;height:0;background:var(--fg);opacity:.55}.tooltile .toolface{position:relative;aspect-ratio:4/3;background:#0c0c0d;overflow:hidden;border-radius:.5em;box-shadow:var(--sh,0 .2em .6em rgba(0,0,0,.08));transition:box-shadow .25s ease-out;display:flex;flex-direction:column;justify-content:flex-end}.tooltile:not(.node):hover .toolface{box-shadow:0 .4em 1.2em #00000024!important}.tooltile .toolprev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0c0c0d}.tooltile .toolface:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#000000b8,#0000 58%);pointer-events:none}.tooltile .tmotif{position:absolute;inset:0;width:100%;height:100%;opacity:.45}.tooltile .toolopen{position:relative;z-index:2;font-family:var(--font-mono);font-size:.95em;color:var(--accent,#0049ff);padding:0 .85em 1em;letter-spacing:.05em}.tooltile:hover .toolopen{color:#fff}#toolmodal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center}#toolmodal .tm-bg{position:absolute;inset:0;background:#0000009e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#toolmodal .tm-panel{position:relative;width:80vw;height:80vh;max-width:1280px;max-height:90vh;transform-origin:center center;background:#0a0a0b;border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 40px 120px #000000a6;display:flex;flex-direction:column;overflow:hidden}.tm-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex:none}.tm-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff}.tm-close{width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.5);background:#ffffff0a;color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.tm-close:hover{background:#ffffff1a}.tm-body{flex:1;min-height:0;overflow:hidden}.dth{display:grid;grid-template-columns:286px 1fr;height:100%;font-family:var(--font-sans)}.dth-side{border-right:1px solid rgba(255,255,255,.1);padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.dth-row{display:flex;flex-direction:column;gap:7px}.dth-row label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a;display:flex;justify-content:space-between;align-items:center}.dth-row label em{font-style:normal;color:#fff;font-variant-numeric:tabular-nums}.dth select{width:100%;appearance:none;-webkit-appearance:none;background:#111114;border:1px solid rgba(255,255,255,.14);color:#fff;font-family:var(--font-mono);font-size:12px;padding:8px 10px;border-radius:8px;cursor:pointer}.dth input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:#fff3;border-radius:999px;outline:none}.dth input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;border:0;cursor:pointer;margin-top:-6px}.dth input[type=range]:active::-webkit-slider-thumb{background:var(--accent,#0049ff);border-color:var(--accent,#0049ff)}.dth input[type=range]::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:#fff;cursor:pointer}.dth input[type=range]:active::-moz-range-thumb{background:var(--accent,#0049ff);border-color:var(--accent,#0049ff)}.dth-check{flex-direction:row;align-items:center;justify-content:space-between}.dth-check input{-webkit-appearance:none;appearance:none;width:36px;height:20px;border-radius:999px;background:#ffffff29;border:0;position:relative;cursor:pointer;transition:background .2s;flex:none}.dth-check input:checked{background:var(--accent,#0049ff)}.dth-check input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s}.dth-check input:checked:after{left:18px}.dth-2col{flex-direction:row;gap:12px;align-items:stretch}.dth-2col>div{flex:1;display:flex;flex-direction:column;gap:6px}.dth-2col>div>label+*{margin-top:auto}.dth input[type=color]{width:100%;height:30px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:none;cursor:pointer;padding:2px}.dth-sep{height:1px;background:#ffffff1a;margin:2px 0}.dth-drop{border:1px dashed rgba(255,255,255,.25);border-radius:8px;padding:16px;text-align:center;font-family:var(--font-mono);font-size:11px;color:#9a9a9a;cursor:pointer}.dth-drop b{color:#fff;text-decoration:underline}.dth-drop:hover{border-color:#ffffff80}.dth-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px}.dth-btn{flex:1;background:var(--accent,#0049ff);color:#fff;border:0;border-radius:8px;padding:11px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.dth-btn.ghost{flex:0 0 auto;padding:11px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14)}.dth-btn:hover{filter:brightness(1.12)}.dth-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:24px;background:repeating-conic-gradient(#0e0e10 0% 25%,#0a0a0b 0% 50%) 50%/22px 22px;overflow:hidden}.dth-stage.over{outline:2px dashed var(--accent,#0049ff);outline-offset:-12px}.dth-stage canvas{max-width:100%;max-height:100%;image-rendering:pixelated;box-shadow:0 20px 60px #00000080}.dth-stage canvas.smooth{image-rendering:auto}.dth input[type=number]{outline:none}.dth-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7a7a7a;margin:8px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.dth-head em{float:none;font-style:normal}.dth-btnrow{display:flex;gap:6px}.dth-zones{font-family:var(--font-mono);font-size:10px;color:#8a8a8a}.dth input[type=text]{width:100%;background:#111114;border:1px solid rgba(255,255,255,.14);color:#fff;font-family:var(--font-mono);font-size:12px;padding:8px 10px;border-radius:8px;outline:none}.fx-layers{display:flex;flex-direction:column;gap:4px;margin:6px 0}.fx-empty{font-family:var(--font-mono);font-size:10px;color:#6a6a6a;padding:6px 2px}.fx-layer{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0f0f12;cursor:pointer}.fx-layer.sel{border-color:#fff6;background:#151519}.fx-layer .fx-name{flex:1;font-family:var(--font-mono);font-size:11px;color:#e6e6e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-eye,.fx-mini{background:none;border:none;color:#9a9a9a;font-size:12px;cursor:pointer;padding:2px;line-height:1}.fx-eye.off{color:#555}.fx-mini:hover,.fx-eye:hover{color:#fff}.fx-ctl-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;color:#cfcfcf;margin:4px 0 8px}.fx-ctl-btns{display:flex;gap:6px}.dth-btn.mini{padding:4px 8px;font-size:10px;width:auto}.dth .wv-area{width:100%;height:70px;resize:none;background:#111114;border:1px solid rgba(255,255,255,.14);color:#fff;font-family:var(--font-mono);font-size:12px;line-height:1.45;padding:8px 10px;outline:none;letter-spacing:.02em}.dth .wv-area:focus{border-color:#ffffff4d}.wv-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;color:#7a7a7a;margin-top:5px}.wv-clear{cursor:pointer}.wv-clear:hover{color:#fff}.px-pal{display:flex;flex-wrap:wrap;gap:5px}.px-pal .px-stop{flex:1;min-width:32px;height:28px;border:1px solid rgba(255,255,255,.14);background:none;cursor:pointer;padding:2px;border-radius:6px}.dth-seg{display:flex;border:1px solid rgba(255,255,255,.14);width:100%;border-radius:8px;overflow:hidden}.dth-seg button{flex:1;padding:6px 0;background:none;border:0;border-right:1px solid rgba(255,255,255,.14);color:#9a9a9a;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.dth-seg button:last-child{border-right:0}.dth-seg button.on{background:#fff;color:#000}#an-stage{position:relative}.an-transport{position:absolute;left:16px;right:16px;bottom:14px;height:34px;display:flex;align-items:center;gap:10px;background:#0a0a0bb8;border:1px solid rgba(255,255,255,.14);padding:0 10px}.an-play{width:24px;height:24px;flex:none;background:none;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:10px;cursor:pointer;font-family:var(--font-mono)}.an-scrub{flex:1;height:4px;background:#ffffff26;position:relative;cursor:pointer}.an-fill{position:absolute;left:0;top:0;height:100%;background:#0049ff}.an-time{font-family:var(--font-mono);font-size:10px;color:#9a9a9a;min-width:44px;text-align:right}@media(max-width:760px){#toolmodal .tm-panel{width:96vw;height:90dvh;max-height:90dvh;border-radius:14px}.tm-head{padding:11px 14px}.tm-close{width:34px;height:34px}.dth{grid-template-columns:1fr;grid-template-rows:40vh 1fr}.dth-stage{order:1;padding:12px}.dth-side{order:2;border-right:0;border-top:1px solid rgba(255,255,255,.12);max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:14px;gap:13px}.dth-row{gap:9px}.dth select{padding:11px 12px;font-size:13px}.dth input[type=range]{height:4px}.dth input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8px}.dth input[type=range]::-moz-range-thumb{width:20px;height:20px}.dth-check input{width:46px;height:24px}.dth-check input:after{width:20px;height:20px}.dth-check input:checked:after{left:24px}.dth input[type=color]{height:40px}.dth-btn{padding:14px;font-size:12px}.dth-btn.ghost{padding:14px 16px}.dth-drop{padding:20px;font-size:12px}.fx-layer{padding:9px 10px}.fx-eye,.fx-mini{font-size:16px;padding:6px}.dth-btn.mini{padding:8px 12px;font-size:11px}}@media(pointer:coarse){.pills button,.utilbtn,.logo,.fclear,.themebtn,.rpill,.pill,.exp-open{position:relative}.pills button:after,.utilbtn:after,.logo:after,.nodespill:after,.fclear:after,.themebtn:after,.rpill:after,.pill:after,.exp-open:after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);background:none;pointer-events:auto}.themebtn:after,.logo:after{left:50%;width:44px;transform:translate(-50%,-50%)}.fclear:after{left:-10px;right:-10px}}#about p,.exp-info p,#projpage p,.pp-text p,.nf-t{text-wrap:pretty}.fr-title,.table-title,h1,h2,h3{text-wrap:balance}.pills button,.utilbtn,.nodespill,.exp-open,.fterm,.themebtn,.nf-back{transition-property:background,background-color,color,border-color,opacity,scale;transition-duration:var(--t-fast),var(--t-fast),var(--t-fast),var(--t-fast),var(--t-fast),.16s;transition-timing-function:var(--e-out)}.pills button:active,.utilbtn:active,.nodespill:active,.exp-open:active,.fterm:active,.themebtn:active,.nf-back:active{scale:.96}button,a,[role=button]{-webkit-tap-highlight-color:transparent}.pills button,.utilbtn,.themebtn,#hud .view,.nodespill,.mbar .mc,.fpanel,.tile.node,#expand .exp-panel,.rpill,.pill,.spill,.exedit,.nf-back{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
