body[data-soty-surface=world]{margin:0;background:var(--sw-bg);color:var(--sw-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}body[data-soty-surface=world] #app{min-height:100dvh}.soty-start{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:24px;box-sizing:border-box;text-align:center}.soty-start h1{font-size:24px;margin:0;font-weight:600}.soty-start p{margin:0;color:var(--sw-muted)}.soty-start button{min-height:48px;border:0;border-radius:16px;padding:12px 28px;background:var(--sw-honey);color:var(--sw-on-accent);font:inherit;cursor:pointer}.soty-start button:focus-visible{outline:3px solid var(--sw-focus);outline-offset:4px}.soty-start-mark{--hex-width:52px;background:var(--sw-honey);animation:soty-breathe 1.4s ease-in-out infinite alternate}@keyframes soty-breathe{to{transform:scale(.92);opacity:.6}}@media(prefers-reduced-motion:reduce){.soty-start-mark{animation:none}}.world-return{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:0 10px 12px;padding:9px 12px;color:var(--sw-on-accent);font:13px/1.4 system-ui,sans-serif;text-decoration:none;background:var(--sw-honey);border-radius:10px}.world-return svg{width:16px;height:16px}.legacy-file-dialog{width:min(540px,calc(100vw - 24px));max-height:85dvh;overflow:auto;padding:22px;border:1px solid var(--sw-control-border);border-radius:20px;background:var(--sw-surface);color:var(--sw-ink);font:14px/1.5 system-ui,sans-serif}.legacy-file-dialog::backdrop{background:var(--sw-backdrop)}.legacy-file-dialog header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.legacy-file-dialog h2{margin:0;font-size:20px}.legacy-file-dialog button{border:1px solid var(--sw-control-border);padding:10px 14px;border-radius:10px;color:var(--sw-ink);background:var(--sw-surface-raised);cursor:pointer}.legacy-file-dialog .file-rail{min-height:100px;margin-bottom:18px}.soty-geometry-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}:where(.soty-hex,.sw-logo,.sw-avatar,.sw-emblem,.sw-empty-cell,.soty-start-mark,.sw-loading:before,.counterparty-mark span,.retro-brand-mark,.traffic-route-mark,.dialog-avatar,.bubble-meta span,.writer-pop span,.access-mark,.hex-core){--hex-width: 66px;--hex-border: 3px;box-sizing:border-box;position:relative;width:var(--hex-width);height:auto;min-height:0;aspect-ratio:var(--hex-aspect-ratio);padding:0;flex:none;align-self:center}.soty-hex.soty-hex-placed{position:absolute}.sw-logo,.sw-avatar,.sw-empty-cell,.sw-island-vacant,.sw-island-others,.soty-start-mark,.sw-loading:before{clip-path:var(--hex-clip, var(--hex-polygon))}.sw-emblem:before,.sw-emblem:after,.sw-avatar:before,.soty-hex-shell:before,.soty-hex-shell:after{clip-path:var(--hex-clip, var(--hex-polygon))}.sw-emblem:before,.soty-hex-shell:before{inset:0}.sw-emblem:after,.sw-avatar:before,.sw-avatar>img,.soty-hex-shell:after{position:absolute;inset:var(--hex-border) calc(var(--hex-border) * var(--hex-inset-factor))}.sw-avatar>img{width:calc(100% - var(--hex-border) * var(--hex-inset-factor) * 2);height:calc(100% - var(--hex-border) * 2);object-fit:cover;clip-path:var(--hex-clip, var(--hex-polygon))}.sw-avatar>span,.sw-island-others>span{display:grid;place-items:center;width:calc((100% - var(--hex-border) * var(--hex-inset-factor) * 2) * var(--hex-safe-width));height:calc((100% - var(--hex-border) * 2) * var(--hex-safe-height));min-width:0;line-height:1;font-size:min(28px,calc(var(--hex-width) * .28))}.sw-emblem>.sw-icon,.sw-island-vacant>.sw-icon,.sw-empty-cell>.sw-icon{width:43%;height:auto;aspect-ratio:1}.sw-emblem{--hex-width: 120px;--hex-border: 3px}.sw-island{position:absolute;inset:0;display:block;width:100%;height:100%}.sw-island-outline{position:absolute;inset:0;width:100%;height:100%}.sw-island-title{position:absolute;top:0;left:12px;right:12px}.sw-island .sw-unread{right:12px;top:5px}.sw-empty-art{position:relative;flex:none;margin:0 0 8px}.soty-hex-shell{display:grid;place-items:center;isolation:isolate;border:0;color:var(--sw-ink);background:transparent;cursor:pointer;touch-action:manipulation;clip-path:var(--hex-clip, var(--hex-polygon))}.soty-hex-shell:before,.soty-hex-shell:after{content:"";position:absolute;z-index:-1}.soty-hex-shell:before{background:var(--sw-cell-border, var(--sw-line))}.soty-hex-shell:after{background:var(--sw-cell-light, var(--sw-surface))}.soty-hex-shell:hover:after{background:var(--sw-surface-hover)}.soty-hex-shell:focus-visible,.hex.filled:focus-visible{outline:none}.soty-hex-shell:focus-visible:before,.hex.filled:focus-visible:before{background:var(--sw-focus, var(--cyan))}.soty-hex-shell:focus-visible:after,.hex.filled:focus-visible:after{inset:4px calc(4px * var(--hex-inset-factor))}.hex.filled{clip-path:var(--hex-clip, var(--hex-polygon))}.soty-hex-safe{position:absolute;left:50%;top:50%;width:calc((100% - var(--hex-border) * var(--hex-inset-factor) * 2) * var(--hex-safe-width));height:calc((100% - var(--hex-border) * 2) * var(--hex-safe-height));transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:0}.soty-hex-visual{display:grid;place-items:center;width:100%;min-height:0;flex:1 1 0}.soty-hex-visual>.sw-icon{width:28px;height:28px;max-width:100%;max-height:100%}.soty-hex-visual>.sw-avatar,.soty-hex-visual>.sw-emblem{--hex-width: 38px;--hex-border: 2px;width:auto;height:100%;max-height:calc(38px * var(--hex-height-factor))}.soty-hex-label,.soty-hex-status{display:block;max-width:100%;min-width:0;flex:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.2}.soty-hex-label{font-size:13px;font-weight:650}.soty-hex-status{color:var(--sw-muted);font-size:10px}.hex-safe{position:relative;z-index:2;width:calc((100% - 6px * var(--hex-inset-factor)) * var(--hex-safe-width));height:calc((100% - 6px) * var(--hex-safe-height));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;line-height:1.2}.hex-safe>.hex-core{flex:none}.hex-safe>b{flex:none}.hex-core>span{max-width:66%;overflow:hidden;line-height:1}:root{--sw-ease: cubic-bezier(.2, .7, .2, 1);--sw-motion-fast: .16s;--sw-motion-enter: .2s;--sw-bg: #f3f1ea;--sw-surface: #f7f6ef;--sw-ink: #202b23;--sw-muted: #4f5c50;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-soty-theme]){--sw-bg: #1c251f;--sw-surface: #27332a;--sw-ink: #f1f5eb;--sw-muted: #c5d1c1;color-scheme:dark}}.sw-theme-controls{display:grid;gap:22px}.sw-theme-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sw-theme-mode{min-height:52px;border:1px solid var(--sw-control-border);border-radius:12px;display:grid;place-items:center;background:var(--sw-surface);color:var(--sw-ink)}.sw-theme-mode:hover{background:var(--sw-surface-hover)}.sw-theme-mode[aria-pressed=true]{background:var(--sw-honey-light);border:2px solid var(--sw-focus)}.sw-theme-mode svg{width:24px;height:24px}.sw-theme-label{display:flex;justify-content:space-between;gap:20px;font-size:14px}.sw-theme-label output{color:var(--sw-muted);font-variant-numeric:tabular-nums}.sw-theme-brightness{display:grid;gap:5px}.sw-theme-brightness input{width:100%;margin:0;min-height:44px;accent-color:var(--sw-focus);cursor:pointer}.sw-theme-mode:focus-visible,.sw-theme-brightness input:focus-visible{outline:3px solid var(--sw-focus);outline-offset:4px}@media(forced-colors:active){.sw-theme-mode{border:1px solid ButtonText}.sw-theme-mode[aria-pressed=true]{border:3px solid Highlight}}:root .connect-panel{border-color:var(--sw-line);background:var(--sw-surface-raised);color:var(--sw-ink);color-scheme:var(--sw-color-scheme);font:14px/1.5 Inter,Segoe UI,system-ui,sans-serif;box-shadow:var(--sw-shadow-dialog);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sw-control-border) transparent}:root .connect-panel::backdrop{background:var(--sw-backdrop)}:root .connect-panel :is(h2,h3,h4,p){overflow-wrap:anywhere}:root .connect-panel :is(small,.connect-muted){color:var(--sw-muted)}:root .connect-panel nav,:root .connect-panel .connect-row{border-color:var(--sw-line)}:root .connect-panel button{min-height:44px;color:var(--sw-ink);border-color:var(--sw-line);border-radius:12px;background:var(--sw-surface);transition:background-color var(--sw-motion-fast) var(--sw-ease),border-color var(--sw-motion-fast) var(--sw-ease)}:root .connect-panel button:hover{background:var(--sw-surface-hover);color:var(--sw-ink);border-color:var(--sw-control-border)}:root .connect-panel button[aria-current=page]{background:var(--sw-honey-light);color:var(--sw-honey-ink);border-color:var(--sw-honey-ink)}:root .connect-panel button:disabled{cursor:default}:root .connect-panel input{min-height:44px;background:var(--sw-bg);color:var(--sw-ink);border-color:var(--sw-control-border);border-radius:12px}:root .connect-panel input::placeholder{color:var(--sw-muted);opacity:1}:root .connect-panel :focus-visible{outline-color:var(--sw-focus)}:root .connect-panel .connect-message{color:var(--sw-ink);background:var(--sw-surface-subtle);padding:10px 12px;border-radius:12px}:root .connect-panel [data-qr] img{background:#fff}:root .connect-update-notice{border-color:var(--sw-line);background:var(--sw-surface-raised);color:var(--sw-ink);font:14px/1.5 Inter,Segoe UI,system-ui,sans-serif;box-shadow:var(--sw-shadow)}:root .connect-update-notice button{min-height:44px;background:var(--sw-honey);color:var(--sw-on-accent);border-radius:10px}:root .connect-update-notice button:hover{background:var(--sw-primary-hover)}:root .connect-update-notice :focus-visible{outline:3px solid var(--sw-focus);outline-offset:3px}@media(max-width:1024px){body[data-soty-surface=world] .connect-update-notice{bottom:calc(80px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){:root .connect-panel button{transition:none}}:root:has([data-motion=off]) .connect-panel button{transition:none}@media(forced-colors:active){:root .connect-panel,:root .connect-update-notice{border-color:CanvasText;background:Canvas;color:CanvasText;box-shadow:none}:root .connect-panel button[aria-current=page]{border-color:Highlight}:root .connect-panel :focus-visible,:root .connect-update-notice :focus-visible{outline-color:Highlight}}
