@font-face{font-family:Fira Code App;src:url(../fonts/FiraCode-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Fira Code App;src:url(../fonts/FiraCode-SemiBold.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Fira Code App;src:url(../fonts/FiraCode-Bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{--bg: #0b1220;--bg-2: #0f172a;--panel: rgba(17, 25, 40, .82);--panel-solid: #111827;--border: rgba(148, 163, 184, .18);--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--accent-strong: #0ea5e9;--danger: #f87171;font-family:Fira Code App,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.transcript-panel{position:absolute;z-index:35;top:76px;right:16px;bottom:76px;width:min(430px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel-solid);box-shadow:0 16px 48px #0006;font-size:12px}.transcript-panel[hidden]{display:none}.transcript-panel__heading,.transcript-panel__actions,.transcript-entry__heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.transcript-panel__actions{flex-wrap:wrap}.transcript-panel h2{margin:0;font-size:16px}.transcript-panel p{margin:0;line-height:1.6}.transcript-panel__help,.transcript-panel__empty,.transcript-entry time{color:var(--muted)}.transcript-panel__draft{color:var(--muted);font-style:italic;overflow-wrap:anywhere}.transcript-panel__status{color:var(--accent)}.transcript-panel__status.is-error{color:var(--danger)}.transcript-panel__people{max-height:170px;overflow-y:auto;border-block:1px solid var(--border);padding:10px 0}.transcript-panel__people h3{margin:0 0 8px;font-size:12px}.transcript-panel__participants{margin:0;padding:0;list-style:none}.transcript-panel__person{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.transcript-panel__person-name{min-width:0;overflow-wrap:anywhere}.transcript-panel__mic{flex-shrink:0;color:var(--muted)}.transcript-panel__mic.is-connected{color:var(--accent)}.transcript-panel__log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.transcript-entry{padding:14px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.transcript-entry__heading{margin-bottom:6px}.transcript-entry strong{color:var(--accent)}.transcript-entry time{flex-shrink:0;font-size:10px}.btn.is-recording{color:var(--danger);border-color:var(--danger)}@media(max-width:520px){.transcript-panel{top:70px;bottom:70px;right:8px;width:calc(100vw - 16px);padding:14px}}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;width:100%}body{background:#05080f;color:var(--text);overflow:hidden}button{font:inherit;cursor:pointer}.login-shell{position:relative;display:grid;min-height:100%;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 0%,rgba(14,165,233,.2),transparent 42%),linear-gradient(145deg,#07101e,#05080f 62%)}.login-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:#38bdf814;filter:blur(80px);pointer-events:none}.login-card{position:relative;width:min(100%,410px);padding:42px;border:1px solid rgba(148,163,184,.2);border-radius:20px;background:#0f172ae0;box-shadow:0 28px 80px #00000073;backdrop-filter:blur(18px)}.login-mark{display:flex;align-items:end;gap:5px;width:42px;height:42px;margin-bottom:26px;padding:9px;border-radius:11px;background:linear-gradient(145deg,#38bdf8,#0284c7);box-shadow:0 10px 28px #0ea5e947}.login-mark span{width:6px;border-radius:2px;background:#06111d}.login-mark span:nth-child(1){height:12px}.login-mark span:nth-child(2){height:23px}.login-mark span:nth-child(3){height:17px}.login-eyebrow{margin:0 0 7px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-card h1{margin:0;color:#f8fafc;font-size:30px;letter-spacing:-.035em}.login-intro{margin:12px 0 30px;color:var(--muted);font-size:14px;line-height:1.55}.login-form{display:grid;gap:10px}.login-form label{margin-top:8px;color:#cbd5e1;font-size:13px;font-weight:600}.login-form input{width:100%;height:44px;padding:0 13px;border:1px solid rgba(148,163,184,.25);border-radius:9px;outline:none;background:#0206179e;color:#f8fafc;font:inherit;transition:border-color .15s,box-shadow .15s}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf821}.login-error{margin:7px 0 0;color:#fca5a5;font-size:13px}.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;height:46px;margin-top:16px;border:0;border-radius:9px;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#04121f;font-weight:750;transition:filter .15s,transform .08s}.login-submit:hover{filter:brightness(1.08)}.login-guest{display:block;width:100%;margin-top:20px}.guest-banner{position:absolute;top:76px;left:50%;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:16px;max-width:calc(100% - 32px);padding:10px 16px;border:1px solid #405266;border-radius:12px;background:#14202e;color:#e7eef7;font-size:13px;box-shadow:0 8px 24px #0004}.guest-signup-tooltip{position:absolute;top:138px;left:50%;transform:translate(-50%);z-index:50;width:min(340px,calc(100% - 32px));padding:18px;border:1px solid #52718d;border-radius:12px;background:#14202e;color:#e7eef7;box-shadow:0 12px 36px #0006;font-size:14px}.guest-signup-tooltip[hidden]{display:none}.guest-signup-tooltip p{margin:8px 0 14px;line-height:1.5}.guest-signup-tooltip .btn+.btn{margin-left:8px}.login-submit:active{transform:translateY(1px)}.login-submit:disabled{cursor:wait;opacity:.65}.login-github,.login-google{text-decoration:none;background:#f8fafc;color:#111827}.login-github svg,.login-google svg{width:20px;height:20px}.login-github.is-disabled,.login-google.is-disabled{cursor:not-allowed;opacity:.55;pointer-events:none}.login-legal{display:flex;justify-content:center;gap:9px;margin-top:24px;color:#53657d;font-size:11px}.login-legal a{color:#8ea0b8;text-decoration:none}.login-legal a:hover{color:#7dd3fc;text-decoration:underline}@media(max-width:520px){.login-card{padding:30px 24px}}.btn{background:var(--panel-solid);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,transform .05s}.btn:hover{border-color:#94a3b866;background:#161f33}.btn:active{transform:translateY(1px)}.btn--accent{background:var(--accent-strong);border-color:var(--accent-strong);color:#04121f;font-weight:600}.btn--accent:hover{background:var(--accent);border-color:var(--accent)}.btn--danger{color:var(--danger)}.btn[disabled]{opacity:.35;pointer-events:none}.btn--icon{padding:6px 11px;font-size:16px;line-height:1}.btn--icon svg{display:block}.topbar__group{display:flex;gap:4px}.topbar__dropdown{white-space:nowrap}.topbar__account{max-width:170px;overflow:hidden;text-overflow:ellipsis}.profile-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:2px solid rgba(148,163,184,.25);background:#172235;color:var(--text);font-size:18px;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.account-trigger{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;max-width:220px}.account-trigger__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel{position:fixed;inset:auto;margin:0;width:min(350px,calc(100vw - 24px));padding:18px;border:1px solid rgba(148,163,184,.25);border-radius:20px;background:#111827;color:var(--text);box-shadow:0 20px 45px #00000073}.account-panel__identity{display:flex;align-items:center;gap:14px;padding:6px 8px 22px}.account-panel__identity .profile-avatar{width:54px;height:54px;font-size:24px}.account-panel__name{display:grid;gap:6px;min-width:0}.account-panel__name strong,.account-panel__name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel__name strong{font-size:17px}.account-panel__name>span{color:var(--muted);font-size:12px}.account-panel__links{border-top:1px solid var(--border);padding-top:10px}.account-panel__action{display:flex;align-items:center;gap:14px;width:100%;padding:14px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;font-size:15px}.account-panel__action:hover{background:#94a3b81f}.account-panel__action svg{width:22px;height:22px;color:var(--muted)}.account-trigger:focus-visible,.account-panel__action:focus-visible,.profile-page :is(button,input,a):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.profile-page{height:100%;overflow-y:auto;padding:44px 24px 64px;background:radial-gradient(ellipse at top right,rgba(14,165,233,.1),transparent 60%),var(--bg)}.profile-page__content{max-width:680px;margin:0 auto}.profile-page h1{margin:28px 0 12px;font-size:32px}.profile-page h1:focus{outline:none}.profile-page__card{margin-top:28px;padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--panel-solid)}.profile-page fieldset{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:0;border:0;min-width:0}.profile-page fieldset:disabled{opacity:.6}.profile-page h2{margin:0;font-size:17px}.profile-page__preview .profile-avatar{width:112px;height:112px;font-size:44px}.profile-page__label{display:block;font-size:13px;margin-top:14px}.profile-page input{max-width:100%}.profile-page input[type=file]{font:inherit;font-size:12px}.profile-page input[type=file]::file-selector-button{border:1px solid var(--border);border-radius:8px;padding:10px;margin-right:10px;background:var(--bg-2);color:var(--text);cursor:pointer}.profile-page__help,.profile-page__status{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.profile-page__status{margin-top:20px;color:var(--accent)}.profile-page__deletion{display:flex;flex-direction:column;align-items:flex-start;gap:16px}@media(max-width:700px){.account-trigger__name{display:none}.profile-page{padding:24px 16px 40px}.profile-page__card{padding:20px}}.topbar-popover{position:fixed;inset:auto;margin:0;width:212px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--panel-solid);box-shadow:0 16px 36px #0006;z-index:50}.topbar-popover .btn{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 5px;text-align:left;border:1px solid var(--border);background:transparent}.topbar-popover .btn:last-child{margin-bottom:0}.topbar-popover .btn:hover{background:#26354e}.topbar-popover .btn--accent{background:var(--accent-strong);border-color:var(--accent-strong);color:#04121f}.topbar-popover .btn--accent:hover{background:var(--accent);border-color:var(--accent)}.topbar-popover .btn[hidden]{display:none}.editor{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 6%,#16263f,#0e1a2e 38%,#0a121f 72%,#05080f)}.editor__canvas{position:absolute;inset:0;touch-action:none;user-select:none;background:transparent}.editor__canvas canvas{display:block}.tabletop-vignette{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at 50% 24%,rgba(56,189,248,.12),transparent 44%),radial-gradient(circle at 50% 58%,rgba(14,165,233,.06),transparent 50%),radial-gradient(ellipse at 50% 52%,transparent 54%,rgba(0,0,0,.66) 100%)}.topbar{position:absolute;top:12px;left:12px;right:12px;height:44px;display:flex;align-items:center;gap:10px;z-index:20}.topbar__menu{flex-shrink:0;transition:opacity .15s ease,visibility .15s ease}.editor-navigation,.editor-history{display:flex;gap:4px;padding:6px;background:var(--panel);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:14px}.editor-navigation{flex-shrink:0}.topbar__logo img{display:block;object-fit:contain}.topbar__slide{flex:1;min-width:0;display:flex;align-items:center;gap:10px;transition:transform .22s ease}.topbar__spacer{flex:1}.topbar__name{background:transparent;border:1px solid transparent;color:var(--text);font-size:14px;font-weight:600;padding:6px 10px;border-radius:8px;width:320px;flex-shrink:0}.topbar__name:hover{border-color:var(--border)}.topbar__name:focus{outline:none;border-color:var(--accent);background:var(--bg-2)}.banner{position:absolute;top:64px;left:50%;transform:translate(-50%);background:#0ea5e929;border:1px solid rgba(56,189,248,.4);color:#bae6fd;padding:7px 14px;border-radius:999px;font-size:12.5px;z-index:10}.banner--error{background:#ef444429;border-color:#f8717180;color:#fecaca}.collab-people{display:flex;flex-direction:row-reverse;min-width:0}.collab-person{width:28px;height:28px;margin-left:-7px;display:grid;place-items:center;border:2px solid var(--bg);border-radius:50%;background:var(--person-color, var(--accent));color:#04121f;font-size:11px;font-weight:700}.collab-person.is-local{box-shadow:0 0 0 1px var(--accent)}.collab-person img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.collab-status{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 9px;border:1px solid rgba(56,189,248,.24);border-radius:999px;background:#0ea5e91a;color:#bae6fd;font-size:11.5px;font-weight:600;line-height:1;white-space:nowrap}.collab-status:before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.collab-status[data-status=synced]{border-color:#34d39940;background:#10b9811a;color:#a7f3d0}.collab-status[data-status=offline],.collab-status[data-status=disconnected],.collab-status[data-status=denied]{border-color:#f871714d;background:#ef44441c;color:#fecaca}.collab-cursors{position:absolute;inset:0;z-index:16;pointer-events:none;overflow:hidden}.collab-cursor{position:absolute;transform:translate(-4px,-4px);color:var(--person-color, var(--accent))}.collab-selection{position:absolute;min-width:8px;min-height:8px;border:2px solid var(--person-color, var(--accent));border-radius:6px;background:color-mix(in srgb,var(--person-color, var(--accent)) 8%,transparent)}.collab-cursor__dot{display:block;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:currentColor;box-shadow:0 2px 8px #00000073}.collab-cursor__name{display:block;width:max-content;max-width:160px;margin:3px 0 0 7px;padding:2px 6px;border-radius:5px;background:var(--person-color, var(--accent));color:#04121f;font-size:11px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor--read-only .topbar__name{opacity:.82}.editor-tool-rail{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:10}.editor-history{flex-direction:column;align-items:center}.toolbar{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--panel);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:14px;z-index:10;transition:transform .22s ease}.toolbar__sep{height:1px;background:var(--border);margin:2px 4px}.tool{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted)}.tool svg{display:block}.tool__kbd{position:absolute;right:3px;bottom:1px;font-size:9px;font-weight:700;line-height:1;color:var(--muted);opacity:.7;pointer-events:none}.tool:hover .tool__kbd,.tool.is-active .tool__kbd{opacity:1}.tool.is-active .tool__kbd{color:var(--accent)}.tool:hover{background:#161f33;color:var(--text)}.tool.is-active{background:#38bdf829;border-color:#38bdf880;color:var(--accent)}.recenter-btn{position:absolute;top:64px;left:50%;display:flex;align-items:center;gap:7px;padding:8px 16px;background:var(--accent-strong);border:1px solid var(--accent-strong);color:#04121f;font-size:13px;font-weight:600;border-radius:999px;box-shadow:0 8px 24px #020c1880;z-index:15;opacity:0;pointer-events:none;transform:translate(-50%) translateY(-8px);transition:opacity .18s ease,transform .18s ease,background .12s,border-color .12s}.recenter-btn.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.recenter-btn:hover{background:var(--accent);border-color:var(--accent)}.recenter-btn:active{transform:translate(-50%) translateY(1px)}.recenter-btn svg{display:block}.onboarding-paths{position:absolute;z-index:11;top:68px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 140px);padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel);backdrop-filter:blur(16px);text-align:center;font-size:12px}.onboarding-paths[hidden],.onboarding-paths__body[hidden]{display:none}.onboarding-paths__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px}.onboarding-paths.is-collapsed .onboarding-paths__header{margin-bottom:0}.onboarding-paths__move,.onboarding-paths__toggle{border:0;background:transparent;color:var(--text);font:inherit;padding:4px}.onboarding-paths__move{cursor:grab;touch-action:none;user-select:none;text-align:left;flex:1}.onboarding-paths__move:active{cursor:grabbing}.onboarding-paths__toggle{cursor:pointer;color:var(--accent)}.onboarding-paths__move:focus-visible,.onboarding-paths__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.onboarding-paths p{margin:0 0 10px}.onboarding-paths__toggles{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.onboarding-paths__button{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--muted);font:inherit;cursor:pointer}.onboarding-paths__button:hover{color:var(--text);border-color:var(--accent)}.onboarding-paths__button[aria-pressed=true]{background:#12344a;color:var(--accent);border-color:var(--accent)}.onboarding-paths__button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.onboarding-paths .onboarding-paths__hint{max-width:500px;margin:10px auto 0;color:var(--muted);font-size:11px;line-height:1.6}.zoombar,.layerbar{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:6px;background:var(--panel);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:10px;z-index:10;transition:transform .22s ease}.layerbar{left:auto;right:12px;max-width:calc(100% - 24px);overflow-x:auto}.layerbar[hidden]{display:none}.layerbar__panel{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap}.layerbar__button{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap}.layerbar__dot{width:12px;height:12px;flex:0 0 auto;border-radius:50%}.layerbar__button.is-hidden{color:var(--muted)}.layerbar__button.is-hidden .layerbar__dot{opacity:.45}.layerbar__button[aria-pressed=true]{background:#12344a;color:var(--accent);border-color:var(--accent)}.zoombar__label{min-width:48px;text-align:center;font-size:12.5px;color:var(--muted)}.editor-panels{display:flex;align-items:center;gap:6px;padding:6px;background:var(--panel);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:10px}.editor-panels .btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.editor-panels .btn[hidden]{display:none}.editor-panels .btn[aria-expanded=true],.layerbar__panel[aria-expanded=true],.zoombar .btn[aria-expanded=true]{background:#12344a;color:var(--accent);border-color:var(--accent)}.zoombar__sep{width:1px;align-self:stretch;margin:2px;background:var(--border)}.tutorials-dialog{position:fixed;inset:64px 12px 12px auto;margin:0;width:min(var(--tutorial-width, 520px),calc(100vw - 24px));height:auto;z-index:12;max-width:none;max-height:none;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--bg);color:var(--text);box-shadow:0 24px 80px #00000073}.tutorials-dialog[open]{display:flex;flex-direction:column}.tutorials-dialog.tutorials-dialog--detached{inset:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}.tutorials-dialog--detached .tutorials-dialog__resize{display:none}.tutorials-dialog__resize{position:absolute;inset:0 auto 0 0;width:8px;cursor:ew-resize;touch-action:none;z-index:1}.tutorials-dialog__resize:hover,.tutorials-dialog__resize:focus-visible{background:var(--accent);outline:none}.tutorials-dialog--resizing:after{content:"";position:absolute;inset:0;cursor:ew-resize;z-index:1}.tutorials-dialog--resizing .tutorials-dialog__resize{z-index:2}.tutorials-dialog__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;flex-shrink:0;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--panel-solid)}.tutorials-dialog__heading h2{margin:0;font-size:16px}.tutorials-dialog__actions{display:flex;flex-wrap:wrap;gap:8px}.tutorials-dialog__list{min-height:0;overflow:auto;padding:24px}.tutorials-dialog__intro{max-width:680px;margin-bottom:32px}.tutorials-dialog__eyebrow{color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.tutorials-dialog__intro h3{margin:12px 0;font-size:clamp(22px,3vw,30px);line-height:1.3}.tutorials-dialog__intro p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}.tutorials-dialog__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;padding:0;margin:0;list-style:none}.tutorials-dialog__grid li{min-width:0;max-width:540px}.tutorials-dialog__card{display:flex;flex-direction:column;gap:16px;width:100%;height:100%;padding:24px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,rgba(56,189,248,.07),transparent 65%),var(--panel-solid);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.tutorials-dialog__card:hover{border-color:var(--accent);background-color:var(--bg-2)}.tutorials-dialog__card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.tutorials-dialog__card-title{font-size:22px;font-weight:600}.tutorials-dialog__description{color:var(--muted);font-size:13px;line-height:1.7}.tutorials-dialog__topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tutorials-dialog__topics>span{padding:5px 8px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:11px}.tutorials-dialog__card-link{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border);color:var(--accent);font-size:13px;font-weight:600}.tutorials-dialog__tip{max-width:680px;margin:24px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.tutorials-dialog [hidden]{display:none}.tutorials-dialog__frame{flex:1;min-height:0;width:100%;border:0;background:var(--bg)}.tutorials-dialog__status{padding:16px 24px;color:var(--muted)}@media(max-width:760px){.tutorials-dialog__heading{padding:12px 16px}}.tutorials-dialog.tutorials-dialog--minimized{position:fixed;inset:auto 16px 16px auto;margin:0;width:auto;max-width:calc(100vw - 32px);height:auto;z-index:60}.tutorials-dialog--minimized .tutorials-dialog__heading{padding:10px 14px;border-bottom:0}.tutorials-dialog--minimized .tutorials-dialog__list,.tutorials-dialog--minimized .tutorials-dialog__frame,.tutorials-dialog--minimized .tutorials-dialog__status,.tutorials-dialog--minimized .tutorials-dialog__resize,.tutorials-dialog--minimized .tutorials-dialog__actions>:first-child{display:none}.controls-help{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:24px;background:#02061794;backdrop-filter:blur(3px)}.controls-help.is-open{display:flex}.controls-help__card{width:min(440px,100%);max-height:100%;overflow-y:auto;padding:18px 20px 20px;background:var(--panel-solid, #0d1626);border:1px solid var(--border);border-radius:16px;box-shadow:0 30px 80px #02061799}.controls-help__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.controls-help__head h2{margin:0;font-size:16px;letter-spacing:-.02em}.controls-help__close{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.controls-help__close:hover{color:var(--text);border-color:#94a3b866}.controls-help__rows{display:flex;flex-direction:column;gap:2px}.controls-help__row{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;align-items:baseline;padding:7px 4px;border-bottom:1px solid rgba(148,163,184,.08)}.controls-help__action{font-size:13px;font-weight:600;color:var(--text)}.controls-help__how{font-size:12px;color:var(--muted);line-height:1.45}.controls-help__toggle{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#38bdf80f;cursor:pointer}.controls-help__check{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.controls-help__toggle span{display:block;font-size:13px}.controls-help__toggle-sub{margin-top:2px;font-size:11.5px;color:var(--muted)}.confirm-dialog{position:fixed;inset:0;z-index:1100;display:none;align-items:center;justify-content:center;padding:24px;background:#02061794;backdrop-filter:blur(3px)}.confirm-dialog.is-open{display:flex}.confirm-dialog__card{width:min(380px,100%);padding:20px 22px 18px;background:var(--panel-solid, #0d1626);border:1px solid var(--border);border-radius:16px;box-shadow:0 30px 80px #02061799}.confirm-dialog__title{margin:0 0 8px;font-size:16px;letter-spacing:-.02em}.confirm-dialog__message{margin:0 0 18px;font-size:13px;line-height:1.5;color:var(--muted)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.confirm-dialog__btn{padding:8px 14px;font-size:13px;font-weight:600;border-radius:9px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.confirm-dialog__btn--ghost{color:var(--muted)}.confirm-dialog__btn--ghost:hover{color:var(--text);border-color:#94a3b866}.confirm-dialog__btn--danger{background:var(--danger);border-color:var(--danger);color:#1a0a0a}.confirm-dialog__btn--danger:hover{filter:brightness(1.08)}.confirm-dialog__btn--primary{background:var(--accent);border-color:var(--accent);color:#04212e}.confirm-dialog__btn--primary:hover{filter:brightness(1.08)}.confirm-dialog__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.style-panel{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:8px 14px;background:var(--panel);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;z-index:10;transition:transform .22s ease}.style-panel[hidden]{display:none}.field{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}.swatch-wrap{position:relative;display:inline-flex}.swatch{width:30px;height:26px;padding:0;border:1px solid var(--border);border-radius:7px;cursor:pointer}.swatch.is-open{border-color:var(--accent);box-shadow:0 0 0 2px #38bdf840}.swatch--none{background-color:var(--panel-solid);background-image:linear-gradient(to top right,transparent calc(50% - 1.2px),var(--danger) calc(50% - 1.2px),var(--danger) calc(50% + 1.2px),transparent calc(50% + 1.2px))}.size-picker{display:inline-flex;gap:3px}.size-btn{min-width:30px;height:26px;padding:0 7px;font-size:11.5px;font-weight:600;color:var(--muted);background:var(--panel-solid);border:1px solid var(--border);border-radius:7px;cursor:pointer}.size-btn:hover{color:var(--text);border-color:var(--accent)}.size-btn.is-active{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 2px #38bdf840}.swatch-pop{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--panel-solid);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000073;z-index:20}.swatch-pop__group{display:grid;gap:5px}.swatch-pop__label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.swatch-pop__chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.swatch-pop--portal{position:fixed;bottom:auto;transform:none;z-index:1000}.swatch-pop__chip{width:26px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.swatch-pop__chip:hover{transform:scale(1.12)}.swatch-pop__chip.is-active{box-shadow:0 0 0 2px var(--panel-solid),0 0 0 4px var(--accent)}.text-editor{position:absolute;z-index:50;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Fira Code App,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;padding:4px 6px;border-radius:8px;border:2px solid var(--accent);box-shadow:0 8px 24px #0006;caret-color:var(--accent);line-height:1.25;white-space:pre-wrap;word-break:break-word;overflow:hidden;outline:none}.text-editor--markdown{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:min(720px,calc(100% - 24px));height:min(480px,calc(100% - 24px));min-width:min(360px,calc(100% - 24px));min-height:min(320px,calc(100% - 24px))!important;max-width:calc(100% - 24px);max-height:calc(100% - 24px);padding:0!important;color:var(--text);background:#20252d!important;border:1px solid rgba(148,163,184,.28)!important;border-radius:10px!important;box-shadow:0 18px 48px #0000008c!important;text-align:left!important;overflow:hidden!important;resize:both}.text-editor__bar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px 0 16px;background:#272c35;border-bottom:1px solid rgba(148,163,184,.22);cursor:grab;touch-action:none}.text-editor--markdown.is-dragging .text-editor__bar{cursor:grabbing}.text-editor__label{flex:0 0 auto;color:#e5e7eb;font-size:14px;font-weight:650}.text-editor__tool{appearance:none;color:#9ca3af;background:transparent;border:0;font:inherit;cursor:pointer}.text-editor__tools{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex:1}.text-editor__tool{flex:0 0 44px;width:44px;min-width:44px;height:36px;border-radius:6px;font-size:17px;font-weight:650}.text-editor__tool--italic{font-style:italic}.text-editor__entity-tools{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px 8px}.text-editor__entity-tools[hidden]{display:none}.text-editor__cardinality-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#9ca3af;font-size:13px}.text-editor__cardinality[hidden]{display:none}.text-editor__cardinality-button{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 10px;border:1px solid rgba(148,163,184,.3);border-radius:7px;background:#171c24;color:#e5e7eb;font:inherit;cursor:pointer}.text-editor__cardinality-button:hover:not(:disabled),.text-editor__cardinality-button[aria-expanded=true]{border-color:var(--accent);background:#252f3b}.text-editor__cardinality-button:disabled{opacity:.4;cursor:default}.text-editor__cardinality-button:focus-visible,.text-editor__cardinality-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.text-editor__cardinality-value{min-width:40px;padding:3px 5px;border-radius:4px;background:#94a3b81a;color:#cbd5e1;font:600 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}.text-editor__cardinality-value[hidden]{display:none}.text-editor__cardinality-chevron{margin-left:auto;color:#94a3b8}.text-editor__cardinality-picker{position:absolute;z-index:6;width:248px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);overflow:auto;padding:6px;border:1px solid rgba(148,163,184,.3);border-radius:10px;background:#20252d;box-shadow:0 12px 32px #00000073;font-size:13px}.text-editor__cardinality-heading{padding:6px 8px 10px;color:#94a3b8;font-size:11px;font-weight:600}.text-editor__cardinality-option{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:#e5e7eb;font:inherit;text-align:left;cursor:pointer}.text-editor__cardinality-option:hover,.text-editor__cardinality-option:focus-visible{background:#94a3b81f}.text-editor__cardinality-option[aria-selected=true]{background:#38bdf81f}.text-editor__cardinality-option[aria-selected=true] .text-editor__cardinality-value{background:#38bdf829;color:#7dd3fc}.text-editor__cardinality-check{margin-left:auto;color:#7dd3fc}.text-editor__tool--attribute{flex:0 0 auto;width:auto;padding:0 10px;font-size:13px}.text-editor__type-row{display:flex;flex:0 0 auto;align-items:center;gap:10px;padding:8px 16px;color:#e5e7eb;font-size:14px;border-bottom:1px solid rgba(148,163,184,.22)}.text-editor__type{min-width:100px}.text-editor__api-row{flex-wrap:wrap}.text-editor__api-row label{display:flex;align-items:center;gap:8px}.text-editor__entity{width:180px!important;max-width:100%}.text-editor__relation-picker{position:absolute;z-index:5;min-width:160px;max-width:calc(100% - 16px);max-height:180px;overflow:auto;padding:6px;border:1px solid rgba(148,163,184,.4);border-radius:8px;background:#20252d;color:#d1d5db;box-shadow:0 8px 24px #00000059;font-size:13px}.text-editor__relation-option{display:block;width:100%;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:inherit;text-align:left;cursor:pointer}.text-editor__relation-option:hover,.text-editor__relation-option:focus-visible{background:#38bdf82e}.text-editor__api{width:150px!important}.text-editor__tool--generate{flex:0 0 auto;width:auto;padding:0 12px;color:#e5e7eb;border:1px solid rgba(148,163,184,.4);font-size:14px}.text-editor__tool--checkbox{position:relative}.text-editor__tool--checkbox:before{content:"";display:block;width:18px;height:18px;margin:auto;border:2px solid #929c99;border-radius:4px}.text-editor__tool--checked:before{border-color:#3f9654;background:#3f965429}.text-editor__tool--checked:after{content:"";position:absolute;left:18px;top:11px;width:6px;height:10px;border:solid #3f9654;border-width:0 2px 2px 0;transform:rotate(45deg)}.text-editor__tool--done{flex-basis:auto;width:auto;min-width:88px;height:40px;padding:0 16px;color:var(--text);background:#38bdf82e;border:1px solid var(--accent);font-size:14px}.text-editor__tool:disabled{opacity:.4;cursor:default}.text-editor__tool:hover{color:#e5e7eb;background:#94a3b81a}.text-editor__tool.is-active,.text-editor__font-size.is-active{color:#fff;background:#e2e8f033;box-shadow:inset 0 0 0 1px #e2e8f038}.text-editor__tool:focus-visible,.text-editor__font-size:focus-visible,.text-editor__editable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.text-editor__body{display:flex;flex:1 1 auto;min-height:0;padding:12px}.text-editor__font-size{flex:0 0 76px;width:76px;height:34px;padding:0 8px;color:#d1d5db;background:#20252d;border:1px solid rgba(148,163,184,.3);border-radius:6px;font:600 13px/1 Fira Code App,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color-scheme:dark}.text-editor__font-size option{color:#d1d5db;background:#20252d}.text-editor__font-size--custom{text-align:center;outline:none}.text-editor__editable{flex:1 1 auto;box-sizing:border-box;width:100%;height:100%;min-height:0;max-height:none;padding:14px;overflow:auto;color:#e5e7eb;background:#20252d;border:1px solid rgba(148,163,184,.3);border-radius:8px;resize:none;font:500 16px/1.55 Fira Code App,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;outline:none;white-space:pre-wrap;word-break:break-word}.text-editor__editable::placeholder{color:#8b949e}.text-editor__editable:focus{border-color:#38bdf8b3}.text-editor--code-composer .text-editor__body{position:relative;display:block}.text-editor--code-composer .text-editor__editable,.text-editor__highlighted{position:absolute;inset:12px;box-sizing:border-box;width:calc(100% - 24px);height:calc(100% - 24px);margin:0;padding:14px;border:1px solid rgba(148,163,184,.3);border-radius:8px;font:500 15px/1.55 Fira Code App,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre;word-break:normal;tab-size:2;overflow:auto;scrollbar-gutter:stable}.text-editor__highlighted{background:#0d1117;color:#e6edf3;pointer-events:none}.text-editor__highlighted::-webkit-scrollbar{visibility:hidden}.text-editor--code-composer .text-editor__editable{color:transparent;background:transparent;caret-color:#58a6ff}.text-editor--code-composer .text-editor__editable::selection{background:#38bdf84d}@media(max-width:680px){.text-editor--markdown{min-width:0;resize:vertical}.text-editor__bar{align-items:flex-start;flex-direction:column;gap:0;padding:10px 8px 6px}.text-editor__label{padding:0 6px 6px}.text-editor__tools{justify-content:flex-start;width:100%;overflow-x:auto}}.icon-palette{position:absolute;z-index:60;top:50%;left:76px;transform:translateY(-50%);width:300px;background:var(--panel-solid);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 50px #0000008c;overflow:hidden}.icon-palette__input{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:15px;padding:12px 14px;outline:none}.icon-palette__list{max-height:360px;overflow-y:auto}.icon-row{display:flex;align-items:center;gap:10px;padding:7px 12px;font-size:13px;cursor:pointer}.icon-row__preview{flex:0 0 auto;border-radius:6px;background:#ffffff0a}.icon-row__key{flex:1;font-weight:600;text-transform:capitalize}.icon-row__kw{color:var(--muted);font-size:11.5px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.icon-row.is-active{background:#38bdf829}.icon-row--empty{color:var(--muted);justify-content:center;cursor:default}.icon-palette__hint{padding:8px 14px;font-size:11px;color:var(--muted);border-top:1px solid var(--border)}.ai-panel-backdrop{position:absolute;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0206176b;backdrop-filter:blur(2px)}.ai-panel{width:min(560px,100%);background:var(--panel-solid);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 70px #0009;overflow:hidden}.ai-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 14px;border-bottom:1px solid var(--border)}.ai-panel__header h2{margin:0;font-size:16px}.ai-panel__header p{margin:5px 0 0;color:var(--muted);font-size:12.5px;line-height:1.4}.ai-panel__close{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--muted)}.ai-panel__close:hover{color:var(--text);border-color:#94a3b866;background:#161f33}.ai-panel__form{display:grid;gap:13px;padding:16px 18px 18px}.ai-panel__modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px}.ai-panel__mode{min-height:31px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600}.ai-panel__mode:hover:not(:disabled){color:var(--text);background:#161f33}.ai-panel__mode.is-active{color:var(--accent);border-color:#38bdf873;background:#38bdf824}.ai-panel__mode:disabled{opacity:.4;cursor:default}.ai-panel__field{display:grid;gap:7px;color:var(--muted);font-size:12.5px}.ai-panel__input,.ai-panel__textarea{width:100%;border:1px solid var(--border);border-radius:9px;background:var(--bg-2);color:var(--text);font:inherit;font-size:13px;outline:none}.ai-panel__input{padding:9px 11px}.ai-panel__textarea{min-height:118px;padding:10px 11px;line-height:1.45;resize:vertical}.ai-panel__input:focus,.ai-panel__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #38bdf833}.ai-panel__input:disabled,.ai-panel__textarea:disabled{opacity:.65}.ai-panel__error{display:none;color:#fecaca;background:#f871711f;border:1px solid rgba(248,113,113,.28);border-radius:9px;padding:8px 10px;font-size:12.5px;line-height:1.4}.ai-panel__error.is-visible{display:block}.ai-panel__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.ai-panel__hint{color:var(--muted);font-size:11px}.ctx-menu{position:absolute;z-index:70;min-width:184px;padding:5px;background:var(--panel-solid);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 50px #0000008c}.ctx-menu__section{padding:7px 10px 4px;color:var(--muted);font-size:11px;font-weight:600}.ctx-menu__section:not(:first-child){margin-top:5px;border-top:1px solid var(--border)}.ctx-menu__item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:13px;text-align:left}.ctx-menu__item:hover:not(:disabled){background:#38bdf829}.ctx-menu__item:disabled{color:var(--muted);cursor:default}.ctx-menu__hint{color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}.board-drawer__expand{position:absolute;z-index:1052;top:50%;left:var(--drawer-w);transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 7px;border:1px solid var(--accent);border-left:0;border-radius:0 12px 12px 0;background:var(--panel-solid);color:var(--accent);box-shadow:5px 0 20px #00000040;font-size:10px}.board-drawer__expand[hidden]{display:none}.board-drawer__expand>span:first-child{font-size:28px;line-height:1}.board-drawer__expand:hover{background:var(--bg-2);color:var(--text)}.board-drawer__expand:focus-visible,.boards-dashboard a:focus-visible,.boards-dashboard button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.boards-dashboard{height:100%;overflow-y:auto;padding:44px 32px 64px;background:radial-gradient(ellipse at top right,rgba(14,165,233,.1),transparent 50%),var(--bg)}.boards-dashboard__content{max-width:1200px;margin:0 auto}.boards-dashboard__header{display:flex;align-items:center;justify-content:space-between;gap:24px}.boards-dashboard__actions{display:flex;flex-wrap:wrap;gap:8px}.boards-dashboard__back{color:var(--accent);font-size:12px;text-decoration:none}.boards-dashboard h1{margin:24px 0 12px;font-size:clamp(24px,4vw,36px);letter-spacing:-.04em}.boards-dashboard h1:focus{outline:none}.boards-dashboard h2{margin:0 0 8px;font-size:19px}.boards-dashboard__description{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 20px}.boards-dashboard__section{margin-top:44px}.boards-dashboard__section-actions{margin-bottom:16px}.boards-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px}.boards-dashboard__card,.boards-dashboard__placeholder{border:1px solid var(--border);border-radius:14px;background:var(--panel-solid);overflow:hidden}.boards-dashboard__card{color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.boards-dashboard__card:hover{border-color:var(--accent);transform:translateY(-2px)}.boards-dashboard__preview,.boards-dashboard__thumbnail{display:block;width:100%;height:140px;background:var(--bg-2);object-fit:contain}.boards-dashboard__preview{display:grid;place-items:center;color:var(--accent);font-size:48px;background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:18px 18px}.boards-dashboard__card-body,.boards-dashboard__placeholder{padding:22px}.boards-dashboard h3{margin:0 0 12px;font-size:14px;overflow-wrap:anywhere}.boards-dashboard__card p,.boards-dashboard__placeholder p{color:var(--muted);font-size:11px;line-height:1.8;margin:0}.boards-dashboard__open{display:block;margin-top:20px;color:var(--accent);font-size:11px}.boards-dashboard__placeholder{border-style:dashed}.boards-dashboard__badge{display:inline-block;margin-bottom:20px;padding:4px 8px;border-radius:5px;background:#38bdf817;color:var(--accent);font-size:10px}.boards-dashboard__empty{grid-column:1 / -1;margin:0;padding:28px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:12px;line-height:1.8}@media(max-width:700px){.board-drawer__expand{left:min(86vw,320px);padding-inline:4px;font-size:9px}.boards-dashboard{padding:24px 18px 44px}.boards-dashboard__header{align-items:flex-start;flex-direction:column;gap:8px}}.board-drawer__backdrop{position:absolute;inset:0;z-index:1050;background:#02061773;opacity:0;pointer-events:none;transition:opacity .22s ease}.board-drawer__backdrop.is-visible{opacity:1;pointer-events:auto}.board-drawer{position:absolute;top:0;left:0;bottom:0;z-index:1051;display:flex;flex-direction:column;gap:12px;padding:16px 14px 20px;background:#0b1220f5;border-right:1px solid var(--border);backdrop-filter:blur(16px);transform:translate(-100%);transition:transform .22s ease;overflow:hidden}.board-drawer.is-open{transform:translate(0)}.board-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.board-drawer__header h2{margin:0;font-size:16px;letter-spacing:-.02em}.board-drawer__close{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);font-size:20px;line-height:1}.board-drawer__close:hover{color:var(--text);border-color:#94a3b866}.board-drawer__new{width:100%}.board-drawer__shared-actions{display:grid;gap:8px}.board-drawer__shared-actions .btn{width:100%}.board-drawer__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.board-drawer__empty{margin:24px 0 0;text-align:center;color:var(--muted);font-size:13px}.board-drawer__item{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel-solid);color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.board-drawer__item:hover{border-color:#38bdf873;background:#161f33}.board-drawer__item[aria-current=true]{border-color:#38bdf8a6;background:#38bdf81a}.board-drawer__thumb{width:52px;height:34px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#0b1220}.board-drawer__thumb--empty{display:grid;place-items:center;font-size:18px;color:#94a3b873}.board-drawer__meta{min-width:0;flex:1}.board-drawer__name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-drawer__sub{margin-top:2px;font-size:11px;color:var(--muted)}.board-drawer__delete{position:absolute;top:6px;right:6px;width:26px;height:26px;border:none;border-radius:6px;background:#020617a6;color:#fca5a5;font-size:12px;opacity:0;transition:opacity .1s}.board-drawer__item:hover .board-drawer__delete,.board-drawer__item:focus-within .board-drawer__delete{opacity:1}.board-drawer__delete:hover{background:#020617e6}.boundary-field{gap:5px}.swatch-pop__custom{width:100%;height:28px;padding:2px;border:1px solid var(--border);border-radius:5px;background:#0b1220;cursor:pointer}.text-input-dialog{width:min(420px,calc(100vw - 32px));padding:0;border:1px solid var(--border);border-radius:14px;background:var(--panel-solid);color:var(--text);box-shadow:0 22px 60px #00000073}.text-input-dialog::backdrop{background:#02061799;backdrop-filter:blur(2px)}.text-input-dialog__form{display:flex;flex-direction:column;gap:10px;padding:20px}.text-input-dialog__title{margin:0 0 4px;font-size:18px;letter-spacing:-.02em}.text-input-dialog__label{color:var(--muted);font-size:13px;font-weight:600}.text-input-dialog__input{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:#0b1220;color:var(--text);font:inherit;outline:none}.text-input-dialog__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf826}.text-input-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.text-input-dialog__textarea{resize:vertical;min-height:78px}.live-room-dialog__code{text-align:center;font-size:24px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.live-room-dialog__hint{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.live-room-dialog__status{margin:0;min-height:20px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.live-room-dialog__actions{flex-wrap:wrap}.template-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-color-input{width:42px;height:30px;padding:2px;border:1px solid var(--border);border-radius:7px;background:#0b1220;cursor:pointer}.template-color-recent-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.template-color-recent{display:flex;gap:6px;min-height:22px}.template-color-recent__chip{width:22px;height:22px;padding:0;border:2px solid rgba(255,255,255,.25);border-radius:50%;cursor:pointer}.template-color-recent__chip:hover{transform:scale(1.12);border-color:#fff}.template-drawer__color-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;vertical-align:1px}.template-drawer__backdrop{position:absolute;inset:0;z-index:27;background:#02061773;opacity:0;pointer-events:none;transition:opacity .22s ease}.template-drawer__backdrop.is-visible{opacity:1;pointer-events:auto}.template-drawer{position:absolute;top:0;left:0;bottom:0;z-index:28;width:300px;display:flex;flex-direction:column;gap:12px;padding:16px 14px 20px;background:#0b1220fa;border-right:1px solid var(--border);backdrop-filter:blur(16px);transform:translate(-100%);transition:transform .22s ease}.template-drawer.is-open{transform:translate(0)}.template-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.template-drawer__header h2{margin:0;font-size:16px;letter-spacing:-.02em}.template-drawer__save{width:100%}.template-drawer__hint{margin:-3px 2px 0;color:var(--muted);font-size:12px;line-height:1.45}.template-drawer__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.template-drawer__icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;color:var(--accent);background:#38bdf81f;font-size:19px;flex-shrink:0}.layers-panel{position:absolute;top:64px;right:12px;bottom:12px;width:244px;z-index:12;display:flex;flex-direction:column;gap:10px;padding:12px 12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:14px;backdrop-filter:blur(16px);box-shadow:0 18px 50px #02061780;transform:translate(0);opacity:1;transition:transform .22s ease,opacity .22s ease}.layers-panel.is-collapsed{transform:translate(calc(100% + 16px));opacity:0;pointer-events:none}.layers-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.layers-panel__header h2{margin:0;font-size:15px;letter-spacing:-.02em}.layers-panel__header-actions{display:flex;align-items:center;gap:6px}.layers-panel__collapse{align-self:flex-end;flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted)}.layers-panel__collapse:hover{color:var(--text);border-color:#94a3b866}.layers-panel__add{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--accent)}.layers-panel__add:hover{background:#38bdf829;border-color:#38bdf866}.layers-panel__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.layers-panel__item{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--panel-solid);color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.layers-panel__top{display:flex;align-items:center;gap:6px}.layers-panel__bottom{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.layers-panel__item:hover{border-color:#38bdf866;background:#141f33}.layers-panel__item[aria-current=true]{border-color:var(--accent);background:#38bdf81a;box-shadow:0 0 0 1px #38bdf880,0 0 22px #38bdf838 inset}.layers-panel__item.is-hidden{background:#02061766}.layers-panel__item.is-hidden .layers-panel__name,.layers-panel__item.is-hidden .layers-panel__sub{opacity:.5}.layers-panel__eye{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--accent)}.layers-panel__eye:hover{background:#38bdf829;border-color:#38bdf866}.layers-panel__item.is-hidden .layers-panel__eye{color:var(--muted)}.layers-panel__solo{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);transition:color .12s,background .12s,border-color .12s}.layers-panel__solo:hover:not(:disabled){color:var(--text);background:#38bdf829;border-color:#38bdf866}.layers-panel__solo[aria-pressed=true]{color:var(--accent);background:#38bdf829;border-color:#38bdf880}.layers-panel__solo:disabled{opacity:.3;pointer-events:none}.layers-panel__color{flex:0 0 auto}.layers-panel__color .swatch{width:18px;height:18px;border-radius:50%;box-shadow:0 0 7px #38bdf840}.layers-panel__item.is-hidden .layers-panel__color{opacity:.5}.layers-panel__name{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layers-panel__sub{flex:1 0 100%;min-width:0;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layers-panel__actions{display:flex;margin-left:auto;gap:2px;flex:0 0 auto;opacity:0;transition:opacity .1s}.layers-panel__item:hover .layers-panel__actions,.layers-panel__item:focus-within .layers-panel__actions,.layers-panel__item[aria-current=true] .layers-panel__actions{opacity:1}.layers-panel__action{width:26px;height:26px;border:none;border-radius:6px;background:#0206178c;color:var(--muted);font-size:12px;line-height:1}.layers-panel__action:hover:not(:disabled){color:var(--text);background:#38bdf82e}.layers-panel__action:disabled{opacity:.3;pointer-events:none}.layers-panel__action--danger:hover:not(:disabled){color:#fca5a5;background:#f8717129}.layers-panel__spread{display:flex;flex-direction:column;gap:7px;padding:10px 2px 2px;border-top:1px solid var(--border)}.layers-panel__spread>span{font-size:11.5px;color:var(--muted)}.layers-panel__spread-range{width:100%;accent-color:var(--accent);cursor:pointer}.layers-panel__spread.is-disabled{opacity:.4}.layers-panel__spread.is-disabled .layers-panel__spread-range{cursor:default}.settings-panel{position:absolute;top:64px;left:12px;bottom:12px;width:260px;z-index:13;display:flex;flex-direction:column;gap:10px;padding:12px 12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:14px;backdrop-filter:blur(16px);box-shadow:0 18px 50px #02061780;transform:translate(0);opacity:1;transition:transform .22s ease,opacity .22s ease}.settings-panel.is-collapsed{transform:translate(calc(-100% - 16px));opacity:0;pointer-events:none}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.settings-panel__header h2{margin:0;font-size:15px;letter-spacing:-.02em}.settings-panel__header-actions{display:flex;align-items:center;gap:6px}.settings-panel__collapse{align-self:flex-end;flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted)}.settings-panel__collapse:hover{color:var(--text);border-color:#94a3b866}.settings-panel__section{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.settings-panel__toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#38bdf80f;cursor:pointer}.settings-panel__check{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.settings-panel__toggle span{display:block;font-size:13px}.settings-panel__toggle-sub{margin-top:2px;font-size:11.5px;color:var(--muted)}.settings-panel__slider{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#38bdf80f}.settings-panel__slider>strong{font-size:13px}.settings-panel__slider-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-panel__slider-value{font-size:12px;font-variant-numeric:tabular-nums;color:var(--accent)}.settings-panel__range{margin-top:6px;width:100%;accent-color:var(--accent);cursor:pointer}.dualrange{position:relative;height:26px;margin-top:8px}.dualrange__track{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:var(--border);border-radius:2px}.dualrange__fill{position:absolute;top:50%;height:4px;transform:translateY(-50%);background:var(--accent);border-radius:2px}.dualrange__input{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}.dualrange__input::-webkit-slider-runnable-track{background:none;border:none}.dualrange__input::-moz-range-track{background:none;border:none}.dualrange__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #0b1220;box-shadow:0 1px 4px #02061799;cursor:pointer}.dualrange__input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #0b1220;box-shadow:0 1px 4px #02061799;cursor:pointer}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);background:var(--panel-solid);border:1px solid var(--border);color:var(--text);padding:10px 16px;border-radius:10px;font-size:13px;box-shadow:0 12px 30px #00000080;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:100}.toast.is-visible{opacity:1;transform:translate(-50%)}@media(max-width:700px),(max-height:560px){.board-drawer__expand{left:min(86vw,320px)}.btn{min-height:40px;padding:7px 10px}.btn--icon{min-width:40px;padding:8px 10px}.topbar{top:max(8px,env(safe-area-inset-top));left:8px;right:8px;height:42px;gap:6px}.topbar__slide{gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.topbar__slide::-webkit-scrollbar{display:none}.topbar__slide>*{flex:0 0 auto}.topbar__group{gap:3px}.editor-panels{gap:4px;padding:5px}.editor-panels .btn span,.topbar__spacer{display:none}.topbar__name{width:280px;padding:7px 8px}.topbar__slide a[href*=github]{display:none}.banner,.recenter-btn{top:calc(max(8px,env(safe-area-inset-top)) + 98px);max-width:calc(100vw - 24px);white-space:normal;text-align:center}.editor-tool-rail{display:contents}.editor-history{position:absolute;left:8px;bottom:calc(134px + env(safe-area-inset-bottom));flex-direction:row;z-index:10}.editor-navigation{padding:3px;gap:3px}.toolbar{position:absolute;left:50%;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px);flex-direction:row;gap:4px;padding:6px;overflow-x:auto;overscroll-behavior-x:contain;border-radius:16px;transform:translate(-50%);scrollbar-width:none;-webkit-overflow-scrolling:touch}.toolbar::-webkit-scrollbar{display:none}.toolbar__sep{width:1px;height:auto;margin:4px 2px}.tool{flex:0 0 auto;width:40px;height:40px}.tool__kbd{display:none}.zoombar{left:8px;right:auto;top:calc(max(8px,env(safe-area-inset-top)) + 50px);bottom:auto;width:auto;max-width:max-content;padding:5px}.zoombar__label,.zoombar__sep,.zoombar .btn[title="Zoom out"],.zoombar .btn[title="Zoom in"]{display:none}.layerbar{right:8px;bottom:calc(134px + env(safe-area-inset-bottom));max-width:calc(100% - 128px);padding:5px}.style-panel{left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom));transform:none;justify-content:center;gap:8px;padding:7px 8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.style-panel::-webkit-scrollbar{display:none}.field{flex:0 0 auto}.size-btn{min-width:28px;height:28px;padding:0 6px}.icon-palette{left:10px;right:10px;top:auto;bottom:calc(66px + env(safe-area-inset-bottom));width:auto;max-height:min(58vh,380px);transform:none}.icon-palette__list{max-height:min(42vh,280px)}.ai-panel-backdrop,.controls-help,.confirm-dialog{align-items:flex-end;padding:max(10px,env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}.ai-panel,.controls-help__card,.confirm-dialog__card{width:100%;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;border-radius:16px}.ai-panel__header,.ai-panel__form{padding-left:14px;padding-right:14px}.ai-panel__footer{align-items:stretch;flex-direction:column}.ai-panel__hint{order:2;text-align:center}.ai-panel__footer .btn{width:100%}.controls-help__row{grid-template-columns:1fr;gap:3px}.confirm-dialog__actions{flex-direction:column-reverse}.confirm-dialog__btn{width:100%;min-height:40px}.board-drawer{width:min(86vw,320px)!important;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.layers-panel{top:auto;left:10px;right:10px;bottom:calc(116px + env(safe-area-inset-bottom));width:auto;max-height:min(44vh,320px);padding:10px;z-index:30;transform:translateY(0)}.layers-panel.is-collapsed{transform:translateY(calc(100% + 90px))}.settings-panel{top:auto;left:10px;right:10px;bottom:calc(116px + env(safe-area-inset-bottom));width:auto;max-height:min(44vh,320px);padding:10px;z-index:31;transform:translateY(0)}.settings-panel.is-collapsed{transform:translateY(calc(100% + 90px))}.layers-panel__item{padding:8px}.layers-panel__actions{opacity:1}.toast{left:10px;right:10px;bottom:calc(116px + env(safe-area-inset-bottom));transform:translateY(12px);text-align:center}.toast.is-visible{transform:translateY(0)}}@media(max-width:390px){.topbar__group{display:none}.style-panel{bottom:calc(62px + env(safe-area-inset-bottom))}}.login-capacity{color:var(--text-secondary, #aab2c5);font-size:13px;margin:0 0 22px}.login-capacity span{display:block;margin-top:6px;color:#f5b873}.login-device-notice{display:grid;gap:6px;margin:0 0 4px;padding:16px;border:1px solid rgba(251,191,36,.28);border-radius:10px;background:#78350f33;color:#fde68a;font-size:13px;line-height:1.5}.login-device-notice strong{color:#fef3c7;font-size:14px}.zoombar [aria-label="Board view"]{display:flex;gap:2px}.zoombar [aria-label="Board view"] button[aria-pressed=true]{background:#164e63;color:#cffafe;border-color:#38bdf8}.text-editor__api-picker{position:absolute;inset:110px 12px 12px;z-index:3;background:#20252d;border:1px solid rgba(148,163,184,.3);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.25);color:#e2e8f0;font-size:13px}.text-editor__api-methods{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px}.text-editor__api-methods label{flex-shrink:0;display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.text-editor__api-methods input{flex-shrink:0}.text-editor__api-methods label[hidden]{display:none}.text-editor__api-search{flex:0 0 auto;width:100%}.text-editor__api-actions{display:flex;flex-wrap:wrap;gap:8px}.text-editor__api-actions .text-editor__tool{flex:0 0 auto;width:auto;padding:0 10px;font-size:13px;border:1px solid rgba(148,163,184,.3)}.image-upload{width:min(560px,calc(100vw - 32px))}.image-upload__drop{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 20px;border:2px dashed #38bdf8;border-radius:12px;background:#38bdf80a}.image-upload__preview{max-width:100%;max-height:34vh;object-fit:contain;margin:auto}.image-upload [role=status]{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
