:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html[data-deterministic="1"] *,html[data-deterministic="1"] *:before,html[data-deterministic="1"] *:after{transition:none!important;animation:none!important;caret-color:transparent!important}html[data-deterministic="1"]{scroll-behavior:auto!important}*{box-sizing:border-box}:root{height:100%}html,body,#root{height:100%;margin:0;width:100%}body{font-family:Inter,system-ui,Arial,sans-serif;--px-ui-bg:#e7d7b8;--px-ui-surface:#f3e7cf;--px-ui-surface-2:#f8efdd;--px-ui-ink:#2b241a;--px-ui-ink-muted:#6a5b43;--px-ui-hi:#fff7e6;--px-ui-lo:#8c7a5a;--px-ui-accent:#2aa9a1;--px-ui-danger:#b94a3e;background:var(--px-ui-bg);color:var(--px-ui-ink);overflow:hidden}.app{height:100%;min-height:100svh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 10px calc(14px + env(safe-area-inset-left));border-bottom:2px solid color-mix(in srgb,var(--px-ui-ink) 22%,transparent);background:var(--px-ui-surface);position:relative;z-index:50;box-shadow:inset 2px 2px 0 var(--px-ui-hi),inset -2px -2px 0 var(--px-ui-lo)}.topbar__left{display:flex;align-items:center;gap:10px;min-width:0;position:relative;z-index:60}.topbar__right{display:flex;align-items:center;gap:10px;position:relative;z-index:60}.btn{height:32px;padding:0 10px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 55%,transparent);background:var(--px-ui-bg);color:var(--px-ui-ink);cursor:pointer;font-weight:900;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 55%,transparent)}.btn:hover{background:color-mix(in srgb,var(--px-ui-bg) 76%,#ffffff)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{background:transparent}.btn--ghost:hover{background:color-mix(in srgb,var(--px-ui-bg) 82%,#ffffff)}.title{display:flex;align-items:center;gap:8px;font-weight:900;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title__logo{flex:0 0 auto;image-rendering:pixelated}.pill{font-size:12px;padding:4px 8px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 45%,transparent);background:var(--px-ui-surface-2);color:var(--px-ui-ink);font-weight:800}.iconBtn{width:36px;height:32px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 55%,transparent);background:var(--px-ui-bg);color:var(--px-ui-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 55%,transparent)}.iconBtn:hover{background:color-mix(in srgb,var(--px-ui-bg) 76%,#ffffff)}.iconBtn:active{transform:translateY(1px)}.main{position:relative;min-height:0;overflow:hidden}.layout{height:100%;display:block;min-height:0}.scene{height:100%;min-width:0;min-height:0;position:relative;overflow:hidden;--view-bg:#eef2ff;--view-bg2:#f7f9ff;--view-grid1:rgba(34,51,102,.05);--view-grid2:rgba(34,51,102,.028);background:radial-gradient(140% 115% at 50% 18%,var(--view-bg2) 0%,var(--view-bg) 52%,#e9eeff 100%)}.scene:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,transparent 0 7px,var(--view-grid2) 7px 8px),repeating-linear-gradient(90deg,transparent 0 7px,var(--view-grid2) 7px 8px),repeating-linear-gradient(0deg,transparent 0 31px,var(--view-grid1) 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,var(--view-grid1) 31px 32px);opacity:.55;image-rendering:pixelated;z-index:0}.scene:after{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(120% 100% at 50% 25%,#0000,#0000000a 58%,#0000001a);z-index:0}.scene canvas{position:relative;z-index:1}.main canvas{display:block;height:100%;width:100%;touch-action:none}.buildLayout{height:100%;min-height:0;display:grid;grid-template-columns:1.25fr 1fr;gap:10px;padding:10px}.buildLayout__editor{min-height:0;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:#ffffff08}.buildLayout__preview{min-height:0;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}.buildBottomBar__wrap{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:0 calc(12px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}.buildBottomBar.pxui{border:2px solid var(--px-ui-ink);border-radius:0;background:var(--px-ui-surface);color:var(--px-ui-ink);box-shadow:0 14px 40px #00000059,inset 2px 2px 0 var(--px-ui-hi),inset -2px -2px 0 var(--px-ui-lo);overflow:hidden}.buildBottomBar__row{padding:10px 12px;display:flex;align-items:center;gap:10px}.buildBottomBar__row--top{justify-content:space-between;align-items:flex-start;border-bottom:2px solid color-mix(in srgb,var(--px-ui-ink) 20%,transparent)}.buildBottomBar__tabsCol{display:flex;flex-direction:column;gap:8px;max-width:62vw;min-width:0}.buildBottomBar__tabs{display:flex;gap:8px;overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}.buildBottomBar__subtabs{display:flex;gap:8px;overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch;padding-bottom:2px}.buildBottomBar__tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.buildBottomBar__row--assets{padding-top:8px;padding-bottom:8px}.assetCarousel{display:flex;gap:8px;overflow:auto;flex:1;-webkit-overflow-scrolling:touch}.assetCard{min-width:112px;max-width:132px;padding:8px 10px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 55%,transparent);background:var(--px-ui-surface-2);color:var(--px-ui-ink);text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:7px;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 60%,transparent)}.assetCard:hover{background:color-mix(in srgb,var(--px-ui-surface-2) 82%,#ffffff)}.assetCard--on{border-color:var(--px-ui-accent);background:color-mix(in srgb,var(--px-ui-accent) 16%,var(--px-ui-surface-2))}.assetCard__thumb{flex:0 0 auto}.assetCard__caption{font-size:12px;font-weight:800;color:var(--px-ui-ink-muted);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.buildBottomBar__row--hints{padding-top:6px;padding-bottom:10px}.pxui .chipBtn{height:30px;padding:0 10px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 55%,transparent);background:var(--px-ui-bg);color:var(--px-ui-ink);cursor:pointer;font-weight:900;font-size:12px;letter-spacing:.02em;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 55%,transparent)}.pxui .chipBtn:hover{background:color-mix(in srgb,var(--px-ui-bg) 76%,#ffffff)}.pxui .chipBtn:disabled{opacity:.55;cursor:not-allowed}.pxui .chipBtn--on{border-color:var(--px-ui-accent);background:color-mix(in srgb,var(--px-ui-accent) 18%,var(--px-ui-bg));box-shadow:inset 2px 2px color-mix(in srgb,var(--px-ui-accent) 22%,var(--px-ui-hi)),inset -2px -2px color-mix(in srgb,var(--px-ui-lo) 50%,transparent)}.pxui .keyLegend{color:var(--px-ui-ink-muted)}.pxui .keycap{border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 55%,transparent);background:var(--px-ui-bg);color:var(--px-ui-ink);font-weight:900}.planEditor{height:100%;display:flex;flex-direction:column;min-height:0}.planEditor__top{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid rgba(255,255,255,.08)}.planEditor__svg{width:100%;height:100%;background:#1118278c;touch-action:none;cursor:crosshair}.sidebar--build .row__meta{opacity:.85}:root{--accent:var(--px-ui-accent);--panel:var(--px-ui-surface);--panel2:var(--px-ui-surface-2)}.sidebar__controls{display:flex;flex-direction:column;gap:8px}.sidebar__controls--sticky{position:sticky;top:0;z-index:10;padding-top:6px;padding-bottom:10px;margin-top:-6px;background:linear-gradient(180deg,#0b0e14eb,#0b0e14d1);border-bottom:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filters{display:flex;align-items:center;gap:8px}.filters__spacer{flex:1}.chipBtn{height:30px;padding:0 10px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 55%,transparent);background:var(--px-ui-bg);color:var(--px-ui-ink);cursor:pointer;font-weight:900;font-size:12px;letter-spacing:.02em;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 55%,transparent)}.chipBtn:hover{background:color-mix(in srgb,var(--px-ui-bg) 76%,#ffffff)}.chipBtn:disabled{opacity:.55;cursor:not-allowed}.chipBtn--on{border-color:var(--px-ui-accent);background:color-mix(in srgb,var(--px-ui-accent) 18%,var(--px-ui-bg));box-shadow:inset 2px 2px color-mix(in srgb,var(--px-ui-accent) 22%,var(--px-ui-hi)),inset -2px -2px color-mix(in srgb,var(--px-ui-lo) 50%,transparent)}.activeAssetCard{display:flex;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#ffffff0f,#ffffff08);box-shadow:0 10px 30px #00000040}.activeAssetCard__thumb{flex:0 0 auto}.assetThumb{position:relative;border:2px solid rgba(255,255,255,.14);background:radial-gradient(70% 70% at 30% 25%,#ffffff1f,#ffffff05),linear-gradient(180deg,var(--thumb-bg1, rgba(255,255,255,.06)),var(--thumb-bg2, rgba(255,255,255,.02)));box-shadow:0 10px 22px #00000038,inset 2px 2px #ffffff1a,inset -2px -2px #00000040;display:flex;align-items:center;justify-content:center;overflow:hidden}.assetThumb--sm{width:48px;height:48px;border-radius:0}.assetThumb--lg{width:56px;height:56px;border-radius:0}@media(max-width:900px){.assetThumb--sm{width:56px;height:56px}.assetThumb--lg{width:64px;height:64px}}.assetThumb--selected{border-color:color-mix(in srgb,var(--px-ui-accent) 70%,rgba(255,255,255,.12));box-shadow:0 0 0 2px #00000040 inset,0 0 0 1px color-mix(in srgb,var(--px-ui-accent) 65%,transparent) inset,0 10px 22px #00000038}.assetThumb--loading{filter:saturate(.95)}.assetThumb--error{border-color:#ef44448c}.assetThumb__svg{width:30px;height:30px;opacity:.95;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.assetThumb__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:auto}.assetThumb__spinner{position:absolute;right:6px;bottom:6px;opacity:.9}.assetThumb__badge{position:absolute;left:6px;top:6px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;line-height:1;border-radius:0;border:2px solid rgba(0,0,0,.3);background:#0000008c;color:#fff}.assetThumb__badge--error{background:#7f1d1dd9;border-color:#ef44448c}.activeAssetCard__body{min-width:0;flex:1}.activeAssetCard__top{display:flex;align-items:center;gap:8px;justify-content:space-between}.activeAssetCard__title{font-weight:900;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activeAssetCard__clear{height:28px;border-radius:999px}.activeAssetCard__category{margin-top:4px;color:#a3a3a3;font-size:12px}.activeAssetCard__chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.hint--tight{margin:6px 0 0}.callout{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;border-radius:12px;padding:10px;margin-top:10px}.callout__title{font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:6px}.callout__body{font-size:12px;color:#e5e7eb;margin-bottom:8px;opacity:.92}.callout--error{border-color:#fca5a538;background:#fca5a50f}.assetLists{min-height:0;display:flex;flex-direction:column;gap:8px;margin-top:10px}.assetList{padding-right:2px}.sectionHeader{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;padding:8px 10px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 35%,transparent);background:var(--px-ui-surface-2);color:var(--px-ui-ink);cursor:pointer;text-align:left;font-weight:900;letter-spacing:.02em;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 55%,transparent)}.sectionHeader:hover{background:color-mix(in srgb,var(--px-ui-surface-2) 82%,#ffffff)}.sectionHeader--open{border-color:color-mix(in srgb,var(--px-ui-ink) 55%,transparent)}.sectionHeader__title{font-size:12px;text-transform:uppercase;color:var(--px-ui-ink-muted);letter-spacing:.1em}.sectionHeader__meta{font-size:12px;color:var(--px-ui-ink-muted);font-weight:900}.assetRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#ffffff0b,#ffffff05);color:#e5e7eb;cursor:pointer;text-align:left;transition:transform 80ms ease,background .12s ease,border-color .12s ease}.assetRow:hover{background:linear-gradient(180deg,#ffffff12,#ffffff08)}.assetRow:active{transform:translateY(1px) scale(.995)}.assetRow:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.assetRow--active{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 18%,transparent),#ffffff08);box-shadow:0 0 0 1px #0000002e inset}.assetRow__main{min-width:0;flex:1}.assetRow__name{font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assetRow__sub{margin-top:5px;font-size:12px;color:#b0b7c3;display:flex;gap:6px;align-items:center;min-width:0}.assetRow__category{color:#cbd5e1}.assetRow__id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assetRow__sep{opacity:.65}.assetRow__thumb{flex:0 0 auto}.assetRow__chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.tag{font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff05;color:#e5e7eb;white-space:nowrap;font-weight:700}.tag--muted{color:#cbd5e1;opacity:.78}.tag--accent{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 16%,transparent);color:#fff7ed}.skeletonRow{height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(90deg,#ffffff08,#ffffff12,#ffffff08);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(255,255,255,.15);border-top-color:#ffffffbf;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hint__muted{opacity:.75}.keyLegend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;color:var(--px-ui-ink-muted);font-size:12px}.keyLegend__item{display:inline-flex;align-items:center;gap:6px}.keyLegend__dot{opacity:.65}.keycap{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#e5e7eb;font-weight:900;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.keyLegend__label{opacity:.85}@media(max-width:900px){.buildLayout{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.sidebar{position:fixed;top:0;left:0;height:100dvh;width:320px;max-width:92vw;z-index:45;border-right:2px solid color-mix(in srgb,var(--px-ui-ink) 22%,transparent);padding:12px 12px 14px;overflow:auto;background:var(--px-ui-surface);transform:translate(-110%);transition:transform .18s ease;box-shadow:inset 2px 2px 0 var(--px-ui-hi),inset -2px -2px 0 var(--px-ui-lo),12px 0 28px #00000040}.layout--sidebarOpen .sidebar{transform:translate(0)}.sidebar__section{margin-bottom:14px}.sidebar__title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--px-ui-ink-muted);margin:4px 0 8px;font-weight:900}.list{display:flex;flex-direction:column;gap:6px}.row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 35%,transparent);background:var(--px-ui-surface-2);color:var(--px-ui-ink);cursor:pointer;text-align:left;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 55%,transparent)}.row:hover{background:color-mix(in srgb,var(--px-ui-surface-2) 82%,#ffffff)}.row:active{transform:translateY(1px)}.row--active{border-color:var(--px-ui-accent);background:color-mix(in srgb,var(--px-ui-accent) 16%,var(--px-ui-surface-2))}.input{width:100%;height:32px;padding:0 10px;border-radius:0;border:2px solid color-mix(in srgb,var(--px-ui-ink) 35%,transparent);background:var(--px-ui-surface-2);color:var(--px-ui-ink);outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;box-shadow:inset 1px 1px 0 var(--px-ui-hi),inset -1px -1px color-mix(in srgb,var(--px-ui-lo) 55%,transparent)}.input:focus{border-color:var(--px-ui-accent);background:color-mix(in srgb,var(--px-ui-surface-2) 78%,#ffffff)}.input:focus-visible{outline:2px solid color-mix(in srgb,var(--px-ui-accent) 45%,transparent);outline-offset:2px}.row__name{flex:1;font-weight:600}.row__meta{font-size:12px;color:var(--px-ui-ink-muted);font-weight:800}.dot{width:10px;height:10px;border-radius:999px;background:#e5e7eb}.dot--working{background:#4ade80}.dot--meeting{background:#60a5fa}.dot--walking{background:#fbbf24}.dot--idle{background:#e5e7eb}.sidebar__hint .hint{font-size:12px;line-height:1.35;color:#a3a3a3;margin:4px 0}.footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom)) 14px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#a3a3a3}.backdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40}@media(max-width:900px){.sidebar{width:min(86vw,360px);max-width:360px}}.authGate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:auto}.authGate__backdrop{position:absolute;inset:0;background:#0a0c1273;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.authGate__modal{position:relative;width:min(520px,calc(100vw - 24px));border:2px solid var(--px-ui-border);background:var(--px-ui-panel);color:var(--px-ui-ink);padding:14px 14px 12px;box-shadow:var(--px-ui-shadow)}.authGate__title{font-weight:900;letter-spacing:.02em;margin:0 0 8px}.authGate__text{font-size:14px;line-height:1.35;color:var(--px-ui-ink);margin:0 0 10px}.authGate__hint{font-size:12px;line-height:1.35;color:var(--px-ui-ink-muted)}.authGate__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.authGate__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--px-ui-border);background:var(--px-ui-accent);color:var(--px-ui-ink);text-decoration:none;font-weight:900;padding:8px 10px;min-height:36px;box-shadow:var(--px-ui-shadow);cursor:pointer}.authGate__btn:hover{filter:brightness(1.03)}.authGate__btn:active{transform:translateY(1px)}.authGate__btn:focus-visible{outline:2px solid color-mix(in srgb,var(--px-ui-accent) 55%,transparent);outline-offset:3px}.authGate__btn--ghost{background:var(--px-ui-panel);color:var(--px-ui-ink)}.authGate__btn[disabled]{opacity:.6;cursor:not-allowed}.isDisabled{opacity:.65}
