:root{--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--bg: #f5f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--surface-raised: #ffffff;--canvas: #f7f8fb;--text: #172033;--text-soft: #5f6c80;--text-faint: #8792a4;--border: #dfe4ec;--border-strong: #cbd3df;--accent: #4d6fff;--accent-hover: #3e5ee6;--accent-soft: #edf1ff;--accent-ink: #2947b9;--accent-contrast: #ffffff;--danger: #d34252;--danger-soft: #fff0f2;--danger-contrast: #ffffff;--success: #25805c;--success-soft: #eaf8f1;--warning: #9a6a13;--warning-soft: #fff7df;--shadow-xs: 0 1px 2px rgba(25, 34, 51, .06);--shadow-sm: 0 4px 12px rgba(25, 34, 51, .08);--shadow-md: 0 12px 30px rgba(25, 34, 51, .12);--shadow-lg: 0 24px 60px rgba(25, 34, 51, .18);--radius-sm: 7px;--radius: 10px;--radius-lg: 16px;color:var(--text);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{--bg: #15171c;--surface: #1d2026;--surface-soft: #23272e;--surface-raised: #252930;--canvas: #191c21;--text: #e6e9ef;--text-soft: #a7afbd;--text-faint: #7d8797;--border: #303641;--border-strong: #414957;--accent: #7893ff;--accent-hover: #8da3ff;--accent-soft: #252e53;--accent-ink: #afbeff;--accent-contrast: #111827;--danger: #f07986;--danger-soft: #3b252b;--danger-contrast: #211014;--success: #68c69d;--success-soft: #1e362c;--warning: #efc267;--warning-soft: #3b3220;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .24);--shadow-sm: 0 5px 14px rgba(0, 0, 0, .28);--shadow-md: 0 14px 34px rgba(0, 0, 0, .34);--shadow-lg: 0 28px 70px rgba(0, 0, 0, .42)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,textarea,select{color:inherit;font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}.primary-button,.secondary-button,.danger-button,.ghost-button{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:13px;font-weight:650;gap:7px;justify-content:center;min-height:36px;padding:0 13px;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.primary-button{background:var(--accent);color:var(--accent-contrast)}.primary-button:hover{background:var(--accent-hover)}.primary-button:active,.secondary-button:active,.danger-button:active{transform:translateY(1px)}.secondary-button{background:var(--surface);border:1px solid var(--border);color:var(--text)}.secondary-button:hover{background:var(--surface-soft);border-color:var(--border-strong)}.danger-button{background:var(--danger);color:var(--danger-contrast)}.danger-button:hover{filter:brightness(.93)}.ghost-button{background:transparent;color:var(--text-soft)}.ghost-button:hover{background:var(--surface-soft);color:var(--text)}.compact{min-height:31px;padding:0 9px}.icon-button{align-items:center;background:transparent;border-radius:7px;color:var(--text-soft);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background .12s ease,color .12s ease;width:32px}.icon-button:hover,.icon-button.active{background:var(--surface-soft);color:var(--text)}label{color:var(--text-soft);display:grid;font-size:12px;font-weight:600;gap:6px}input,textarea,select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;min-height:38px;padding:8px 10px;transition:border-color .12s ease,box-shadow .12s ease}textarea{line-height:1.5;resize:vertical}input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);outline:0}input:disabled{background:var(--surface-soft);color:var(--text-faint)}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:28px}.brand{align-items:center;color:var(--text);display:inline-flex;font-size:15px;font-weight:750;gap:9px;letter-spacing:-.02em}.brand-mark{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:inline-flex;height:30px;justify-content:center;width:30px}.eyebrow{color:var(--accent-ink);display:block;font-size:11px;font-weight:750;letter-spacing:.1em;margin-bottom:9px;text-transform:uppercase}.theme-switch{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:inline-flex;gap:2px;padding:3px}.theme-switch button{align-items:center;background:transparent;border-radius:5px;color:var(--text-faint);cursor:pointer;display:flex;font-size:11px;gap:5px;height:27px;justify-content:center;padding:0 8px}.theme-switch button:hover{color:var(--text)}.theme-switch button.active{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text)}.auth-page{background:var(--surface);display:grid;grid-template-columns:minmax(430px,.95fr) minmax(480px,1.05fr);min-height:100vh}.auth-showcase{background:#20293b;color:#eef2f9;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:34px 42px;position:relative}:root[data-theme=dark] .auth-showcase{background:#121721}.auth-showcase .brand{color:#fff;position:relative;z-index:2}.auth-showcase .brand-mark{background:#7893ff}.showcase-copy{margin:auto 0;max-width:560px;position:relative;z-index:2}.showcase-kicker{color:#aebfff;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:16px;text-transform:uppercase}.showcase-copy h2{font-size:clamp(36px,4vw,56px);letter-spacing:-.045em;line-height:1.04;margin-bottom:20px}.showcase-copy>p{color:#b6c0d1;font-size:16px;line-height:1.65;max-width:500px}.showcase-features{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.showcase-features span{align-items:center;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#dce3ef;display:flex;font-size:12px;gap:7px;padding:8px 11px}.auth-map-art{height:190px;margin-top:24px;position:relative;z-index:2}.art-node{align-items:center;border-radius:11px;display:flex;font-size:12px;font-weight:650;height:54px;justify-content:center;position:absolute;width:128px;z-index:2}.art-node-a{background:#dbe8ff;color:#253f75;left:4%;top:64px}.art-node-b{background:#e8e0ff;color:#463170;left:39%;top:15px}.art-node-c{background:#dff5ea;color:#1d5c42;left:71%;top:91px}.art-line{background:#78869e;height:2px;position:absolute;transform-origin:left center;z-index:1}.art-line:after{border-bottom:4px solid transparent;border-left:7px solid #78869e;border-top:4px solid transparent;content:"";position:absolute;right:-1px;top:-3px}.art-line-a{left:calc(4% + 120px);top:77px;transform:rotate(-13deg);width:118px}.art-line-b{left:calc(39% + 120px);top:61px;transform:rotate(19deg);width:160px}.auth-panel{align-items:center;background:var(--surface);display:flex;justify-content:center;min-height:100vh;padding:80px 40px 50px;position:relative}.auth-top{align-items:center;display:flex;justify-content:space-between;left:30px;position:absolute;right:30px;top:24px}.auth-top .brand{display:none}.auth-form-card{max-width:520px;width:100%}.auth-form-head{margin-bottom:26px}.auth-form-head h1{font-size:31px;letter-spacing:-.035em;line-height:1.15;margin-bottom:10px}.auth-form-head p,.simple-auth-card>p{color:var(--text-soft);font-size:14px;line-height:1.55}.auth-form-card form,.simple-auth-card form,.settings-card form{display:grid;gap:15px}.field-grid{display:grid;gap:13px;grid-template-columns:1fr 1fr}.password-input{display:grid;position:relative}.password-input input{padding-right:42px}.password-input button{align-items:center;background:transparent;color:var(--text-faint);cursor:pointer;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;width:38px}.form-row{align-items:center;display:flex;font-size:12px;justify-content:space-between}.check-label{align-items:center;display:flex;font-size:12px;gap:8px}.check-label input{accent-color:var(--accent);min-height:0;width:15px}.auth-submit{margin-top:2px;min-height:42px;width:100%}.auth-switch{color:var(--text-soft);font-size:13px;margin:22px 0 0;text-align:center}.field-error{color:var(--danger);font-size:11px;font-weight:500}.form-alert{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius-sm);color:var(--danger);font-size:12px;line-height:1.45;padding:10px 12px}.password-hint{color:var(--text-faint);font-size:11px;margin:-5px 0 0}.simple-auth-page{min-height:100vh;padding:24px}.simple-auth-page>header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1120px}.simple-auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:12vh auto 0;max-width:440px;padding:32px}.simple-auth-card h1{letter-spacing:-.03em}.simple-auth-card .primary-button{width:100%}.back-link{align-items:center;display:flex;font-size:12px;gap:6px;margin-top:20px}.success-icon{color:var(--success);margin-bottom:14px}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;padding:18px 13px;position:sticky;top:0}.sidebar-head{padding:2px 8px 24px}.app-sidebar nav{display:grid;gap:4px}.app-sidebar nav a{align-items:center;border-radius:8px;color:var(--text-soft);display:flex;font-size:13px;font-weight:600;gap:10px;padding:10px 11px}.app-sidebar nav a:hover{background:var(--surface-soft);color:var(--text)}.app-sidebar nav a.active{background:var(--accent-soft);color:var(--accent-ink)}.sidebar-footer{border-top:1px solid var(--border);display:grid;gap:12px;margin-top:auto;padding:15px 7px 2px}.sidebar-footer>.theme-switch{justify-self:start}.user-chip{align-items:center;display:flex;gap:9px;min-width:0}.avatar{align-items:center;background:var(--accent-soft);border-radius:8px;color:var(--accent-ink);display:flex;flex:0 0 auto;font-size:12px;font-weight:750;height:32px;justify-content:center;width:32px}.user-chip>span:last-child{display:grid;min-width:0}.user-chip strong,.user-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{font-size:12px}.user-chip small{color:var(--text-faint);font-size:10px}.sidebar-logout{justify-content:flex-start;padding-left:8px}.app-main{min-width:0}.dashboard-page,.profile-page{margin:0 auto;max-width:1440px;padding:38px 42px 64px}.page-header{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:28px}.page-header h1{font-size:29px;letter-spacing:-.035em;line-height:1.1;margin-bottom:7px}.page-header p{color:var(--text-soft);font-size:13px;margin-bottom:0}.header-actions{display:flex;gap:8px}.project-controls{align-items:center;display:flex;gap:9px;margin-bottom:19px}.search-box{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;flex:0 1 360px;gap:8px;padding-left:11px}.search-box svg{color:var(--text-faint)}.search-box input{background:transparent;border:0;box-shadow:none;flex:1;min-width:0;padding-left:0}.project-count{color:var(--text-faint);font-size:11px;margin-left:2px}.select-control{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;gap:5px;margin-left:auto;padding:0 8px}.select-control select{background:transparent;background-image:none;border:0;box-shadow:none;font-size:12px;min-height:36px;padding:0 4px}.select-control>svg{color:var(--text-faint)}.view-switch{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;padding:3px}.view-switch button{align-items:center;background:transparent;border-radius:5px;color:var(--text-faint);cursor:pointer;display:flex;height:28px;justify-content:center;width:30px}.view-switch button.active{background:var(--surface-soft);color:var(--text)}.project-collection{display:grid;gap:14px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;overflow:visible;transition:border-color .13s ease,box-shadow .13s ease,transform .13s ease}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.project-preview{background:var(--canvas);border-bottom:1px solid var(--border);border-radius:11px 11px 0 0;display:block;height:148px;overflow:hidden;position:relative}.project-preview img{height:100%;object-fit:cover;width:100%}.preview-canvas{height:100%;position:relative}.preview-canvas:before{background-image:radial-gradient(circle,var(--border-strong) 1px,transparent 1px);background-size:14px 14px;content:"";inset:0;opacity:.45;position:absolute}.preview-node{border:1px solid;border-radius:5px;height:27px;position:absolute;width:60px;z-index:2}.pn-a{background:#e4edff;border-color:#8ca9ee;left:12%;top:42%}.pn-b{background:#eee8ff;border-color:#a194d9;left:42%;top:22%}.pn-c{background:#e2f5eb;border-color:#76b996;left:70%;top:54%}.preview-link{background:#95a1b3;height:1px;position:absolute;transform-origin:left;z-index:1}.pl-a{left:30%;top:50%;transform:rotate(-17deg);width:18%}.pl-b{left:58%;top:38%;transform:rotate(23deg);width:17%}.project-card-body{padding:13px 14px 14px}.project-card-title{align-items:center;display:flex;gap:6px;justify-content:space-between}.project-card-title>a{color:var(--text);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-body>p{color:var(--text-soft);font-size:11px;height:17px;margin:4px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-body>span{align-items:center;color:var(--text-faint);display:flex;font-size:10px;gap:5px}.action-menu,.editor-menu{position:relative}.action-menu summary,.editor-menu summary{list-style:none}.action-menu summary::-webkit-details-marker,.editor-menu summary::-webkit-details-marker{display:none}.action-menu summary{align-items:center;border-radius:6px;color:var(--text-faint);cursor:pointer;display:flex;height:26px;justify-content:center;width:26px}.action-menu summary:hover,.action-menu[open] summary{background:var(--surface-soft);color:var(--text)}.action-menu>div,.editor-menu>div{background:var(--surface-raised);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-md);display:grid;min-width:174px;padding:5px;position:absolute;right:0;top:calc(100% + 5px);z-index:30}.action-menu button,.editor-menu>div button{align-items:center;background:transparent;border-radius:6px;color:var(--text-soft);cursor:pointer;display:flex;font-size:11px;gap:8px;min-height:31px;padding:0 8px;text-align:left}.action-menu button:hover,.editor-menu>div button:hover{background:var(--surface-soft);color:var(--text)}.action-menu hr,.editor-menu hr,.editor-context-menu hr{border:0;border-top:1px solid var(--border);margin:4px 2px}.danger-text{color:var(--danger)!important}.project-list{gap:8px}.project-list .project-card{align-items:center;display:grid;grid-template-columns:128px minmax(0,1fr)}.project-list .project-preview{border-bottom:0;border-radius:11px 0 0 11px;border-right:1px solid var(--border);height:86px}.project-list .project-card-body{padding:11px 15px}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:22px}.pagination span{color:var(--text-faint);font-size:10px}.empty-state{align-items:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:13px;color:var(--text-faint);display:flex;flex-direction:column;min-height:330px;padding:50px 24px;text-align:center}.empty-state h2{color:var(--text);font-size:16px;margin:14px 0 7px}.empty-state p{color:var(--text-soft);font-size:12px;margin-bottom:18px}.skeleton-card{overflow:hidden}.skeleton-block,.skeleton-lines i{animation:skeleton 1.4s ease-in-out infinite;background:var(--surface-soft)}.skeleton-block{height:148px}.skeleton-lines{display:grid;gap:9px;padding:15px}.skeleton-lines i{border-radius:3px;height:10px}.skeleton-lines i:last-child{width:58%}@keyframes skeleton{50%{opacity:.5}}.template-grid{border:0;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin:22px 0 0;padding:0}.template-grid legend{color:var(--text);font-size:12px;font-weight:700;margin-bottom:10px}.template-grid label{align-items:flex-start;border:1px solid var(--border);border-radius:9px;cursor:pointer;display:flex;gap:10px;min-height:68px;padding:11px}.template-grid label:hover,.template-grid label.selected{background:var(--accent-soft);border-color:var(--accent)}.template-grid input{display:none}.template-grid label>svg{color:var(--accent-ink);flex:0 0 auto;margin-top:2px}.template-grid label span{display:grid;gap:3px}.template-grid strong{color:var(--text);font-size:11px}.template-grid small{color:var(--text-faint);font-size:10px;font-weight:450;line-height:1.35}.modal-backdrop,.command-backdrop{align-items:center;background:#0e121b7a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);max-height:min(720px,calc(100vh - 40px));max-width:480px;overflow:auto;width:100%}.modal-wide{max-width:720px}.modal-card>header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 20px 15px}.modal-card>header h2{font-size:16px;letter-spacing:-.02em;margin-bottom:4px}.modal-card>header p{color:var(--text-soft);font-size:11px;line-height:1.45;margin-bottom:0}.modal-body{padding:20px}.modal-card>footer{align-items:center;background:var(--surface-soft);border-radius:0 0 14px 14px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:11px 15px}.toast-region{bottom:20px;display:grid;gap:8px;max-width:380px;position:fixed;right:20px;z-index:2000}.toast{align-items:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-md);display:grid;font-size:12px;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;padding:11px 12px}.toast-success>svg{color:var(--success)}.toast-error>svg{color:var(--danger)}.toast button{background:transparent;color:var(--text-faint);cursor:pointer;display:flex;padding:2px}.settings-grid{display:grid;gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:19px}.settings-card>header{align-items:flex-start;display:flex;gap:10px;margin-bottom:18px}.settings-icon{align-items:center;background:var(--accent-soft);border-radius:8px;color:var(--accent-ink);display:flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.settings-card header h2{font-size:14px;margin:1px 0 3px}.settings-card header p{color:var(--text-soft);font-size:10px;margin:0}.settings-card form .primary-button,.settings-card form .secondary-button{justify-self:start}.settings-card label small{color:var(--text-faint);font-size:10px;font-weight:450}.sessions-card{grid-row:span 2}.session-list{display:grid;gap:7px;margin-bottom:14px}.session-item{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.session-item>svg{color:var(--text-faint)}.session-item>span{display:grid;min-width:0}.session-item strong{font-size:11px}.session-item small{color:var(--text-faint);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item em{background:var(--success-soft);border-radius:999px;color:var(--success);font-size:9px;font-style:normal;font-weight:700;padding:4px 7px}.danger-zone{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.danger-zone .settings-icon{background:var(--danger-soft);color:var(--danger)}.app-loader{align-items:center;background:var(--bg);display:flex;flex-direction:column;gap:13px;justify-content:center;min-height:100vh}.app-loader span{animation:loader .75s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:24px;width:24px}.app-loader p{color:var(--text-soft);font-size:11px;margin:0}@keyframes loader{to{transform:rotate(360deg)}}.error-page,.editor-error-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:28px;position:relative;text-align:center}.error-page>.brand{left:28px;position:absolute;top:24px}.error-page main,.editor-error-page>div{max-width:480px}.error-icon,.editor-error-page svg{color:var(--accent);margin-bottom:16px}.error-page main>span{color:var(--accent-ink);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.error-page h1,.editor-error-page h1{font-size:28px;letter-spacing:-.04em;margin:9px 0}.error-page p,.editor-error-page p{color:var(--text-soft);font-size:13px;line-height:1.6;margin-bottom:20px}.editor-page{background:var(--canvas);height:100vh;overflow:hidden}.editor-topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:grid;gap:14px;grid-template-columns:minmax(280px,1fr) auto minmax(280px,1fr);height:52px;padding:0 10px;position:relative;z-index:100}.editor-brand-zone,.editor-primary-tools,.editor-actions{align-items:center;display:flex;min-width:0}.editor-brand-zone{gap:5px}.editor-brand-zone>.brand{margin:0 5px}.editor-brand-zone .brand-mark{border-radius:7px;height:27px;width:27px}.breadcrumb-divider{color:var(--border-strong);margin:0 2px}.project-title-input{background:transparent;border-color:transparent;box-shadow:none;font-size:12px;font-weight:650;max-width:230px;min-height:30px;min-width:80px;overflow:hidden;padding:5px 7px;text-overflow:ellipsis}.project-title-input:hover{background:var(--surface-soft);border-color:var(--border)}.editor-primary-tools{gap:3px;justify-content:center}.toolbar-separator{background:var(--border);height:20px;margin:0 4px;width:1px}.command-trigger{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;color:var(--text-faint);cursor:pointer;display:flex;font-size:11px;gap:7px;height:31px;padding:0 7px 0 9px;width:190px}.command-trigger:hover{border-color:var(--border-strong);color:var(--text-soft)}.command-trigger span{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}kbd{background:var(--surface);border:1px solid var(--border);border-bottom-color:var(--border-strong);border-radius:4px;color:var(--text-faint);font-family:var(--font-sans);font-size:9px;padding:2px 4px}.editor-actions{gap:3px;justify-content:flex-end}.editor-actions .theme-switch{border:0;margin-left:2px}.editor-actions .theme-switch button{height:25px;padding:0 6px}.editor-menu>div{top:calc(100% + 8px)}.sync-icon,.sync-warning{align-items:center;color:var(--text-faint);display:inline-flex;font-size:9px;gap:4px;margin-left:3px;white-space:nowrap}.sync-icon.saving svg{animation:loader .8s linear infinite}.sync-warning{background:var(--warning-soft);border-radius:5px;color:var(--warning);padding:4px 6px}button.sync-warning{border:0;cursor:pointer}.sync-warning.error{background:var(--danger-soft);color:var(--danger)}.mobile-editor-note{display:none}.editor-body{display:flex;height:calc(100vh - 52px);min-height:0;position:relative}.flow-wrapper{flex:1;min-width:0;overflow:hidden;position:relative}.flow-wrapper .react-flow{background:var(--canvas)}.editor-side-panel{background:var(--surface);border-color:var(--border);display:flex;flex:0 0 auto;flex-direction:column;height:100%;position:relative;z-index:20}.shape-panel{border-right:1px solid var(--border);width:216px}.properties-panel{border-left:1px solid var(--border);width:292px}.editor-side-panel>header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex:0 0 auto;height:55px;justify-content:space-between;padding:0 11px 0 14px}.properties-panel>header{justify-content:flex-start}.editor-side-panel>header>div{display:grid;gap:2px}.editor-side-panel>header strong{font-size:12px}.editor-side-panel>header small{color:var(--text-faint);font-size:9px}.shape-scroll,.properties-scroll{flex:1;min-height:0;overflow:auto;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.shape-scroll{padding:11px}.shape-scroll section+section{border-top:1px solid var(--border);margin-top:13px;padding-top:11px}.shape-scroll h3,.properties-scroll h3{color:var(--text-faint);font-size:9px;font-weight:750;letter-spacing:.07em;margin:0 0 8px;text-transform:uppercase}.shape-grid{display:grid;gap:5px;grid-template-columns:1fr 1fr}.shape-grid button{align-items:center;background:var(--surface);border:1px solid transparent;border-radius:7px;color:var(--text-soft);cursor:grab;display:flex;flex-direction:column;font-size:9px;gap:5px;height:55px;justify-content:center;padding:5px}.shape-grid button:hover{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.shape-grid button:active{cursor:grabbing}.shape-tip{align-items:flex-start;background:var(--surface-soft);border-radius:7px;color:var(--text-faint);display:flex;font-size:9px;gap:6px;line-height:1.4;margin-top:13px;padding:8px}.shape-tip svg{flex:0 0 auto;margin-top:2px}.collapsed-panel-button{align-items:center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text-soft);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;top:13px;width:36px;z-index:25}.shape-collapsed{border-radius:0 8px 8px 0;left:0}.properties-collapsed{border-radius:8px 0 0 8px;right:0}.properties-scroll section{border-bottom:1px solid var(--border);display:grid;gap:10px;padding:13px 14px}.properties-scroll section:last-child{border-bottom:0}.properties-scroll label{font-size:10px;gap:5px}.properties-scroll input,.properties-scroll textarea,.properties-scroll select{font-size:11px;min-height:31px;padding:6px 8px}.code-textarea{font-family:var(--font-mono)}.properties-empty{align-items:center;color:var(--text-faint);display:flex;flex:1;flex-direction:column;justify-content:center;padding:24px;text-align:center}.properties-empty p,.panel-note{color:var(--text-faint);font-size:10px;line-height:1.5;margin:9px 0 0}.color-control>span:last-child{display:grid;grid-template-columns:30px minmax(0,1fr)}.color-control input[type=color]{border-radius:6px 0 0 6px;height:31px;min-height:31px;padding:3px;width:31px}.color-control input:last-child{border-left:0;border-radius:0 6px 6px 0;min-width:0}.number-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}.number-control{display:grid}.segmented-row{background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;display:flex;padding:2px}.segmented-row button{background:transparent;border-radius:5px;color:var(--text-faint);cursor:pointer;flex:1;font-size:9px;height:25px}.segmented-row button.active{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text)}.property-actions{gap:4px!important}.property-actions button{align-items:center;background:transparent;border-radius:6px;color:var(--text-soft);cursor:pointer;display:flex;font-size:10px;gap:8px;min-height:30px;padding:0 7px}.property-actions button:hover{background:var(--surface-soft);color:var(--text)}.panels-hidden .collapsed-panel-button{display:none}.editor-page.read-only .properties-panel input,.editor-page.read-only .properties-panel textarea,.editor-page.read-only .properties-panel select,.editor-page.read-only .properties-panel button:not(.icon-button),.editor-page.read-only .shape-grid{opacity:.5;pointer-events:none}.react-flow__node-mindNode{border:0;padding:0}.mind-node{align-items:center;background:var(--node-bg);border-color:var(--node-border);border-radius:var(--node-radius);border-style:inherit;border-width:var(--node-border-width);color:var(--node-color);display:flex;height:100%;min-height:30px;opacity:var(--node-opacity);overflow:hidden;padding:var(--node-padding);position:relative;width:100%}.mind-node.shadow-sm{box-shadow:0 2px 7px #1c26361a}.mind-node.shadow-md{box-shadow:0 7px 16px #1c263624}.mind-node.shadow-lg{box-shadow:0 13px 26px #1c263633}.mind-node.is-selected{box-shadow:0 0 0 2px var(--accent),0 7px 18px #1c263624}.mind-node.is-locked{cursor:not-allowed}.mind-node.node-circle,.mind-node.node-ellipse{border-radius:999px!important;justify-content:center}.mind-node.node-diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);padding-left:20%;padding-right:20%}.mind-node.node-hexagon{clip-path:polygon(24% 0,76% 0,100% 50%,76% 100%,24% 100%,0 50%);padding-left:15%;padding-right:15%}.mind-node.node-note:after{border-bottom:15px solid transparent;border-left:15px solid color-mix(in srgb,var(--node-border) 50%,#fff);content:"";position:absolute;right:0;top:0}.mind-node.node-text,.mind-node.node-title{border-color:transparent!important;box-shadow:none;overflow:visible}.mind-node.node-text.is-selected,.mind-node.node-title.is-selected{box-shadow:0 0 0 1px var(--accent)}.mind-node.node-group{align-items:flex-start;overflow:visible}.mind-node.node-group .node-content{position:absolute;top:10px}.mind-node.node-code{align-items:stretch;display:flex;flex-direction:column;padding:12px}.node-content{align-items:flex-start;display:flex;gap:9px;min-width:0;width:100%}.node-icon{color:var(--node-icon);flex:0 0 auto;margin-top:1px}.node-copy{display:grid;gap:4px;min-width:0;width:100%}.node-copy strong{font-size:var(--node-font-size);line-height:1.25;overflow-wrap:anywhere}.node-copy p{font-size:max(10px,calc(var(--node-font-size) - 2px));line-height:1.35;margin:0;opacity:.78;overflow-wrap:anywhere;white-space:pre-wrap}.node-copy small{font-size:max(9px,calc(var(--node-font-size) - 3px));opacity:.6}.node-title-editor{width:100%}.node-title-editor input{background:color-mix(in srgb,var(--node-bg) 80%,var(--surface));border-color:var(--accent);color:var(--node-color);font-size:var(--node-font-size);font-weight:inherit;min-height:30px;width:100%}.node-tags{bottom:6px;display:flex;gap:3px;left:var(--node-padding);max-width:calc(100% - var(--node-padding) * 2);overflow:hidden;position:absolute}.node-tags span{background:color-mix(in srgb,var(--node-color) 9%,transparent);border-radius:999px;font-size:8px;max-width:80px;overflow:hidden;padding:2px 5px;text-overflow:ellipsis;white-space:nowrap}.node-lock{opacity:.55;position:absolute;right:7px;top:7px}.code-node-body{flex:1;font-size:10px;min-height:0;overflow:auto;padding-top:8px;width:100%}.code-node-meta{align-items:center;border-bottom:1px solid rgba(255,255,255,.12);color:#91a0b5;display:flex;font-family:var(--font-mono);font-size:8px;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.code-node-meta button{background:transparent;color:#a8b6cb;cursor:pointer;font-size:8px;padding:2px 4px}.highlighted-code{color:#d7deea;font-family:var(--font-mono);font-size:10px;line-height:1.45;margin:0;overflow:visible;white-space:pre-wrap}.code-keyword{color:#c5a7ff}.code-string{color:#a8d58f}.code-number{color:#e8bd77}.code-comment{color:#738198;font-style:italic}.mind-handle{background:var(--surface);border:2px solid var(--accent);height:9px;opacity:0;transition:opacity .1s ease;width:9px}.react-flow__node:hover .mind-handle,.react-flow__node.selected .mind-handle{opacity:1}.node-resizer-line{border-color:var(--accent)!important}.node-resizer-handle{background:var(--surface)!important;border:1.5px solid var(--accent)!important;border-radius:2px!important;height:8px!important;width:8px!important}.node-quick-toolbar{background:var(--surface-raised);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow-sm);display:flex;gap:2px;padding:3px}.node-quick-toolbar button{align-items:center;background:transparent;border-radius:4px;color:var(--text-soft);cursor:pointer;display:flex;height:24px;justify-content:center;width:26px}.node-quick-toolbar button:hover{background:var(--surface-soft);color:var(--text)}.react-flow__edge-path{transition:stroke .1s ease,stroke-width .1s ease}.react-flow__edge.selected .react-flow__edge-path{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--accent) 45%,transparent));stroke:var(--accent)!important}.react-flow__edge-text{fill:var(--text)!important;font-family:var(--font-sans);font-size:10px}.react-flow__edge-textbg{fill:var(--surface)!important}.react-flow__background pattern circle,.react-flow__background pattern path{fill:var(--border-strong);stroke:var(--border-strong)}.mind-minimap{background:color-mix(in srgb,var(--surface) 92%,transparent)!important;border:1px solid var(--border);border-radius:8px;bottom:52px!important;box-shadow:var(--shadow-sm);height:92px!important;right:11px!important;width:142px!important}.zoom-controls{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;bottom:12px;box-shadow:var(--shadow-sm);display:flex;left:12px;padding:3px;position:absolute;z-index:15}.zoom-controls button{align-items:center;background:transparent;border-radius:5px;color:var(--text-soft);cursor:pointer;display:flex;height:28px;justify-content:center;width:29px}.zoom-controls button:hover,.zoom-controls button.active{background:var(--surface-soft);color:var(--text)}.zoom-controls span{color:var(--text-faint);font-size:9px;text-align:center;width:39px}.alignment-guide{background:#eb4f9a;pointer-events:none;position:absolute;z-index:12}.alignment-guide.vertical{bottom:0;top:0;width:1px}.alignment-guide.horizontal{height:1px;left:0;right:0}.editor-context-menu{background:var(--surface-raised);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-md);display:grid;min-width:195px;padding:5px;position:fixed;z-index:200}.editor-context-menu button{align-items:center;background:transparent;border-radius:6px;color:var(--text-soft);cursor:pointer;display:flex;font-size:11px;gap:8px;min-height:31px;padding:0 8px}.editor-context-menu button:hover{background:var(--surface-soft);color:var(--text)}.command-backdrop{align-items:flex-start;padding-top:min(15vh,130px)}.command-palette{background:var(--surface-raised);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-lg);max-width:620px;overflow:hidden;width:100%}.command-search{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:9px;padding:10px 13px}.command-search>svg{color:var(--text-faint)}.command-search input{background:transparent;border:0;box-shadow:none;flex:1;font-size:14px;min-height:36px}.command-search button{background:transparent;color:var(--text-faint);cursor:pointer}.command-results{max-height:410px;overflow:auto;padding:6px}.command-results>button{align-items:center;background:transparent;border-radius:8px;color:var(--text);cursor:pointer;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;min-height:46px;padding:5px 8px;text-align:left;width:100%}.command-results>button:hover,.command-results>button.active{background:var(--accent-soft)}.command-result-icon{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;color:var(--text-faint);display:flex;height:28px;justify-content:center;width:28px}.command-results>button>span:nth-child(2){display:grid;gap:2px;min-width:0}.command-results strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-results small{color:var(--text-faint);font-size:9px}.command-empty{color:var(--text-faint);font-size:11px;padding:35px;text-align:center}.command-palette>footer{background:var(--surface-soft);border-top:1px solid var(--border);color:var(--text-faint);display:flex;font-size:9px;gap:14px;padding:8px 12px}.command-palette>footer span{align-items:center;display:flex;gap:5px}.snapshot-list{display:grid;gap:7px}.snapshot-list>div{align-items:center;border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:9px}.snapshot-list>div>span:nth-child(2){display:grid}.snapshot-list strong{font-size:11px}.snapshot-list small{color:var(--text-faint);font-size:9px}.snapshot-reason{background:var(--accent-soft);border-radius:999px;color:var(--accent-ink);font-size:8px;padding:4px 6px}@media(max-width:1100px){.auth-page{grid-template-columns:minmax(370px,.8fr) minmax(440px,1.2fr)}.auth-showcase{padding:30px}.showcase-copy h2{font-size:39px}.editor-topbar{grid-template-columns:minmax(250px,1fr) auto}.editor-primary-tools{display:none}.shape-panel{width:190px}.properties-panel{width:265px}}@media(max-width:900px){.app-shell{grid-template-columns:68px minmax(0,1fr)}.app-sidebar{align-items:center;padding:16px 8px}.app-sidebar .brand>span:last-child,.app-sidebar nav a:not(.active):after,.app-sidebar nav a{font-size:0}.app-sidebar nav a{justify-content:center;padding:11px}.sidebar-head{padding:2px 0 20px}.user-chip>span:last-child,.sidebar-logout{display:none}.sidebar-footer{justify-items:center;padding-left:0;padding-right:0}.dashboard-page,.profile-page{padding:30px 25px 50px}.settings-grid{grid-template-columns:1fr}.sessions-card{grid-row:auto}.editor-side-panel{bottom:0;box-shadow:var(--shadow-md);position:absolute;top:0}.shape-panel{left:0}.properties-panel{right:0}}@media(max-width:760px){.auth-page{display:block}.auth-showcase{display:none}.auth-panel{padding:86px 22px 40px}.auth-top .brand{display:inline-flex}.page-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1}.project-controls{flex-wrap:wrap}.search-box{flex-basis:calc(100% - 80px)}.project-count{display:none}.select-control{margin-left:0}.project-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.editor-topbar{grid-template-columns:minmax(0,1fr) auto}.editor-brand-zone>.brand,.breadcrumb-divider,.editor-actions>.theme-switch,.editor-actions>.icon-button:nth-of-type(3),.editor-actions>.icon-button:nth-of-type(4){display:none}.project-title-input{max-width:180px}.editor-menu summary{font-size:0;gap:0;width:32px}.editor-menu summary svg:last-child{display:none}.mobile-editor-note{align-items:center;background:var(--warning-soft);color:var(--warning);display:flex;font-size:9px;gap:6px;height:26px;justify-content:center}.editor-body{height:calc(100vh - 78px)}}@media(max-width:560px){.app-shell{display:block;padding-bottom:62px}.app-sidebar{align-items:center;border-right:0;border-top:1px solid var(--border);display:flex;flex-direction:row;height:62px;justify-content:center;inset:auto 0 0;padding:7px 10px;position:fixed;z-index:100}.sidebar-head,.sidebar-footer{display:none}.app-sidebar nav{display:flex;justify-content:space-around;width:100%}.app-sidebar nav a,.app-sidebar nav a.active{background:transparent;display:grid;font-size:9px;gap:2px;justify-items:center;min-width:75px;padding:5px}.dashboard-page,.profile-page{padding:24px 16px 34px}.page-header h1{font-size:25px}.field-grid,.template-grid,.project-grid{grid-template-columns:1fr}.project-list .project-card{grid-template-columns:92px minmax(0,1fr)}.project-list .project-preview{height:92px}.select-control{max-width:calc(100% - 76px)}.select-control select{max-width:190px}.modal-backdrop{align-items:flex-end;padding:0}.modal-card,.modal-wide{border-radius:15px 15px 0 0;max-height:90vh;max-width:none}.editor-actions>.icon-button,.sync-icon{display:none}.editor-actions>.editor-menu,.editor-actions>.icon-button:first-child{display:block}.project-title-input{max-width:130px}.shape-panel{width:min(230px,85vw)}.properties-panel{width:min(300px,90vw)}.mind-minimap{display:none}}body{font-size:15px}.primary-button,.secondary-button,.danger-button,.ghost-button,input,textarea,select,label,.theme-switch button,.form-row,.check-label,.auth-switch,.form-alert,.back-link,.app-sidebar nav a,.page-header p,.select-control select,.project-card-title>a,.project-card-body>p,.action-menu button,.editor-menu>div button,.empty-state p,.modal-card>header p,.toast,.settings-card header h2,.session-item strong,.error-page p,.editor-error-page p,.project-title-input,.editor-side-panel>header strong,.properties-scroll input,.properties-scroll textarea,.properties-scroll select,.editor-context-menu button,.command-results strong,.snapshot-list strong{font-size:14px}.eyebrow,.showcase-kicker,.showcase-features span,.art-node,.field-error,.password-hint,.user-chip small,.project-count,.project-card-body>span,.pagination span,.settings-card header p,.settings-card label small,.session-item small,.session-item em,.app-loader p,.error-page main>span,.command-trigger,.sync-icon,.sync-warning,.editor-side-panel>header small,.shape-scroll h3,.properties-scroll h3,.shape-grid button,.shape-tip,.properties-scroll label,.properties-empty p,.panel-note,.segmented-row button,.property-actions button,.zoom-controls span,.command-results small,.command-empty,.command-palette>footer,.snapshot-list small,.mobile-editor-note{font-size:13px}.template-grid legend{font-size:15px}.template-grid label{min-height:78px;padding:14px}.template-grid strong{font-size:14px}.template-grid small{color:var(--text-soft);font-size:13px;line-height:1.45}.primary-button,.secondary-button,.danger-button,.ghost-button{min-height:40px;padding-left:15px;padding-right:15px}input,textarea,select{min-height:42px}.node-copy p,.node-copy small,.node-tags span,.code-node-body,.code-node-meta,.code-node-meta button,.highlighted-code,.react-flow__edge-text,.snapshot-reason,kbd{font-size:12px}@media(max-width:560px){.app-sidebar nav a,.app-sidebar nav a.active{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
