:root{--blue: #007aff;--green: #34c759;--red: #ff3b30;--label: rgba(0, 0, 0, .85);--label-secondary: rgba(60, 60, 67, .6);--label-tertiary: rgba(60, 60, 67, .3);--fill: rgba(118, 118, 128, .12);--fill-elevated: rgba(255, 255, 255, .72);--separator: rgba(60, 60, 67, .18);--window-fallback: #f5f5f7;--shadow: rgba(0, 0, 0, .12);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--text-large-title: 28px;--text-title: 17px;--text-headline: 17px;--text-body: 14px;--text-subhead: 12px;--text-footnote: 11px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 18px;--space-7: 24px;--space-8: 44px;--radius-control: 7px;--radius-card: 12px;--radius-sheet: 14px;--radius-media: 8px;--duration-fast: .05s;--duration-normal: .15s;--duration-slow: .2s;--ease-default: ease;--titlebar-height: 28px;--hud-backdrop-blur: 12px}@media (prefers-color-scheme: dark){:root{--blue: #0a84ff;--green: #30d158;--red: #ff453a;--label: rgba(255, 255, 255, .92);--label-secondary: rgba(235, 235, 245, .6);--label-tertiary: rgba(235, 235, 245, .3);--fill: rgba(118, 118, 128, .24);--fill-elevated: rgba(30, 30, 30, .72);--separator: rgba(84, 84, 88, .6);--window-fallback: #1e1e1e;--shadow: rgba(0, 0, 0, .35)}}@media (prefers-reduced-motion: reduce){:root{--duration-fast: .01ms;--duration-normal: .01ms;--duration-slow: .01ms}}html,body{margin:0;height:100%;overflow:hidden;background:var(--window-fallback);font-family:var(--font-sans);font-size:var(--text-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--label)}#c{display:block;width:100vw;height:100vh;outline:none}.hud{position:fixed;top:var(--space-4);left:var(--space-4);z-index:10;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(460px,calc(100vw - var(--space-7)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--fill-elevated);border:.5px solid var(--separator);box-shadow:0 var(--space-1) var(--space-4) var(--shadow);backdrop-filter:blur(var(--hud-backdrop-blur));-webkit-backdrop-filter:blur(var(--hud-backdrop-blur))}.hud__row{display:flex;align-items:center;gap:var(--space-3);min-width:0}.hud__brand{font-size:var(--text-subhead);font-weight:var(--weight-semibold);letter-spacing:-.01em;white-space:nowrap}.hud__stats{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--text-subhead);color:var(--label-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud__hint{margin:0;font-size:var(--text-footnote);color:var(--label-secondary);line-height:1.35}.btn{font:inherit;font-size:var(--text-body);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-6);border:none;border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;transition:filter var(--duration-normal) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.btn-secondary{background:var(--fill);color:var(--label)}.btn-secondary:hover{filter:brightness(1.05)}.btn-secondary:active{filter:brightness(.95);transform:scale(.98)}.btn:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:1px}[hidden]{display:none!important}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:active{filter:brightness(.92);transform:scale(.98)}.btn-plain{background:transparent;color:var(--blue);padding-left:var(--space-3);padding-right:var(--space-3)}.btn-plain:hover{background:var(--fill)}.btn-danger{background:transparent;color:var(--red)}.btn-danger:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.join-scrim{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:color-mix(in srgb,var(--shadow) 55%,transparent);backdrop-filter:blur(2px)}.join-panel{display:flex;flex-direction:column;gap:var(--space-3);width:min(440px,100%);max-height:min(620px,calc(100vh - var(--space-8)));overflow:auto;padding:var(--space-5);border-radius:var(--radius-sheet);background:var(--window-fallback);border:.5px solid var(--separator);box-shadow:0 12px 40px var(--shadow)}.join-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.join-panel__title{margin:0;font-size:var(--text-headline);font-weight:var(--weight-semibold);letter-spacing:-.01em}.join-msg{margin:0;font-size:var(--text-footnote);color:var(--label-secondary);white-space:pre-wrap}.join-msg--error{color:var(--red)}.join-msg--success{color:var(--green)}.join-field__input{font:inherit;font-size:var(--text-subhead);font-family:var(--font-mono);padding:var(--space-3);border-radius:var(--radius-card);border:.5px solid var(--separator);background:var(--fill);color:var(--label);resize:vertical}.join-field__input:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 35%,transparent)}.join-code{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-card);background:var(--fill)}.join-code__text{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--text-footnote);line-height:1.45;color:var(--label-secondary);word-break:break-all;max-height:76px;overflow:auto}.join-code__copy{flex-shrink:0}.join-sas{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;text-align:center;padding:var(--space-6) var(--space-5);background:var(--fill);border-radius:var(--radius-card)}.join-sas__code{font-size:40px;font-weight:var(--weight-semibold);letter-spacing:.18em;font-variant-numeric:tabular-nums;padding-left:.18em;color:var(--label)}.join-sas__actions{display:flex;gap:var(--space-2);align-self:stretch}.join-sas__actions .btn{flex:1}#overlays{position:fixed;inset:0;z-index:5;overflow:hidden;pointer-events:none}.object-overlay{pointer-events:auto}.note-editor{box-sizing:border-box;width:100%;height:100%;margin:0;padding:var(--space-3);border:none;outline:none;resize:none;border-radius:var(--radius-card);background:var(--fill-elevated);color:var(--label);font-family:var(--font-sans);font-size:var(--text-body);box-shadow:0 var(--space-1) var(--space-3) var(--shadow)}
