:root{--bg: #1f1f1f;--panel: #181818;--panel-2: #202020;--border: #2b2b2b;--hover: #2a2d2e;--active: #37373d;--fg: #cccccc;--fg-strong: #e8e8e8;--dim: #8c8c8c;--accent: #4fa287;--accent-bright: #6cc2a5;--attention: #d9a441;--error: #f14c4c;--serif: "Iowan Old Style", "Palatino", Georgia, serif;--mono: "SF Mono", ui-monospace, Menlo, monospace;--ab-w: 48px;--sb-w: 260px;--chat-w: 340px;--status-h: 22px;--tab-h: 35px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,SF Pro Text,system-ui,sans-serif;font-size:13px;line-height:1.5;overflow:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer;background:none;border:none;color:inherit;padding:0}button:disabled{cursor:default;opacity:.45}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--fg)}::placeholder{color:#6a6a6a}.wb{display:flex;flex-direction:column;height:100vh}.electron .wb{padding-top:30px}.electron .wb:before{content:"Celiador";position:fixed;top:0;left:0;right:0;height:30px;background:var(--panel);border-bottom:1px solid var(--border);-webkit-app-region:drag;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--dim);z-index:15}.wb-row{display:flex;flex:1;min-height:0}.wb-center{flex:1;display:flex;flex-direction:column;min-width:0}.activitybar{width:var(--ab-w);background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding-top:4px;flex-shrink:0}.ab-item{position:relative;width:var(--ab-w);height:44px;display:flex;align-items:center;justify-content:center;color:#7a7a7a;border-left:2px solid transparent}.ab-item:hover{color:var(--fg-strong)}.ab-item.active{color:var(--fg-strong);border-left-color:var(--accent)}.ab-badge{position:absolute;right:8px;bottom:6px;background:var(--attention);color:#1f1f1f;font-size:9px;font-weight:700;min-width:15px;height:15px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.ab-spacer{flex:1}.ab-wordmark{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--accent);padding:12px 0}.sidebar{width:var(--sb-w);background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-height:0}.sb-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.sb-action{font-size:15px;color:var(--dim);padding:0 4px}.sb-action:hover{color:var(--fg-strong)}.sb-scroll{flex:1;overflow-y:auto;padding-bottom:8px}.sb-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:4px 16px;height:26px}.sb-item:hover{background:var(--hover)}.sb-item.active{background:var(--active)}.sb-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sb-dot.working{background:var(--accent);animation:pulse 1.4s ease-in-out infinite}.sb-dot.attention{background:var(--attention)}.sb-dot.error{background:var(--error)}.sb-dot.quiet{background:#4a4a4a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.sb-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-strong)}.sb-meta{font-size:11px;color:var(--dim)}.sb-badge{background:var(--attention);color:#1f1f1f;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 5px}.sb-tree{padding:2px 0 6px}.sb-group{padding:3px 16px 2px 30px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.sb-leaf{display:flex;justify-content:space-between;width:100%;text-align:left;padding:2px 16px 2px 30px;height:22px;color:var(--fg)}.sb-leaf:hover{background:var(--hover)}.sb-leaf.indent{padding-left:42px}.sb-leaf-meta{color:var(--dim);font-size:11px;font-family:var(--mono)}.sb-empty{color:var(--dim);padding:10px 16px}.editor{flex:1;display:flex;flex-direction:column;min-height:0}.tabbar{display:flex;height:var(--tab-h);background:var(--panel);border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.tab{display:flex;align-items:center;gap:6px;padding:0 10px;border-right:1px solid var(--border);color:var(--dim);cursor:pointer;white-space:nowrap;font-size:12.5px}.tab.active{background:var(--bg);color:var(--fg-strong);box-shadow:inset 0 1px 0 var(--accent)}.tab-project{color:var(--dim);font-size:11px}.tab-doc{color:inherit}.tab-close{color:var(--dim);font-size:14px;padding:0 2px;visibility:hidden}.tab:hover .tab-close,.tab.active .tab-close{visibility:visible}.tab-close:hover{color:var(--fg-strong)}.editor-body{flex:1;overflow-y:auto;min-height:0}.doc{max-width:980px;margin:0 auto;padding:22px 28px 60px}.doc-title{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--fg-strong);margin:0 0 4px;display:flex;align-items:baseline;gap:10px}.doc-version{font-family:var(--mono);font-size:11px;color:var(--accent-bright);border:1px solid var(--accent);border-radius:8px;padding:0 7px}.doc-lede{font-family:var(--serif);font-size:15px;color:var(--dim);margin:0 0 18px;max-width:660px}.doc-h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin:22px 0 10px;font-weight:700}.doc-dim{color:var(--dim);font-size:12.5px}.doc-error{color:var(--error)}.doc-cols{display:grid;grid-template-columns:1fr 270px;gap:22px;align-items:start}.doc-side{display:flex;flex-direction:column;gap:14px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.card-lite{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:12px 14px}.card-lite-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.card-lite-head strong{font-family:var(--serif);font-size:15px;color:var(--fg-strong)}.chip-type{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-bright);border:1px solid var(--border);border-radius:8px;padding:0 6px;font-family:var(--mono);align-self:flex-start}.field-table{width:100%;border-collapse:collapse}.field-table td{padding:3px 0;border-top:1px solid var(--border);font-size:12.5px}.field-table tr:first-child td{border-top:none}.field-table .field-type{text-align:right;color:var(--dim);font-family:var(--mono);font-size:11.5px}.req{color:var(--accent-bright);font-style:normal}.flow{margin-bottom:12px}.flow strong{font-family:var(--serif);color:var(--fg-strong)}.flow ol{margin:4px 0 0;padding-left:20px;color:var(--dim)}.doc-phone{display:flex;justify-content:center;padding-top:40px}.doc-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--dim);padding:60px 20px;text-align:center}.job-pulse{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);animation:breathe 2.2s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.15);opacity:1}}.chat{width:var(--chat-w);background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-height:0}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--fg-strong)}.chat-close{color:var(--dim);font-size:15px}.chat-close:hover{color:var(--fg-strong)}.chat-scroll{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.chat-questions{background:#d9a44114;border:1px solid rgba(217,164,65,.3);border-radius:6px;padding:10px 12px}.chat-q-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--attention);font-weight:700;margin-bottom:6px}.chat-q{padding:6px 0;border-top:1px dashed rgba(217,164,65,.2)}.chat-q:first-of-type{border-top:none}.chat-q p{margin:0 0 6px;font-size:12.5px}.chat-q-answer{display:flex;gap:6px}.chat-q-answer input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;outline-color:var(--attention)}.chat-q-answer button{color:var(--attention);padding:0 6px}.chat-turn{display:flex;flex-direction:column;gap:4px}.chat-user{align-self:flex-end;background:var(--active);border-radius:8px 8px 2px;padding:6px 10px;max-width:90%;font-size:12.5px;color:var(--fg-strong)}.chat-result{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-radius:8px 8px 8px 2px;padding:6px 10px;max-width:90%;font-size:12px;color:var(--dim)}.chat-version{color:var(--accent-bright);font-family:var(--mono);font-size:11px;margin-right:6px}.chat-empty{color:var(--dim);font-size:12.5px;padding:8px 2px}.chat-composer{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--border)}.chat-composer textarea{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 10px;resize:none;font-size:12.5px;outline-color:var(--accent)}.chat-send{color:var(--accent-bright);font-size:15px;padding:0 6px}.actlog{height:150px;border-top:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;flex-shrink:0}.actlog-header{display:flex;justify-content:space-between;padding:4px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);border-bottom:1px solid var(--border)}.actlog-scroll{flex:1;overflow-y:auto;padding:4px 12px;font-family:var(--mono);font-size:11.5px}.actlog-line{padding:1px 0;color:var(--fg)}.actlog-line.dim{color:var(--dim)}.actlog-time{color:var(--dim);margin-right:10px}.statusbar{height:var(--status-h);background:var(--panel);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 8px;font-size:11.5px;flex-shrink:0}.st-left,.st-right{display:flex;align-items:center;height:100%}.st-item{display:flex;align-items:center;height:100%;padding:0 7px;color:var(--dim);white-space:nowrap}button.st-item:hover:not(:disabled){background:var(--hover);color:var(--fg-strong)}.st-strong{color:var(--fg-strong)}.st-attention{color:var(--attention)}.st-working{color:var(--accent-bright);animation:pulse 1.4s ease-in-out infinite}.st-action{color:var(--accent-bright)}.st-danger:hover{color:var(--error)!important}.qo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;justify-content:center}.qo{margin-top:8vh;width:480px;max-height:400px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 40px #0009;display:flex;flex-direction:column;overflow:hidden;height:fit-content}.qo input{background:var(--bg);border:1px solid var(--accent);border-radius:4px;margin:8px;padding:6px 10px;outline:none}.qo-list{overflow-y:auto;padding-bottom:6px}.qo-item{display:flex;justify-content:space-between;width:100%;text-align:left;padding:4px 14px}.qo-item.active{background:var(--active);color:var(--fg-strong)}.qo-hint{color:var(--dim);font-size:11px}.qo-none{color:var(--dim);padding:8px 14px}.new-project{max-width:620px;margin:0 auto;padding:8vh 26px 60px;display:flex;flex-direction:column;align-items:center;text-align:center}.new-title{font-family:var(--serif);font-size:30px;margin:0 0 8px;color:var(--fg-strong)}.new-sub{color:var(--dim);margin:0 0 24px;max-width:480px}.describe-card{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px}.describe-card textarea{width:100%;border:none;outline:none;resize:vertical;background:transparent;font-size:14px;line-height:1.6}.describe-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;border-top:1px dashed var(--border);padding-top:12px}.sketch-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:12px;color:var(--dim)}.chip-x{color:var(--dim);margin-left:4px}.primary{background:var(--accent);color:#10201a;border-radius:5px;padding:7px 14px;font-weight:600;white-space:nowrap}.primary:hover:not(:disabled){background:var(--accent-bright)}.ghost{border:1px solid var(--border);border-radius:5px;padding:6px 12px}.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent-bright)}.ghost.danger:hover:not(:disabled){border-color:var(--error);color:var(--error)}.samples{display:flex;flex-direction:column;gap:7px;margin-top:22px;width:100%}.sample{border:1px dashed var(--border);border-radius:6px;padding:8px 12px;color:var(--dim);text-align:left;font-size:12.5px}.sample:hover{border-color:var(--accent);color:var(--fg)}.link{color:var(--accent-bright);margin-top:20px;font-size:12.5px;text-decoration:underline;text-underline-offset:3px}.phone{width:246px;height:460px;margin:0 auto;background:#fff;border:8px solid #000;border-radius:34px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 34px #00000080;color:#111;flex-shrink:0}.phone-notch{height:20px;display:flex;justify-content:center;align-items:center}.phone-notch:after{content:"";width:70px;height:6px;background:#000;border-radius:999px;opacity:.15}.phone-header{padding:8px 16px 10px;border-bottom:1px solid #eee}.phone-title{font-family:var(--serif);font-weight:700;font-size:17px}.phone-body{flex:1;padding:12px;position:relative;overflow:hidden}.phone-row{display:flex;justify-content:space-between;align-items:center;background:#f6f7f9;border-radius:10px;padding:12px;margin-bottom:8px}.phone-row-title{font-weight:600;font-size:13.5px}.phone-row-sub{font-size:11.5px;color:#8a8f98}.phone-chevron{color:#b6bcc6;font-size:16px}.phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.phone-stat{background:#f6f7f9;border-radius:10px;padding:14px 10px;text-align:center}.phone-stat-num{display:block;font-size:22px;font-weight:800}.phone-stat-label{font-size:11px;color:#8a8f98}.phone-fab{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center}.phone-placeholder{font-size:12px;color:#8a8f98;padding:8px}.phone-tabbar{display:flex;border-top:1px solid #eee;padding:8px 4px 14px;background:#fff}.phone-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.phone-tab-dot{width:7px;height:7px;border-radius:50%}.phone-tab-label{font-size:9.5px;color:#8a8f98}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:20}.modal{width:440px;max-width:calc(100vw - 40px);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:20px 22px;box-shadow:0 18px 50px #00000080}.modal h2{font-family:var(--serif);font-size:18px;margin:0 0 10px;color:var(--fg-strong)}.modal-body{margin:0 0 12px}.modal-body a{color:var(--accent-bright)}.modal-dim{color:var(--dim);font-size:12px;margin:8px 0}.modal-dim code{font-family:var(--mono);color:var(--accent-bright)}.modal-note{border-top:1px dashed var(--border);padding-top:10px;margin-top:12px}.modal-error{color:var(--error);font-size:12.5px;margin:10px 0 0}.modal-wide{width:100%;padding:10px}.modal-divider{display:flex;align-items:center;gap:10px;color:var(--dim);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:12px 0 6px}.modal-divider:before,.modal-divider:after{content:"";flex:1;height:1px;background:var(--border)}.token-row{display:flex;gap:8px;margin-top:6px}.token-row input{flex:1;border:1px solid var(--border);border-radius:5px;padding:7px 10px;background:var(--bg);font-family:var(--mono);font-size:12px;outline-color:var(--accent)}.device-code{font-family:var(--mono);font-size:24px;letter-spacing:6px;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px;margin:6px 0;color:var(--accent-bright)}.modal-actions{display:flex;justify-content:space-between;margin-top:14px}.token-gate{align-items:center;justify-content:center;display:flex}.login-form{display:flex;flex-direction:column;gap:8px}.login-form input{border:1px solid var(--border);border-radius:6px;padding:9px 12px;background:var(--bg);outline-color:var(--accent)}.login-links{display:flex;justify-content:space-between;margin-top:10px}.login-links .link{margin-top:0;font-size:12px}.toast{position:fixed;bottom:34px;left:50%;transform:translate(-50%);background:#5c2320;border:1px solid var(--error);color:#f0d9d6;border-radius:6px;padding:8px 16px;font-size:12.5px;cursor:pointer;z-index:40}
