:root{--bg: #000000;--panel: #09090A;--card: #0E0E10;--ink: #F2F2EF;--muted: #9B9BA1;--faint: #66666C;--line: rgba(255, 255, 255, .12);--fill: #18181A;--fill-strong: #28282B;--accent: #FF6A2B;--accent-ink: #FF8A55;--good: #57E39B;--glass: rgba(12, 12, 13, .72);--stage-inner: #2A2D39;--stage-outer: #060607;--shadow: 0 0 0 1px var(--line);--radius: 14px;--bar: 52px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Consolas, monospace;color-scheme: dark}*{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: calc(var(--bar) + 12px)}body{margin: 0;background: var(--bg);color: var(--ink);font-family: var(--font);font-size: 16px;line-height: 1.5;letter-spacing: -.006em;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;-webkit-tap-highlight-color: transparent;overscroll-behavior-y: none}button, input, textarea{font: inherit;color: inherit;letter-spacing: inherit}button{touch-action: manipulation}a{color: inherit;text-underline-offset: 3px;text-decoration-color: var(--faint)}h1, h2, h3, p{margin: 0}:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}[hidden]{display: none !important}.bar{position: sticky;top: 0;z-index: 30;display: flex;align-items: center;gap: 14px;height: calc(var(--bar) + env(safe-area-inset-top));padding: env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));background: var(--glass);-webkit-backdrop-filter: saturate(160%) blur(18px);backdrop-filter: saturate(160%) blur(18px);border-bottom: 1px solid var(--line)}.brand{display: inline-flex;align-items: center;gap: 9px;font-size: 16px;font-weight: 600;letter-spacing: -.03em;text-decoration: none;white-space: nowrap}.brand::before{content: "";width: 9px;height: 9px;background: var(--accent);transform: rotate(45deg)}.clock{min-width: 0;margin-right: auto;overflow: hidden;color: var(--muted);font-family: var(--mono);font-size: 12px;font-variant-numeric: tabular-nums;white-space: nowrap}.clock b{color: var(--ink);font-weight: 500}.clock .wide{display: none}.sheet-link{flex: none;display: inline-flex;align-items: center;gap: 8px;height: 32px;padding: 0 6px 0 12px;border: 1px solid var(--line);border-radius: 8px;font-size: 13px;font-weight: 500;text-decoration: none;white-space: nowrap;transition: background-color .2s, color .2s, border-color .2s}.sheet-link b{min-width: 20px;height: 20px;padding: 0 5px;border-radius: 5px;background: var(--fill-strong);font-family: var(--mono);font-size: 12px;font-weight: 500;line-height: 20px;text-align: center}.sheet-link.has-lots{background: var(--ink);border-color: var(--ink);color: var(--bg)}.sheet-link.has-lots b{background: var(--accent);color: #FFFFFF}.app{display: grid;grid-template-columns: minmax(0, 1fr)}.viewer{min-width: 0;display: grid;grid-template-rows: auto auto;border-bottom: 1px solid var(--line)}.stage{position: relative;height: 58svh;min-height: 320px;max-height: 620px;overflow: hidden;background: radial-gradient(ellipse at 50% 42%, var(--stage-inner) 0%, var(--stage-outer) 88%);touch-action: pan-y;user-select: none;-webkit-user-select: none}.stage canvas{position: absolute;inset: 0;width: 100%;height: 100%;display: block;touch-action: pan-y;cursor: grab}.stage-tools{position: absolute;right: 12px;top: 12px;display: flex;gap: 4px}.stage-tools button, .stage-note span, .stage-note button{border: 1px solid var(--line);background: var(--glass);-webkit-backdrop-filter: blur(14px);backdrop-filter: blur(14px)}.stage-tools button{min-width: 36px;height: 36px;padding: 0 12px;border-radius: 8px;font-size: 13px;font-weight: 500;cursor: pointer}.stage-tools button:hover, .stage-note button:hover{background: var(--fill-strong)}.stage-note{position: absolute;left: 12px;right: 12px;bottom: 12px;display: flex;flex-wrap: wrap;align-items: center;gap: 4px;font-size: 12px;line-height: 1.3;pointer-events: none}.stage-note span{padding: 7px 10px;border-radius: 8px;color: var(--muted)}.stage-note button{pointer-events: auto;padding: 7px 10px;border-radius: 8px;font-weight: 500;cursor: pointer}.stage[data-model="off"] canvas, .stage[data-model="off"] .stage-tools, .stage[data-model="off"] .stage-note button{display: none}.stage[data-model="off"]{height: auto;min-height: 76px}.walls{display: flex;gap: 6px;margin: 0;padding: 10px max(16px, env(safe-area-inset-left));list-style: none;overflow-x: auto;scrollbar-width: none;background: var(--panel);border-top: 1px solid var(--line);-webkit-overflow-scrolling: touch}.walls::-webkit-scrollbar{display: none}.walls button{display: grid;grid-template-columns: 30px auto;grid-template-rows: auto auto;column-gap: 10px;align-items: center;padding: 6px 12px 6px 6px;border: 1px solid transparent;border-radius: 9px;background: none;text-align: left;white-space: nowrap;cursor: pointer}.walls button:hover{background: var(--fill)}.walls .swatch{position: relative;grid-row: 1 / 3;width: 30px;height: 30px;border-radius: 5px;background-color: var(--ground);background-image: linear-gradient(var(--lattice) 1px, transparent 1px), linear-gradient(90deg, var(--lattice) 1px, transparent 1px);background-size: 10px 10px;background-position: 4px 4px}.walls .badge{position: absolute;right: -6px;top: -6px;min-width: 17px;height: 17px;padding: 0 4px;border-radius: 9px;background: var(--accent);color: #FFFFFF;font-family: var(--mono);font-size: 10px;font-style: normal;font-weight: 600;line-height: 17px;text-align: center}.walls .badge:empty{display: none}.walls button[aria-pressed="true"]{border-color: var(--line);background: var(--fill)}.walls .name{font-size: 13px;font-weight: 500;line-height: 1.2}.walls .room{color: var(--faint);font-size: 11px;line-height: 1.2}.panel{min-width: 0;padding: 0 max(18px, env(safe-area-inset-right)) 150px max(18px, env(safe-area-inset-left));background: var(--panel)}.intro{display: grid;gap: 14px;padding: 30px 0 28px}.label{color: var(--muted);font-family: var(--mono);font-size: 12px;letter-spacing: .02em}h1{font-size: clamp(34px, 8.6vw, 44px);font-weight: 600;line-height: 1.02;letter-spacing: -.045em;text-wrap: balance}.lede{max-width: 34em;color: var(--muted);font-size: 16px;line-height: 1.5;text-wrap: pretty}.tally{display: grid;grid-template-columns: repeat(3, auto);justify-content: space-between;gap: 12px;margin: 6px 0 0;padding: 14px 0;border-top: 1px solid var(--line);border-bottom: 1px solid var(--line)}.tally div{display: grid;gap: 3px}.tally dd{margin: 0;font-size: 22px;font-weight: 500;line-height: 1;letter-spacing: -.03em;font-variant-numeric: tabular-nums}.tally dt{color: var(--faint);font-size: 11px;line-height: 1.3}.closes{color: var(--faint);font-family: var(--mono);font-size: 11px;line-height: 1.5}.block{display: grid;gap: 16px;padding: 28px 0;border-top: 1px solid var(--line)}h2{font-size: 22px;font-weight: 600;line-height: 1.15;letter-spacing: -.03em}.wall-about{margin-top: 4px;color: var(--muted);font-size: 14px}.button{display: inline-flex;align-items: center;justify-content: center;min-height: 44px;padding: 0 18px;border: 0;border-radius: 9px;background: var(--ink);color: var(--bg);font-size: 15px;font-weight: 600;letter-spacing: -.01em;text-decoration: none;cursor: pointer;transition: transform .12s, opacity .15s}.button.is-quiet{background: var(--fill);color: var(--ink);box-shadow: inset 0 0 0 1px var(--line)}.button:hover:not(:disabled){opacity: .88}.button:active:not(:disabled){transform: scale(.98)}.button:disabled{opacity: .45;cursor: default}.chip{min-height: 32px;padding: 0 12px;border: 1px solid var(--line);border-radius: 8px;background: none;font-size: 13px;font-weight: 500;cursor: pointer}.chip:hover{background: var(--fill)}.lead-form{display: grid;grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);gap: 8px}.lead-form input{min-width: 0;min-height: 44px;padding: 0 12px;border: 1px solid var(--line);border-radius: 9px;background: var(--bg);font-size: 16px}.lead-form input:focus{outline: 0;border-color: var(--ink)}.lead-form .button{grid-column: 1 / -1}.try-form{display: grid;grid-template-columns: auto minmax(0, 1fr);gap: 8px}.try-form input[type="text"]{min-width: 0;min-height: 44px;padding: 0 12px;border: 1px solid var(--line);border-radius: 9px;background: var(--bg);font-size: 16px}.try-form input[type="text"]:focus{outline: 0;border-color: var(--ink)}.try-pick{position: relative;display: inline-flex;align-items: center;justify-content: center;cursor: pointer;overflow: hidden}.try-pick input{position: absolute;inset: 0;width: 100%;height: 100%;opacity: 0;cursor: pointer}.try-pick:focus-within{outline: 2px solid var(--ink);outline-offset: 2px}.lead-status{padding: 10px 12px;border-left: 2px solid var(--good);background: var(--fill);font-size: 14px}.lead-status.is-bad{border-left-color: var(--accent);color: var(--accent-ink)}.blocks{display: flex;align-items: center;gap: 2px;max-width: 100%;padding: 3px;border: 1px solid var(--line);border-radius: 9px;overflow-x: auto;scrollbar-width: none;justify-self: start}.blocks::-webkit-scrollbar{display: none}.blocks span{padding: 0 8px 0 9px;color: var(--faint);font-family: var(--mono);font-size: 11px}.blocks button{min-height: 30px;padding: 0 10px;border: 0;border-radius: 6px;background: none;color: var(--muted);font-family: var(--mono);font-size: 12px;white-space: nowrap;cursor: pointer}.blocks button:hover:not(:disabled){color: var(--ink)}.blocks button[aria-pressed="true"]{background: var(--ink);color: var(--bg)}.blocks button:disabled{opacity: .3;cursor: default}.elevation{display: grid;grid-template-columns: 20px minmax(0, 1fr);gap: 4px;max-width: calc(var(--columns) * 56px + 24px)}.elevation-letters{grid-column: 2;display: grid;grid-template-columns: repeat(var(--columns), minmax(0, 1fr))}.elevation-numbers{display: grid;grid-template-rows: repeat(5, minmax(0, 1fr))}.elevation-letters button, .elevation-numbers button{padding: 0;border: 0;border-radius: 4px;background: none;color: var(--faint);font-family: var(--mono);font-size: 11px;line-height: 20px;text-align: center;cursor: pointer}.elevation-letters button:hover, .elevation-numbers button:hover{background: var(--fill);color: var(--ink)}.elevation-grid{position: relative;display: grid;grid-template-columns: repeat(var(--columns), minmax(0, 1fr));overflow: hidden;border-radius: 4px;background: var(--ground);touch-action: pan-y;user-select: none;-webkit-user-select: none}.square{position: relative;aspect-ratio: 1 / 1;padding: 0;border: 0;background: transparent;cursor: pointer;box-shadow: inset 0 0 0 .5px var(--lattice);transition: background-color .1s}.square::before{content: "";position: absolute;left: 50%;top: 50%;width: 12%;height: 12%;background: var(--mark);transform: translate(-50%, -50%) rotate(45deg);opacity: .85}.square.is-blocked{cursor: default;background: var(--blocked)}.square.is-blocked::before{display: none}.square.is-ghost{background: color-mix(in srgb, var(--accent) 26%, transparent)}.square.is-current{background: color-mix(in srgb, var(--accent) 34%, transparent);box-shadow: inset 0 0 0 2.5px #FF7A3D;z-index: 1}.square.is-listed{background: #D9571F}.square.is-listed::before{background: #FFFFFF}.square.is-listed.is-current{box-shadow: inset 0 0 0 2.5px #FFFFFF}.square:focus-visible{outline: 2px solid var(--mark);outline-offset: -5px}.square .held{position: absolute;inset: 17%;display: grid;place-items: center;color: var(--mark);font-size: 15px;font-weight: 600;line-height: 1;pointer-events: none}.square .held.has-mark{background: var(--mark);-webkit-mask: center / contain no-repeat;mask: center / contain no-repeat}.square.is-held::before{display: none}.square.is-held:not(.is-current):not(.is-listed){box-shadow: inset 0 0 0 .5px var(--lattice), inset 0 0 0 3px var(--ground), inset 0 0 0 4px var(--mark)}.square.is-held.is-listed .held{color: #FFFFFF}.square.is-held.is-listed .held.has-mark{background: #FFFFFF}.cover{position: absolute;bottom: 0;padding: 2px 5px;pointer-events: none;overflow: hidden;border: 1px dashed var(--mark);color: var(--mark);font-family: var(--mono);font-size: 10px;line-height: 1.2;opacity: .75}.heldpanel, .mine{position: absolute;display: grid;place-items: center;pointer-events: none;background: var(--ground);color: var(--mark);font-family: var(--mono);font-size: 12px;text-align: center;overflow: hidden}.heldpanel{z-index: 1;padding: 6px;box-shadow: inset 0 0 0 3px var(--ground), inset 0 0 0 4.5px var(--mark)}.mine{z-index: 2;box-shadow: inset 0 0 0 2px #FF7A3D}.mine.is-sheet{box-shadow: inset 0 0 0 3px #FF7A3D}.heldpanel i, .mine i{width: 62%;height: 62%;max-width: 100%;background: var(--mark);-webkit-mask: var(--shape) center / contain no-repeat;mask: var(--shape) center / contain no-repeat}.wall-hint{min-height: 18px;margin-top: -8px;color: var(--muted);font-size: 13px}.wall-hint.is-bad{color: var(--accent-ink)}.wall-foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px}.wall-tools{display: flex;gap: 6px}.key{display: flex;flex-wrap: wrap;gap: 4px 12px;margin: 0;padding: 0;list-style: none;color: var(--faint);font-size: 11px}.key li{display: flex;align-items: center;gap: 5px}.key i{width: 10px;height: 10px;border-radius: 2px}.key .open{background: #17223E;box-shadow: inset 0 0 0 1px var(--line)}.key .chosen-key{background: color-mix(in srgb, var(--accent) 34%, transparent);box-shadow: inset 0 0 0 1.5px #FF7A3D}.key .listed{background: #D9571F}.key .held-key{box-shadow: inset 0 0 0 1.5px var(--ink)}.key .hidden{box-shadow: inset 0 0 0 1px var(--faint)}.lot{display: grid;gap: 12px}.lot h3{font-size: 22px;font-weight: 600;line-height: 1.15;letter-spacing: -.03em}.kicker{color: var(--accent-ink);font-family: var(--mono);font-size: 12px}.lot .where{color: var(--muted);font-size: 14px}.figures{display: grid;margin: 0;border-top: 1px solid var(--line)}.figures div{display: flex;align-items: baseline;justify-content: space-between;gap: 16px;padding: 10px 0;border-bottom: 1px solid var(--line)}.figures dt{color: var(--muted);font-size: 14px}.figures dd{margin: 0;font-family: var(--mono);font-size: 15px;font-variant-numeric: tabular-nums}.chosen{display: grid;gap: 3px;margin: 0;padding: 0;list-style: none;color: var(--muted);font-family: var(--mono);font-size: 12px}.chosen b{color: var(--ink);font-family: var(--font);font-size: 14px;font-weight: 500}.lot .holder{padding: 10px 12px;border-left: 2px solid var(--accent);background: var(--fill);font-size: 14px}.lot .holder a, .lot .holder b{font-weight: 600}.actions{display: flex;flex-wrap: wrap;gap: 8px}.actions .button{flex: 1 1 auto}.actions .button.is-quiet{flex: 0 1 auto}.sheet p{color: var(--muted);font-size: 14px}#sheet-body{display: grid;gap: 14px}.lines{display: grid;margin: 0;padding: 0;list-style: none;border-top: 1px solid var(--line)}.lines li{display: grid;grid-template-columns: minmax(0, 1fr) 104px 30px;gap: 8px;align-items: center;padding: 9px 0;border-bottom: 1px solid var(--line)}.lines .what{font-size: 14px;font-weight: 500;line-height: 1.3}.lines .what small{display: block;color: var(--faint);font-size: 12px;font-weight: 400}.lines input, .fields input{width: 100%;min-height: 42px;padding: 0 11px;border: 1px solid var(--line);border-radius: 8px;background: var(--bg);font-size: 16px;font-variant-numeric: tabular-nums;transition: border-color .15s}.lines input{font-family: var(--mono);font-size: 15px}.lines input:focus, .fields input:focus{outline: 0;border-color: var(--ink)}.lines input[aria-invalid="true"]{border-color: var(--accent)}.lines .drop{width: 30px;height: 30px;padding: 0;border: 0;border-radius: 6px;background: none;color: var(--faint);font-size: 18px;line-height: 1;cursor: pointer}.lines .drop:hover{background: var(--fill);color: var(--ink)}.lines .problem{grid-column: 1 / -1;color: var(--accent-ink);font-size: 12px}.total{display: flex;justify-content: space-between;gap: 12px;font-size: 16px;font-weight: 600}.total span:last-child{font-family: var(--mono);font-weight: 500;font-variant-numeric: tabular-nums}.fields{display: grid;gap: 12px}.fields label{display: grid;gap: 5px;color: var(--muted);font-size: 13px}.fields label span{display: flex;justify-content: space-between;gap: 10px}.fields em{color: var(--faint);font-style: normal}.fields input[type="file"]{padding: 8px 10px;font-size: 13px}.fields input[type="file"]::file-selector-button{margin-right: 10px;padding: 4px 10px;border: 0;border-radius: 6px;background: var(--fill-strong);color: var(--ink);font: inherit;font-weight: 500;cursor: pointer}.mark-preview{display: flex;align-items: center;gap: 6px;color: var(--faint);font-size: 12px}.mark-preview i{position: relative;width: 44px;height: 44px;border-radius: 3px}.mark-preview i::after{content: "";position: absolute;inset: 8px;-webkit-mask: var(--shape) center / contain no-repeat;mask: var(--shape) center / contain no-repeat}.mark-preview i:nth-child(1){background: #17223E}.mark-preview i:nth-child(1)::after{background: #C9A96C}.mark-preview i:nth-child(2){background: #B24E1E}.mark-preview i:nth-child(2)::after{background: #F4E9D6}.mark-preview i:nth-child(3){background: #E5E0D6}.mark-preview i:nth-child(3)::after{background: #1A2540}.mark-preview span{margin-left: 6px}.sheet .problem{padding: 9px 12px;border-left: 2px solid var(--accent);background: var(--fill);color: var(--accent-ink);font-size: 13px}.sheet .send{color: var(--faint);font-size: 12px}.received{display: grid;gap: 10px;padding: 14px;border-left: 2px solid var(--good);background: var(--fill)}.received h3{font-size: 16px;font-weight: 600}.received h3 span{color: var(--good);font-family: var(--mono);font-weight: 500}.received p{color: var(--ink)}.register h3{margin-top: 6px;color: var(--faint);font-family: var(--mono);font-size: 11px;font-weight: 400;letter-spacing: .04em;text-transform: uppercase}.holders{display: grid;margin: 0;padding: 0;list-style: none}.holders li{display: grid;gap: 1px;padding: 10px 0;border-bottom: 1px solid var(--line)}.holders .holder-name{justify-self: start;font-size: 16px;font-weight: 600}.holders span{font-size: 14px}.holders small{color: var(--faint);font-family: var(--mono);font-size: 11px}.table-scroll{overflow-x: auto}#recent{width: 100%;border-collapse: collapse;font-size: 13px}#recent th{padding: 0 10px 6px 0;text-align: left;font-weight: 400;font-size: 11px;color: var(--faint);white-space: nowrap}#recent td{padding: 9px 10px 9px 0;border-top: 1px solid var(--line);vertical-align: top}#recent td:nth-child(3), #recent td:nth-child(4){font-family: var(--mono);white-space: nowrap}#recent td:nth-child(4){color: var(--faint)}.steps ol{display: grid;margin: 0;padding: 0;list-style: none;counter-reset: step;border-top: 1px solid var(--line)}.steps li{display: grid;grid-template-columns: 34px 1fr;gap: 2px 0;padding: 14px 0;border-bottom: 1px solid var(--line);counter-increment: step}.steps li::before{content: "0" counter(step);grid-row: 1 / 3;color: var(--faint);font-family: var(--mono);font-size: 12px;line-height: 24px}.steps b{font-size: 16px;font-weight: 600}.steps span{grid-column: 2;color: var(--muted);font-size: 14px}.terms dl{display: grid;margin: 0;border-top: 1px solid var(--line)}.terms dl div{display: grid;grid-template-columns: 96px 1fr;gap: 12px;padding: 14px 0;border-bottom: 1px solid var(--line)}.terms dt{font-size: 14px;font-weight: 600}.terms dd{margin: 0;color: var(--muted);font-size: 14px}.colophon{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px 20px;padding: 26px 0 0;border-top: 1px solid var(--line);color: var(--muted);font-size: 13px}.dock{position: fixed;z-index: 40;left: max(12px, env(safe-area-inset-left));right: max(12px, env(safe-area-inset-right));bottom: calc(12px + env(safe-area-inset-bottom));display: flex;align-items: center;justify-content: space-between;gap: 12px;max-width: 520px;margin: 0 auto;padding: 8px 8px 8px 16px;border: 1px solid var(--line);border-radius: 14px;background: var(--glass);-webkit-backdrop-filter: saturate(160%) blur(22px);backdrop-filter: saturate(160%) blur(22px);box-shadow: 0 16px 48px rgba(0, 0, 0, .6);transform: translateY(calc(100% + 40px));opacity: 0;pointer-events: none;transition: transform .36s cubic-bezier(.2, .9, .3, 1), opacity .25s}.dock.is-up{transform: none;opacity: 1;pointer-events: auto}.dock p{min-width: 0;color: var(--muted);font-size: 13px;line-height: 1.3;font-variant-numeric: tabular-nums}.dock p b{display: block;color: var(--ink);font-size: 15px;font-weight: 600}.dock .button{flex: none;background: var(--accent);color: #FFFFFF}.page{max-width: 1280px;margin: 0 auto;padding: 0 max(16px, env(safe-area-inset-right)) 120px max(16px, env(safe-area-inset-left))}.card{padding: 20px;border: 1px solid var(--line);border-radius: var(--radius);background: var(--card)}@media (max-width: 420px){.clock{font-size: 11px;letter-spacing: -.03em}.tally{grid-template-columns: repeat(3, auto)}}@media (min-width: 700px){.clock .wide{display: inline}.panel{padding-left: 32px;padding-right: 32px}.walls{padding-left: 16px;padding-right: 16px}}@media (min-width: 1020px){.bar{padding-left: 20px;padding-right: 20px}.app{grid-template-columns: minmax(0, 1fr) 468px;align-items: start}.viewer{position: sticky;top: var(--bar);height: calc(100dvh - var(--bar));grid-template-rows: minmax(0, 1fr) auto;border-bottom: 0}.stage{height: auto;min-height: 0;max-height: none}.panel{min-height: calc(100dvh - var(--bar));padding: 0 30px 80px;border-left: 1px solid var(--line)}.intro{padding-top: 36px}.dock{display: none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*{transition: none !important}}