@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-ext-400-normal-Q_nF8v4l.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-400-normal-r32jotim.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-ext-600-normal-BsaQcF38.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-600-normal-DMks36a2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2)format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/instrument-sans-latin-ext-700-normal-ClYbKGw-.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-700-normal-BQc-7cTM.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/instrument-sans-latin-700-normal-CYfAanHo.woff2)format("woff2"),url(/assets/instrument-sans-latin-700-normal-DfAjL1vF.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#eceeea;--paper-2:#e1e4df;--sheet:#f8f9f6;--ink:#16181b;--ink-2:#454b52;--ink-3:#6f767e;--rule:#c6cac4;--rule-2:#d8dbd5;--blue:#2b5ca6;--red:#b4412d;--green:#3a7a4b;--amber:#9a6a00;--hl:#f3d94a;--term:#1a1d21;--term-ink:#dde3e8;--dot:#16181b1a;--shadow:0 30px 60px -36px #141e2d73, 0 10px 24px -16px #141e2d40;--f-display:"Bricolage Grotesque Variable", "Avenir Next", "Segoe UI", system-ui, sans-serif;--f-body:"Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--f-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#14161a;--paper-2:#1b1e23;--sheet:#20242a;--ink:#e8e9e4;--ink-2:#b9bec4;--ink-3:#8d939a;--rule:#353a42;--rule-2:#2a2e35;--blue:#8aaeec;--red:#f0937b;--green:#8fcd9b;--amber:#e6b84a;--hl:#f3d94a47;--term:#0e1013;--dot:#e8e9e40f;--shadow:0 30px 60px -36px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background-color:var(--paper);background-image:radial-gradient(var(--dot) 1.1px, transparent 1.4px);color:var(--ink);font:15px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;background-size:26px 26px}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.topbar{padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--rule-2);background:color-mix(in srgb, var(--paper) 92%, transparent);align-items:center;gap:14px;display:flex}.brand{font:750 18px var(--f-display);letter-spacing:-.02em;flex:none;align-items:center;gap:8px;display:flex}.brand svg{width:22px;height:22px}.search{background:var(--sheet);border:1px solid var(--rule-2);max-width:420px;color:var(--ink-3);border-radius:10px;flex:1;align-items:center;gap:8px;margin-left:auto;padding:6px 10px;display:flex}.search input{all:unset;min-width:0;color:var(--ink);flex:1}.search svg{flex:none;width:16px;height:16px}.pill{color:var(--ink-2);background:var(--sheet);border:1px solid var(--rule-2);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:7px;padding:4px 11px;font-size:13px;display:inline-flex}.pill i{background:var(--green);border-radius:50%;flex:none;width:7px;height:7px}.pill.busy i{background:var(--amber);animation:.9s infinite alternate pulse}.pill.off i{background:var(--ink-3)}.pill.err i{background:var(--red)}@keyframes pulse{to{opacity:.3}}.iconbtn{border:1px solid var(--rule);background:var(--sheet);cursor:pointer;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.iconbtn svg{width:17px;height:17px}.iconbtn:disabled{opacity:.5;cursor:default}.body{grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.side{border-right:1px solid var(--rule-2);background:color-mix(in srgb, var(--paper-2) 70%, transparent);flex-direction:column;gap:2px;padding:14px 10px;display:flex;overflow:auto}.nav{cursor:pointer;text-align:left;width:100%;color:var(--ink-2);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.nav svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.nav:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.nav[aria-current=page]{background:var(--sheet);color:var(--ink);box-shadow:0 0 0 1px var(--rule-2);font-weight:600}.nav .count{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.account{background:var(--sheet);border:1px solid var(--rule-2);color:var(--ink-2);border-radius:12px;gap:4px;margin-top:auto;padding:12px;font-size:13px;display:grid}.account b{color:var(--ink);font-size:14px}.linkbtn{color:var(--blue);cursor:pointer;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.linkbtn.danger{color:var(--red)}.main{min-width:0;min-height:0;padding:18px max(16px, env(safe-area-inset-right)) 28px 22px;overflow:auto}.head{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;display:flex}.crumbs{font:650 20px var(--f-display);letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:4px;display:flex}.crumbs button{cursor:pointer;font:inherit;color:var(--ink-3);background:0 0;border:0;border-radius:6px;padding:2px 4px}.crumbs button:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.crumbs .sep{color:var(--ink-3);font-weight:400}.meta{color:var(--ink-3);font-size:13px}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:start;gap:22px 18px;display:grid}.card{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;gap:7px;min-width:0;padding:0;display:flex}.thumb{aspect-ratio:3/4;width:100%;box-shadow:0 0 0 1px var(--rule), 0 10px 18px -12px #00000073;background:#fbfbf8;border-radius:3px;transition:transform .25s cubic-bezier(.3,.7,.3,1);position:relative;overflow:hidden}.thumb canvas{width:100%;height:auto;display:block}.thumb.folder{box-shadow:none;background:0 0;place-items:center;display:grid}.thumb.folder svg{width:84%;height:auto}.thumb .badge{font:600 10px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#16181bb8;border-radius:999px;padding:2px 6px;position:absolute;bottom:6px;left:6px}.thumb .star{color:#c2412d;width:14px;height:14px;position:absolute;top:6px;right:6px}.thumb.loading:after{content:"";background:linear-gradient(100deg,#0000 30%,#0000000d 50%,#0000 70%) 0 0/200% 100%;animation:1.3s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.card:hover .thumb,.card:focus-visible .thumb{transform:translateY(-4px)rotate(-.6deg)}.card-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.card-meta{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:-4px;font-size:12px;overflow:hidden}.empty{color:var(--ink-3);max-width:50ch;padding:40px 0}.notice{background:var(--sheet);border:1px solid var(--rule-2);color:var(--ink-2);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:13.5px;display:flex}.notice.err{border-color:color-mix(in srgb, var(--red) 50%, var(--rule))}.btn{border:1px solid var(--rule);background:var(--sheet);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:7px 12px;font-size:14px;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn:disabled{opacity:.55;cursor:default}.btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.viewer{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:100%;display:grid}.vbar{z-index:2;background:color-mix(in srgb, var(--paper) 94%, transparent);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex;position:sticky;top:-18px}.vtitle{font:650 18px var(--f-display);text-overflow:ellipsis;white-space:nowrap;flex:200px;min-width:0;overflow:hidden}.pager{color:var(--ink-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:14px;display:inline-flex}.stage{justify-content:center;align-items:flex-start;display:flex}.page{box-shadow:0 0 0 1px var(--rule), var(--shadow);background:#fbfbf8;border-radius:2px;max-width:100%;position:relative}.page canvas{width:100%;height:auto;display:block}.page.loading{min-height:60vh}.page.loading:after{content:"";background:linear-gradient(100deg,#0000 30%,#0000000d 50%,#0000 70%) 0 0/200% 100%;animation:1.3s infinite shimmer;position:absolute;inset:0}.netlog{border-top:1px solid var(--rule-2);background:var(--term);color:var(--term-ink);font:12px/1.55 var(--f-mono)}.netlog summary{cursor:pointer;padding:6px max(16px, env(safe-area-inset-left));color:#9fb0c0;align-items:center;gap:10px;list-style:none;display:flex}.netlog summary::-webkit-details-marker{display:none}.netlog summary b{color:#8fd19e;font-weight:600}.netlog .lines{white-space:pre;max-height:180px;padding:0 16px 10px;overflow:auto}.netlog .k{color:#8fb8ff}.netlog .ok{color:#8fd19e}.netlog .e{color:#ff9c87}.netlog .d{color:#8a939c}.pair{min-height:100%;padding:32px max(16px, env(safe-area-inset-right)) 32px max(16px, env(safe-area-inset-left));place-items:center;display:grid}.pair-card{background:var(--sheet);border:1px solid var(--rule);width:min(520px,100%);box-shadow:var(--shadow);border-radius:18px;gap:18px;padding:clamp(22px,4vw,36px);display:grid}.pair h1{font:800 clamp(40px, 7vw, 56px) / .95 var(--f-display);letter-spacing:-.05em;margin:0}.pair h1 span{background:var(--hl);border-radius:.2em .6em;padding:0 .08em;font-weight:300}.pair p{color:var(--ink-2);margin:0}.pair ol{color:var(--ink-2);gap:8px;margin:0;padding-left:20px;display:grid}.pair a{color:var(--blue)}.code{gap:10px;display:flex}.code input{min-width:0;font:600 24px var(--f-mono);letter-spacing:.3em;text-transform:lowercase;text-align:center;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:12px;flex:1;padding:10px}.fine{color:var(--ink-3);font-size:12.5px}@media (max-width:760px){.body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--rule-2);flex-direction:row;padding:8px;overflow-x:auto}.nav{white-space:nowrap;width:auto}.nav .count,.account{display:none}.search{max-width:none}.topbar .pill .when{display:none}.main{padding:14px 16px 24px}.grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:18px 14px}}.exportgroup{gap:6px;display:inline-flex}
