.sf360-demo{--demo-orange:#ff4b00;--demo-ink:var(--ink,#172230);--demo-muted:var(--muted,#596579);--demo-surface:var(--surface,#fff);--demo-soft:var(--surface-soft,#eef2f6);--demo-line:var(--line,rgba(20,32,49,.14));color:var(--demo-ink);margin:clamp(36px,6vw,88px) auto;max-width:1280px;width:100%;font-family:var(--font-sans,system-ui,sans-serif)}
.sf360-demo *{box-sizing:border-box}.sf360-demo [hidden]{display:none!important}.sf360-demo button{font:inherit;cursor:pointer}.sf360-demo button:focus-visible,.sf360-demo summary:focus-visible,.sf360-demo canvas:focus-visible{outline:3px solid var(--demo-orange);outline-offset:4px}.sf360-demo__heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px}.sf360-demo__heading>div{max-width:760px}.sf360-demo .sf360-demo__eyebrow{font-size:12px;font-weight:750;color:var(--demo-orange);letter-spacing:.06em;margin:0 0 12px}.sf360-demo .sf360-demo__heading h2{font-size:clamp(25px,3.2vw,40px);line-height:1.16;letter-spacing:-.03em;margin:0 0 14px;color:var(--demo-ink)}.sf360-demo .sf360-demo__heading p:not(.sf360-demo__eyebrow){margin:0;font-size:16px;line-height:1.65;color:var(--demo-muted)}.sf360-demo__count{flex-shrink:0;display:grid;text-align:center;gap:4px;padding:18px 22px;border-left:1px solid var(--demo-line)}.sf360-demo__count strong{font-size:35px;color:var(--demo-orange);line-height:1.05}.sf360-demo__count span{font-size:12px;color:var(--demo-muted)}
.sf360-demo__workspace{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:18px;align-items:start}.sf360-demo__scene,.sf360-demo__records{min-width:0}.sf360-demo__stage{position:relative;min-height:500px;isolation:isolate;overflow:hidden;border-radius:22px;background:#101b29;box-shadow:var(--shadow-card,0 16px 46px #0f1b2c1a)}.sf360-demo__preview,.sf360-demo__canvas,.sf360-demo__flat,.sf360-demo__markers{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0}.sf360-demo__preview{object-fit:cover;filter:brightness(.7)}.sf360-demo__intro{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:30px;text-align:center;color:#fff;background:linear-gradient(180deg,rgba(6,16,28,.08),rgba(6,16,28,.75))}.sf360-demo__intro p{margin:0;color:#fff;font-size:clamp(20px,2.1vw,28px);font-weight:650;line-height:1.35}.sf360-demo__orbit{height:90px;width:112px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font-size:27px;font-weight:700;background:#06101f40;box-shadow:0 0 0 9px #ffffff0a}.sf360-demo .sf360-demo__start{display:flex;align-items:center;gap:22px;border:0;border-radius:13px;background:var(--demo-orange);color:#fff;padding:16px 22px;font-weight:750;min-height:52px;box-shadow:0 8px 28px #ff4b0040}.sf360-demo__start span{font-size:22px}.sf360-demo__start:disabled{opacity:.7;cursor:progress}.sf360-demo__canvas{z-index:1;touch-action:none;cursor:grab}.sf360-demo__canvas:active{cursor:grabbing}.sf360-demo__flat{object-fit:contain;z-index:1}.sf360-demo__markers{z-index:2;pointer-events:none}.sf360-demo__toolbar{position:absolute;top:14px;left:14px;z-index:4;display:flex;gap:5px;border:1px solid #ffffff30;border-radius:12px;padding:5px;background:#07111bcc;backdrop-filter:blur(10px)}.sf360-demo .sf360-demo__toolbar button{display:grid;place-items:center;border:0;border-radius:7px;width:40px;height:40px;padding:0;background:transparent;color:#fff;font-size:22px;line-height:1;min-width:0}.sf360-demo .sf360-demo__toolbar button:hover{background:#ffffff24}.sf360-demo__scene-label{position:absolute;z-index:3;bottom:16px;left:16px;right:16px;display:flex;align-items:center;gap:9px;font-size:12px;color:#fff;text-shadow:0 1px 3px #000;background:#07111bc9;backdrop-filter:blur(8px);border:1px solid #ffffff25;border-radius:10px;padding:11px 13px;pointer-events:none}.sf360-demo__scene-label>span{height:7px;width:7px;border-radius:50%;background:var(--demo-orange)}.sf360-demo__scene-label b{font-size:10px;font-weight:500;margin-left:auto;opacity:.8}.sf360-demo .sf360-demo__status{font-size:12px;color:var(--demo-muted);line-height:1.6;margin:12px 4px 0;min-height:38px}.sf360-demo__marker{position:absolute;display:flex;align-items:center;gap:8px;transform:translate(-50%,-50%);padding:0;border:0;background:none!important;pointer-events:auto;min-height:44px;color:#fff!important;max-width:200px;white-space:nowrap}.sf360-demo__marker>strong{display:grid;place-items:center;border:2px solid #fff;width:38px;height:38px;border-radius:50%;background:var(--demo-orange);box-shadow:0 0 0 6px #ff4b0033,0 4px 14px #0005;font-size:16px;flex-shrink:0}.sf360-demo__marker>span{font-size:11px;line-height:1.3;font-weight:650;padding:8px 10px;border-radius:7px;background:#07111be0;box-shadow:0 3px 12px #0002}.sf360-demo__marker[aria-pressed=true]>strong{background:#fff;color:#d93900;border-color:var(--demo-orange);box-shadow:0 0 0 7px #ff4b0055}
.sf360-demo__records{max-height:500px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ff4b0066 transparent;padding:2px 6px 4px 2px;overscroll-behavior:contain}.sf360-demo .sf360-demo__records-label{font-size:11px;text-transform:none;letter-spacing:.02em;color:var(--demo-muted);font-weight:650;margin:0 0 12px 5px}.sf360-demo__record{border:1px solid var(--demo-line);border-radius:14px;background:var(--demo-surface);margin-bottom:10px;overflow:hidden}.sf360-demo__record[open]{border-color:#ff4b0066;box-shadow:0 4px 20px #10182808}.sf360-demo__record summary{display:flex;align-items:center;gap:11px;cursor:pointer;padding:15px 13px;list-style:none;min-height:70px;color:var(--demo-ink)}.sf360-demo__record summary::-webkit-details-marker{display:none}.sf360-demo__record summary>span:nth-child(2){min-width:0}.sf360-demo__record summary small{display:block;color:var(--demo-muted);font-size:10px;line-height:1.45;margin-bottom:3px}.sf360-demo__record summary strong{font-size:13px;font-weight:700;line-height:1.4;display:block}.sf360-demo__record-icon{height:35px;width:35px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:750}.sf360-demo__record-icon--blue{background:#168cdb1a;color:#168cdb}.sf360-demo__record-icon--orange{background:#ff4b001a;color:#eb4200}.sf360-demo__record-icon--green{background:#10a16b1a;color:#119b69}.sf360-demo__chevron{font-size:19px;color:var(--demo-muted);margin-left:auto}.sf360-demo__record[open] .sf360-demo__chevron{transform:rotate(45deg);color:var(--demo-orange)}.sf360-demo__record-body{padding:0 15px 17px}.sf360-demo__state{display:inline-block;max-width:100%;font-size:10px;line-height:1.6;font-weight:650;padding:4px 8px;border-radius:6px;background:var(--demo-soft);color:var(--demo-ink)}.sf360-demo__state--orange{background:#ff4b0017;color:var(--demo-orange)}.sf360-demo__state--green{background:#10a16b17;color:#149361}.sf360-demo .sf360-demo__record-body>p{font-size:12px;line-height:1.7;color:var(--demo-muted);margin:12px 0}.sf360-demo__record-body dl{display:grid;gap:0;margin:0 0 14px}.sf360-demo__record-body dl>div{padding:9px 0;border-bottom:1px solid var(--demo-line)}.sf360-demo__record-body dt{font-size:10px;font-weight:500;color:var(--demo-muted);margin:0 0 3px}.sf360-demo__record-body dd{font-size:12px;line-height:1.5;font-weight:600;color:var(--demo-ink);margin:0}.sf360-demo__record-body aside{background:var(--demo-soft);border-radius:9px;padding:12px}.sf360-demo__record-body aside strong{font-size:11px;line-height:1.5;color:var(--demo-ink)}.sf360-demo .sf360-demo__record-body aside p{font-size:11px;line-height:1.7;margin:5px 0 0;color:var(--demo-muted)}.sf360-demo .sf360-demo__locate{border:1px solid #ff4b0040;color:var(--demo-orange);background:transparent;border-radius:8px;padding:10px 11px;font-size:11px;font-weight:650;margin-top:12px;min-height:42px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px}.sf360-demo__locate:hover{background:#ff4b0012}.sf360-demo .sf360-demo__footnote{font-size:12px;line-height:1.65;color:var(--demo-muted);margin:14px 4px 0;max-width:840px}
.sf360-demo__stage:fullscreen{width:100vw;height:100dvh;border-radius:0;min-height:0}.sf360-demo__stage:fullscreen .sf360-demo__toolbar{top:20px;left:20px}.sf360-demo__stage:fullscreen .sf360-demo__scene-label{bottom:20px;left:20px;right:20px}
@media(max-width:1000px){.sf360-demo__workspace{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}.sf360-demo__stage{min-height:470px}.sf360-demo__records{max-height:470px}.sf360-demo__marker>span{display:none}.sf360-demo__count{padding:14px}}
@media(max-width:760px){.sf360-demo__heading{align-items:start;gap:12px}.sf360-demo__count{display:none}.sf360-demo__workspace{grid-template-columns:minmax(0,1fr);gap:16px}.sf360-demo__stage{min-height:0;aspect-ratio:4/3;border-radius:17px}.sf360-demo__records{max-height:none;overflow:visible;padding:0}.sf360-demo__record summary{padding:16px;min-height:74px}.sf360-demo__record summary strong{font-size:14px}.sf360-demo__record summary small{font-size:11px}.sf360-demo__record-body{padding:0 17px 18px}.sf360-demo .sf360-demo__record-body>p,.sf360-demo__record-body dd{font-size:13px}.sf360-demo__record-body aside strong,.sf360-demo .sf360-demo__record-body aside p{font-size:12px}.sf360-demo__record-body dl{grid-template-columns:1fr}.sf360-demo__toolbar{top:10px;left:10px;gap:2px;padding:4px}.sf360-demo .sf360-demo__toolbar button{height:37px;width:37px}.sf360-demo__intro{padding:20px;gap:18px}.sf360-demo__orbit{height:66px;width:84px;font-size:22px}.sf360-demo .sf360-demo__start{padding:13px 20px;min-height:46px}.sf360-demo__scene-label{left:10px;right:10px;bottom:10px}.sf360-demo .sf360-demo__status{min-height:0}.sf360-demo__marker>strong{height:33px;width:33px;font-size:14px}.sf360-demo__marker{min-height:44px}.sf360-demo .sf360-demo__heading p:not(.sf360-demo__eyebrow){font-size:14px}.sf360-demo__heading{margin-bottom:18px}.sf360-demo__locate{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.sf360-demo *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Keep keyboard focus visible inside clipped surfaces and anchor each pin by its circle. */
.sf360-demo canvas:focus-visible,.sf360-demo summary:focus-visible{outline-offset:-4px}
.sf360-demo__marker{width:44px;height:44px;max-width:44px;justify-content:center;gap:0}
.sf360-demo__marker>span{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%)}
