:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f3f4f6;--surface-3:#e9ebef;--surface-hover:#f0f1f4;--border:#e4e6eb;--border-strong:#d1d5dc;--text:#16181d;--text-2:#4a5060;--text-3:#868c99;--accent:#5b5bd6;--accent-hover:#4b4bc5;--accent-soft:#eeeefd;--accent-text:#4545c0;--on-accent:#fff;--danger:#d93f45;--danger-soft:#fdeded;--success:#248a5a;--success-soft:#e5f5ed;--warning:#c26a07;--warning-soft:#fdf1df;--info:#0b6bcb;--info-soft:#e6f0fb;--feature-design:#c93a92;--feature-code:#0a7fdc;--feature-docs:#248a5a;--feature-notes:#8e4ec6;--canvas-bg:#f3f4f7;--grid-dot:#c5cad3;--code-active-line:#f5f6fa;--overlay:#0f11166b;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 14px #10182814, 0 1px 3px #1018280f;--shadow-lg:0 18px 44px #10182829, 0 4px 12px #10182814;--radius-sm:6px;--radius:10px;--radius-lg:14px;--topbar-h:52px;--rail-w:64px;--panel-w:260px;--drawer-w:340px;--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--mono:"JetBrains Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1014;--surface:#16181d;--surface-2:#1c1f25;--surface-3:#252932;--surface-hover:#20242b;--border:#2a2e37;--border-strong:#3a3f4a;--text:#eceef2;--text-2:#aab0bc;--text-3:#717886;--accent:#7c7cf2;--accent-hover:#8f8ff6;--accent-soft:#24244a;--accent-text:#a5a5ff;--on-accent:#fff;--danger:#f1676b;--danger-soft:#3a1d20;--success:#4cc38a;--success-soft:#16301f;--warning:#f5a524;--warning-soft:#37290f;--info:#5aa9f2;--info-soft:#132a40;--feature-design:#ec6cbc;--feature-code:#4aa8f5;--feature-docs:#4cc38a;--feature-notes:#b28af0;--canvas-bg:#121419;--grid-dot:#343945;--code-active-line:#1d2027;--overlay:#0009;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 18px 44px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1014;--surface:#16181d;--surface-2:#1c1f25;--surface-3:#252932;--surface-hover:#20242b;--border:#2a2e37;--border-strong:#3a3f4a;--text:#eceef2;--text-2:#aab0bc;--text-3:#717886;--accent:#7c7cf2;--accent-hover:#8f8ff6;--accent-soft:#24244a;--accent-text:#a5a5ff;--on-accent:#fff;--danger:#f1676b;--danger-soft:#3a1d20;--success:#4cc38a;--success-soft:#16301f;--warning:#f5a524;--warning-soft:#37290f;--info:#5aa9f2;--info-soft:#132a40;--feature-design:#ec6cbc;--feature-code:#4aa8f5;--feature-docs:#4cc38a;--feature-notes:#b28af0;--canvas-bg:#121419;--grid-dot:#343945;--code-active-line:#1d2027;--overlay:#0009;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 18px 44px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere;font-size:14px;line-height:1.5}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.02em;font-size:24px;font-weight:700}h2{letter-spacing:-.01em;font-size:17px;font-weight:650}h3{font-size:15px;font-weight:650}h4{font-size:13px;font-weight:650}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.muted{color:var(--text-3)}.small{font-size:12px}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.w-full{width:100%}.pad{padding:32px}.pad-sm{padding:8px 10px}.center{justify-content:center}.center-fill{flex:1;justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.center-fill.full{height:100vh}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link{color:var(--accent-text);align-items:center;gap:3px;font-weight:550;display:inline-flex}.link:hover{text-decoration:underline}.link-quiet:hover{color:var(--accent-text);text-decoration:underline}.live-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 60%, transparent);vertical-align:middle;border-radius:50%;animation:2s infinite pulse;display:inline-block}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0, 1fr);height:100dvh;display:grid;overflow:hidden}.shell-body{min-height:0;display:flex;position:relative}.shell-panel{width:var(--panel-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;min-height:0;display:flex}.shell-main{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.shell-drawer{width:var(--drawer-w);background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex:none;min-height:0;display:flex}.shell-nav{flex:none;min-height:0;display:flex}.shell-panel{position:relative}.panel-resizer{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0;right:-3px}.panel-resizer:hover,body.is-resizing .panel-resizer{background:color-mix(in srgb, var(--accent) 40%, transparent)}body.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;grid-template-columns:1fr minmax(180px,320px) 1fr;align-items:center;column-gap:20px;min-width:0;padding:0 12px 0 14px;display:grid;position:relative}.topbar-left{align-items:center;gap:6px;min-width:120px;margin-inline:-3px;padding-inline:3px;display:flex;overflow-x:clip;container:topbar-left/inline-size}.topbar-left.has-crumbs{min-width:384px}.topbar-right{justify-content:flex-end;align-items:center;gap:6px;min-width:max-content;display:flex}.brand{letter-spacing:-.02em;flex:none;align-items:center;gap:8px;padding-right:4px;font-size:15px;font-weight:750;display:flex}.brand-mark{display:flex}.crumb-sep{color:var(--text-3);flex:none;font-size:16px}.crumb-template{border-radius:var(--radius-sm);flex:0 auto;align-items:center;gap:6px;min-width:0;max-width:260px;padding:5px 8px;font-weight:600;display:flex}.crumb-template:hover{background:var(--surface-hover)}.crumb-template>:not(.crumb-name){flex:none}.crumb-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.crumb-where{flex:none;align-items:center;gap:6px;display:flex}.crumb-where.is-long{flex:0 1000 auto;min-width:88px}.crumb-view{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@container topbar-left (width<=500px){.crumb-where{display:none}}@container topbar-left (width<=420px){.has-crumbs .brand-name{display:none}}.search-trigger{border:1px solid var(--border);background:var(--surface-2);height:34px;color:var(--text-3);border-radius:9px;align-items:center;gap:8px;width:100%;min-width:0;padding:0 8px 0 12px;transition:border-color .15s,background .15s;display:flex}.search-trigger:hover{border-color:var(--border-strong);background:var(--surface)}.search-trigger>svg,.search-trigger .kbd{flex:none}.search-trigger span{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.brand-name{display:inline}.profile-trigger{border-radius:50%;display:flex}.badge-anchor{display:inline-flex;position:relative}.badge-count{background:var(--danger);color:#fff;pointer-events:none;border:2px solid var(--surface);box-sizing:content-box;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:1px;right:0}.conn-dot{color:var(--success);padding:6px;display:inline-flex}.conn-dot.is-offline,.conn-dot.is-connecting{color:var(--warning)}.rail{width:var(--rail-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;align-items:center;gap:6px;padding:10px 0;display:flex;overflow:hidden auto}.rail-group{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.rail-modules{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.rail-bottom{margin-top:auto}.rail-template{place-items:center;width:40px;height:36px;margin-bottom:4px;font-size:20px;display:grid}.rail-item{width:52px;color:var(--text-2);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:7px 0 5px;transition:background .15s,color .15s;display:flex;position:relative}.rail-item:hover{background:var(--surface-hover);color:var(--text)}.rail-item.is-active{background:var(--accent-soft);color:var(--accent-text)}.rail-item.is-active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-6px}.rail-feature.rail-design.is-active{color:var(--feature-design);background:color-mix(in srgb, var(--feature-design) 12%, transparent)}.rail-feature.rail-code.is-active{color:var(--feature-code);background:color-mix(in srgb, var(--feature-code) 12%, transparent)}.rail-feature.rail-docs.is-active{color:var(--feature-docs);background:color-mix(in srgb, var(--feature-docs) 12%, transparent)}.rail-feature.is-active:before{background:currentColor}.rail-label{white-space:nowrap;font-size:10.5px;font-weight:550;line-height:1.2}.rail-viewers{display:flex;position:absolute;top:4px;right:6px}.rail-viewers span{border:1.5px solid var(--surface);box-sizing:content-box;border-radius:50%;width:8px;height:8px;margin-left:-3px}.page-scroll{flex:1;min-height:0;overflow:hidden auto}.page{flex-direction:column;gap:20px;max-width:920px;margin:0 auto;padding:28px 28px 64px;display:flex;position:relative}.page-wide{max-width:1240px}@media (width<=720px){.page{padding:20px 16px 48px}}.page-header{flex-direction:column;gap:6px;display:flex}.page-header h1{align-items:center;gap:10px;display:flex}.cursor-host{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.cursor-layer{pointer-events:none;z-index:15;position:absolute;inset:0;overflow:hidden}.follow-frame{border:3px solid var(--user-color);pointer-events:none;z-index:40;border-radius:2px;position:absolute;inset:0}.follow-banner{z-index:41;background:var(--user-color);color:#fff;box-shadow:var(--shadow-md);border-radius:0 0 10px 10px;align-items:center;gap:8px;padding:5px 6px 6px 12px;font-size:12.5px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.follow-banner button{color:#fff;background:#fff3;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.follow-banner button:hover{background:#ffffff52}.follow-banner .kbd{color:#fff;background:#fff3;border-color:#0000}.btn{white-space:nowrap;border:1px solid #0000;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-sm{border-radius:7px;gap:5px;height:28px;padding:0 10px;font-size:12.5px}.btn-lg{border-radius:10px;height:42px;padding:0 20px;font-size:15px}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px #0000001a}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-subtle{background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.5}.icon-btn{width:32px;height:32px;color:var(--text-2);border-radius:8px;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn-sm{border-radius:6px;width:26px;height:26px}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn.is-active{background:var(--accent-soft);color:var(--accent-text)}.icon-btn:disabled{opacity:.4}.icon-btn-placeholder{width:26px}.icon-strike{opacity:.6}.spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;animation:.7s linear infinite spin;display:inline-block}.kbd{border:1px solid var(--border);background:var(--surface);min-width:20px;height:20px;color:var(--text-2);font-family:var(--font);white-space:nowrap;border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;gap:2px;padding:0 5px;font-size:11px;font-weight:600;display:inline-flex}.input{border:1px solid var(--border);background:var(--surface);border-radius:8px;outline:none;width:100%;height:36px;padding:0 11px;transition:border-color .15s,box-shadow .15s}textarea.input{resize:vertical;height:auto;padding:8px 11px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.input:disabled{opacity:.6}.input-xs{height:28px;padding:0 7px;font-size:12.5px}.select-sm{width:auto;height:30px;padding:0 8px;font-size:13px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--text-2);font-size:12.5px;font-weight:650}.field-hint{color:var(--text-3);font-size:12px}.field-error{color:var(--danger);font-size:12px}.form-stack{flex-direction:column;gap:14px;display:flex}.check{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.search-input{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text-3);border-radius:8px;align-items:center;gap:8px;min-width:180px;padding:0 10px;display:flex}.search-input:focus-within{border-color:var(--accent)}.search-input input{color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0}.select-wrap{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text-3);border-radius:8px;align-items:center;gap:6px;padding:0 4px 0 10px;display:flex}.select-wrap select{color:var(--text);background:0 0;border:0;outline:none;height:100%;padding-right:4px}.chip-toggle{border:1px solid var(--border);height:30px;color:var(--text-2);background:var(--surface);border-radius:999px;align-items:center;gap:5px;padding:0 11px;font-size:12.5px;font-weight:550;display:inline-flex}.chip-toggle.is-on{background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--text-2);border-radius:6px;padding:5px 12px;font-size:13px;font-weight:550}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.inline-edit{text-overflow:ellipsis;white-space:nowrap;border-radius:4px;min-width:0;overflow:hidden}.inline-edit.is-editable{cursor:text}.inline-edit-input{border:1px solid var(--accent);background:var(--surface);width:100%;min-width:0;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);border-radius:5px;outline:none;margin:-2px -6px;padding:1px 5px}.avatar{background:color-mix(in srgb, var(--user-color,var(--accent)) 22%, var(--surface));box-shadow:inset 0 0 0 2px var(--user-color,var(--accent));vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid;position:relative}.avatar-btn{cursor:pointer}.avatar-online:after,.avatar-idle:after{content:"";background:var(--success);border:2px solid var(--surface);border-radius:50%;width:30%;min-width:8px;height:30%;min-height:8px;position:absolute;bottom:-1px;right:-1px}.avatar-idle:after{background:var(--warning)}.avatar-idle>span{opacity:.55}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack>.avatar+.avatar{margin-left:-7px}.avatar-stack>.avatar{outline:2px solid var(--surface)}.avatar-more{background:var(--surface-3);box-shadow:none;color:var(--text-2);width:28px;height:28px;font-weight:700;font-size:11px!important}.feature-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.feature-pill.feature-design{color:var(--feature-design);background:color-mix(in srgb, var(--feature-design) 12%, transparent)}.feature-pill.feature-code{color:var(--feature-code);background:color-mix(in srgb, var(--feature-code) 12%, transparent)}.feature-pill.feature-docs{color:var(--feature-docs);background:color-mix(in srgb, var(--feature-docs) 12%, transparent)}.role-chip{background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:6px;flex:none;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:650;display:inline-flex}.role-owner{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning)}.role-editor{background:var(--accent-soft);color:var(--accent-text)}.count-chip{background:var(--surface-3);color:var(--text-2);vertical-align:1px;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;display:inline-block}.lang-dot{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001f}.lang-dot.lg{width:12px;height:12px}.alert{border-radius:8px;padding:10px 12px;font-size:13px}.alert-danger{background:var(--danger-soft);color:var(--danger)}.dot-danger{background:var(--danger);border-radius:50%;width:7px;height:7px;display:inline-block}.tooltip{z-index:1000;color:#f3f4f6;white-space:pre-line;pointer-events:none;max-width:280px;box-shadow:var(--shadow-md);background:#1d2027;border-radius:6px;padding:5px 9px;font-size:12px;line-height:1.45;animation:.12s ease-out tip-in;position:fixed}.tooltip-bottom{transform:translate(-50%)}.tooltip-top{transform:translate(-50%,-100%)}.tooltip-right{transform:translateY(-50%)}.tooltip-left{transform:translate(-100%,-50%)}@keyframes tip-in{0%{opacity:0}}.menu{z-index:900;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;max-height:min(460px,70vh);padding:5px;animation:.12s ease-out menu-in;position:fixed;overflow-y:auto}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.menu-header{color:var(--text-3);padding:6px 8px 8px;font-size:11.5px;font-weight:650}.menu-item{text-align:left;border-radius:6px;align-items:center;gap:9px;width:100%;padding:7px 8px;font-size:13.5px;display:flex}.menu-item:hover:not(:disabled){background:var(--surface-hover)}.menu-item:disabled{opacity:.45}.menu-item.is-danger{color:var(--danger)}.menu-item.is-checked{background:var(--accent-soft);color:var(--accent-text)}.menu-icon{width:18px;color:var(--text-2);flex:none;place-items:center;display:grid}.menu-item.is-danger .menu-icon{color:inherit}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu-hint{color:var(--text-3);font-size:12px;display:flex}.menu-heading{color:var(--text-3);letter-spacing:.02em;padding:6px 9px 3px;font-size:11px;font-weight:700}.menu-divider{background:var(--border);height:1px;margin:5px 4px}.menu-profile{color:var(--text);align-items:center;gap:10px;font-size:13.5px;font-weight:400;display:flex}.menu-profile>div{flex-direction:column;min-width:0;display:flex}.menu-profile .muted{font-size:12px}.modal-backdrop{z-index:800;background:var(--overlay);justify-content:center;align-items:flex-start;padding:8vh 16px 16px;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--border);flex-direction:column;max-height:86vh;animation:.18s cubic-bezier(.2,.9,.3,1.2) modal-in;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modal-header{align-items:flex-start;gap:12px;padding:18px 18px 6px 20px;display:flex}.modal-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-text);border-radius:9px;flex:none;place-items:center;display:grid}.modal-titles{flex:1;min-width:0;padding-top:5px}.modal-titles h2{font-size:17px}.modal-titles p{color:var(--text-3);margin-top:3px;font-size:13px}.modal-body{padding:14px 20px 18px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.footer-note{color:var(--text-3);margin-right:auto;font-size:12.5px}.confirm-message{color:var(--text-2);white-space:pre-line;margin-bottom:12px}.toast-viewport{top:calc(var(--topbar-h) + 46px + 10px);z-index:950;pointer-events:none;flex-direction:column;gap:8px;width:min(360px,100vw - 28px);display:flex;position:fixed;right:14px}.toast{--toast-color:var(--info);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--toast-color);box-shadow:var(--shadow-lg);pointer-events:auto;transition:opacity var(--toast-fade) ease, transform var(--toast-fade) ease, max-height var(--toast-fade) ease, margin var(--toast-fade) ease, padding var(--toast-fade) ease;border-radius:12px;align-items:flex-start;gap:11px;max-height:160px;padding:11px 34px 12px 12px;animation:.28s cubic-bezier(.2,.9,.3,1.15) toast-in;display:flex;position:relative;overflow:hidden}.toast-success{--toast-color:var(--success)}.toast-warning{--toast-color:var(--warning)}.toast-danger{--toast-color:var(--danger)}.toast.is-leaving{opacity:0;pointer-events:none;max-height:0;margin-top:-8px;padding-top:0;padding-bottom:0;transform:translate(12px)scale(.98)}@keyframes toast-in{0%{opacity:0;transform:translate(24px)scale(.96)}}.toast-lead{flex:none}.toast-icon{width:30px;height:30px;color:var(--toast-color);background:color-mix(in srgb, var(--toast-color) 14%, transparent);border-radius:50%;place-items:center;display:grid}.toast-body{flex:1;min-width:0}.toast-title{align-items:center;gap:5px;font-size:13.5px;font-weight:650;display:flex}.toast-kind-icon{color:var(--toast-color)}.toast-message{color:var(--text-2);margin-top:1px;font-size:13px}.toast-close{width:22px;height:22px;color:var(--text-3);border-radius:6px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.toast-close:hover{background:var(--surface-hover);color:var(--text)}.toast-progress{background:var(--toast-color);opacity:.45;transform-origin:0;width:100%;height:2px;animation:toast-progress var(--toast-duration) linear forwards;position:absolute;bottom:0;left:0}.toast-progress.is-paused{animation-play-state:paused}@keyframes toast-progress{to{transform:scaleX(0)}}.remote-cursor{pointer-events:none;will-change:transform;z-index:16;transition:transform .12s linear;position:absolute;top:0;left:0}.remote-cursor.is-idle{opacity:.45}.remote-cursor-arrow{filter:drop-shadow(0 1px 1.5px #0000004d);display:block}.remote-cursor-tag{flex-direction:column;align-items:flex-start;gap:3px;display:flex;position:absolute;top:16px;left:14px}.remote-cursor-name{background:var(--user-color);color:#fff;white-space:nowrap;border-radius:6px 6px 6px 2px;padding:2px 7px;font-size:11.5px;font-weight:650;box-shadow:0 1px 3px #0003}.remote-cursor-idle{opacity:.85;font-weight:500}.remote-cursor-action{background:var(--surface);color:var(--text);border:1.5px solid var(--user-color);white-space:nowrap;box-shadow:var(--shadow-md);border-radius:8px;padding:3px 8px;font-size:11.5px;font-weight:600;animation:3.5s forwards bubble-life}.remote-cursor-action.static{animation:none}@keyframes bubble-life{0%{opacity:0;transform:translateY(-4px)scale(.9)}8%{opacity:1;transform:none}80%{opacity:1}to{opacity:0;transform:translateY(3px)}}.save-indicator{height:28px;color:var(--success);background:var(--success-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:550;display:inline-flex}.save-indicator.is-busy{color:var(--text-2);background:var(--surface-2)}.save-indicator.is-warn{color:var(--warning);background:var(--warning-soft)}@media (width<=1100px){.save-text{display:none}.save-indicator{padding:0 7px}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:440px;margin:auto;padding:56px 24px;display:flex}.empty-state h3{font-size:16px}.empty-state p{color:var(--text-3)}.empty-icon{background:var(--surface-2);width:64px;height:64px;color:var(--text-3);border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.profile-form{flex-direction:column;gap:16px;display:flex}.profile-preview{background:var(--surface-2);border-radius:12px;align-items:center;gap:18px;min-height:92px;padding:14px 16px;display:flex;position:relative}.profile-preview-cursor{flex-direction:column;align-items:flex-start;gap:3px;display:flex;position:relative}.profile-preview-cursor svg{position:absolute;top:-14px;left:-14px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:2px solid var(--surface);width:28px;height:28px;box-shadow:0 0 0 1px var(--border);border-radius:50%;transition:transform .12s}.swatch:hover{transform:scale(1.1)}.swatch.is-selected{box-shadow:0 0 0 2px var(--text)}.avatar-picker{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.avatar-choice,.emoji-choice{aspect-ratio:1;background:var(--surface-2);border:1.5px solid #0000;border-radius:9px;place-items:center;font-size:20px;transition:transform .1s;display:grid}.avatar-choice:hover,.emoji-choice:hover:not(:disabled){transform:scale(1.06)}.avatar-choice.is-selected,.emoji-choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}.palette-backdrop{padding-top:12vh}.palette{background:var(--surface);border:1px solid var(--border);width:min(620px,100%);box-shadow:var(--shadow-lg);border-radius:14px;animation:.16s ease-out modal-in;overflow:hidden}.palette-input{border-bottom:1px solid var(--border);height:52px;color:var(--text-3);align-items:center;gap:10px;padding:0 14px;display:flex}.palette-input input{color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:15px}.palette-list{max-height:52vh;padding:6px;overflow-y:auto}.palette-group{color:var(--text-3);padding:8px 10px 4px;font-size:11.5px;font-weight:650}.palette-item{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.palette-item.is-selected{background:var(--accent-soft)}.palette-icon{width:22px;color:var(--text-2);place-items:center;display:grid}.palette-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.palette-hint{color:var(--text-3);font-size:12px}.palette-arrow{color:var(--text-3);opacity:0}.palette-item.is-selected .palette-arrow{opacity:1}.palette-empty{text-align:center;color:var(--text-3);padding:28px}.palette-footer{border-top:1px solid var(--border);color:var(--text-3);background:var(--surface-2);gap:14px;padding:8px 14px;font-size:12px;display:flex}.palette-footer span{align-items:center;gap:4px;display:flex}.drawer-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;height:48px;padding:0 8px 0 14px;display:flex}.drawer-header h3{flex:1}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.chat-list{flex-direction:column;flex:1;padding:10px 12px;display:flex;overflow-y:auto}.chat-day{text-align:center;color:var(--text-3);margin:12px 0 8px;font-size:11.5px}.chat-msg{gap:9px;margin-top:10px;display:flex}.chat-msg.is-grouped{margin-top:2px;padding-left:37px}.chat-content{flex:1;min-width:0}.chat-meta{align-items:baseline;gap:6px;font-size:12.5px;display:flex}.chat-meta b{color:var(--text)!important}.chat-meta span{color:var(--text-3);font-size:11px}.chat-text{white-space:pre-wrap;color:var(--text);word-break:break-word;font-size:13.5px}.chat-msg.is-mine .chat-text{color:var(--text)}.chat-input{border-top:1px solid var(--border);align-items:flex-end;gap:6px;padding:10px;display:flex}.chat-input textarea{resize:none;border:1px solid var(--border);background:var(--surface-2);field-sizing:content;border-radius:10px;outline:none;flex:1;min-height:38px;max-height:120px;padding:9px 11px}.chat-input textarea:focus{border-color:var(--accent);background:var(--surface)}.share{flex-direction:column;gap:10px;display:flex}.share-link{color:var(--text-3);align-items:center;gap:8px;display:flex}.share-members{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:8px;padding-top:14px;display:flex}.share-member{align-items:center;gap:10px;display:flex}.share-member span:nth-child(2){flex:1}.shortcuts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.shortcuts h4{color:var(--text-2);margin-bottom:6px}.shortcut-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;padding:5px 0;font-size:13px;display:flex}.onboarding{background:var(--bg);grid-template-columns:minmax(0,1.1fr) minmax(360px,480px);min-height:100vh;display:grid}.onboarding-hero{background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 45%), radial-gradient(circle at 80% 85%, color-mix(in srgb, var(--feature-design) 12%, transparent), transparent 40%);flex-direction:column;justify-content:center;gap:22px;padding:56px 56px 40px;display:flex}.onboarding-brand{align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.onboarding-hero h1{letter-spacing:-.035em;font-size:clamp(30px,4vw,46px);line-height:1.2}.onboarding-hero h1 em{color:var(--accent);font-style:normal}.onboarding-hero>p{color:var(--text-2);max-width:520px;font-size:16px}.onboarding-features{gap:12px;max-width:520px;margin:8px 0 0;padding:0;list-style:none;display:grid}.onboarding-features li{align-items:flex-start;gap:12px;display:flex}.onboarding-features li div{flex-direction:column;display:flex}.onboarding-features li span{color:var(--text-2);font-size:13px}.onboarding-feature-icon{background:var(--surface);width:36px;height:36px;color:var(--accent-text);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:10px;flex:none;place-items:center;display:grid}.onboarding-card{background:var(--surface);border-left:1px solid var(--border);justify-content:center;align-items:center;padding:32px 24px;display:flex}.onboarding-card-inner{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.onboarding-card h2{align-items:center;gap:8px;font-size:22px;display:flex}@media (width<=860px){.onboarding{grid-template-columns:minmax(0,1fr)}.onboarding-hero{padding:32px 20px 8px}.onboarding-features{display:none}.onboarding-card{border-left:0;align-items:flex-start}}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dash-header h1{font-size:26px}.dash-header p{align-items:center;gap:6px;margin-top:4px;display:flex}.dash-actions{gap:8px;display:flex}.dash-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}@media (width<=1080px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.dash-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.template-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.template-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;flex-direction:column;gap:8px;min-height:180px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.template-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-card-top{align-items:center;gap:8px;display:flex}.template-emoji{background:var(--surface-2);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:26px;display:grid}.template-features{flex-wrap:wrap;flex:1;gap:4px;display:flex}.template-card h3{margin-top:4px;font-size:16px}.template-desc{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:13px;display:-webkit-box;overflow:hidden}.template-card-bottom{border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:8px;display:flex}.template-card-bottom>:nth-child(2){flex:1}.online-pill{color:var(--success);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.template-card-new{color:var(--text-3);box-shadow:none;background:0 0;border-style:dashed;justify-content:center;align-items:center;font-weight:600}.template-card-new:hover{color:var(--accent-text);border-color:var(--accent)}.first-run{text-align:center;border-radius:var(--radius-lg);border:1px dashed var(--border-strong);background:var(--surface);flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.first-run-presets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;width:100%;max-width:640px;margin:8px 0;display:grid}.dash-activity{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;position:sticky;top:0}.dash-activity-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dash-activity-head h2{align-items:center;gap:6px;font-size:15px;display:flex}.mini-timeline{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.mini-timeline li{gap:9px;font-size:13px;display:flex}.mini-timeline li>div{flex-direction:column;min-width:0;display:flex}.create-template{flex-direction:column;gap:14px;display:flex}.create-row{grid-template-columns:220px minmax(0,1fr);gap:16px;display:grid}@media (width<=640px){.create-row{grid-template-columns:minmax(0,1fr)}}.create-names{flex-direction:column;gap:12px;display:flex}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.create-row .emoji-grid{grid-template-columns:repeat(4,1fr)}.emoji-choice{font-size:18px}.feature-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (width<=640px){.feature-picker{grid-template-columns:minmax(0,1fr)}}.feature-card{--fc:var(--accent);border:1.5px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:border-color .15s,background .15s,transform .12s;display:flex;position:relative}.feature-card.feature-design{--fc:var(--feature-design)}.feature-card.feature-code{--fc:var(--feature-code)}.feature-card.feature-docs{--fc:var(--feature-docs)}.feature-card:hover:not(:disabled){border-color:color-mix(in srgb, var(--fc) 50%, var(--border))}.feature-card.is-on{border-color:var(--fc);background:color-mix(in srgb, var(--fc) 7%, var(--surface))}.feature-card:active:not(:disabled){transform:scale(.99)}.feature-emoji{font-size:24px}.feature-desc{color:var(--text-2);font-size:12.5px}.feature-card ul{color:var(--text-3);margin:4px 0 0;padding-left:16px;font-size:12px}.feature-check{border:1.5px solid var(--border-strong);color:#fff;border-radius:6px;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:10px;right:10px}.feature-card.is-on .feature-check{background:var(--fc);border-color:var(--fc)}.feature-picker.compact .feature-card{padding:12px}.preset-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.preset{border:1.5px solid var(--border);background:var(--surface);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.preset:hover{border-color:var(--border-strong)}.preset.is-selected{border-color:var(--accent);background:var(--accent-soft)}.preset-emoji{flex:none;font-size:22px}.preset-text{flex-direction:column;flex:1;min-width:0;display:flex}.preset-text b{font-size:13.5px}.preset-text span{color:var(--text-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.preset-features{flex:none;font-size:12px}.create-preview{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.create-preview-items{flex-wrap:wrap;gap:6px;display:flex}.preview-chip{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:3px 9px;font-size:12.5px}.join-card{text-align:center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:18px;flex-direction:column;align-items:center;gap:12px;max-width:440px;margin:20px;padding:36px 32px;display:flex}.join-emoji{font-size:48px}.join-card p{justify-content:center;align-items:center;gap:6px;display:flex}.timeline{flex-direction:column;gap:16px;display:flex}.timeline-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-filters .search-input{flex:1;min-width:200px}.timeline-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;display:grid}@media (width<=1000px){.timeline-layout{grid-template-columns:minmax(0,1fr)}}.timeline-list{margin:0;padding:0;list-style:none;position:relative}.timeline-list:before{content:"";background:var(--border);width:2px;position:absolute;top:12px;bottom:12px;left:70px}.timeline-day{z-index:2;color:var(--text-2);background:linear-gradient(var(--bg) 70%, transparent);padding:14px 0 8px 58px;font-size:12.5px;font-weight:700;position:sticky;top:0}.timeline-item{border-radius:10px;grid-template-columns:50px 42px minmax(0,1fr);align-items:flex-start;gap:0;padding:4px 0;display:grid}.timeline-time{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;padding-top:11px;font-size:11.5px}.timeline-dot{z-index:1;justify-content:center;padding-top:4px;display:flex;position:relative}.timeline-dot .avatar{outline:3px solid var(--bg)}.timeline-body{text-align:left;border-radius:10px;flex-direction:column;gap:3px;width:100%;padding:8px 12px;transition:background .15s;display:flex}.timeline-body:hover{background:var(--surface);box-shadow:var(--shadow-sm)}.timeline-item.is-important .timeline-body{background:color-mix(in srgb, var(--accent) 4%, transparent)}.timeline-item.is-fresh .timeline-body{animation:2.4s ease-out fresh}@keyframes fresh{0%{background:color-mix(in srgb, var(--accent) 22%, transparent)}to{background:0 0}}.timeline-text{font-size:13.5px}.timeline-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.module-chip{background:var(--surface-2);color:var(--text-2);border-radius:6px;align-items:center;gap:4px;padding:1px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.activity-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;position:sticky;top:12px}.activity-summary ul{flex-direction:column;gap:4px;margin:12px 0 0;padding:0;list-style:none;display:flex}.bar-row{text-align:left;border-radius:8px;grid-template-columns:22px 64px minmax(0,1fr) 30px;align-items:center;gap:8px;width:100%;padding:5px 6px;display:grid}.bar-row:hover,.bar-row.is-selected{background:var(--surface-2)}.bar-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12.5px;overflow:hidden}.bar-track{height:10px;display:flex}.bar-fill{background:var(--accent);border-radius:0 4px 4px 0;min-width:3px;height:100%}.bar-value{color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.overview-hero{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.overview-emoji{background:var(--surface);border:1px solid var(--border);width:72px;height:72px;box-shadow:var(--shadow-sm);border-radius:20px;place-items:center;font-size:40px;display:grid}.overview-titles{flex-direction:column;flex:1;gap:6px;min-width:240px;display:flex}.overview-members{align-items:center;gap:10px;display:flex}.overview-section{flex-direction:column;gap:12px;display:flex}.overview-section h2{align-items:center;gap:8px;font-size:15px;display:flex}.section-head{justify-content:space-between;align-items:center;display:flex}.collab-empty{border:1px dashed var(--border-strong);color:var(--text-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:flex}.collab-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.collab-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--user-color);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.collab-text{flex-direction:column;flex:1;min-width:0;display:flex}.collab-action{color:var(--text-2);margin-top:2px;font-size:12px}.collab-actions{flex-direction:column;gap:4px;display:flex}.overview-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.module-card{--fc:var(--accent);background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--fc);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.module-card.feature-design{--fc:var(--feature-design)}.module-card.feature-code{--fc:var(--feature-code)}.module-card.feature-docs{--fc:var(--feature-docs)}.module-card.feature-notes{--fc:var(--feature-notes)}.module-card header{align-items:center;gap:10px;display:flex}.module-card header>div{flex-direction:column;flex:1;display:flex}.module-card-emoji{font-size:22px}.module-card ul{margin:0;padding:0;list-style:none}.module-card li button{text-align:left;border-radius:7px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:13px;display:flex}.module-card li button:hover{background:var(--surface-2)}.module-card li button .truncate{flex:1}.add-area-card{background:var(--surface-2);border-style:dashed;border-top-width:1px}.add-area-card .module-card-emoji{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);border-radius:8px;place-items:center;display:grid}.add-area-card li button{align-items:flex-start}.add-area-card li button:hover{background:var(--surface)}.add-area-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.hover-arrow{opacity:0;color:var(--text-3)}.module-card li button:hover .hover-arrow{opacity:1}.invite-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.invite-box>div{flex-direction:column;display:flex}.invite-code{min-width:200px;font-family:var(--mono);background:var(--surface-2);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;flex:1;padding:6px 10px;font-size:12.5px;overflow:hidden}.member-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:0;padding:0;list-style:none}.member-row{align-items:center;gap:12px;padding:12px 14px;display:flex}.member-row+.member-row{border-top:1px solid var(--border)}.member-info{flex-direction:column;flex:1;min-width:0;display:flex}.role-legend{flex-direction:column;gap:6px;display:flex}.role-legend div{align-items:center;gap:8px;display:flex}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;padding:18px;display:flex}.settings-card h2{font-size:15px}.settings-card .emoji-grid{max-width:420px}.save-hint{align-items:center;gap:5px;display:flex}.danger-zone{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.danger-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.danger-row>div{flex-direction:column;display:flex}.explorer{flex-direction:column;height:100%;min-height:0;display:flex}.explorer-scroll{flex:1;padding:4px 8px 12px;overflow-y:auto}.ex-head{flex:none;align-items:center;gap:4px;padding:10px 10px 4px 14px;display:flex}.ex-head-title{letter-spacing:.04em;color:var(--text-3);flex:1;font-size:11.5px;font-weight:700}.ex-add-btn{border:1px solid var(--border);background:var(--surface);height:26px;color:var(--text-2);border-radius:7px;align-items:center;gap:4px;padding:0 9px 0 7px;font-size:12px;font-weight:650;display:inline-flex}.ex-add-btn:hover,.ex-add-btn.is-open{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.menu-new-area{color:var(--accent-text);background:var(--accent-soft);border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:650}.ex-section-head{position:relative}.ex-section-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ex-section-toggle.is-editing{cursor:default;padding-block:3px}.ex-section-toggle.is-editing:hover{background:0 0}.ex-section-input{flex:1;min-width:0;height:24px;font-size:12.5px;font-weight:650}.ex-section-actions{opacity:0;align-items:center;transition:opacity .12s;display:flex}.ex-section-head:hover .ex-section-actions,.ex-section-head:focus-within .ex-section-actions{opacity:1}.ex-page-section .ex-section-head[draggable=true]{cursor:grab}.ex-page-section .ex-section-head[draggable=true] .ex-section-toggle{cursor:pointer}.ex-section.is-dragging,.ex-item.is-dragging{opacity:.45}.ex-section.is-drop-target>.ex-section-head .ex-section-toggle,.ex-section.is-drop-target>.ex-section-body{background:var(--accent-soft)}.ex-section.is-drop-target>.ex-section-body{border-radius:7px}.ex-section.is-drop-target>.ex-section-head .ex-section-toggle{color:var(--accent-text)}.ex-page-section>.ex-section-head .ex-section-toggle{padding-left:calc(6px + var(--indent,0px))}.ex-page-section>.ex-section-body>.ex-item{padding-left:calc(24px + var(--indent,0px))}.ex-page-section>.ex-section-body>.ex-empty{padding-left:calc(28px + var(--indent,0px))}.ex-page-section>.ex-section-body>.ex-drop-hint{margin-left:calc(22px + var(--indent,0px));padding-left:10px}.ex-page-section>.ex-emoji-strip{margin-left:calc(22px + var(--indent,0px))}.ex-section.is-nested,.ex-section+.ex-section.is-nested{margin-top:0}.ex-page-section>.ex-section-body{position:relative}.ex-page-section.is-nested>.ex-section-body:before{content:"";left:calc(12.5px + var(--indent,0px));background:var(--border);pointer-events:none;width:1px;position:absolute;top:0;bottom:6px}.ex-page-section>.ex-section-body:has(>.ex-page-section):before{content:"";left:calc(12.5px + var(--indent,0px));background:var(--border);pointer-events:none;width:1px;position:absolute;top:0;bottom:6px}.ex-section-head.is-drop-into .ex-section-toggle{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent)}.ex-section.drop-before,.ex-section.drop-after,.ex-item.drop-before,.ex-item.drop-after{position:relative}.ex-section.drop-before:before,.ex-section.drop-after:after,.ex-item.drop-before:before,.ex-item.drop-after:after,.ex-add-section.is-drop-line:before{content:"";background:var(--accent);pointer-events:none;border-radius:2px;height:2px;position:absolute;left:6px;right:6px}.ex-section.drop-before:before,.ex-item.drop-before:before,.ex-add-section.is-drop-line:before{top:-2px}.ex-section.drop-after:after,.ex-item.drop-after:after{bottom:-2px}.ex-section.drop-before:before,.ex-section.drop-after:after{left:calc(6px + var(--indent,0px))}.ex-item.drop-before:before,.ex-item.drop-after:after{left:calc(20px + var(--indent,0px))}.ex-drop-hint{border:1px dashed var(--border-strong);border-radius:7px;margin:2px 4px 4px 22px;padding:7px 10px;line-height:1.45}.ex-add-section{border:1px dashed var(--border);width:calc(100% - 4px);color:var(--text-3);border-radius:8px;align-items:center;gap:6px;margin:8px 2px 4px;padding:6px 10px;font-size:12px;font-weight:600;display:flex;position:relative}.ex-add-section:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.ex-add-section+.ex-section{margin-top:10px}.ex-emoji-strip{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;flex-wrap:wrap;align-items:center;gap:2px;margin:2px 4px 6px 22px;padding:6px;display:flex}.ex-emoji-choice{border-radius:6px;width:28px;height:28px;font-size:15px}.ex-emoji-choice:hover{background:var(--surface-hover)}.ex-emoji-choice.is-selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.ex-emoji-close{margin-left:auto;padding:0 6px}.ex-section+.ex-section{margin-top:6px}.ex-section-head{align-items:center;gap:2px;padding-right:2px;display:flex}.ex-section-toggle{color:var(--text-2);letter-spacing:.01em;border-radius:6px;flex:1;align-items:center;gap:6px;min-width:0;padding:6px;font-size:12px;font-weight:700;display:flex}.ex-section-toggle:hover{background:var(--surface-hover)}.ex-chevron{color:var(--text-3);flex:none;transition:transform .15s;transform:rotate(90deg)}.ex-section.is-collapsed .ex-chevron{transform:none}.ex-feature-emoji{font-size:13px}.ex-lock{color:var(--feature-notes)}.ex-count{color:var(--text-3);background:var(--surface-2);border-radius:999px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:650}.ex-section-body{padding:2px 0 4px}.ex-empty{color:var(--text-3);padding:4px 10px 6px 28px;font-size:12px}.ex-item{cursor:pointer;height:32px;color:var(--text);border-radius:7px;align-items:center;gap:8px;min-width:0;padding:0 4px 0 24px;font-size:13.5px;display:flex;position:relative}.ex-item:hover{background:var(--surface-hover)}.ex-item.is-active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.ex-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ex-emoji{text-align:center;flex:none;width:16px;font-size:13px}.ex-item .lang-dot{margin:0 3px}.ex-item-actions{opacity:0;transition:opacity .12s}.ex-item:hover .ex-item-actions,.ex-item.is-active .ex-item-actions{opacity:1}.ex-viewers{flex:none;display:flex}.ex-viewer{border:1.5px solid var(--surface);border-radius:50%;place-items:center;width:18px;height:18px;margin-left:-5px;font-size:10px;display:grid}.outline,.layers{margin:0;padding:0 0 0 20px;list-style:none}.outline-item{text-align:left;width:100%;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:12.5px;display:block;overflow:hidden}.outline-item.level-1{color:var(--text);font-weight:650}.outline-item:hover{background:var(--surface-hover)}.layers li{align-items:center;display:flex}.layer{text-align:left;border-radius:6px;flex:1;align-items:center;gap:8px;min-width:0;padding:4px 8px;font-size:12.5px;display:flex}.layer:hover{background:var(--surface-hover)}.layer.is-selected{background:var(--accent-soft);color:var(--accent-text)}.layer-icon{text-align:center;width:16px;color:var(--text-3)}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.layer-remote{border-radius:50%;width:8px;height:8px}.layer-lock{opacity:0;padding:2px 4px;font-size:11px}.layers li:hover .layer-lock{opacity:.8}.module-toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;min-width:0;height:46px;padding:0 10px 0 16px;display:flex}.toolbar-title,.toolbar-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:320px;font-size:14.5px;font-weight:650;overflow:hidden}.toolbar-emoji{font-size:17px}.toolbar-spacer{flex:1}.toolbar-viewers{gap:2px;margin-left:4px;display:flex}.status-readonly{background:var(--warning-soft);color:var(--warning);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.code-module,.docs-module,.design-module,.notes-module{flex-direction:column;height:100%;min-height:0;display:flex}.lang-select{border:1px solid var(--border);background:var(--surface-2);border-radius:7px;align-items:center;gap:4px;height:28px;padding:0 8px 0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.lang-select:hover{border-color:var(--border-strong)}.code-body{flex:1;min-height:0;display:flex}.code-module{container:code-module/inline-size}.code-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.code-side{width:var(--side-w,50%);border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;min-width:260px;max-width:calc(100% - 280px);display:flex;position:relative}.code-side-resize{cursor:col-resize;z-index:3;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.code-side-resize:after{content:"";background:0 0;width:2px;transition:background .12s;position:absolute;top:0;bottom:0;left:3px}.code-side-resize:hover:after,.code-body.is-resizing .code-side-resize:after{background:var(--accent)}.code-body.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.code-body.is-resizing iframe{pointer-events:none}.code-side-head{border-bottom:1px solid var(--border);min-height:37px;color:var(--text-2);align-items:center;gap:6px;padding:4px 6px 4px 12px;font-size:12.5px;display:flex}.code-side-head b{color:var(--text);font-weight:650}.code-side-head .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-console{color:var(--text-2);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.side-console:hover{background:var(--surface-2);color:var(--text)}.side-console.has-error{color:var(--danger)}.code-side-empty{flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.code-side-empty.is-hung{text-align:center;color:var(--text-2);flex-direction:column;gap:8px;padding:24px}.code-side-empty.is-hung>svg{color:var(--warning)}.code-side-empty.is-hung b{color:var(--text)}.code-side-empty.is-hung .small{max-width:320px;line-height:1.6}@container code-module (width<=640px){.code-body.has-side{flex-direction:column}.code-side{border-left:0;border-top:1px solid var(--border);width:auto;min-width:0;max-width:none;height:45%}.code-side-resize{display:none}}.code-host{background:var(--surface)}.code-mount{flex:1;min-height:0;display:flex}.code-mount .cm-editor{flex:1;height:100%;font-size:13.5px}.code-mount .cm-editor.cm-focused{outline:none}.code-mount .cm-scroller{font-family:var(--mono);line-height:1.6}.cm-ySelectionInfo{border-radius:4px 4px 4px 0;font-weight:650;transition:opacity .3s;opacity:1!important;font-family:var(--font)!important;padding:1px 5px!important;font-size:10.5px!important;top:-1.35em!important}.cm-ySelectionCaret{border-left-width:2px!important}.code-panel{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;min-height:120px;display:flex;position:relative}.code-panel-resize{cursor:row-resize;z-index:2;height:8px;position:absolute;top:-4px;left:0;right:0}.code-panel-tabs{border-bottom:1px solid var(--border);align-items:center;gap:2px;padding:4px 6px;display:flex}.code-panel-tabs>button:not(.icon-btn){color:var(--text-2);border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.code-panel-tabs>button.is-active{background:var(--surface-2);color:var(--text)}.code-output{font-family:var(--mono);flex:1;padding:8px 14px;font-size:12.5px;line-height:1.6;overflow:auto}.out-line{white-space:pre-wrap;word-break:break-word;padding:1px 0}.out-line+.out-line{border-top:1px dashed color-mix(in srgb, var(--border) 60%, transparent)}.out-info{color:var(--info)}.out-warn{color:var(--warning)}.out-error{color:var(--danger)}.out-system{color:var(--text-3);font-style:italic}.code-preview{background:#fff;border:0;flex:1;width:100%}@media (prefers-color-scheme:dark){.code-preview.is-doc{background:#0d1117}}:root[data-theme=dark] .code-preview.is-doc{background:#0d1117}.out-status{color:var(--text-2);font-family:var(--font);align-items:center;gap:8px;padding:4px 0 6px;font-size:12.5px;display:flex}.tab-count{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:0 6px;font-size:10.5px;font-weight:700}.code-stdin{flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 12px 10px;display:flex}.code-stdin textarea{resize:none;border:1px solid var(--border);background:var(--surface-2);min-height:60px;color:var(--text);font-family:var(--mono);border-radius:8px;flex:1;padding:8px 10px;font-size:12.5px;line-height:1.6}.code-stdin textarea:focus{border-color:var(--accent);background:var(--surface);outline:none}.out-table-wrap{margin:6px 0 10px}.out-table-note{color:var(--text-3);margin-bottom:4px;font-size:11.5px}.out-table-scroll{border:1px solid var(--border);border-radius:8px;max-height:320px;overflow:auto}.out-table{border-collapse:collapse;min-width:100%;font-size:12px}.out-table th,.out-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:4px 10px}.out-table th{background:var(--surface-2);color:var(--text-2);font-weight:700;position:sticky;top:0}.out-table tr:last-child td{border-bottom:0}.out-table .is-null{color:var(--text-3);font-style:italic}.out-formatted{border:1px solid var(--border);border-radius:8px;margin-top:8px;overflow:hidden}.out-formatted-head{background:var(--surface-2);font-family:var(--font);align-items:center;gap:10px;padding:5px 10px;font-size:12px;display:flex}.out-formatted pre{white-space:pre;max-height:300px;margin:0;padding:8px 10px;overflow:auto}.statusbar{height:26px;color:var(--text-3);background:var(--surface);border-top:1px solid var(--border);white-space:nowrap;flex:none;align-items:center;gap:16px;padding:0 14px;font-size:11.5px;display:flex;overflow:hidden}.doc-editor{flex-direction:column;flex:1;min-height:0;display:flex}.doc-toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:1px;padding:5px 10px;display:flex}.tb-sep{background:var(--border);flex:none;width:1px;height:18px;margin:0 5px}.tb-select{border:1px solid var(--border);background:var(--surface);border-radius:6px;height:28px;padding:0 6px;font-size:12.5px}.tb-table{border-left:1px solid var(--border);align-items:center;gap:1px;margin-left:4px;padding-left:4px;display:none}.tb-table.is-visible{display:inline-flex}.doc-stats{color:var(--text-3);white-space:nowrap;font-size:12px}.doc-scroll{background:var(--bg)}.doc-page{background:var(--surface);border:1px solid var(--border);max-width:820px;box-shadow:var(--shadow-sm);border-radius:14px;min-height:calc(100% - 48px);margin:24px auto 80px;padding:40px 56px 64px;position:relative}@media (width<=760px){.doc-page{border:0;border-radius:0;margin:0;padding:24px 18px 48px}}.doc-title-row{align-items:center;gap:10px;margin-bottom:18px;display:flex}.doc-emoji{border-radius:12px;flex:none;place-items:center;width:48px;height:48px;font-size:30px;display:grid}button.doc-emoji:hover:not(:disabled){background:var(--surface-hover)}.doc-title{letter-spacing:-.02em;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0;font-size:30px;font-weight:750}.doc-title.as-text{display:block}.doc-title::placeholder{color:var(--text-3)}.doc-content .ProseMirror{min-height:300px;color:var(--text);outline:none;font-size:15.5px;line-height:1.75}.doc-content .ProseMirror>*+*{margin-top:.55em}.doc-content .ProseMirror h1{margin-top:1.1em;font-size:1.75em}.doc-content .ProseMirror h2{margin-top:1em;font-size:1.4em}.doc-content .ProseMirror h3{margin-top:.9em;font-size:1.18em}.doc-content .ProseMirror h1:first-child,.doc-content .ProseMirror h2:first-child{margin-top:0}.doc-content .ProseMirror p{margin:0}.doc-content .ProseMirror ul,.doc-content .ProseMirror ol{margin:.4em 0;padding-left:1.4em}.doc-content .ProseMirror li p{margin:.1em 0}.doc-content .ProseMirror ul[data-type=taskList]{padding-left:.2em;list-style:none}.doc-content .ProseMirror ul[data-type=taskList] li{align-items:flex-start;gap:8px;display:flex}.doc-content .ProseMirror ul[data-type=taskList] li>label{flex:none;margin-top:.3em}.doc-content .ProseMirror ul[data-type=taskList] li>label input{width:16px;height:16px;accent-color:var(--accent)}.doc-content .ProseMirror ul[data-type=taskList] li>div{flex:1}.doc-content .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-3);text-decoration:line-through}.doc-content .ProseMirror blockquote{border-left:3px solid var(--accent);color:var(--text-2);background:var(--surface-2);border-radius:0 8px 8px 0;margin:.6em 0;padding:4px 16px}.doc-content .ProseMirror code{font-family:var(--mono);background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.88em}.doc-content .ProseMirror pre{color:#e6e8ee;font-family:var(--mono);background:#1d2027;border-radius:10px;padding:12px 16px;font-size:13.5px;overflow-x:auto}.doc-content .ProseMirror pre code{color:inherit;background:0 0;padding:0}.doc-content .ProseMirror mark{color:#1a1a1a;background:#fff1a8;border-radius:3px;padding:0 2px}.doc-content .ProseMirror a{color:var(--accent-text);text-decoration:underline}.doc-content .ProseMirror hr{border:0;border-top:2px solid var(--border);margin:1.4em 0}.doc-content .ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.8em 0}.doc-content .ProseMirror td,.doc-content .ProseMirror th{border:1px solid var(--border-strong);vertical-align:top;padding:6px 10px;position:relative}.doc-content .ProseMirror th{background:var(--surface-2);text-align:left;font-weight:650}.doc-content .ProseMirror .selectedCell:after{content:"";background:color-mix(in srgb, var(--accent) 15%, transparent);pointer-events:none;position:absolute;inset:0}.doc-content .ProseMirror p.is-empty:before,.doc-content .ProseMirror h1.is-empty:before,.doc-content .ProseMirror h2.is-empty:before,.doc-content .ProseMirror h3.is-empty:before{content:attr(data-placeholder);color:var(--text-3);float:left;pointer-events:none;height:0}.collaboration-carets__caret{word-break:normal;pointer-events:none;border-left:2px solid;border-right:0;margin-left:-1px;margin-right:-1px;position:relative}.collaboration-carets__label{color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;font-style:normal;font-weight:650;line-height:normal;font-family:var(--font);border-radius:4px 4px 4px 0;padding:1px 6px;position:absolute;top:-1.45em;left:-2px}.design-body{flex:1;min-height:0;display:flex}.design-stage{flex:1;min-width:0;display:flex;position:relative}.canvas-wrap{background:var(--canvas-bg);touch-action:none;-webkit-user-select:none;user-select:none;outline:none;flex:1;min-width:0;position:relative;overflow:hidden}.canvas-wrap.is-hand{cursor:grab}.canvas-wrap.is-panning{cursor:grabbing}.canvas-wrap.is-crosshair{cursor:crosshair}.canvas-svg{display:block;position:absolute;inset:0}.grid-dot{fill:var(--grid-dot)}.shape{cursor:default}.canvas-wrap:not(.is-hand):not(.is-crosshair) .shape{cursor:move}.sel-outline{stroke:var(--accent);pointer-events:none}.handle{fill:#fff;stroke:var(--accent)}.handle-nw,.handle-se{cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.handle-n,.handle-s{cursor:ns-resize}.handle-e,.handle-w{cursor:ew-resize}.handle-round{cursor:crosshair}.handle-hit{fill:#0000;stroke:none}.handle-grip:hover .handle-round,.handle-round:hover{fill:color-mix(in srgb, var(--accent) 22%, #fff)}.handle-bend{fill:color-mix(in srgb, var(--accent) 35%, #fff);stroke:#fff}.handle-grip{cursor:crosshair}.handle-grip.is-bend{cursor:grab}.handle-bend.is-curved,.handle-grip:hover .handle-bend,.handle-bend:hover{fill:var(--accent)}.handle-grip.is-bend:active{cursor:grabbing}.marquee{fill:color-mix(in srgb, var(--accent) 10%, transparent);stroke:var(--accent);pointer-events:none}.remote-selection{pointer-events:none}.lock-label{fill:var(--text-2)}.canvas-textedit{z-index:20;border:2px solid var(--accent);resize:none;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);box-sizing:content-box;background:0 0;border-radius:4px;outline:none;margin:-2px 0 0 -2px;font-weight:500;position:absolute;overflow:hidden}.canvas-hint{color:var(--text-3);pointer-events:none;text-align:center;flex-direction:column;align-items:center;gap:4px;font-size:13px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-hint b{color:var(--text-2);font-size:15px}.design-toolbar{z-index:25;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:12px;align-items:center;gap:2px;max-width:calc(100% - 24px);padding:5px;display:flex;position:absolute;top:12px;left:50%;overflow-x:auto;transform:translate(-50%)}.tool-slot{align-items:center;display:inline-flex}.zoom-controls{z-index:25;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:10px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-value{text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;min-width:48px;padding:4px;font-size:12px;font-weight:650}.zoom-value:hover{background:var(--surface-hover)}.inspector{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;gap:12px;width:256px;padding:14px;display:flex;overflow-y:auto}@media (width<=900px){.inspector{z-index:26;box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}}.inspector h3{align-items:center;gap:6px;font-size:13.5px;display:flex}.inspector h4{color:var(--text-3);border-top:1px solid var(--border);margin-top:4px;padding-top:10px;font-size:12px}.insp-row{flex-direction:column;gap:6px;display:flex}.insp-label{color:var(--text-2);font-size:12px;font-weight:550}.insp-control input[type=range]{width:100%;accent-color:var(--accent)}.insp-swatches{flex-wrap:wrap;gap:5px;display:flex}.insp-swatch{border-radius:6px;width:22px;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000024}.insp-swatch.is-selected{outline:2px solid var(--accent);outline-offset:1px}.insp-swatch.is-none,.insp-swatch.is-default{background:linear-gradient(135deg, transparent 45%, var(--danger) 45%, var(--danger) 55%, transparent 55%), var(--surface)}.insp-swatch.is-default{background:var(--canvas-bg)}.insp-swatch.is-custom{cursor:pointer;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.insp-swatch.is-custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.insp-inline{align-items:center;gap:8px;display:flex}.insp-inline .input{width:64px}.insp-seg{background:var(--surface-2);border-radius:7px;gap:1px;padding:2px;display:inline-flex}.insp-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.insp-grid label{color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.insp-grid label .input{min-width:0}.insp-num{flex:1;min-width:0;display:flex;position:relative}.insp-num .input{appearance:textfield;width:100%;padding-right:26px}.insp-num .input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.insp-num .input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.insp-num-unit{color:var(--text-3);pointer-events:none;font-size:11px;font-weight:500;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.insp-inline .insp-num{flex:none;width:72px}.inspector h4.insp-h4-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.insp-unit{width:auto;height:24px;color:var(--text-2);padding:0 4px 0 6px;font-size:12px;font-weight:600}.insp-control .insp-unit{min-width:80px;height:28px}.insp-buttons{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.insp-toggles{flex-wrap:wrap;gap:6px;display:flex}.insp-help{color:var(--text-3);font-size:12px;line-height:1.5}.security-note{background:color-mix(in srgb, var(--feature-notes) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--feature-notes) 30%, var(--border));color:var(--text-2);border-radius:12px;gap:12px;padding:12px 14px;font-size:13px;display:flex}.security-note>svg{color:var(--feature-notes);flex:none;margin-top:2px}.security-note div{flex-direction:column;gap:2px;display:flex}.security-note b{color:var(--text)}.note-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.note-card{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.note-card:hover{border-color:var(--feature-notes);transform:translateY(-2px)}.note-card.is-unlocked{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.note-card .muted{align-items:center;gap:6px;display:flex}.note-lock{background:color-mix(in srgb, var(--feature-notes) 12%, transparent);width:40px;height:40px;color:var(--feature-notes);border-radius:11px;place-items:center;display:grid}.note-card.is-unlocked .note-lock{background:var(--success-soft);color:var(--success)}.note-hint{color:var(--text-2);background:var(--surface-2);border-radius:7px;padding:4px 9px;font-size:12.5px}.note-card-foot{color:var(--text-3);margin-top:auto;font-size:12px;font-weight:550}.lock-page{justify-content:center;align-items:center;min-height:100%}.lock-card{text-align:center;background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow-md);border-radius:18px;flex-direction:column;align-items:center;gap:10px;margin:6vh auto 0;padding:32px 28px;display:flex}.lock-card[data-shake=true]{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.lock-card .muted{align-items:center;gap:6px;display:flex}.lock-icon{background:color-mix(in srgb, var(--feature-notes) 14%, transparent);width:64px;height:64px;color:var(--feature-notes);border-radius:20px;place-items:center;margin-bottom:4px;display:grid}.lock-form{gap:8px;width:100%;margin-top:8px;display:flex}.lock-error{color:var(--danger);font-size:13px}.note-toolbar .note-open-icon{color:var(--success)}.note-badge,.note-timer{white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.note-badge{background:var(--success-soft);color:var(--success)}.note-timer{background:var(--surface-2);color:var(--text-2)}.strength{gap:4px;margin-top:2px;display:flex}.strength-bar{background:var(--surface-3);border-radius:2px;flex:1;height:4px}.strength-bar.on-1{background:var(--danger)}.strength-bar.on-2,.strength-bar.on-3{background:var(--warning)}.strength-bar.on-4{background:var(--success)}@media print{.topbar,.rail,.shell-panel,.shell-drawer,.module-toolbar,.doc-toolbar,.toast-viewport,.cursor-layer,.collaboration-carets__caret{display:none!important}.shell,.shell-body,.shell-main,.page-scroll,.cursor-host{height:auto!important;display:block!important;overflow:visible!important}.doc-page{box-shadow:none;border:0;margin:0;padding:0}}.empty-emoji{font-size:34px;line-height:1}.shape-frame .frame-label{cursor:pointer}.shape-frame .frame-label text{fill:var(--text-2)}.shape-frame .frame-label:hover text{fill:var(--accent-text)}.shape-frame .frame-label .frame-size{fill:var(--text-3)}.shell{min-width:960px}.space-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:11.5px;font-weight:650;display:inline-flex}.space-chip.is-personal{background:var(--surface-2);color:var(--text-2);border-color:var(--border)}.space-chip.is-shared{background:color-mix(in srgb, var(--success) 14%, transparent);color:color-mix(in srgb, var(--success) 80%, var(--text))}.space-chip.is-offline{background:color-mix(in srgb, var(--warning) 16%, transparent);color:color-mix(in srgb, var(--warning) 70%, var(--text))}.space-chip.as-button{cursor:pointer}.space-chip.as-button:hover{border-color:var(--accent);color:var(--accent-text)}.request-pill{background:color-mix(in srgb, var(--danger) 14%, transparent);height:22px;color:var(--danger);border-radius:999px;align-items:center;margin-left:6px;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}.template-card-bottom .request-pill{margin-left:0}.badge-count.static{border:0;margin-left:4px;display:inline-grid;position:static}.rail-badge{top:4px;right:8px}.dash-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:0}.dash-side .dash-activity{position:static}.dash-toolbar{flex-wrap:wrap}.segmented-quiet{background:0 0;border-color:#0000}.seg-count{color:var(--text-3);margin-left:2px;font-size:11px}.segmented button{align-items:center;gap:5px;display:inline-flex}.template-card.is-personal .template-emoji{filter:saturate(.9)}.spaces-guide{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:16px;display:flex}.spaces-guide h2{font-size:15px}.spaces-guide-item{align-items:flex-start;gap:10px;display:flex}.spaces-guide-item .space-chip{flex:none}.pending-joins{flex-direction:column;gap:6px;display:flex}.pending-join{background:color-mix(in srgb, var(--warning) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;display:flex}.personal-banner{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%), var(--surface);align-items:center;gap:18px;padding:18px 20px;display:flex}.personal-banner-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);border-radius:12px;flex:none;place-items:center;display:grid}.personal-banner-text{color:var(--text-2);flex-direction:column;flex:1;gap:6px;font-size:13.5px;display:flex}.personal-banner-text>b{color:var(--text);font-size:15px}.personal-banner-list{flex-wrap:wrap;gap:6px 16px;margin:2px 0 0;padding:0;list-style:none;display:flex}.personal-banner-list li{align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.invite{flex-direction:column;gap:18px;display:flex}.invite h4{align-items:center;gap:6px;margin-bottom:8px;font-size:13.5px;display:flex}.invite-convert{background:var(--accent-soft);color:var(--accent-text);border-radius:12px;gap:12px;padding:12px 14px;display:flex}.invite-convert>div{flex-direction:column;gap:2px;display:flex}.invite-convert span{color:var(--text-2);font-size:12.5px}.invite-form{flex-direction:column;gap:14px;display:flex}.invite-row{flex-direction:column;gap:6px;display:flex}.invite-row .field-label{align-items:center;gap:5px;display:inline-flex}.invite-roles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.invite-role{text-align:left;border:1.5px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.invite-role span{color:var(--text-3);font-size:12px}.invite-role.is-selected{border-color:var(--accent);background:var(--accent-soft)}.invite-grid{grid-template-columns:1fr 1fr 1.3fr;gap:10px;display:grid}.invite-approval{background:var(--surface-2);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.invite-approval input{margin-top:3px}.invite-approval>span{flex-direction:column;gap:2px;display:flex}.invite-approval b{align-items:center;gap:5px;font-size:13.5px;display:inline-flex}.invite-actions{justify-content:flex-end;display:flex}.invite-created{border:1.5px solid color-mix(in srgb, var(--success) 45%, transparent);background:color-mix(in srgb, var(--success) 7%, var(--surface));border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.invite-created-head{color:var(--success);align-items:center;gap:8px;display:flex}.invite-created-head b{color:var(--text)}.invite-created-head .muted{margin-left:auto}.invite-created-actions{gap:6px;display:flex}.invite-list ul,.invite-requests ul,.members-invites ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.invite-item,.request-item{border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.invite-item.is-new{border-color:color-mix(in srgb, var(--success) 50%, transparent)}.invite-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.invite-item-text b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.invite-requests{background:color-mix(in srgb, var(--warning) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);border-radius:12px;padding:12px}.invite-requests .request-item{background:var(--surface)}.invite-tip{border-top:1px solid var(--border);padding-top:12px}.page-header-row{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:16px}.members-invites{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;display:flex}.members-invites li{align-items:center;gap:8px;display:flex}.join-standalone{background:radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 45%), radial-gradient(circle at 85% 90%, color-mix(in srgb, var(--feature-design) 10%, transparent), transparent 40%), var(--bg);min-height:100vh;display:flex}.join-standalone>.center-fill{flex:1}.join-card{width:100%;max-width:480px}.join-card h1{font-size:24px}.join-facts{color:var(--text-2);flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:12.5px;display:flex}.join-facts span{align-items:center;gap:4px;display:inline-flex}.join-status{text-align:left;background:color-mix(in srgb, var(--warning) 12%, var(--surface));border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.join-status>div{flex-direction:column;display:flex}.join-status.is-denied{background:color-mix(in srgb, var(--danger) 10%, var(--surface));color:var(--danger)}.pulse{animation:1.6s ease-in-out infinite lt-pulse}@keyframes lt-pulse{50%{opacity:.35}}.narrow-notice{z-index:200;background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex;position:fixed;bottom:12px;left:12px;right:12px}.narrow-notice span{flex:1}.narrow-notice .icon-btn{color:inherit}.dash-toolbar{justify-content:flex-start}.dash-toolbar .search-input{width:170px;margin-left:auto}.dash-toolbar .segmented button{padding:5px 10px}.template-card-bottom{flex-wrap:nowrap}.online-pill{white-space:nowrap}.topbar .badge-anchor .btn+.badge-count{top:-6px;right:-6px}.topbar .space-chip{flex:none;margin-left:4px;margin-right:2px}.presence-bar{height:34px;color:var(--text-2);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:0 6px 0 4px;transition:background .15s,border-color .15s;display:inline-flex}.presence-bar:hover,.presence-bar.is-open{background:var(--surface-hover);border-color:var(--border)}.presence-stack{align-items:center;display:inline-flex}.presence-stack-item{border-radius:50%;margin-left:-8px;display:flex}.presence-stack-item:first-child{margin-left:0}.presence-stack-item .avatar{outline:2px solid var(--surface)}.presence-stack-item.is-following .avatar{outline:2px solid var(--user-color)}.presence-stack-item,.presence-stack-more{transition:margin .18s}.presence-bar:hover .presence-stack-item:not(:first-child),.presence-bar:hover .presence-stack-more,.presence-bar.is-open .presence-stack-item:not(:first-child),.presence-bar.is-open .presence-stack-more{margin-left:-3px}.presence-stack-more{min-width:26px;height:26px;color:var(--text-2);background:var(--surface-3,var(--surface-2));outline:2px solid var(--surface);border-radius:13px;place-items:center;margin-left:-8px;padding:0 5px;font-size:11px;font-weight:700;display:grid}.presence-chevron{transition:transform .18s}.presence-bar.is-open .presence-chevron{transform:rotate(180deg)}.popover{z-index:900;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:12px;animation:.12s ease-out menu-in;position:fixed}.presence-list{flex-direction:column;max-height:min(480px,70vh);padding:6px;display:flex;overflow-y:auto}.presence-list-head{color:var(--text-2);border-bottom:1px solid var(--border);align-items:center;gap:7px;margin-bottom:4px;padding:6px 8px 8px;font-size:12.5px;font-weight:650;display:flex}.presence-row{border-radius:9px;align-items:center;gap:2px;padding-right:4px;display:flex}.presence-row.is-me{gap:10px;padding:6px 8px}.presence-row.is-following{background:color-mix(in srgb, var(--user-color) 12%, transparent)}.presence-row-main{text-align:left;border-radius:9px;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.presence-row-main:hover{background:var(--surface-hover)}.presence-row-text{flex-direction:column;min-width:0;font-size:13px;line-height:1.35;display:flex}.presence-row-text span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.presence-row-action{font-weight:550;color:var(--text-2)!important}.presence-empty{color:var(--text-3);flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px 6px;font-size:12.5px;display:flex}.presence-empty .link{align-items:center;gap:4px;display:inline-flex}.brand-ko{color:var(--text-3);margin-left:4px;font-size:.62em;font-weight:600}.onboarding-tagline{margin-top:-10px;font-weight:650;color:var(--accent-text)!important;font-size:15px!important}.trash-loading{min-height:140px}.trash-list,.version-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.trash-item,.version-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.trash-emoji{text-align:center;flex:none;width:32px;font-size:22px}.trash-info,.version-item>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.trash-info b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trash-days{color:var(--danger);font-weight:600}.settings-card h2 svg{vertical-align:-2px;margin-right:4px}.auth-page .onboarding-card-inner{gap:18px}.auth-head{flex-direction:column;gap:6px;display:flex}.auth-head h2{letter-spacing:-.02em;align-items:center;gap:8px;font-size:23px;display:flex}.auth-head p{font-size:13.5px;line-height:1.6}.auth-email-addr{color:var(--text);word-break:break-all}.auth-loading{place-items:center;min-height:160px;display:grid}.auth-providers{flex-direction:column;gap:10px;display:flex}.auth-provider{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:46px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;gap:10px;font-size:14.5px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.auth-provider:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--shadow-sm)}.auth-provider:disabled{opacity:.6;cursor:default}.auth-divider{color:var(--text-3);align-items:center;gap:12px;font-size:12.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-email{flex-direction:column;gap:12px;display:flex}.input-lg{border-radius:10px;height:46px;padding:0 14px;font-size:15px}.auth-alert,.auth-callout,.auth-dev,.auth-verified{border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.auth-alert{background:var(--danger-soft);color:var(--danger)}.auth-callout{background:var(--accent-soft);color:var(--accent-text);font-weight:550}.auth-dev{background:var(--warning-soft);color:var(--warning);flex-wrap:wrap}.auth-dev b{font-family:var(--mono);letter-spacing:.12em}.auth-dev .link{margin-left:auto}.auth-verified{background:var(--success-soft);color:var(--success);font-weight:550}.auth-verified b{word-break:break-all;font-weight:600}.auth-foot{align-items:flex-start;gap:6px;line-height:1.55;display:flex}.auth-foot svg{flex:none;margin-top:2px}.auth-back{color:var(--text-2);align-self:flex-start;align-items:center;gap:6px;padding:4px 0;font-size:13px;display:inline-flex}.auth-back:hover{color:var(--text)}.auth-switch{align-self:center}.auth-code-form{flex-direction:column;gap:14px;display:flex}.code-input{cursor:text;grid-template-columns:repeat(6,1fr);gap:8px;display:grid;position:relative}.code-input input{opacity:0;caret-color:#0000;border:0;width:100%;font-size:16px;position:absolute;inset:0}.code-box{border:1.5px solid var(--border-strong);background:var(--surface);height:58px;font-family:var(--mono);border-radius:12px;place-items:center;font-size:26px;font-weight:700;transition:border-color .12s,box-shadow .12s;display:grid}.code-box.is-filled{border-color:var(--text-3)}.code-box.is-active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.code-input.is-invalid .code-box{border-color:var(--danger)}.auth-resend{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-resend .link:disabled{color:var(--text-3);cursor:default;text-decoration:none}.auth-steps{color:var(--text-3);gap:6px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.auth-steps li{flex:1;align-items:center;gap:6px;display:flex}.auth-steps li:not(:last-child):after{content:"";background:var(--border);flex:1;height:1px}.auth-steps li.is-current{color:var(--text);font-weight:650}.auth-steps li.is-done{color:var(--success)}.auth-step-dot{background:var(--surface-3);width:22px;height:22px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:700;display:grid}.is-current .auth-step-dot{background:var(--accent);color:var(--on-accent)}.is-done .auth-step-dot{background:var(--success-soft);color:var(--success)}.boot-screen{background:var(--bg);min-height:100vh;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.join-login-hint{font-size:13px}.menu-profile-email{text-overflow:ellipsis;white-space:nowrap;max-width:170px;display:block;overflow:hidden}.auth-consent{line-height:1.55}.auth-consent a,.legal-links a{color:var(--text-2);text-underline-offset:2px;text-decoration:underline}.legal-links{color:var(--text-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.legal-links a:hover{color:var(--text)}.auth-legal{margin-top:8px}.legal-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.legal-header{z-index:2;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.legal-brand{align-items:center;gap:8px;font-size:16px;font-weight:800;display:inline-flex}.legal-back{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.legal-back:hover{color:var(--text)}.legal-body{background:var(--surface);border:1px solid var(--border);width:100%;max-width:780px;color:var(--text);border-radius:16px;margin:32px auto 24px;padding:36px 44px 44px;font-size:14.5px;line-height:1.75}.legal-body h1{letter-spacing:-.02em;margin-bottom:6px;font-size:28px}.legal-body h2{border-top:1px solid var(--border);margin:30px 0 10px;padding-top:18px;font-size:17px}.legal-body p,.legal-body ul,.legal-body ol{color:var(--text-2);margin:0 0 10px}.legal-body ul,.legal-body ol{padding-left:20px}.legal-body li+li{margin-top:4px}.legal-body b{color:var(--text)}.legal-body a{color:var(--accent-text)}.legal-body table{border-collapse:collapse;width:100%;margin:6px 0 12px;font-size:13.5px}.legal-body th,.legal-body td{border:1px solid var(--border);text-align:left;vertical-align:top;color:var(--text-2);padding:8px 10px}.legal-body th{background:var(--surface-2);color:var(--text);white-space:nowrap;font-weight:650}.legal-meta{font-size:13px;color:var(--text-3)!important}.legal-page>.legal-links{padding:0 16px 32px}:root{--dc-gray:#787774;--dc-brown:#9f6b53;--dc-orange:#d9730d;--dc-yellow:#cb912f;--dc-green:#448361;--dc-blue:#337ea9;--dc-purple:#9065b0;--dc-pink:#c14c8a;--dc-red:#d44c47;--dcb-gray:#f1f1ef;--dcb-brown:#f4eeee;--dcb-orange:#fbecdd;--dcb-yellow:#fbf3db;--dcb-green:#edf3ec;--dcb-blue:#e7f3f8;--dcb-purple:#f6f3f9;--dcb-pink:#faf1f5;--dcb-red:#fdebec}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dc-gray:#9b9b9b;--dc-brown:#ba856f;--dc-orange:#c77d48;--dc-yellow:#ca9849;--dc-green:#529e72;--dc-blue:#5e87c9;--dc-purple:#9d68d3;--dc-pink:#d15796;--dc-red:#df5452;--dcb-gray:#2f2f2f;--dcb-brown:#4a3228;--dcb-orange:#5c3b23;--dcb-yellow:#564328;--dcb-green:#243d30;--dcb-blue:#143a4e;--dcb-purple:#3c2d49;--dcb-pink:#4e2c3c;--dcb-red:#522e2a}}:root[data-theme=dark]{--dc-gray:#9b9b9b;--dc-brown:#ba856f;--dc-orange:#c77d48;--dc-yellow:#ca9849;--dc-green:#529e72;--dc-blue:#5e87c9;--dc-purple:#9d68d3;--dc-pink:#d15796;--dc-red:#df5452;--dcb-gray:#2f2f2f;--dcb-brown:#4a3228;--dcb-orange:#5c3b23;--dcb-yellow:#564328;--dcb-green:#243d30;--dcb-blue:#143a4e;--dcb-purple:#3c2d49;--dcb-pink:#4e2c3c;--dcb-red:#522e2a}.doc-content .ProseMirror mark[data-color]{color:inherit;padding:0 1px}.block-handle{align-items:center;gap:0;padding-right:4px;transition:opacity .12s;display:flex}.block-handle[data-type=heading]{padding-top:.3em}.block-handle-btn{width:22px;height:24px;color:var(--text-3);cursor:pointer;border-radius:5px;place-items:center;display:grid}.block-handle-btn:hover{background:var(--surface-hover);color:var(--text-2)}.block-handle-btn.is-grip{cursor:grab;width:18px}.block-handle-btn.is-grip:active{cursor:grabbing}.doc-content .ProseMirror-dropcursor,.ProseMirror-dropcursor{background:var(--accent)!important}.doc-content .ProseMirror .ProseMirror-selectednode:not(.doc-image):not(.doc-embed):not(.doc-toc){outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px;border-radius:4px}.doc-content .ProseMirror-gapcursor:after{border-top-color:var(--text)}.suggest-popup{z-index:1200;background:var(--surface);border:1px solid var(--border);width:290px;box-shadow:var(--shadow-lg);border-radius:10px;padding:5px;position:fixed;top:0;left:0;overflow:auto}.suggest-list.is-empty{color:var(--text-3);padding:10px 12px;font-size:13px}.suggest-group{color:var(--text-3);padding:8px 8px 4px;font-size:11.5px;font-weight:650}.suggest-item{text-align:left;width:100%;color:var(--text);border-radius:7px;align-items:center;gap:10px;padding:5px 8px;font-size:13.5px;display:flex}.suggest-item.is-active{background:var(--surface-hover)}.suggest-icon{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-2);border-radius:7px;flex:none;place-items:center;font-size:15px;display:grid}.suggest-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.suggest-hint{color:var(--text-3);font-size:11.5px;font-family:var(--mono)}.suggest-avatar{border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.doc-popover{z-index:1200;background:var(--surface);border:1px solid var(--border);min-width:220px;max-width:320px;max-height:calc(100vh - 16px);box-shadow:var(--shadow-lg);border-radius:10px;padding:6px;position:fixed;overflow:auto}.popover-title{color:var(--text-2);padding:4px 8px 6px;font-size:12px;font-weight:700}.popover-label{color:var(--text-3);padding:6px 8px 4px;font-size:11.5px;font-weight:650}.doc-popover .menu-item{width:100%;color:var(--text);text-align:left;border-radius:7px;align-items:center;gap:9px;padding:6px 8px;font-size:13.5px;display:flex}.doc-popover .menu-item:hover:not(:disabled){background:var(--surface-hover)}.doc-popover .menu-item:disabled{opacity:.45;cursor:default}.doc-popover .menu-item.is-active{color:var(--accent-text);font-weight:600}.doc-popover .menu-item.is-danger{color:var(--danger)}.doc-popover .menu-item svg{color:var(--text-2);flex:none}.doc-popover .menu-item.is-danger svg{color:var(--danger)}.menu-hint{color:var(--text-3);margin-left:auto;font-size:11px}.doc-popover .menu-divider{background:var(--border);height:1px;margin:5px 4px}.turn-into-grid{grid-template-columns:1fr 1fr;gap:2px;margin-bottom:4px;display:grid}.turn-into-item{text-align:left;color:var(--text);border-radius:7px;align-items:center;gap:7px;min-width:0;padding:6px 8px;font-size:12.5px;display:flex}.turn-into-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.turn-into-item svg{color:var(--text-2);flex:none}.turn-into-item:hover{background:var(--surface-hover)}.turn-into-item.is-active{background:var(--accent-soft);color:var(--accent-text)}.block-menu{width:300px;max-width:300px}.color-row{grid-template-columns:repeat(5,1fr);gap:4px;padding:2px 6px 6px;display:grid}.swatch-text,.swatch-bg{border:1px solid var(--border);border-radius:7px;place-items:center;height:30px;display:grid}.swatch-text:hover,.swatch-bg:hover{border-color:var(--border-strong)}.swatch-text.is-selected,.swatch-bg.is-selected{box-shadow:0 0 0 2px var(--accent);border-color:#0000}.swatch-bg.is-none{background:linear-gradient(135deg, transparent 46%, var(--danger) 47%, var(--danger) 53%, transparent 54%), var(--surface)}.bubble-toolbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:50;border-radius:9px;align-items:center;gap:1px;padding:3px 4px;display:flex}.bubble-turn{height:28px;color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:3px;padding:0 8px;font-size:12.5px;font-weight:600;display:inline-flex}.bubble-turn:hover{background:var(--surface-hover)}.turn-menu{width:220px}.tb-add{height:28px;color:var(--accent-text);background:var(--accent-soft);border-radius:6px;align-items:center;gap:4px;padding:0 10px 0 8px;font-size:12.5px;font-weight:650;display:inline-flex}.tb-add:hover{filter:brightness(.97)}.doc-content .ProseMirror .callout{background:var(--dcb-gray);border-radius:8px;gap:10px;margin:.6em 0;padding:12px 16px 12px 12px;display:flex}.doc-content .ProseMirror .callout[data-color=gray]{background:var(--dcb-gray)}.doc-content .ProseMirror .callout[data-color=brown]{background:var(--dcb-brown)}.doc-content .ProseMirror .callout[data-color=orange]{background:var(--dcb-orange)}.doc-content .ProseMirror .callout[data-color=yellow]{background:var(--dcb-yellow)}.doc-content .ProseMirror .callout[data-color=green]{background:var(--dcb-green)}.doc-content .ProseMirror .callout[data-color=blue]{background:var(--dcb-blue)}.doc-content .ProseMirror .callout[data-color=purple]{background:var(--dcb-purple)}.doc-content .ProseMirror .callout[data-color=pink]{background:var(--dcb-pink)}.doc-content .ProseMirror .callout[data-color=red]{background:var(--dcb-red)}.callout-icon{flex:none;position:relative}.callout-emoji{border-radius:6px;place-items:center;width:28px;height:28px;font-size:19px;line-height:1;display:grid}button.callout-emoji:hover:not(:disabled){background:color-mix(in srgb, var(--text) 8%, transparent)}.callout-body{flex:1;min-width:0;padding-top:1px}.callout-body>*+*{margin-top:.4em}.callout-picker{z-index:30;background:var(--surface);border:1px solid var(--border);width:260px;box-shadow:var(--shadow-lg);border-radius:10px;padding:6px 8px 8px;position:absolute;top:32px;left:0}.callout-picker-label{color:var(--text-3);padding:4px 0;font-size:11.5px;font-weight:650}.callout-emojis{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.callout-emojis button{border-radius:6px;height:28px;font-size:17px}.callout-emojis button:hover,.callout-emojis button.is-selected{background:var(--surface-hover)}.callout-colors{grid-template-columns:repeat(9,1fr);gap:4px;display:grid}.callout-colors .swatch-bg{border-radius:50%;height:22px}.doc-content .ProseMirror .doc-toggle{align-items:flex-start;gap:4px;display:flex}.doc-content .ProseMirror .doc-toggle>button{width:24px;height:24px;color:var(--text-2);border-radius:5px;flex:none;place-items:center;margin-top:.2em;display:grid}.doc-content .ProseMirror .doc-toggle>button:before{content:"";border-top:4.5px solid #0000;border-bottom:4.5px solid #0000;border-left:6px solid;width:0;height:0;transition:transform .15s}.doc-content .ProseMirror .doc-toggle.is-open>button:before{transform:rotate(90deg)}.doc-content .ProseMirror .doc-toggle>button:hover{background:var(--surface-hover)}.doc-content .ProseMirror .doc-toggle>div{flex:1;min-width:0}.doc-content .ProseMirror .doc-toggle summary{cursor:text;font-weight:600;list-style:none;display:block}.doc-content .ProseMirror .doc-toggle summary::-webkit-details-marker{display:none}.doc-content .ProseMirror .doc-toggle [data-type=detailsContent]{margin-top:.3em}.doc-content .ProseMirror .doc-toggle [data-type=detailsContent]>*+*{margin-top:.45em}.doc-content .ProseMirror .doc-toggle summary.is-empty:before{content:attr(data-placeholder);color:var(--text-3);float:left;pointer-events:none;height:0}.doc-content .ProseMirror .doc-image{flex-direction:column;align-items:center;margin:.8em 0;display:flex}.doc-content .ProseMirror .doc-image[data-align=left]{align-items:flex-start}.doc-content .ProseMirror .doc-image[data-align=right]{align-items:flex-end}.doc-image-frame{max-width:100%;line-height:0;position:relative}.doc-image-frame img{border-radius:6px;width:100%;height:auto;display:block}.doc-image.is-selected .doc-image-frame img{outline:2px solid var(--accent);outline-offset:2px}.doc-image-handle{cursor:ew-resize;opacity:0;touch-action:none;background:#1414148c;border:1px solid #fffc;border-radius:4px;width:7px;height:46px;max-height:40%;margin-top:-23px;transition:opacity .12s;position:absolute;top:50%}.doc-image-handle.is-left{left:6px}.doc-image-handle.is-right{right:6px}.doc-image-bar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;border-radius:8px;align-items:center;gap:1px;padding:3px;line-height:normal;transition:opacity .12s;display:flex;position:absolute;top:8px;right:8px}.doc-image-frame:hover .doc-image-handle,.doc-image.is-selected .doc-image-handle,.doc-image-frame:hover .doc-image-bar,.doc-image.is-selected .doc-image-bar{opacity:1;pointer-events:auto}.doc-image-bar button,.doc-image-bar a{min-width:26px;height:26px;color:var(--text-2);border-radius:5px;place-items:center;padding:0 5px;font-size:11.5px;font-weight:600;display:grid}.doc-image-bar button:hover,.doc-image-bar a:hover{background:var(--surface-hover);color:var(--text)}.doc-image-bar button.is-active{color:var(--accent-text);background:var(--accent-soft)}.doc-image-bar .bar-sep{background:var(--border);width:1px;height:16px;margin:0 3px}.doc-image-caption{text-align:center;width:100%;max-width:100%;color:var(--text-2);background:0 0;border:0;outline:none;margin-top:6px;font-size:13px}.doc-image[data-align=left] .doc-image-caption{text-align:left}.doc-image[data-align=right] .doc-image-caption{text-align:right}.doc-image-broken{border:1px dashed var(--border-strong);min-height:90px;color:var(--text-3);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:13px;line-height:1.4;display:flex}.doc-content .ProseMirror .doc-embed{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;margin:.8em 0;overflow:hidden}.doc-embed.is-selected{outline:2px solid var(--accent);outline-offset:2px}.doc-embed-head{color:var(--text-2);cursor:grab;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:12.5px;display:flex}.doc-embed-provider{color:var(--text);flex:none;font-weight:700}.doc-embed-url{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.doc-embed-head a,.doc-embed-head button{width:24px;height:24px;color:var(--text-2);border-radius:5px;flex:none;place-items:center;display:grid}.doc-embed-head a:hover,.doc-embed-head button:hover{background:var(--surface-hover)}.doc-embed-frame{background:#000;position:relative}.doc-embed-frame.is-video{aspect-ratio:16/9}.doc-embed-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.doc-content .ProseMirror .doc-columns{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:24px;margin:.6em 0;display:grid}.doc-content .ProseMirror .doc-column{border-radius:6px;outline:1px dashed #0000;min-width:0;padding:2px 4px;transition:outline-color .12s}.doc-content .ProseMirror .doc-columns:hover>.doc-column{outline-color:var(--border)}.doc-content .ProseMirror .doc-column>*+*{margin-top:.55em}.doc-content .ProseMirror .doc-toc{background:var(--surface-2);border-radius:8px;margin:.8em 0;padding:10px 14px}.doc-toc.is-selected{outline:2px solid var(--accent);outline-offset:2px}.doc-toc-head{color:var(--text-3);cursor:grab;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:700;display:flex}.doc-toc ol{margin:0;padding:0;list-style:none}.doc-toc li button{color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;text-align:left;padding:1px 0;font-size:14px}.doc-toc li button:hover{color:var(--accent-text)}.doc-toc li button.toc-level-1{color:var(--text);font-weight:600}.doc-toc-empty{color:var(--text-3);font-size:13px}.doc-content .ProseMirror .doc-code{margin:.6em 0;position:relative}.doc-code-lang{z-index:1;color:#b9bfcc;opacity:0;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;height:24px;padding:0 4px;font-size:11.5px;transition:opacity .12s;position:absolute;top:6px;right:8px}.doc-code:hover .doc-code-lang,.doc-code-lang:focus{opacity:1}.doc-code-lang option{color:#1f2328}.doc-content .ProseMirror .doc-code pre{margin:0;padding-top:14px}.doc-content .hljs-comment,.doc-content .hljs-quote{color:#7f8796;font-style:italic}.doc-content .hljs-keyword,.doc-content .hljs-selector-tag,.doc-content .hljs-built_in,.doc-content .hljs-doctag{color:#c792ea}.doc-content .hljs-string,.doc-content .hljs-regexp,.doc-content .hljs-addition,.doc-content .hljs-meta .hljs-string{color:#c3e88d}.doc-content .hljs-number,.doc-content .hljs-literal,.doc-content .hljs-symbol,.doc-content .hljs-bullet{color:#f78c6c}.doc-content .hljs-title,.doc-content .hljs-section,.doc-content .hljs-title.function_{color:#82aaff}.doc-content .hljs-attr,.doc-content .hljs-attribute,.doc-content .hljs-variable,.doc-content .hljs-template-variable,.doc-content .hljs-property,.doc-content .hljs-type,.doc-content .hljs-class .hljs-title,.doc-content .hljs-title.class_{color:#ffcb6b}.doc-content .hljs-tag,.doc-content .hljs-name,.doc-content .hljs-selector-id,.doc-content .hljs-selector-class{color:#f07178}.doc-content .hljs-meta,.doc-content .hljs-deletion{color:#ff5370}.doc-content .hljs-emphasis{font-style:italic}.doc-content .hljs-strong{font-weight:700}.doc-content .ProseMirror [data-type=block-math]{margin:.8em 0}.doc-content .tiptap-mathematics-render{border-radius:6px}.doc-content .tiptap-mathematics-render--editable{cursor:pointer}.doc-content .tiptap-mathematics-render--editable:hover{background:var(--surface-hover)}.doc-content .block-math-inner{text-align:center;padding:8px 0;overflow-x:auto}.doc-content .block-math-error,.doc-content .inline-math-error{color:var(--danger);font-family:var(--mono);font-size:.9em}.doc-content .ProseMirror-selectednode.tiptap-mathematics-render,.doc-content .ProseMirror-selectednode .tiptap-mathematics-render{background:var(--accent-soft)}.doc-content .mention{white-space:nowrap;border-radius:5px;align-items:baseline;gap:3px;padding:0 4px;font-weight:550;display:inline-flex}.doc-content .mention-user,.doc-content .mention-date{color:var(--accent-text);background:var(--accent-soft)}.doc-content .mention-page{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;cursor:pointer}.doc-content .mention-page:hover{background:var(--surface-hover)}.doc-content .mention-page.is-missing{color:var(--text-3);cursor:default;text-decoration:line-through}.mention-emoji{font-size:.95em;text-decoration:none}.input.is-mono{font-family:var(--mono);font-size:13px}.prompt-hint{margin:6px 2px 0}@media print{.block-handle,.bubble-toolbar,.doc-image-bar,.doc-image-handle,.doc-code-lang,.doc-embed-head button{display:none!important}.doc-content .ProseMirror .doc-toggle [data-type=detailsContent][hidden]{display:block!important}}.doc-content .ProseMirror .is-block-target{background-color:color-mix(in srgb, var(--accent) 9%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 9%, transparent);border-radius:6px}.doc-scroll.is-paged{overflow-x:auto}.doc-stage.is-paged{margin:32px auto 96px;position:relative}.doc-page.is-paged{border:1px solid var(--border);transform-origin:0 0;box-sizing:border-box;border-radius:3px;max-width:none;margin:0;box-shadow:0 1px 2px #1018280f,0 8px 28px #1018281a}.doc-page.is-paged .doc-content .ProseMirror{font-size:var(--doc-font-size,15.5px);min-height:0}.doc-page.is-paged .doc-title-row{font-size:var(--doc-font-size,15.5px);margin-bottom:.9em}.doc-page.is-paged .doc-title{font-size:max(22px, calc(var(--doc-font-size,15.5px) * 1.9))}.doc-page.is-paged .doc-emoji{font-size:max(22px, calc(var(--doc-font-size,15.5px) * 1.9));width:1.6em;height:1.6em}.doc-page.is-paged .doc-content .ProseMirror{overflow-wrap:anywhere}.page-guides{pointer-events:none;position:absolute;inset:0}.page-guide{border-top:1px dashed color-mix(in srgb, var(--text-3) 55%, transparent);height:0;position:absolute;left:0;right:0}.page-guide.is-manual{border-top-color:var(--accent)}.page-guide span{background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);white-space:nowrap;border-radius:0 6px 6px 0;padding:1px 7px;font-size:11px;font-weight:650;position:absolute;top:-9px;right:-1px;transform:translate(100%)}.doc-content .ProseMirror .page-break{cursor:default;border:0;height:22px;margin:10px 0;position:relative}.doc-content .ProseMirror .page-break:before{content:"";border-top:2px dashed var(--border-strong);position:absolute;top:50%;left:0;right:0}.doc-content .ProseMirror .page-break:after{content:"페이지 나누기";background:var(--surface);color:var(--text-3);padding:0 10px;font-size:11.5px;font-weight:650;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.doc-content .ProseMirror .page-break.ProseMirror-selectednode:before{border-top-color:var(--accent)}.page-chip{border:1px solid var(--border);background:var(--surface);height:28px;color:var(--text-2);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:12.5px;font-weight:600;display:inline-flex}.page-chip:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.page-chip:disabled{cursor:default}.page-chip.is-paged{color:var(--text)}.page-chip-count{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.zoom-select{border:1px solid var(--border);background:var(--surface);height:28px;color:var(--text-2);border-radius:7px;padding:0 4px;font-size:12.5px}.page-setup{grid-template-columns:150px minmax(0,1fr) 250px;gap:16px;min-height:420px;display:grid}.ps-cats{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding-right:10px;display:flex}.ps-cat{color:var(--text-2);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;font-weight:600;display:flex}.ps-cat:hover{background:var(--surface-hover);color:var(--text)}.ps-cat.is-active{background:var(--accent-soft);color:var(--accent-text)}.ps-main{min-width:0;max-height:460px;overflow:auto}.ps-hint{color:var(--text-3);margin:2px 0 10px;font-size:12.5px}.ps-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.ps-card{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:10px 8px 9px;display:flex}.ps-card:hover{border-color:var(--border-strong)}.ps-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.ps-card b{color:var(--text);font-size:12.5px}.ps-card small{color:var(--text-3);font-size:11px}.ps-thumb{place-items:center;width:60px;height:60px;margin-bottom:4px;display:grid}.ps-thumb span{border:1.5px solid var(--text-3);background:var(--surface-2);border-radius:2px;display:block}.ps-card.is-selected .ps-thumb span{border-color:var(--accent);background:var(--accent-soft)}.ps-free{text-align:center;height:100%;min-height:260px;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.ps-free b{color:var(--text);font-size:15px}.ps-free p{max-width:340px;font-size:13px;line-height:1.6}.ps-side{border-left:1px solid var(--border);flex-direction:column;gap:10px;min-width:0;padding-left:16px;display:flex}.ps-preview{background:var(--surface-2);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:180px;display:flex}.ps-preview small{color:var(--text-3);font-size:11.5px}.ps-sheet{box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);border-radius:2px;flex-direction:column;gap:3px;display:flex;overflow:hidden}.ps-sheet.is-free{border-bottom-style:dashed;padding:10px;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.ps-sheet i{background:var(--border-strong);border-radius:2px;flex:none;height:3px;display:block}.ps-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ps-num{flex-direction:column;gap:4px;min-width:0;display:flex}.ps-num>span:first-child{color:var(--text-2);font-size:12px;font-weight:600}.ps-num-input{display:block;position:relative}.ps-num-input .input{width:100%;padding-right:34px}.ps-num-input em{color:var(--text-3);pointer-events:none;font-size:11.5px;font-style:normal;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.ps-num select.input{width:100%}.ps-orient{gap:4px;display:flex}.ps-orient button{border:1px solid var(--border);height:34px;color:var(--text-2);border-radius:8px;flex:1;place-items:center;display:grid}.ps-orient button.is-active{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.ps-summary{color:var(--text-3);margin-right:auto;font-size:12.5px}@media (width<=860px){.page-setup{grid-template-columns:1fr}.ps-cats{border-right:0;flex-flow:wrap;padding-right:0}.ps-side{border-left:0;padding-left:0}}.doc-content>div:not(.ProseMirror){bottom:0;right:0}
