:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18212b;background:#f6f7f9;font-synthesis:none;--ink:#18212b;--text:#334155;--muted:#64748b;--faint:#94a3b8;--blue:#1f4f9a;--blue-hover:#183f7b;--blue-soft:#eaf0fa;--surface:#ffffff;--canvas:#f6f7f9;--panel:#f8fafc;--line:#d9dee5;--line-soft:#e8ecf1;--danger:#b42318;--danger-soft:#fff1f0;--success:#16764a}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:var(--canvas);color:var(--ink)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:40;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:17px;font-weight:750;letter-spacing:-.03em;cursor:pointer}.brand:first-letter{color:var(--blue)}.local-tag,.role-tag{display:inline-flex;align-items:center;height:23px;padding:0 8px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:#f8fafc;font-size:10px;font-weight:650;letter-spacing:.06em}.local-tag{margin-left:4px;color:var(--blue);border-color:#cbd8eb;background:var(--blue-soft)}.topright{display:flex;align-items:center;gap:10px}button{min-height:36px;padding:0 14px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:#fff;font-size:13px;font-weight:650}button:hover{background:var(--blue-hover);border-color:var(--blue-hover)}button.ghost{border-color:transparent;background:transparent;color:var(--muted)}button.ghost:hover{background:#f1f5f9;color:var(--ink)}button.outline{border-color:#cbd5e1;background:#fff;color:#334155}button.outline:hover{border-color:#94a3b8;background:#f8fafc}button.danger,.danger{color:var(--danger)!important}.center{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f6f7f9}.center>.panel{padding:22px 26px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px}.login-card{width:min(390px,100%);padding:34px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 16px 44px #1f29370d}.logo{color:var(--blue);font-size:16px;font-weight:750;letter-spacing:-.02em}.login-card h1{margin:56px 0 8px;font-size:28px;line-height:1.1;letter-spacing:-.035em}.login-card>p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.login-card form{margin-top:28px}.login-card label{display:block;margin-bottom:8px;color:#334155;font-size:12px;font-weight:650}.login-card input{width:100%;height:44px;padding:0 12px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:var(--ink);font-size:14px}.login-card input:hover{border-color:#94a3b8}.login-card form button{width:100%;height:42px;margin-top:12px}.login-card .error{margin-top:14px;padding:10px 11px;border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger);font-size:12px}.tiny{margin-top:26px!important;padding-top:16px;border-top:1px solid var(--line-soft);font-size:11px!important}.notice{position:fixed;top:70px;right:18px;z-index:80;max-width:min(440px,calc(100vw - 36px));display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border:1px solid #c9d7ea;border-radius:4px;background:#fff;color:#334155;box-shadow:0 10px 28px #1f29371a;font-size:12px}.notice span{margin-left:auto;color:var(--faint)}.dashboard{width:min(1080px,calc(100% - 48px));margin:0 auto;padding:52px 0 80px}.dashboard-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:42px}.dashboard-intro h1{margin:0;font-size:34px;line-height:1;letter-spacing:-.04em}.dashboard-intro p{margin:9px 0 0;color:var(--muted);font-size:13px}.dashboard-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard section{margin-top:36px}.section-header{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}.section-header h2{margin:0;font-size:14px;font-weight:700;letter-spacing:-.01em}.section-header>span{color:var(--muted);font-size:11px}.cards{display:block;border:1px solid var(--line);border-radius:5px;background:#fff;overflow:visible}.card{position:relative;min-height:82px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:14px 16px;background:#fff}.card+.card{border-top:1px solid var(--line-soft)}.card:hover{background:#fafcff}.card-icon{grid-row:1/3;width:36px;height:42px;display:grid;place-items:center;border:1px solid #cbd5e1;background:#fff;color:var(--blue);font:650 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.card-icon:after{content:"TEX";font-size:10px}.card-icon{font-size:0}.card>strong{grid-column:2;align-self:end;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.card>small{grid-column:2;align-self:start;margin-top:4px;color:var(--muted);font-size:11px}.card-actions{grid-column:3;grid-row:1/3;display:flex;align-items:center;gap:8px}.card-actions>button{min-height:32px}.empty{min-height:92px;display:flex;align-items:center;justify-content:center;padding:22px;color:var(--muted);font-size:12px}details{position:relative}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.card-actions details>summary,.node-menu>summary{min-width:34px;height:34px;display:grid;place-items:center;border-radius:4px;color:var(--muted);font-size:16px;font-weight:700;letter-spacing:.08em}.card-actions details>summary:hover,.node-menu>summary:hover{background:#edf2f7;color:var(--ink)}.menu{position:absolute;right:0;top:calc(100% + 5px);z-index:70;min-width:178px;padding:5px;border:1px solid var(--line);border-radius:5px;background:#fff;box-shadow:0 12px 30px #1f29371c}.menu button{width:100%;min-height:34px;display:block;padding:0 10px;border:0;background:transparent;color:#334155;text-align:left;font-size:12px;font-weight:500}.menu button:hover{background:#f1f5f9}.workspace{height:calc(100vh - 62px);min-height:620px;display:grid;grid-template-rows:54px minmax(0,1fr);background:#fff}.workspace-toolbar{min-width:0;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);background:#fff}.workspace-toolbar>.ghost{font-size:12px}.workspace-toolbar>strong{min-width:0;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px}.scope-label{height:22px;display:inline-flex;align-items:center;padding:0 7px;border:1px solid var(--line);border-radius:3px;color:var(--muted);background:#f8fafc;font-size:10px}.grow{flex:1}.small-sync{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.workspace-toolbar button{min-height:32px;padding:0 11px}.work-columns{min-width:0;min-height:0;display:grid;grid-template-columns:var(--files-width,240px) 5px minmax(420px,1fr) minmax(330px,42%);overflow:hidden}.file-panel,.code-panel,.pdf-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.file-panel{background:#f7f9fb}.code-panel{border-right:1px solid var(--line);background:#fff}.editor-tabs{height:39px;flex:0 0 39px;display:flex;align-items:stretch;overflow-x:auto;border-bottom:1px solid var(--line);background:#f5f7f8;scrollbar-width:none}.editor-tabs::-webkit-scrollbar{display:none}.editor-tab{max-width:190px;min-width:116px;display:flex;align-items:center;border-right:1px solid var(--line);color:#6b7d89;background:#eef2f4}.editor-tab.active{position:relative;color:#173b69;background:#fff}.editor-tab.active:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#173b69}.editor-tab>button:first-child{min-width:0;flex:1;height:100%;min-height:0;display:flex;align-items:center;gap:7px;padding:0 7px 0 11px;border:0;background:transparent;color:inherit;text-align:left;font-size:11px;font-weight:600}.editor-tab>button:first-child span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-tab-close{width:28px;height:28px;min-height:0;display:grid;place-items:center;margin-right:4px;padding:0;border:0;background:transparent;color:#7a8c98}.editor-tab-close:hover{background:#e3ebf0;color:#173b69}.editor-tab-content{position:relative;flex:1;min-height:0}.editor-tab-pane{position:absolute;top:0;right:0;bottom:0;left:0;display:none;min-width:0;min-height:0}.editor-tab-pane.active{display:flex}.editor-tab-pane .editor-container,.editor-tab-pane .asset-preview{height:100%}.pdf-panel{background:#eef1f5}.panel-heading{height:48px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--line);background:#fff}.file-panel .panel-heading,.pdf-panel .panel-heading{background:#f8fafc}.panel-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px;font-weight:650}.panel-heading span{color:var(--faint);font-size:10px}.file-tools{height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:flex-end;gap:2px;padding:0 7px;border-bottom:1px solid #d8e0e6;background:#f7f9fb}.file-tools button{width:30px;height:30px;min-height:30px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#53697a}.file-tools button:hover{background:#e7edf2;color:#173b69}.file-tools button:focus-visible{outline:2px solid #557a9f;outline-offset:-2px}.tree-list{position:relative;flex:1;min-height:0;overflow:auto;padding:7px 6px 28px;scrollbar-width:thin;scrollbar-color:#b5c2cc transparent}.tree-list.root-drop{background:#edf3f7;box-shadow:inset 0 0 0 1px #7f9db5}.tree-list.root-drop:after{content:"Kök dizine taşı";position:absolute;left:10px;right:10px;bottom:7px;height:22px;display:grid;place-items:center;border:1px dashed #7f9db5;background:#f7fafc;color:#456378;font:500 10px IBM Plex Sans,sans-serif;pointer-events:none}.tree-node{width:100%;height:34px;display:flex;align-items:center;padding-right:3px;color:#1b2d3d;border-radius:3px}.tree-node:hover{background:#edf2f6}.tree-node.active{background:#e2ebf5;box-shadow:inset 2px 0 #173b69;color:#173b69}.tree-label{min-width:0;flex:1;height:34px;min-height:34px;display:flex;align-items:center;gap:0;padding:0;border:0;background:transparent;color:inherit;overflow:hidden;white-space:nowrap;text-align:left;font-size:12px;font-weight:500}.tree-label:hover{background:transparent;color:#173b69}.tree-chevron,.tree-chevron-placeholder{width:16px;flex:0 0 16px;color:#7b8d9a;transition:transform .14s ease}.tree-chevron.open{transform:rotate(90deg)}.tree-kind-icon{width:22px;flex:0 0 22px;display:grid;place-items:center;color:#6a7f8f}.tree-node.active .tree-kind-icon{color:#173b69}.tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-menu{margin-left:auto;opacity:0;pointer-events:none}.tree-node:hover .node-menu,.tree-node:focus-within .node-menu,.node-menu[open]{opacity:1;pointer-events:auto}.node-menu>summary{min-width:28px;height:28px;display:grid;place-items:center;color:#647887}.node-menu .menu{left:auto;right:0}.file-resizer{position:relative;z-index:2;cursor:col-resize;background:#d8e0e6}.file-resizer:after{content:"";position:absolute;top:0;right:-3px;bottom:0;left:-3px}.file-resizer:hover,.file-resizer:active{background:#7894aa}.editor-container{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff}.editor-status{order:2;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.editor-insert-hint{display:inline-flex;align-items:center;gap:5px;color:#758895;white-space:nowrap}.editor-insert-hint kbd{min-width:19px;height:18px;display:inline-grid;place-items:center;padding:0 4px;border:1px solid #cbd6dd;background:#f7f9fa;color:#38546a;font:10px IBM Plex Mono,monospace}.cm-host{flex:1;min-height:0;overflow:auto}.cm-editor{height:100%}.cm-tooltip-autocomplete.yrt-completion-menu{min-width:290px;max-width:min(430px,calc(100vw - 24px));overflow:hidden;border:1px solid #b9c7d0;background:#fff;box-shadow:0 12px 30px #102a3d26;font-family:IBM Plex Sans,sans-serif}.cm-tooltip-autocomplete.yrt-completion-menu>ul{max-height:310px;padding:5px}.cm-tooltip-autocomplete.yrt-completion-menu>ul>li{min-height:38px;display:flex;align-items:center;padding:5px 9px;border-radius:2px;color:#24394a}.cm-tooltip-autocomplete.yrt-completion-menu>ul>li[aria-selected]{background:#e7eef4;color:#102f53}.yrt-completion-menu .cm-completionLabel{font:600 12px IBM Plex Mono,monospace}.yrt-completion-menu .cm-completionDetail{margin-left:auto;padding-left:18px;color:#718592;font-size:10px;font-style:normal}.yrt-completion-menu .yrt-completion-block .cm-completionLabel{color:#173b69}.yrt-completion-menu .yrt-completion-command .cm-completionLabel{color:#374d5d}.yrt-completion-menu .cm-completionMatchedText{color:#a66f16;text-decoration:none}.yrt-completion-menu .cm-completionInfo{border:1px solid #b9c7d0}.cm-ySelectionCaret{z-index:8;border-left-width:2px!important;border-right:0!important}.cm-ySelectionCaretDot{width:6px!important;height:6px!important;top:-3px!important;left:-4px!important}.cm-ySelectionInfo{top:-20px!important;left:-2px!important;min-height:18px;display:flex;align-items:center;padding:2px 6px!important;border-radius:2px 2px 2px 0;color:#fff!important;font:600 9px IBM Plex Mono,monospace!important;opacity:0!important;box-shadow:0 2px 6px #102a3d24;pointer-events:none;transition:opacity .14s ease!important}.cm-ySelectionCaret:hover>.cm-ySelectionInfo{opacity:1!important}.cm-ySelection{border-radius:2px}.code-empty{flex:1;border:0;border-radius:0}.pdf-panel iframe{width:100%;height:100%;border:0;background:#eef1f5}.download-link{color:var(--blue);font-size:11px;font-weight:650;text-decoration:none}.download-link:hover{text-decoration:underline}.pdf-empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;color:var(--muted);text-align:center}.pdf-icon{width:96px;height:122px;display:grid;place-items:center;margin-bottom:20px;border:1px solid #cbd5e1;background:#fff;box-shadow:0 8px 22px #1f29370d;color:var(--blue);font:650 0 ui-monospace,SFMono-Regular,Consolas,monospace}.pdf-icon:after{content:"PDF";font-size:12px}.pdf-empty strong{color:#334155;font-size:14px}.pdf-empty p{max-width:260px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.pdf-empty small{display:none}.compile-error{max-height:46%;overflow:auto;padding:0;border-bottom:1px solid #e8b8b8;background:#fff7f7;color:#7f1d1d;font-size:12px}.compile-error-title{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 13px;border-bottom:1px solid #f1cece;background:#fff7f7}.compile-error-title span{padding:3px 7px;border:1px solid #e7b8b8;background:#fff;color:#9f2929;font:9px IBM Plex Mono,monospace}.compile-diagnostic-list{display:flex;flex-direction:column}.app .compile-diagnostic-list button{width:100%;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) 14px;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:9px 13px;border:0;border-bottom:1px solid #f1dada;background:#fff;color:#7f1d1d;text-align:left}.app .compile-diagnostic-list button:hover{background:#fff0f0}.compile-diagnostic-list button>span{min-width:0;display:flex;align-items:center;gap:8px}.compile-diagnostic-list b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#641515;font-size:11px}.compile-diagnostic-list small{flex:0 0 auto;padding:2px 5px;background:#fae4e4;color:#9f2929;font:9px IBM Plex Mono,monospace}.compile-diagnostic-list em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9b4a4a;font-size:10px;font-style:normal}.compile-diagnostic-list svg{grid-column:2;grid-row:1/3}.compile-technical{padding:9px 13px}.compile-technical summary{cursor:pointer;color:#9b4a4a;font-size:10px}.compile-error pre{margin:8px 0 0;white-space:pre-wrap;font-size:10px;line-height:1.5}.tab-error-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#c93838;box-shadow:0 0 0 2px #f6dede}.cm-line:has(.cm-lintRange-error){background:#fff0f0;box-shadow:inset 3px 0 #d14343}.cm-lintRange-error{background:#ffdede;text-decoration-color:#c92f2f!important}.cm-gutter-lint .cm-gutterElement{cursor:pointer}.version-shade{position:fixed;top:62px;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-end;background:#11182742}.versions-panel{width:min(410px,100%);height:100%;overflow:auto;background:#fff;box-shadow:-12px 0 32px #1f29371c}.versions-panel>.panel-heading{position:sticky;top:0;z-index:1}.hint{margin:0;padding:16px;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:11px;line-height:1.55}.version-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line-soft)}.version-item strong{display:block;font-size:13px}.version-item small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.version-item button{min-height:32px}@media(max-width:1050px){.work-columns{grid-template-columns:218px minmax(390px,1fr);overflow:auto}.pdf-panel{grid-column:1/-1;min-height:620px;border-top:1px solid var(--line)}.workspace{height:auto;min-height:calc(100vh - 62px)}.workspace-toolbar{position:sticky;top:62px;z-index:30}}@media(max-width:720px){.topbar{height:56px;padding:0 14px}.role-tag{display:none}.dashboard{width:min(100% - 28px,1080px);padding:32px 0 55px}.dashboard-intro{align-items:flex-start;flex-direction:column;margin-bottom:28px}.dashboard-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.dashboard-actions button{padding:0 8px}.section-header{align-items:flex-start}.section-header>span{max-width:55%;text-align:right}.card{grid-template-columns:38px minmax(0,1fr);padding:13px 11px}.card-actions{grid-column:1/-1;grid-row:auto;margin-top:10px;padding-left:52px}.card-actions>button{flex:1}.card-actions details{margin-left:auto}.workspace{min-height:calc(100vh - 56px);grid-template-rows:auto 1fr}.workspace-toolbar{top:56px;flex-wrap:wrap;min-height:92px;padding:9px 10px}.workspace-toolbar>strong{max-width:calc(100% - 70px)}.scope-label,.small-sync{display:none}.grow{flex-basis:100%;height:0}.workspace-toolbar button:not(.ghost){flex:1;padding:0 7px;font-size:11px}.work-columns{display:block}.file-panel{min-height:270px;max-height:42vh;border-right:0;border-bottom:1px solid var(--line)}.code-panel{height:68vh;border-right:0;border-bottom:1px solid var(--line)}.pdf-panel{min-height:70vh}.version-shade{top:56px;right:0;bottom:0;left:0}.notice{top:64px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(prefers-contrast:more){:root{--line:#94a3b8;--muted:#475569;--faint:#526174}button.outline,.login-card input{border-width:2px}}.login-screen,.login-loading{--login-ink:#142b43;--login-blue:#173b69;--login-line:#b8c9d4;--login-paper:#f8fafb;--login-gold:#a87930;position:relative;width:100%;min-height:100svh;overflow:hidden;color:var(--login-ink);background-color:var(--login-paper);background-image:linear-gradient(#dce5ea77 1px,transparent 1px),linear-gradient(90deg,#dce5ea77 1px,transparent 1px);background-size:32px 32px}.login-screen:before,.login-loading:before{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;z-index:4;border:1px solid var(--login-line);pointer-events:none}.login-identity{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;color:var(--login-ink)}.login-identity:after,.login-loading:after{content:"";position:absolute;left:73%;top:55%;z-index:0;width:min(67vw,1000px);height:min(125vh,1100px);background:url(/org-login.png) center/contain no-repeat;opacity:.1;mix-blend-mode:multiply;transform:translate(-50%,-50%);pointer-events:none}.login-identity:after{opacity:0;animation:login-drawing-in .85s ease-out .04s forwards}.login-identity .login-brand{position:absolute;left:60px;top:52px;z-index:9;opacity:0;transform:translateZ(0);transition:left .9s cubic-bezier(.22,.8,.28,1),top .9s cubic-bezier(.22,.8,.28,1),transform .9s cubic-bezier(.22,.8,.28,1),opacity .42s ease}.login-brand-logo{display:block;width:clamp(220px,19vw,350px);height:auto;filter:brightness(0) saturate(100%) invert(13%) sepia(30%) saturate(1570%) hue-rotate(168deg) brightness(94%) contrast(89%);transition:width .9s cubic-bezier(.22,.8,.28,1)}.login-axis{position:absolute;left:42%;top:9%;bottom:9%;z-index:5;display:flex;flex-direction:column;align-items:center;gap:9px;width:24px;transform:translate(-50%);pointer-events:none}.login-axis-line{display:block;flex:1;width:1px;background:#93a9b7;transform:scaleY(0)}.login-axis-line-top{transform-origin:top;animation:login-axis-draw .36s linear .08s forwards}.login-axis-line-bottom{transform-origin:top;animation:login-axis-draw .36s linear .66s forwards}.login-sheet-label{display:block;flex:none;color:#718594;font:500 16px Barlow Condensed,sans-serif;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg)}.login-sheet-label>span{display:inline-block;opacity:0;animation:login-character-in .1s steps(1,start) forwards;animation-delay:calc(.46s + var(--axis-letter-index) * 34ms)}.login-identity-title{position:absolute;left:60px;bottom:94px;z-index:2}.login-identity-title h1{width:3.35em;margin:0;color:var(--login-ink);font:600 clamp(5rem,8vw,8.5rem)/.98 "Barlow Condensed",sans-serif;letter-spacing:-.015em}.login-identity-title h1 span{display:inline-block;opacity:0;animation:login-title-letter-in .16s steps(1,start) forwards;animation-delay:calc(var(--enter-order) * 95ms)}.login-screen .login-card{position:absolute;right:60px;bottom:94px;z-index:6;width:clamp(280px,27vw,380px);min-height:0;padding:clamp(22px,2.2vw,32px);display:block;opacity:0;transform:translateZ(0);border:1px solid #c5d1d9;border-radius:0;background:#f8fafbf2;box-shadow:none;transition:opacity .55s ease,transform .55s ease}.login-screen.is-ready .login-identity .login-brand,.login-screen.is-ready .login-card{opacity:1}.login-screen .login-card:before{content:"";display:block;width:32px;height:3px;margin:-34px 0 22px;background:var(--login-gold);transform:scaleX(0);transform-origin:left;animation:login-rule-in .24s ease-out .2s forwards}.login-screen .login-card form{width:100%;display:grid;gap:10px;margin:0}.login-screen .login-card label{display:block;margin:0;color:var(--login-ink);font:600 12px IBM Plex Sans,sans-serif}.login-screen .login-card input{width:100%;height:50px;min-height:50px;padding:0 13px;border:1px solid #aebfca;border-radius:2px;background:#fff;color:var(--login-ink);font:400 14px IBM Plex Sans,sans-serif}.login-screen .login-card input:focus-visible{border-color:var(--login-blue);outline:2px solid #173b6930;outline-offset:2px}.login-screen .login-card input.password-invalid{border-color:#b84b46;box-shadow:0 0 0 1px #b84b46;animation:login-input-shake .22s ease-in-out}.login-screen .login-card button{width:100%;min-height:50px;margin-top:7px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-radius:2px;background:var(--login-blue);font:600 13px IBM Plex Sans,sans-serif}.login-screen .login-card button:hover{background:#102f58}.login-screen .login-card .error{margin:12px 0 0;padding:10px 11px;border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger);font:500 12px/1.45 IBM Plex Sans,sans-serif}.login-screen .login-card .tiny{margin:18px 0 0!important;padding-top:14px;border-top:1px solid #dbe5eb;color:#61798b;font:400 10px IBM Plex Sans,sans-serif!important}.login-handoff{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease .7s}.dot-wave{position:relative;z-index:1;width:64px;height:18px;display:flex;align-items:center;justify-content:center;gap:7px}.dot-wave i{display:block;width:6px;height:6px;border-radius:50%;background:#111820;animation:dot-wave-bounce 1s ease-in-out infinite;animation-delay:calc(var(--dot-index) * .11s)}.login-handoff .dot-wave{top:58px}.login-screen.is-handing-off .login-axis-line{animation:none}.login-screen.is-handing-off .login-axis-line-bottom{animation:login-axis-retract .22s linear both}.login-screen.is-handing-off .login-axis-line-top{animation:login-axis-retract .22s linear .42s both}.login-screen.is-handing-off .login-sheet-label>span{animation:login-character-out .08s steps(1,start) both;animation-delay:calc(.22s + var(--axis-exit-index) * 18ms)}.login-screen.is-handing-off .login-identity-title h1 span{animation:login-title-letter-out .16s steps(1,end) both;animation-delay:calc(var(--exit-order) * 35ms)}.login-screen.is-handing-off .login-card{pointer-events:none;animation:login-card-out .32s ease-in both}.login-screen.is-handing-off .login-identity .login-brand{left:50%;top:50%;opacity:1;transform:translate(-50%,-50%)}.login-screen.is-handing-off .login-brand-logo{width:250px}.login-screen.is-handing-off .login-handoff{opacity:1}.login-screen:not(.is-handing-off) .login-handoff{transition-delay:0s;transition-duration:.12s}.login-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.login-loading .login-brand,.login-loading .dot-wave{position:relative;z-index:1}.login-loading .login-brand-logo{width:250px}.app-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.app-loading>span{position:relative;z-index:1;color:#647887;font:500 11px IBM Plex Sans,sans-serif;letter-spacing:.015em}.workspace.is-preparing{visibility:hidden}@keyframes login-axis-draw{to{transform:scaleY(1)}}@keyframes login-axis-retract{0%{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@keyframes login-character-in{to{opacity:1}}@keyframes login-character-out{0%{opacity:1}to{opacity:0}}@keyframes login-title-letter-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes login-title-letter-out{0%{opacity:1}to{opacity:0}}@keyframes login-card-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}@keyframes login-drawing-in{to{opacity:.1}}@keyframes login-rule-in{to{transform:scaleX(1)}}@keyframes dot-wave-bounce{0%,60%,to{transform:translateY(0);opacity:.42}30%{transform:translateY(-7px);opacity:1}}@keyframes login-input-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@media(max-width:850px){.login-screen{height:auto;overflow:auto}.login-screen:before,.login-loading:before{top:15px;right:15px;bottom:15px;left:15px}.login-identity{position:relative;height:270px}.login-identity:after{left:auto;right:-92px;top:-44px;width:470px;height:500px;transform:none}.login-axis{display:none}.login-identity .login-brand{left:32px;top:32px}.login-brand-logo{width:170px}.login-identity-title{left:32px;bottom:30px}.login-identity-title h1{font-size:4.4rem}.login-screen .login-card{position:relative;right:auto;bottom:auto;width:calc(100% - 62px);margin:0 31px 38px;padding:24px}.login-screen .login-card:before{margin:-26px 0 20px}}@media(max-width:620px){.login-identity{height:235px}.login-identity-title h1{font-size:3.8rem}.login-screen .login-card{width:calc(100% - 42px);margin:0 21px 28px}}@media(prefers-reduced-motion:reduce){.login-axis-line{animation:none!important;transform:none}.login-sheet-label>span,.login-identity-title h1 span{animation:none!important;opacity:1}.login-identity:after{animation:none;opacity:.1}.login-screen .login-card:before{animation:none;transform:none}.login-screen.is-handing-off .login-axis,.login-screen.is-handing-off .login-identity-title{opacity:0}.dot-wave i{animation:none;opacity:.7}.dot-wave i:nth-child(3){opacity:1}}.app{--ink:#142b43;--blue:#173b69;--blue-hover:#234b79;--muted:#61798b;--line:#b8c9d4;--line-soft:#dbe5eb;--canvas:#f8fafb;background:#f8fafb;color:var(--ink)}.app:not(.editor-open){min-height:100vh;background-image:linear-gradient(#dce5ea66 1px,transparent 1px),linear-gradient(90deg,#dce5ea66 1px,transparent 1px);background-size:32px 32px}.app .topbar{position:relative;height:74px;padding:0 34px;justify-content:flex-start;background:#f8fafbf2;border-color:var(--line)}.brand-logo{display:block;width:162px;height:auto;max-height:48px;object-fit:contain;filter:brightness(0) saturate(100%) invert(13%) sepia(30%) saturate(1570%) hue-rotate(168deg) brightness(94%) contrast(89%)}.app .local-tag{margin-left:14px}.sign-out{margin-left:auto;font-size:11px!important;font-weight:500!important}.app button{border-radius:0}.app .notice{top:12px}.dashboard{width:min(1320px,calc(100% - 72px));height:calc(100vh - 74px);min-height:660px;margin:0 auto;padding:24px 0;display:grid;grid-template-rows:minmax(0,1fr) 158px;gap:18px}.dashboard-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:18px}.dashboard section{margin-top:0}.desk-panel{min-width:0;min-height:0;border:1px solid var(--line);background:#fffffff2}.desk-panel-head{height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--line-soft)}.desk-panel h2{margin:0;font-size:12px;font-weight:700;letter-spacing:0}.desk-panel-head>span{color:var(--muted);font:10px IBM Plex Mono,monospace}.recent-content{height:calc(100% - 48px);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.recent-info{min-width:0;padding:25px 58px 14px}.recent-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font:500 10px IBM Plex Mono,monospace}.recent-info h1{max-width:none;margin:8px 0 0;font:600 36px/1.04 Barlow Condensed,sans-serif;overflow-wrap:anywhere}.recent-bottom{display:flex;align-items:center;gap:16px;padding:14px 58px 20px}.recent-meta{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.recent-status,.recent-online{display:inline-flex;align-items:center;gap:7px;font:10px IBM Plex Mono,monospace;white-space:nowrap}.recent-status{color:var(--muted)}.recent-status svg{color:#438263}.recent-online{color:#287354}.recent-online svg{color:#3d9b70}.recent-open{width:98px;min-width:98px;height:34px;min-height:34px;margin-left:auto;display:inline-flex;align-items:center;justify-content:space-between;padding:0 11px!important;border-color:#173b69!important;background:#173b69!important;color:#fff!important;line-height:1;font-size:11px!important;font-weight:700!important}.recent-open:hover{border-color:#244d7d!important;background:#244d7d!important}.recent-open svg{flex:0 0 auto}.document-wrap{min-width:0;min-height:0;margin:0 58px;border:1px solid #cfd9df;background:#e8edf0;box-shadow:0 12px 28px #173b6912;overflow:hidden}.recent-pdf{display:block;width:100%;height:100%;border:0;background:#fff}.first-page-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e8edf0;color:var(--muted);font-size:11px}.first-page-preview canvas,.first-page-preview img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 5px 18px #173b6922}.document-pending{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;color:var(--muted);background:linear-gradient(90deg,transparent 49.7%,#e0e7eb 50%,transparent 50.3%),linear-gradient(transparent 49.7%,#e0e7eb 50%,transparent 50.3%),#fff;text-align:center}.document-pending strong{color:var(--ink);font-size:12px}.document-pending span{max-width:270px;font-size:10px;line-height:1.5}.recent-empty{height:calc(100% - 48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:48px;color:var(--muted)}.recent-empty h1{margin:0;color:var(--ink);font:600 31px Barlow Condensed,sans-serif}.recent-empty p{margin:0 0 8px;font-size:12px}.recent-empty button{font-size:11px}.projects-head{height:88px;padding:8px 16px 7px;border-bottom:1px solid var(--line-soft);display:grid;grid-template-rows:30px 36px}.projects-title{display:flex;align-items:center;gap:8px}.projects-title>span{color:var(--muted);font:9px IBM Plex Mono,monospace}.projects-controls{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}.projects-controls:has(.new-project-menu){grid-template-columns:minmax(0,1fr) auto auto auto}.desk-search{height:32px;min-width:0;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line-soft);background:#fbfcfd;color:var(--muted)}.desk-search:focus-within{border-color:#7892a5;box-shadow:0 0 0 2px #173b6910;background:#fff}.desk-search svg{flex:0 0 auto}.desk-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:11px IBM Plex Sans,sans-serif}.desk-search input::placeholder{color:#8194a1}.app .desk-small-button{height:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid var(--line-soft);background:#fff;color:var(--blue);font-size:10px;font-weight:500;white-space:nowrap}.app .desk-small-button:hover{border-color:var(--line);background:#eef3f6}.new-project-menu{position:relative}.new-project-menu summary{list-style:none;cursor:pointer}.new-project-menu summary::-webkit-details-marker{display:none}.new-project-menu .menu{right:0;top:calc(100% + 4px);min-width:140px}.projects-scroll{height:calc(100% - 88px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#aebfca transparent}.projects-scroll::-webkit-scrollbar{width:6px}.projects-scroll::-webkit-scrollbar-thumb{background:#aebfca;border-radius:8px}.project-row{position:relative;min-height:74px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:14px;padding:0 10px 0 18px;border-bottom:1px solid var(--line-soft)}.project-row:hover{background:#f5f8fa}.app .project-row-main{width:100%;min-width:0;height:73px;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.project-row-main strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.project-row-main small{display:flex;align-items:center;gap:6px;color:var(--muted);font:10px IBM Plex Mono,monospace}.project-menu{position:relative}.project-menu>summary{width:32px;height:32px;display:grid;place-items:center;color:var(--muted);cursor:pointer}.project-menu>summary:hover{background:#e7eef2;color:var(--blue)}.project-menu .menu{right:0;left:auto;top:calc(100% + 4px);min-width:156px}.list-empty{min-height:95px;display:flex;align-items:center;justify-content:center;padding:22px;color:var(--muted);font-size:11px;text-align:center}.templates-panel .desk-panel-head{height:48px}.template-controls{display:flex;align-items:center;gap:6px}.template-search{width:230px}.templates-scroll{height:109px;display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#aebfca transparent}.templates-scroll::-webkit-scrollbar{height:6px}.templates-scroll::-webkit-scrollbar-thumb{background:#aebfca;border-radius:8px}.template-item{position:relative;flex:0 0 280px;height:103px;border-right:1px solid var(--line-soft)}.app .template-main{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:14px 88px 14px 20px;border:0;background:transparent;color:var(--ink);text-align:left}.template-main strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.template-main span{color:var(--muted);font-size:10px;font-weight:400}.template-actions{position:absolute;right:10px;top:35px;display:flex;align-items:center;gap:4px}.app .template-add,.app .template-menu-button{width:32px;height:32px;min-height:0;display:grid;place-items:center;padding:0;border:1px solid var(--line-soft);background:#fff;color:var(--blue)}.template-add:hover,.template-menu-button:hover{background:#eef3f6}.app .template-menu-button{color:var(--muted)}.floating-template-menu{position:fixed;right:auto;top:auto;z-index:200;width:166px;min-width:166px}.template-rename{height:100%;padding:0 16px 0 20px}.app .awaiting-confirm{border-color:#ca993a;background:#fff2d5;color:#8b5d13;font-weight:700}.app .awaiting-confirm:hover{background:#ffebbd}.inline-rename{min-width:0;display:flex;align-items:center;gap:5px}.inline-rename input{min-width:0;flex:1;height:31px;padding:0 8px;border:1px solid #8ba3b4;background:#fff;color:var(--ink);font:12px IBM Plex Sans,sans-serif}.app .inline-rename button{height:31px;min-height:0;padding:0 8px;border:1px solid var(--line-soft);background:#fff;color:var(--blue);font-size:10px}.tree-rename{flex:1}.tree-rename input{height:26px}.tree-rename button{height:26px!important}.tree-node[draggable=true]{cursor:grab}.tree-node[draggable=true]:active{cursor:grabbing}.tree-node.drop-target{background:#dce9f3;outline:1px dashed #507695;outline-offset:-2px}.workspace-logo{position:absolute;left:50%;top:50%;width:100px;height:36px;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none;filter:brightness(0) saturate(100%) invert(13%) sepia(30%) saturate(1570%) hue-rotate(168deg) brightness(94%) contrast(89%)}.editor-open .workspace-toolbar{position:relative}.templates-scroll>.list-empty{width:100%;flex:1}.editor-open .workspace{height:100vh;min-height:0;grid-template-rows:58px minmax(0,1fr)}.editor-open .workspace-toolbar{gap:11px;padding:0 14px;border:1px solid var(--line);background:#fff}.editor-open .workspace-back{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;color:var(--muted);font-size:10px}.editor-open .workspace-back:hover{background:#eef3f6;color:var(--blue)}.toolbar-divider{width:1px;height:22px;background:var(--line-soft)}.editor-open .workspace-toolbar>strong{font-size:13px}.editor-open .workspace-toolbar button{min-height:32px;font-size:11px}.editor-open .workspace-toolbar button.outline{display:inline-flex;align-items:center;gap:6px}.editor-open .scope-label{font-size:10px}.active-collaborators,.online-count{display:inline-flex;align-items:center;gap:5px;color:#547082;font:10px IBM Plex Mono,monospace;white-space:nowrap}.active-collaborators{padding:4px 7px;border:1px solid #dbe5ea;background:#f5f8fa}.online-count{margin-left:3px;color:#34785d}.online-count i{width:6px;height:6px;border-radius:50%;background:#49a77b;box-shadow:0 0 0 2px #dff3e9}.workspace-actions{display:flex;align-items:center;gap:7px}.toolbar-action-group{display:flex;align-items:center;border:1px solid var(--line-soft);background:#fff}.toolbar-button{height:32px;min-height:32px!important;display:inline-flex;align-items:center;gap:6px;padding:0 10px!important;border:1px solid var(--line-soft)!important;background:#fff!important;color:var(--blue)!important;font-weight:600!important;white-space:nowrap}.toolbar-action-group .toolbar-button{border:0!important;border-right:1px solid var(--line-soft)!important}.toolbar-action-group .toolbar-button:last-child{border-right:0!important}.toolbar-button:hover{background:#f0f5f8!important;border-color:#afc0cb!important}.toolbar-button b{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#e9f0f4;color:#496478;font:9px IBM Plex Mono,monospace}.toolbar-button.compile-button{border-color:#173b69!important;background:#173b69!important;color:#fff!important;box-shadow:0 1px #0e2d55}.toolbar-button.compile-button:hover{background:#244d7d!important}.toolbar-button:disabled{opacity:.65}.asset-preview{min-height:0;height:calc(100% - 39px);display:grid;place-items:center;padding:28px;background:#f5f7f8;overflow:auto}.asset-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 8px 24px #102a3d1a;background:#fff}.editor-open .work-columns{grid-template-columns:var(--files-width,240px) 5px minmax(430px,1fr) minmax(390px,.82fr)}.editor-open .file-panel{background:#f7f9fb}.editor-open .file-tools{height:42px;padding:0 7px;border-bottom:1px solid #d8e0e6;background:#f7f9fb}.editor-open .file-tools button{width:30px;height:30px;min-height:30px;border:0;background:transparent}.editor-open .file-tools button:hover{background:#e7edf2}.editor-open .pdf-panel{background:#e8edf0}.editor-open .pdf-panel .panel-heading,.editor-open .code-panel .panel-heading{height:39px;background:#f8fafb}.editor-open .tree-list{padding:7px 6px 28px}.editor-open .tree-node{min-height:34px}.editor-open .editor-status{min-height:26px}.editor-open .pdf-panel iframe{background:#e8edf0}.editor-open .version-shade{top:0;right:0;bottom:0;left:0}@media(max-width:1100px){.dashboard{width:calc(100% - 36px)}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr)}.recent-info{padding-left:28px;padding-right:24px}.document-wrap{margin-left:28px;margin-right:24px}.recent-bottom{padding-left:28px;padding-right:24px}.editor-open .work-columns{grid-template-columns:var(--files-width,220px) 5px minmax(420px,1fr) minmax(330px,.75fr)}}@media(max-width:850px){.dashboard{height:auto;min-height:0;display:block;padding:18px 0 40px}.dashboard-grid{display:block}.recent-panel{min-height:440px}.projects-panel{height:520px;margin-top:18px}.templates-panel{height:158px;margin-top:18px}.recent-bottom{flex-direction:row}.editor-open .workspace{height:auto;min-height:100vh}.editor-open .work-columns{display:block}.editor-open .file-resizer{display:none}.editor-open .file-panel{min-height:250px}.editor-open .code-panel{height:60vh}.editor-open .pdf-panel{height:70vh}.editor-open .workspace-toolbar{position:static;flex-wrap:wrap;min-height:92px}.editor-open .workspace-toolbar .grow{flex-basis:100%;height:0}}@media(max-width:560px){.app .topbar{padding:0 18px}.dashboard{width:calc(100% - 24px)}.recent-content{display:block}.recent-info{height:156px;padding:26px}.recent-info h1{font-size:30px}.document-wrap{display:none}.recent-panel{min-height:278px}.recent-bottom{gap:10px;padding:0 26px 22px}.recent-status{font-size:9px}.recent-open{flex-basis:90px}.projects-controls{grid-template-columns:minmax(0,1fr) auto}.projects-controls>.desk-small-button{font-size:0}.projects-controls>.desk-small-button svg{width:16px}.template-search{width:190px}}
