@font-face{font-family:Paperlogy;font-weight:400;src:url(/fonts/Paperlogy-4Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:Paperlogy;font-weight:500;src:url(/fonts/Paperlogy-5Medium.ttf)format("truetype");font-display:swap}:root{--ink:#0f1b26;--bg:#f4fafe;--surface:#e3eef6;--line:#8badc4;--accent:#1479c9;--col:680px;--edge:32px;--gutter:240px;--sans:"Paperlogy", "Apple SD Gothic Neo", sans-serif;--mono:"D2Coding", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.void{--ink:#f4fafe;--bg:#0f1b26;--surface:#1a2a38;--line:#2b4257;--accent:#58b6f8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--ink);font-family:var(--sans);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;font-weight:400;line-height:1.75}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-style:dashed}code{font-family:var(--mono);font-size:.88em}strong{font-weight:500}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit}.label{text-transform:uppercase;font-size:12px;font-weight:500;line-height:1.2}.display{text-transform:uppercase;font-weight:500;line-height:.9}.voice{font-size:24px;line-height:1.5}.voice-sm{font-size:19px;line-height:1.6}.tag{color:var(--accent)}.credit{text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500;line-height:1.4}.dash{border:0;border-top:1px dashed var(--line);margin:16px 0}.empty{font-size:15px}.pill{background:var(--surface);color:var(--ink);font:500 12px/1 var(--sans);text-transform:uppercase;cursor:pointer;border:0;border-radius:36px;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex}.pill:hover{background:var(--line);text-decoration:none}.ghost{border:1px solid var(--ink);color:var(--ink);font:500 11px/1.2 var(--sans);text-transform:uppercase;cursor:pointer;background:0 0;border-radius:22.5px;align-items:center;padding:6px 14px;text-decoration:none;display:inline-flex}.ghost:hover{border-style:dashed}.nav{z-index:20;padding:20px var(--edge);color:var(--ink);pointer-events:none;justify-content:space-between;align-items:center;transition:color .2s;display:flex;position:fixed;inset:0 0 auto}.nav>*{pointer-events:auto}.nav .brand{font:500 14px/1 var(--sans);text-transform:uppercase;color:var(--ink);border-radius:22.5px;margin:-8px -14px;padding:8px 14px;text-decoration:none;transition:background .3s}body[data-scene=board] .nav .brand,body[data-scene=board] .nav .ghost{background:color-mix(in srgb, var(--bg) 82%, transparent)}.nav .links{align-items:center;gap:24px;display:flex}.sidenav{top:96px;left:var(--edge);z-index:30;width:calc(var(--gutter) - var(--edge) - 16px);position:fixed}.sidenav .branched-menu__head{text-transform:uppercase;font-size:12px}.sidenav .branched-menu__head[data-active]{color:var(--bm-accent)}.sidenav .branched-menu:before{background:var(--bm-line)}.sidenav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tech{width:calc(100% + 10px);margin-left:-10px;position:relative}body.landing{overscroll-behavior:none;height:100%;overflow:hidden}html:has(body.landing){overscroll-behavior:none;height:100%;overflow:hidden}.backdrop{z-index:-1;position:fixed;inset:0}.side-label{z-index:20;writing-mode:vertical-rl;font:500 11px/1 var(--sans);text-transform:uppercase;color:var(--ink);pointer-events:none;position:fixed;top:50%;right:10px;transform:translateY(-50%)}.landing-chrome{transition:opacity .35s,visibility}body[data-scene=os] .landing-chrome,body[data-scene=board] .toc-chrome,body[data-scene=board] .side-label{opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}.intro{z-index:100;background:var(--bg);color:var(--ink);display:none;position:fixed;inset:0}html[data-intro] .intro,.intro.is-leaving{display:block}.intro-count{right:var(--edge);font:500 clamp(120px, 24vw, 360px)/.82 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;position:absolute;bottom:28px;overflow:hidden}.intro-count>span{display:block}.intro-bar{background:var(--accent);transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}html[data-intro] .scene [data-reveal]{opacity:0;filter:blur(10px);transition:none;transform:translateY(18px)scale(.985)}html[data-intro] .landing-chrome,html[data-intro] .mascot{opacity:0}.scene{visibility:hidden;transition:visibility 0s linear .4s;position:fixed;inset:0}.scene[data-active]{visibility:visible;transition-delay:0s}.scene [data-reveal]{opacity:0;filter:blur(10px);transition:opacity .3s,transform .35s,filter .3s;transform:translateY(18px)scale(.985)}.scene[data-active] [data-reveal]{opacity:1;filter:none;transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1),filter .7s;transition-delay:calc(.12s + var(--i,0) * .12s);transform:none}.scene-top{padding:96px var(--edge) 40px var(--gutter);color:var(--ink);flex-direction:column;display:flex}.hero-mid{flex:1;place-items:center;padding:24px 0;display:grid}.hero-object{aspect-ratio:880/971;width:min(100%,400px,47.1267svh)}.hero-name{height:clamp(150px,19vw,260px)}.hero-ground{position:relative}.hero-crowd{left:calc(-1 * var(--gutter));right:calc(-1 * var(--edge));z-index:2;pointer-events:none;height:150px;position:absolute;bottom:100%}.crowd-canvas{width:100%;height:100%;display:block}.hero-meta{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding-top:18px;display:flex}.hero-meta a{color:var(--ink);text-decoration:none}.mascot{z-index:3;pointer-events:none;will-change:transform, width;width:150px;height:auto;transition:opacity .8s .3s;position:fixed;top:0;left:0}.mascot.is-away{opacity:0;transition:opacity .3s}.scene-os .os-reveal{position:absolute;inset:0}.os-mascot-spot{aspect-ratio:880/971;pointer-events:none;width:min(34vh,340px);position:absolute;bottom:96px;right:48px}.scene-panel{padding:88px var(--edge) 32px var(--gutter);flex-direction:column;display:flex}.panel-window{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 78%, transparent);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex}.panel-bar{border-bottom:1px dashed var(--line);flex:none;align-items:center;height:40px;padding:0 16px;display:flex;position:relative}.panel-bar .os-lights{gap:8px;display:flex}.panel-bar .os-lights i{border:1px solid var(--ink);border-radius:50%;width:12px;height:12px;display:block}.panel-path{text-align:center;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;position:absolute;left:90px;right:90px;overflow:hidden}.panel-tabs{display:none}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;padding:32px 36px 48px;transition:opacity .18s,transform .18s;overflow-y:auto}.panel-body[data-leaving]{opacity:0;transform:translateY(8px)}.panel .row{margin-bottom:56px;padding:0}.panel .row:last-child{margin-bottom:0}.panel-head{font:500 clamp(40px, 6vw, 92px)/1 var(--sans);letter-spacing:-.02em;margin-bottom:36px}.panel-head.is-note{word-break:keep-all;margin-bottom:24px;font-size:clamp(28px,3.6vw,48px);line-height:1.2}.panel .table>li,.panel .roadmap>li,.panel .chips>li,.panel .idx-list>li,.panel .ul-card,.panel .ul-index>li{animation:.6s cubic-bezier(.16,1,.3,1) both rise;animation-delay:calc(min(sibling-index(), 14) * 35ms)}@keyframes rise{0%{opacity:0;filter:blur(6px);transform:translateY(12px)}}.gallery-bar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.gallery .list{margin:0 -6px}.gallery .item-img{background:var(--surface);box-shadow:none;overflow:hidden}.gal-card{width:100%;height:100%;margin:0;position:relative}.gal-card img{object-fit:cover;width:100%;height:100%;display:block}.gal-card.is-icon img{object-fit:contain;width:min(55%,240px);height:auto;margin:0 auto;padding-top:18%}.gallery .item-img:has(.gal-poster){border:1px dashed var(--line);background:0 0}.gal-poster{height:100%;font:500 clamp(20px, 2vw, 28px)/1.05 var(--sans);text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere;align-items:flex-start;padding:18px;display:flex}.gal-name{background:color-mix(in srgb, var(--bg) 86%, transparent);max-width:calc(100% - 16px);color:var(--ink);font:500 12px/1.3 var(--sans);text-overflow:ellipsis;white-space:nowrap;border-radius:22.5px;padding:4px 10px;position:absolute;bottom:8px;left:8px;overflow:hidden}.gal-poster+.gal-name{display:none}.idx-list{border-bottom:1px dashed var(--line)}.idx-row{border:0;border-top:1px dashed var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:baseline;gap:24px;padding:14px 0 12px;transition:opacity .3s;display:flex}.idx-name{min-width:0;font:500 clamp(28px, 4.2vw, 64px)/1 var(--sans);letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:anywhere;transition:transform .45s cubic-bezier(.16,1,.3,1),color .3s}.idx-row:hover .idx-name,.idx-row:focus-visible .idx-name{color:var(--accent);transform:translate(16px)}.idx-list:hover .idx-row:not(:hover){opacity:.35}.idx-group{flex:none}.idx-preview{z-index:60;pointer-events:none;opacity:0;visibility:hidden;width:300px;margin:-120px 0 0 28px;position:fixed;top:0;left:0}.idx-preview img{object-fit:cover;border-radius:8px;width:100%;height:auto;max-height:240px;display:block}.idx-poster{aspect-ratio:4/3;border:1px dashed var(--line);background:var(--bg);color:var(--ink);font:500 26px/1.05 var(--sans);text-transform:uppercase;overflow-wrap:anywhere;border-radius:8px;padding:18px;display:flex}.ul-weeks{align-items:center;gap:10px;margin-bottom:28px;display:flex}.ul-back{margin-bottom:18px}.ul-index{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px 24px;display:grid}.ul-week-card{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;gap:10px;padding:0;display:grid}.ul-week-cover{object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:10px;width:100%;height:auto;transition:transform .4s cubic-bezier(.16,1,.3,1);display:block}.ul-week-poster{aspect-ratio:3/2;border:1px dashed var(--line);font:500 clamp(44px, 5vw, 72px)/.9 var(--sans);letter-spacing:-.02em;border-radius:10px;align-items:flex-end;padding:18px;transition:border-color .3s,color .3s;display:flex}.ul-week-card:hover .ul-week-cover{transform:scale(.98)}.ul-week-card:hover .ul-week-poster{border-color:var(--accent);color:var(--accent)}.ul-week-when{opacity:.75}.ul-week-line{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:15px;line-height:1.6;display:-webkit-box;overflow:hidden}.ul-week-list{scrollbar-width:none;gap:6px;min-width:0;margin:-8px 0;padding:8px 2px;display:flex;overflow-x:auto}.ul-week{border:1px solid var(--line);color:var(--ink);font:500 13px/1.2 var(--sans);white-space:nowrap;cursor:pointer;background:0 0;border-radius:22.5px;flex:none;padding:6px 14px}.ul-week:hover{border-color:var(--accent);color:var(--accent)}.ul-week.is-current{border-color:var(--ink);background:var(--ink);color:var(--bg);cursor:default}.ul-step{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);font:400 18px/1 var(--sans);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ul-step:hover{border-color:var(--accent);color:var(--accent)}span.ul-step{border-color:#0000}.ul-head{margin-bottom:40px}.ul-headline{max-width:760px;margin-top:10px;font-size:22px;line-height:1.5}.ul-lane{margin-bottom:48px}.ul-lane-name{align-items:center;gap:12px;margin-bottom:4px;display:flex}.ul-lane-name:after{content:"";border-top:1px dashed var(--line);flex:1}.ul-lane[data-scope=company] .ul-lane-name{color:var(--accent)}.ul-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 32px;display:grid}.ul-card{border-bottom:1px dashed var(--line);min-width:0;padding:18px 0 22px}.ul-card.is-main{grid-column:1/-1}.ul-card{cursor:pointer;transition:background .25s}.ul-card:hover .ul-card-title,.ul-card:focus-visible .ul-card-title{color:var(--accent)}.ul-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.ul-card .ul-say{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ul-card.is-main .ul-say{-webkit-line-clamp:4}.ul-card .ul-warn{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ul-sheet-back{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1b26b8;place-items:center;padding:40px 24px;animation:.25s both ul-fade;display:grid;position:fixed;inset:0}.ul-sheet{border:1px solid var(--line);background:var(--bg);width:min(100%,920px);max-height:min(100%,880px);color:var(--ink);border-radius:14px;flex-direction:column;animation:.45s cubic-bezier(.16,1,.3,1) both ul-rise;display:flex}.ul-sheet.is-company .ul-sheet-bar .label{color:var(--accent)}.ul-sheet-bar{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px 12px 22px;display:flex}.ul-sheet-nav{gap:6px;display:flex}.ul-step:disabled{opacity:.3;cursor:default}.ul-sheet-body{overscroll-behavior:contain;padding:26px 30px 34px;animation:.35s cubic-bezier(.16,1,.3,1) both ul-rise;overflow-y:auto}.ul-sheet-title{font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.25}.ul-sheet-say{max-width:760px;margin-top:14px;font-size:16px;line-height:1.85}.ul-sheet-shot{margin:22px 0 0}.ul-sheet-shot img{object-fit:contain;border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;height:auto;max-height:60vh;display:block}.ul-sheet-shot figcaption{opacity:.7;margin-top:8px}.ul-sheet-strip{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ul-sheet-strip button{border:1px solid var(--line);opacity:.55;cursor:pointer;background:0 0;border-radius:6px;width:96px;padding:0;overflow:hidden}.ul-sheet-strip button[aria-pressed=true]{border-color:var(--accent);opacity:1}.ul-sheet-strip img{object-fit:cover;object-position:top;width:100%;height:60px;display:block}@keyframes ul-fade{0%{opacity:0}}@keyframes ul-rise{0%{opacity:0;transform:translateY(18px)}}.ul-card-group{opacity:.75;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.ul-origin{opacity:.7}.ul-card-title{font-size:19px;font-weight:500;line-height:1.4}.ul-card.is-main .ul-card-title{max-width:900px;font-size:clamp(22px,2.4vw,30px);line-height:1.3}.ul-say{opacity:.85;max-width:760px;margin-top:8px;font-size:15px;line-height:1.75}.ul-warn{border-left:2px solid #e5484d;max-width:760px;margin-top:10px;padding-left:12px;font-size:14px;line-height:1.6}.ul-note{border-left:2px solid var(--accent);opacity:.85;max-width:760px;margin:12px 0 0;padding-left:12px;font-size:14px;line-height:1.6}.ul-shots{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:16px;display:grid}.ul-shots figure{min-width:0;margin:0}.ul-shots img{object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:8px;width:100%;height:auto;max-height:320px;display:block}.ul-shots figcaption{opacity:.7;margin-top:6px}.ul-code{background:var(--surface);max-width:100%;font:12px/1.55 var(--mono);border-radius:8px;margin:14px 0 0;padding:12px 14px;overflow-x:auto}.ul-foot{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:14px;font-size:13px;display:flex}.scene-board{overflow:hidden}.board{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:absolute;inset:0}.board[data-dragging]{cursor:grabbing}.board-item{width:var(--w);color:inherit;font:inherit;cursor:pointer;will-change:transform;background:0 0;border:0;padding:0;position:absolute;top:0;left:0}.board-card{transition:transform .4s cubic-bezier(.16,1,.3,1);display:block;position:relative}.board-item:hover .board-card,.board-item:focus-visible .board-card{transform:scale(1.06)}.board-card img{border-radius:6px;width:100%;height:auto;display:block}.board-item.is-pixel img{image-rendering:pixelated}.board-item.is-memory .board-card{color:#0f1b26;text-align:left;background:#f4fafe;border-radius:6px;padding:14px 16px 16px}.board-note-folder{color:#1479c9;margin-bottom:8px;display:block}.board-note-title{font:500 16px/1.4 var(--sans);display:block}.board-chip{background:color-mix(in srgb, var(--bg) 86%, transparent);max-width:calc(100% - 16px);font:500 11px/1.3 var(--sans);text-overflow:ellipsis;white-space:nowrap;border-radius:22.5px;padding:3px 9px;position:absolute;bottom:8px;left:8px;overflow:hidden}.scene-board[data-active] .board-card{animation:.8s cubic-bezier(.16,1,.3,1) backwards board-pop;animation-delay:calc(var(--d) * 1ms)}@keyframes board-pop{0%{opacity:0;filter:blur(8px);transform:scale(.6)}}.scene-steps{z-index:5;gap:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scene-steps button{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 80%, transparent);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}.scene-steps button:hover{border-color:var(--accent);color:var(--accent)}.scene-steps svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.proj-head{justify-items:start;gap:10px;margin-bottom:32px;display:grid}.proj-title{font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.1}.proj-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.proj-body{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:40px;display:grid}.proj-side,.proj-main{min-width:0}.pf-search{border:1px solid var(--line);border-radius:22.5px;align-items:center;gap:8px;margin:8px 0 6px;padding:6px 12px;display:flex}.pf-search input{min-width:0;color:var(--ink);font:400 14px/1.2 var(--sans);background:0 0;border:0;outline:none;flex:1}.pf-tree{overscroll-behavior:contain;border-bottom:1px dashed var(--line);max-height:min(56vh,520px);margin:0 -6px;padding:2px 0;overflow:auto}.pf-tree ul{margin:0;padding:0;list-style:none}.pf-row{width:100%;color:var(--ink);font:400 13px/1.35 var(--sans);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;display:flex}.pf-row>span{text-overflow:ellipsis;overflow:hidden}.pf-row:hover{background:var(--surface)}.pf-row[aria-current]{background:var(--surface);color:var(--accent)}.pf-row.is-dir{font-weight:500}.pf-row svg{opacity:.75;flex:none}.pf-caret{transition:transform .2s}.pf-row[aria-expanded=true] .pf-caret{transform:rotate(90deg)}.pf-row.is-found>span{text-align:left;direction:rtl}.pf-view-head{align-items:center;gap:14px;margin-bottom:16px;display:flex}.pf-crumbs{text-overflow:ellipsis;white-space:nowrap;opacity:.8;min-width:0;font-size:13px;overflow:hidden}.pf-crumbs>span+span:before{content:" / ";opacity:.5}.pf-crumbs>.is-last{opacity:1;font-weight:500}.pf-code{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 60%, transparent);font:12.5px/1.6 var(--mono);counter-reset:line;tab-size:2;border-radius:10px;margin:0;padding:14px 0;overflow-x:auto}.pf-line{white-space:pre;padding-right:16px;display:block}.pf-line:before{counter-increment:line;content:counter(line);border-right:1px solid var(--line);width:3.6em;color:var(--ink);opacity:.35;text-align:right;-webkit-user-select:none;user-select:none;margin-right:14px;padding-right:10px;display:inline-block}.pf-image{border:1px solid var(--line);border-radius:10px;max-width:100%;height:auto;display:block}.proj-readme img{max-width:100%;height:auto}.readme-images{flex-wrap:wrap;gap:6px;display:flex}.readme-images img{width:auto;max-height:280px}.proj-side>.label{margin-bottom:8px}.proj-side-head{margin-top:28px}.table.compact.two>li{grid-template-columns:minmax(0,1fr) 72px}.section{background:var(--bg);color:var(--ink);padding:96px 0}.section+.section{border-top:1px dashed var(--line)}.sec-head{padding:0 var(--edge) 0 var(--gutter);margin-bottom:88px}.sec-head .tech{height:170px}.sec-head .voice{max-width:var(--col);margin-top:4px}.row{grid-template-columns:minmax(0, var(--col)) minmax(0, 1fr);padding:0 var(--edge) 0 var(--gutter);margin-bottom:104px;scroll-margin-top:88px;display:grid}.row>*{min-width:0}.rail,.body{grid-column:1}.rail{margin-bottom:18px}.rail>.label{align-items:baseline;gap:12px;display:flex}.row.wide .body{grid-column:1/-1}.table>li{border-top:1px dashed var(--line);grid-template-columns:120px minmax(0,1fr);gap:4px 24px;padding:16px 0 18px;display:grid}.table>li>*{min-width:0}.table .k{font-size:13px;font-weight:500}.table .v{font-size:16px;line-height:1.75}.table .meta{margin-top:4px;font-size:13px;line-height:1.6}.table.compact>li{grid-template-columns:180px minmax(0,1fr) 72px;align-items:baseline;padding:9px 0 10px}.table.compact .k{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table.compact .meta{text-align:right;margin:0}.line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mine{margin:8px 0 4px;font-size:16px;line-height:1.75}.mine .tag{font-size:12px;font-weight:500;line-height:1.4;display:block}.dot{background:var(--ink);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.dot.off{box-shadow:inset 0 0 0 1px var(--ink);background:0 0}details>summary{cursor:pointer;text-transform:uppercase;font-size:12px;font-weight:500;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"+ ";color:var(--accent)}details[open]>summary:before{content:"− "}details .more{margin-top:8px;font-size:14px;line-height:1.75}details.stale{border-top:1px dashed var(--line);padding-top:16px}details.stale[open]>summary{margin-bottom:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:32px 18px;display:grid}.grid figure{margin:0}.grid .cover,.grid .blank{aspect-ratio:4/3;object-fit:cover;background:var(--surface);border-radius:12px;width:100%;display:block}.grid figcaption{margin-top:10px;font-size:14px;line-height:1.6}.grid figcaption b{font-size:15px;font-weight:500;display:block}.grid .ghost{margin-top:8px}.features{margin-bottom:104px;scroll-margin-top:88px}.feature{margin:0 var(--edge) 0 var(--gutter);border-top:1px dashed var(--line);grid-template-columns:120px minmax(0,1fr) 240px;column-gap:32px;padding:32px 0 36px;display:grid}.feature>*{min-width:0}.feature .kind{padding-top:6px}.feature h3{font-size:41px}.feature .voice-sm{margin-top:14px}.feature .link{margin-top:6px;font-size:14px}.feature .facts{flex-direction:column;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;display:flex}.exhibit{min-height:92svh;padding:72px var(--edge) 72px var(--gutter);border-top:1px dashed var(--line);grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,44%) minmax(0,1fr);gap:32px 18px;scroll-margin-top:0;display:grid}.ex-left{grid-column:1;align-self:center}.ex-left h3{font-size:41px;font-weight:500;line-height:1.1}.ex-left .label{margin-top:14px}.ex-object{grid-column:2;place-items:center;min-height:0;display:grid}.ex-object img{width:auto;max-width:100%;height:auto;max-height:64svh;display:block}.ex-object.pixel img{width:min(100%,420px);max-height:none;image-rendering:pixelated}.ex-right{grid-column:3;align-self:center}.ex-right .credit{margin-top:18px}.ex-strip{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:8px;display:flex}.ex-strip button{cursor:pointer;opacity:.5;background:0 0;border:0;padding:0}.ex-strip button:hover,.ex-strip button[aria-pressed=true]{opacity:1}.ex-strip img{width:auto;height:64px;display:block}.ex-strip.pixel img{height:72px;image-rendering:pixelated}.roadmap li{border-top:1px dashed var(--line);grid-template-columns:56px 72px minmax(0,1fr);gap:0 16px;padding:16px 0 18px;display:grid}.roadmap .n{font-size:41px;font-weight:500;line-height:.9}.roadmap .role{padding-top:4px}.roadmap b{font-size:18px;font-weight:500}.roadmap p{font-size:15px}.chips{flex-wrap:wrap;gap:8px;display:flex}.block+.block{margin-top:72px}.block>.label{margin-bottom:16px;display:block}.app{--gutter:var(--edge)}.app-main{background:var(--bg);min-height:100vh;color:var(--ink);padding:40px 0 64px}.app-main>.row:last-child,.app-main>.features:last-child{margin-bottom:0}.sidenav{scrollbar-width:none;max-height:calc(100svh - 120px);overflow-y:auto}.sidenav::-webkit-scrollbar{display:none}.sidenav-sep{opacity:.6;margin:20px 0 4px}.crumbs{margin-bottom:20px}.crumbs a{color:inherit}.page-title{letter-spacing:-.01em;font-size:clamp(34px,4.4vw,56px);font-weight:500;line-height:1.12}.sec-head .page-title+.voice,.sec-head .page-title+.voice-sm{max-width:var(--col);margin-top:16px}.meta-line{margin-top:18px}.meta-line code{text-transform:none;font-weight:400}.folder-list .folder-name{color:var(--ink);font-size:20px;font-weight:500;text-decoration:none}.folder-list .folder-name:hover{color:var(--accent)}.topic-link{color:var(--ink);font-weight:500;text-decoration:none;display:inline-block}.topic-link:hover{color:var(--accent)}.wikilink{color:var(--accent);text-underline-offset:3px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.wikilink.missing{color:inherit;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);cursor:help}.memory-links{flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:13px;display:flex}.missing-links{flex-wrap:wrap;gap:4px 12px;margin-top:16px;display:flex}.md-index>summary{margin-bottom:12px}.md{font-size:16px;line-height:1.8}.md>*+*{margin-top:14px}.md h1,.md h2,.md h3,.md h4{font-weight:500;line-height:1.3}.md h1{margin-top:48px;font-size:30px}.md h2{border-top:1px dashed var(--line);margin-top:48px;padding-top:16px;font-size:24px}.md h3{margin-top:32px;font-size:19px}.md h4{margin-top:24px;font-size:16px}.md ul,.md ol{padding-left:1.3em}.md ul{list-style:outside}.md ol{list-style:decimal}.md li+li,.md li>ul,.md li>ol{margin-top:6px}.md li::marker{color:var(--line)}.md strong{font-weight:500}.md code{background:var(--surface);border-radius:6px;padding:1px 5px}.md pre{background:var(--surface);border-radius:12px;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}.md pre code{background:0 0;padding:0}.md blockquote{border-left:2px solid var(--accent);margin:0;padding-left:14px}.md hr{border:0;border-top:1px dashed var(--line)}.md table{border-collapse:collapse;width:100%;font-size:14px}.md th,.md td{text-align:left;vertical-align:top;border-top:1px dashed var(--line);padding:8px 12px 8px 0}.md th{font-weight:500}.md a:not(.wikilink){color:var(--accent)}.drawn-strip,.lab-carousel{height:440px;position:relative}.drawn-strip{margin:0 var(--edge) 72px var(--gutter)}.lab-carousel{margin:0 var(--edge) 96px}.lab-grid{padding:0 var(--edge) 0 var(--edge);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.specimen{border:1px dashed var(--line);border-radius:12px;grid-template-rows:auto 1fr;min-height:360px;margin:0;padding:20px;display:grid}.specimen.wide{grid-column:span 2}.specimen-stage{place-items:center;min-width:0;padding:20px 0;display:grid}.specimen-error{color:var(--accent);font-size:13px}.lab-shred-row{justify-content:space-between;gap:12px;padding:10px 14px;font-size:14px;display:flex}.lab-stub{gap:6px;padding:18px;display:grid}.lab-flip-back{align-content:end;gap:6px;height:100%;padding:20px;display:grid}.lab-flip-back h3{font-size:22px;font-weight:500;line-height:1.3}.lab-status{gap:10px;width:100%;font-size:14px;display:grid}.lab-checks{gap:12px;display:grid}.lab-tools{gap:8px;display:flex}.lab-icon-btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;display:grid}.lab-toasts{right:var(--edge);bottom:var(--edge);z-index:40;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.tr-lab{gap:72px;padding:32px 0 96px;display:grid}.tr-section{padding:0 var(--edge);gap:14px;display:grid}.tr-head,.tr-caption{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.tr-tags{font-family:var(--mono);color:var(--line);flex-wrap:wrap;gap:6px;font-size:11px;display:inline-flex}.tr-tags span{border:1px solid var(--line);border-radius:6px;padding:2px 6px}.tr-tags [data-kf=ok],.tr-tags [data-clock=t],.tr-tags [data-clock=CSS]{border-color:var(--accent);color:var(--accent)}.tr-stage{aspect-ratio:16/9;background:var(--surface);border-radius:12px;position:relative;overflow:hidden}.tr-canvas{width:100%;height:100%;display:block}.tr-stage-error{position:absolute;inset:auto 16px 16px}.tr-scrub{align-items:center;gap:12px;display:flex}.tr-scrub input{accent-color:var(--accent);flex:1}.tr-progress{width:3.2em;font-family:var(--mono);text-align:right;font-size:13px}.tr-names{flex-wrap:wrap;gap:6px;max-height:168px;display:flex;overflow:auto}.tr-name{border:1px dashed var(--line);color:var(--ink);font-family:var(--mono);cursor:pointer;background:0 0;border-radius:8px;gap:6px;padding:5px 9px;font-size:12px;display:inline-flex}.tr-name[data-on]{border-style:solid;border-color:var(--accent);color:var(--accent)}.tr-name-note{color:var(--line)}.tr-overlay{border-radius:12px;height:100%}.tr-overlay-card{height:100%;position:relative}.tr-overlay-card img{object-fit:cover;width:100%;height:100%}.tr-overlay-card p{text-shadow:0 1px 8px #0009;position:absolute;bottom:18px;left:20px}.tr-grid{padding-top:0}.tr-big{font-size:30px;font-weight:500;line-height:1.25}.tr-mid{font-size:22px}.tr-dim{color:var(--line)}.tr-num{font-family:var(--mono);font-variant-numeric:tabular-nums}.tr-morphing{font-size:30px}.tr-morphtext .morph-word-rotator{min-width:6ch}.tr-rotating{display:inline-flex;overflow:hidden}.tr-plain{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.tr-fill{object-fit:cover;width:100%;height:100%}.tr-pixel{width:100%;max-width:320px}.tr-on-image{color:#fff}.tr-slider{width:100%;height:420px}.hub-cursor.away [data-slot]{visibility:hidden}.hub-cursor__arrow{width:22px;height:22px;fill:var(--ink);stroke:var(--bg);stroke-width:2.5px;paint-order:stroke;display:block}.hub-cursor__label{background:var(--ink);color:var(--bg);font:500 11px/1.2 var(--sans);text-transform:uppercase;white-space:nowrap;border-radius:36px;padding:5px 11px;display:inline-block}.notes{max-width:760px;display:grid}.note-row{border:0;border-top:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:120px minmax(0,1fr);gap:6px 24px;padding:22px 0 24px;display:grid}.note-row:hover .note-title{color:var(--accent)}.note-date{opacity:.6;font-variant-numeric:tabular-nums;grid-row:span 3;padding-top:6px;font-size:13px}.note-title{word-break:keep-all;font-size:24px;font-weight:500;line-height:1.3;transition:color .2s}.note-sum{opacity:.8;word-break:keep-all;font-size:15px;line-height:1.75}.note-tags{letter-spacing:.08em;opacity:.55;font-size:12px}.note-meta{opacity:.6;margin-bottom:28px;font-size:13px}.note-body{word-break:keep-all;overflow-wrap:anywhere;max-width:680px}.note-body img{border-radius:12px;max-width:min(100%,360px)}@media (max-width:720px){.note-row{grid-template-columns:minmax(0,1fr);padding:18px 0 20px}.note-date{grid-row:auto;padding-top:0}.note-title{font-size:20px}}.gate{min-height:100svh;padding:var(--edge);place-items:center;display:grid}.gate-form{gap:14px;width:min(100%,320px);display:grid}.gate-key{cursor:pointer;justify-content:center;justify-self:stretch;align-items:center;gap:10px;padding:12px 18px;display:inline-flex}.gate-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.gate-more>summary{cursor:pointer;opacity:.7;font-size:13px}.gate-more form{gap:12px;margin-top:12px;display:grid}.gate-form input[type=password]{border:1px solid var(--line);color:var(--ink);font:400 16px/1.2 var(--sans);background:0 0;border-radius:22.5px;outline:none;padding:12px 16px}.gate-form input[type=password]:focus{border-color:var(--accent)}.gate-form .pill{cursor:pointer;justify-self:start}.gate-error{color:#e5484d;font-size:13px}@media (hover:none){.nav a,.ghost,.pill,.hero-meta a,.panel-tabs button,.proj-link,.gate-more>summary,.ul-week,.ul-step{position:relative}.nav a:after,.ghost:after,.pill:after,.panel-tabs button:after,.gate-more>summary:after,.ul-week:after,.ul-step:after{content:"";position:absolute;inset:min(0px,50% - 22px) -3px}.hero-meta a:after{content:"";position:absolute;inset:-15px -8px}.scene-steps button{width:44px;height:44px}.folder-list .folder-name{align-items:center;min-height:44px;display:flex}}@media (max-width:1100px){:root{--gutter:var(--edge)}.sidenav,.side-label{display:none}.panel-tabs{border-bottom:1px dashed var(--line);flex:none;gap:6px;padding:10px 14px;display:flex;overflow-x:auto}.panel-tabs button{border:1px solid var(--line);font:500 12px/1.2 var(--sans);cursor:pointer;background:0 0;border-radius:22.5px;flex:none;padding:5px 12px}.panel-tabs button[aria-current]{border-color:var(--ink);background:var(--ink);color:var(--bg)}}@media (max-width:960px){:root{--edge:20px}.specimen.wide{grid-column:auto}.drawn-strip,.lab-carousel{height:300px}.hero-name{height:120px}.scene-panel{padding:64px 12px 12px}.ul-sheet-back{padding:0}.ul-sheet{border:0;border-radius:0;width:100%;height:100%;max-height:100%}.ul-sheet-body{padding:20px 18px 40px}.panel-head{margin-bottom:14px;font-size:32px}.os-dock{max-width:calc(100% - 16px)}.board-item{width:calc(var(--w) * .62)}.panel-body{padding:22px 18px 32px}.proj-body{grid-template-columns:minmax(0,1fr)}.pf-tree{max-height:40vh}.os-mascot-spot{display:none}.exhibit{min-height:0;padding:56px var(--edge);grid-template-rows:none;grid-template-columns:minmax(0,1fr);row-gap:32px}.exhibit>*{grid-area:auto/1}.ex-left h3{font-size:32px}.sec-head{margin-bottom:56px}.sec-head .tech{height:110px}.row{grid-template-columns:minmax(0,1fr);margin-bottom:72px}.feature{grid-template-columns:minmax(0,1fr)}.feature h3{font-size:32px}.feature .facts{margin-top:16px}.table>li{grid-template-columns:minmax(0,1fr)}.table.compact>li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k m""v v"}.table.compact .k{grid-area:k}.table.compact .v{grid-area:v}.table.compact .meta{grid-area:m}.roadmap li{grid-template-columns:44px minmax(0,1fr)}.roadmap .role,.roadmap .text{grid-column:2}}@media (max-width:720px){.panel-bar{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene [data-reveal],.scene[data-active] [data-reveal]{filter:none;transition-duration:10ms;transition-delay:0s;transform:none}.ul-sheet-back,.ul-sheet,.ul-sheet-body,.panel .table>li,.panel .roadmap>li,.panel .chips>li,.panel .idx-list>li,.panel .ul-card,.panel .ul-index>li,.scene-board[data-active] .board-card{animation:none}}.chips .ghost{cursor:default}
