:root{--bg:#f2f4f7;--surface:#fff;--text:#1b2a36;--muted:#66757e;--border:#d9e0e7;--accent:#0055a0;--accent-dark:#00437f;--accent-light:#e6eef7;--accent-text:#fff;--yellow:#ffd800;--bar:#0055a0;--bar-text:#fff;--stage:#a7b1b9;--danger:#b42318;--touch:44px;--f-title:"Formata Condensed", "Formata", "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Calibri,Carlito,Segoe UI,system-ui,sans-serif}h1,h2,h3{font-family:var(--f-title);letter-spacing:.01em;color:var(--accent);font-weight:700;font-stretch:75%}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0}button,select{font:inherit}.btn{min-height:var(--touch);background:var(--surface);color:var(--accent);cursor:pointer;border:1px solid #b9c6da;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}@media (hover:hover){.btn:hover:not(:disabled){background:var(--accent-light)}.btn.primary:hover:not(:disabled){background:var(--accent-dark)}}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.icon{min-width:var(--touch);padding:0}.btn:disabled{opacity:.5}.home{max-width:820px;margin:0 auto;padding:16px}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.home-header h1{margin:0;font-size:1.4rem}.notice{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px}.notice.error{color:var(--danger);border-color:var(--danger)}.empty{color:var(--muted);text-align:center;padding:48px 16px}.project-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.project-list li{align-items:stretch;gap:8px;display:flex}.project-open{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:56px;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:4px;padding:12px 16px;display:flex}.project-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.project-meta{color:var(--muted);font-size:.85rem}.editor{flex-direction:column;height:100%;display:flex}.toolbar{padding:4px;padding-top:max(4px, env(safe-area-inset-top));background:var(--bar);color:var(--bar-text);border-bottom:3px solid var(--yellow);flex:none;align-items:center;gap:4px;display:flex}.toolbar .btn{color:inherit;background:0 0;border-color:#0000}@media (hover:hover){.toolbar .btn:hover:not(:disabled){background:#ffffff1f}}.toolbar .btn.on{background:#ffffff29}.toolbar .title{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 4px;font-weight:600;overflow:hidden}.toolbar .spacer{flex:1}.page-select{border:0;border-radius:6px;max-width:9rem;min-height:36px;padding:0 6px}.zoom-label{text-align:center;font-variant-numeric:tabular-nums;min-width:4.2em;font-size:.9rem}@media (max-width:599px){.toolbar .title,.zoom-label{display:none}.toolbar .spacer{flex:1}}.stage{background:var(--stage);flex:1;min-height:0;position:relative;overflow:hidden}.viewer-host{position:absolute;inset:0}.viewer{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;overflow:hidden}.viewer:active{cursor:grabbing}.viewer-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.viewer-page{background:#fff;position:relative}.pdf-base,.pdf-tiles{position:absolute;top:0;left:0}.pdf-tile{position:absolute}.minimap{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--surface);touch-action:none;border-radius:6px;padding:4px;line-height:0;position:absolute;box-shadow:0 2px 8px #0000004d}.minimap canvas{display:block}.minimap-frame{border:2px solid var(--danger);pointer-events:none;background:#b91c1c14;margin:4px;position:absolute}.minimap{overflow:hidden}.perf{color:#f9fafb;pointer-events:none;background:#111827e0;border-radius:8px;max-width:calc(100% - 16px);padding:8px 10px;font-size:.8rem;position:absolute;top:8px;left:8px}.perf th{text-align:left;color:#d1d5db;white-space:nowrap;padding:1px 10px 1px 0;font-weight:500}.perf td{font-variant-numeric:tabular-nums}.stage-msg{color:#fff;pointer-events:none;background:#111827d9;border-radius:999px;padding:8px 14px;font-size:.9rem;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.stage-msg.error{background:var(--danger)}.toolbar .sep{background:#fff3;width:1px;height:24px;margin:0 2px}.toolbar .btn:disabled{opacity:.35}@media (max-width:599px){.toolbar .wide-only{display:none}}.editor-body{flex:1;min-height:0;display:flex}.editor-body.narrow{flex-direction:column}.editor-body .stage{flex:1;min-width:0}.viewer-pdf,.viewer-overlay{position:absolute;inset:0}.annotations{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.annotations .hit{fill:#0000;pointer-events:all}.dev-ref,.dev-label{text-anchor:middle;stroke:#fff;paint-order:stroke;pointer-events:none;font-family:Helvetica,Arial,sans-serif;font-weight:700}.stage.placing .viewer{cursor:crosshair}.palette.side{background:var(--surface);border-right:1px solid var(--border);flex:none;width:200px;padding:8px;overflow-y:auto}.palette.side h3{text-transform:uppercase;letter-spacing:.04em;margin:12px 4px 4px;font-size:.75rem}.palette.side section:first-child h3{margin-top:4px}.pal-item{width:100%;min-height:var(--touch);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;font-size:.85rem;line-height:1.15;display:flex}.pal-item:hover{background:var(--bg)}.pal-item.on{background:#fef3c7;border-color:#f59e0b}@media (min-width:600px) and (max-width:899px){.palette.side{width:160px}.pal-item{font-size:.78rem}}.palette.drawer{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;flex:none;max-height:55%;display:flex}.drawer-handle{min-height:var(--touch);color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex;position:relative}.drawer-handle .grip{background:var(--border);border-radius:2px;width:36px;height:4px;position:absolute;top:5px}.drawer-tabs{flex:none;gap:4px;padding:0 8px;display:flex;overflow-x:auto}.drawer-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:0 12px;font-weight:600}.drawer-tabs button.on{color:var(--text)}.drawer-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:4px;padding:8px;display:grid;overflow-y:auto}.drawer-grid .pal-item{text-align:center;flex-direction:column;justify-content:center;min-height:72px;font-size:.78rem}.bars{pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:calc(100% - 16px);display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.action-bar{pointer-events:auto;background:var(--surface);border-radius:12px;align-items:center;gap:4px;max-width:100%;padding:4px 4px 4px 10px;display:flex;box-shadow:0 2px 10px #00000040}.action-bar .btn{border-color:#0000}.action-bar .btn.danger{color:var(--danger)}.ab-text{flex-direction:column;min-width:0;padding:0 6px;line-height:1.15;display:flex}.ab-text strong,.ab-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ab-text small{color:var(--muted)}.ab-toggle{min-height:var(--touch);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding:0 8px;display:flex}.ab-toggle input{width:22px;height:22px}@media (max-width:599px){.ab-text small{display:none}}.ab-text{flex:none}.dev-label{fill:#111827;font-weight:500}.note-colors{flex-wrap:wrap;gap:8px;display:flex}.note-color{width:var(--touch);height:var(--touch);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border);cursor:pointer;border-radius:50%}.note-color.on{box-shadow:0 0 0 3px var(--yellow), 0 0 0 4px var(--text)}.note-text{text-anchor:middle;stroke:none;pointer-events:none;white-space:pre;font-family:Helvetica,Arial,sans-serif}.note-text.halo{stroke:#fff;paint-order:stroke}.note-text.empty{opacity:.5;font-style:italic}.props-side{background:var(--surface);z-index:2;border-radius:12px;width:280px;max-width:calc(100% - 16px);position:absolute;top:8px;bottom:8px;right:8px;overflow-y:auto;box-shadow:0 2px 12px #00000040}.stage:has(.props-side) .minimap{right:296px}.props-sheet{background:var(--surface);border-top:1px solid var(--border);max-height:60%;padding-bottom:env(safe-area-inset-bottom);flex:none;overflow-y:auto;box-shadow:0 -2px 10px #00000026}.props{flex-direction:column;gap:12px;padding:8px 12px 16px;display:flex}.props-head{background:var(--surface);z-index:1;align-items:center;gap:8px;padding:4px 0;display:flex;position:sticky;top:-8px}.props-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.props-title small{color:var(--muted)}.field{flex-direction:column;gap:6px;display:flex}.field>span,.field-group legend{color:var(--muted);font-size:.8rem;font-weight:600}.field input:not([type]),.field input[type=text],.field input[type=email],.field input[type=password]{min-height:var(--touch);border:1px solid var(--border);font:inherit;border-radius:8px;padding:0 10px}.field input[type=range]{width:100%;height:32px;accent-color:var(--accent)}.stepper{align-items:center;gap:8px;display:flex}.stepper output{text-align:center;font-variant-numeric:tabular-nums;flex:1;font-weight:600}.stepper .btn{min-width:52px;font-size:1.1rem;font-weight:600}.btn.small{min-height:40px;padding:0 10px;font-size:.85rem}.field-group{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;margin:0;padding:8px 10px 10px;display:flex}.hint{color:var(--muted);font-size:.75rem}.check{min-height:var(--touch);align-items:center;gap:8px;display:flex}.check input{width:22px;height:22px}.stage:has(.props-side) .bars{max-width:calc(100% - 312px);left:calc(50% - 148px)}@media (max-width:599px){.action-bar .narrow-hide{display:none}}.action-bar .btn.on{background:#fef3c7;border-color:#f59e0b}.annotations .hit-line{fill:none;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.draft-text{text-anchor:middle;fill:#0f766e;stroke:#fff;paint-order:stroke;font-family:Helvetica,Arial,sans-serif;font-weight:700}.stage.drawing .viewer{cursor:crosshair}.scale-label{font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px 0 0;font-size:.8rem}.scale-label.none{opacity:.6}@media (max-width:599px){.scale-label.wide-only{display:none}}.ab-select{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:40px;padding:0 6px}.btn.primary-icon:not(:disabled){background:var(--accent);color:var(--accent-text)}.big-value{font-size:1.3rem;font-weight:700}.choice-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.dialog-backdrop{z-index:5;background:#11182759;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.dialog{background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;width:min(420px,100%);padding:16px;display:flex;box-shadow:0 8px 30px #0000004d}.dialog h2{margin:0;font-size:1.1rem}.dialog p{margin:0}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.map-dialog{gap:10px;width:min(1100px,100%);height:min(860px,100%)}@media (max-width:599px){.dialog-backdrop:has(.map-dialog){padding:0}.map-dialog{border-radius:0;height:100%}}.map-search{gap:8px;display:flex;position:relative}.map-search input{min-width:0;min-height:var(--touch);border:1px solid var(--border);font:inherit;border-radius:8px;flex:1;padding:0 10px}.map-results{z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 6px 20px #0000002e}.map-results button{width:100%;min-height:var(--touch);text-align:left;font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;padding:0 10px}.map-results button:hover,.map-results button:focus-visible{background:var(--accent-light)}.map-results .hint{padding:10px}.map-stage{z-index:0;isolation:isolate;border-radius:10px;flex:1;min-height:220px;position:relative;overflow:hidden}.map-box{background:#dfe5ea;position:absolute;inset:0}.map-frame{z-index:500;pointer-events:none;border:3px solid var(--yellow);position:absolute;box-shadow:0 0 0 1px #00000080,0 0 0 9999px #0a192d8c}.map-options{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.seg{display:inline-flex}.seg .btn{border-radius:0}.seg .btn:first-child{border-radius:8px 0 0 8px}.seg .btn:last-child{border-radius:0 8px 8px 0;margin-left:-1px}.seg .btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.map-actions{align-items:center}.map-info{flex:1;font-size:.85rem}html,body{overflow:hidden}.toolbar{min-width:0;overflow:hidden}@media (max-width:599px){.toolbar{gap:0}.toolbar .sep{display:none}.toolbar .btn.icon{min-width:42px}.page-select{max-width:6.5rem}.action-bar .ab-select.narrow-hide{display:none}}.layers-panel{background:var(--surface);z-index:3;border-radius:12px;flex-direction:column;gap:8px;width:300px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);padding:8px 12px 12px;display:flex;position:absolute;top:8px;right:8px;overflow-y:auto;box-shadow:0 2px 12px #00000040}.layers-panel ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.layers-panel li{align-items:center;gap:8px;display:flex}.layers-panel li.off .layer-name{opacity:.45}.layers-panel .btn.on{background:#fef3c7;border-color:#f59e0b}.layer-dot{border-radius:50%;flex:none;width:14px;height:14px}.layer-name{flex:1;justify-content:space-between;gap:8px;font-weight:600;display:flex}.layer-name small{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.pal-item:disabled{opacity:.35;cursor:not-allowed}.field textarea{border:1px solid var(--border);font:inherit;resize:vertical;border-radius:8px;padding:8px 10px}.field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-row .field input{width:100%;min-width:0}.photo-strip{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;display:grid}.photo-thumb{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;padding:0;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-actions{flex-wrap:wrap;gap:6px;display:flex}.photo-actions .btn{flex:1}.error-text{color:var(--danger)}.photo-viewer{z-index:50;color:#fff;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;padding:56px 8px 8px;display:flex;position:fixed;inset:0}.photo-viewer img{object-fit:contain;max-width:100%;max-height:100%}.photo-viewer-bar{top:max(8px, env(safe-area-inset-top));gap:8px;display:flex;position:absolute;right:8px}.btn.danger-text{color:var(--danger)}.library-btn{width:100%;margin-top:12px}.drawer .library-btn{width:auto;margin:0 8px 8px}.library-dialog{width:min(480px,100%);max-height:calc(100% - 16px);overflow-y:auto}.library-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.library-list li{align-items:center;gap:8px;display:flex}.symbol-form{flex-direction:column;gap:12px;display:flex}.symbol-form select{min-height:var(--touch);border:1px solid var(--border);font:inherit;background:var(--surface);border-radius:8px;padding:0 8px}.symbol-preview{align-items:center;gap:12px;display:flex}.preview-disc{background:#fff;border:4px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.preview-disc img{object-fit:contain;width:64%;height:64%}.color-input{min-height:var(--touch);border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;padding:2px}.toolbar .btn.dot{position:relative}.toolbar .btn.dot:after{content:"";background:#f59e0b;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}@media (max-width:599px){.page-select{max-width:4.8rem}}.export-dialog{width:min(520px,100%);max-height:calc(100% - 16px);overflow-y:auto}.export-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.export-btn{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:64px;padding:10px 12px}.export-btn small{opacity:.8;font-size:.75rem}@media (max-width:480px){.export-grid{grid-template-columns:1fr}}.pwa-banner{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:1000;color:#f9fafb;background:#1f2937;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 16px);padding:8px 8px 8px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.login{place-items:center;min-height:100%;padding:16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;width:min(380px,100%);padding:24px;display:flex}.login-card img{border-radius:12px;align-self:center}.login-card h1{text-align:center;margin:0;font-size:1.3rem}.account-bar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.account-bar>span{margin-right:auto}.sync-state{background:var(--bg);border:1px solid var(--border);border-radius:999px;align-self:flex-start;margin-top:4px;padding:1px 8px;font-size:.75rem}.sync-state.ok{color:#15803d;border-color:#86efac}.sync-state.pending{color:#b45309;border-color:#fcd34d}.sync-state.remote{color:var(--accent);border-color:#c9d9ec}.accounts-dialog{width:min(520px,100%);max-height:calc(100% - 16px);overflow-y:auto}.account-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.account-list li{align-items:center;gap:6px;display:flex}.project-open.static{cursor:default}.badge{background:var(--accent-light);color:var(--accent);border-radius:999px;padding:0 6px;font-size:.7rem;font-style:normal}.sync-badge{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;display:inline-flex}.sync-dot{background:#16a34a;border-radius:50%;flex:none;width:8px;height:8px}.sync-badge.busy .sync-dot{background:var(--accent);animation:1s ease-in-out infinite sync-pulse}.sync-badge.offline .sync-dot{background:#9ca3af}.sync-badge.error{color:var(--danger);border-color:var(--danger)}.sync-badge.error .sync-dot{background:var(--danger)}@keyframes sync-pulse{50%{opacity:.3}}@media (max-width:599px){.sync-badge{background:0 0;border:none;min-height:32px;padding:0 4px}.sync-badge .sync-text{display:none}.page-select{max-width:3.4rem}}.duplicates{z-index:20;flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 16px);display:flex;position:absolute;top:8px;left:8px}.duplicates-toggle{color:#92400e;background:#fef3c7;border-color:#f59e0b}.duplicates-list{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;max-height:50vh;margin:0;padding:8px;list-style:none;display:flex;overflow-y:auto;box-shadow:0 6px 24px #00000026}.duplicates-list li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.duplicates-list strong{min-width:4.5rem}.readonly-pill{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;align-items:center;min-height:28px;padding:0 8px;font-size:.78rem;display:inline-flex}@media (max-width:599px){.readonly-text{display:none}}.editor.read-only .props :is(input,select,textarea){pointer-events:none;background:0 0}.editor.read-only .props button:not([aria-label^=Fermer]):not(.photo-thumb),.editor.read-only .action-bar .btn:not([aria-label=Propriétés]):not([aria-label=Désélectionner]),.editor.read-only .photo-viewer-bar .danger-text,.editor.read-only .duplicates{display:none}.share-dialog{width:min(480px,100%);max-height:calc(100% - 16px);overflow-y:auto}.share-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.share-list li{align-items:center;gap:8px;display:flex}.share-list li>span{flex:1;min-width:0}.share-list small{color:var(--muted);text-overflow:ellipsis;display:block;overflow:hidden}.share-list select{min-height:var(--touch);border:1px solid var(--border);font:inherit;background:var(--surface);border-radius:8px;padding:0 8px}.row-badges{flex-wrap:wrap;gap:4px;display:flex}@media (max-width:1100px){.sync-badge .sync-text,.readonly-text{display:none}}.home-page{height:100%;overflow-y:auto}.topbar{z-index:3;background:var(--accent);color:#fff;border-bottom:4px solid var(--yellow);padding-top:env(safe-area-inset-top);position:sticky;top:0}.topbar-in{align-items:center;gap:10px;max-width:1100px;margin:0 auto;padding:6px 16px;display:flex}.topbar .spacer{flex:1}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand img{width:auto;height:44px;display:block}.brand-app{white-space:nowrap;border-left:1px solid #ffffff59;padding-left:14px;line-height:1.15}.brand-app b{font-family:var(--f-title);letter-spacing:.04em;font-size:20px;font-stretch:75%}.brand-app small{opacity:.8;font-size:12px;display:block}.top-link{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-height:40px;padding:0 12px;font-weight:700}.top-link:hover:not(:disabled){background:#ffffff1f}.top-link:disabled{opacity:.5}.me{background:#ffffff1f;border-radius:99px;align-items:center;gap:8px;min-width:0;padding:3px 12px 3px 3px;font-weight:600;display:flex}.avatar{width:30px;height:30px;color:var(--accent);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.me-name{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.home{max-width:1100px;padding:24px 16px 40px}.home-header{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px}.home-header h1{font-size:27px}.home-actions{flex-wrap:wrap;gap:8px;display:flex}.project-open{border-left:4px solid var(--accent);border-radius:12px}@media (hover:hover){.project-open:hover:not(:disabled){background:#f7f9fd}}.project-name{color:var(--accent);font-size:1.05rem}@media (max-width:760px){.brand-app,.me-name{display:none}.me{padding-right:3px}.brand img{height:36px}.topbar-in{gap:4px;padding:6px 8px}}.auth-wrap{background:#fff;grid-template-columns:minmax(280px,44%) 1fr;min-height:100%;display:grid}.auth-side{background:var(--accent);color:#fff;flex-direction:column;justify-content:space-between;gap:24px;padding:40px;display:flex;position:relative;overflow:hidden}.auth-side:after{content:"";border:36px solid var(--yellow);opacity:.9;width:260px;height:260px;position:absolute;bottom:-90px;right:-90px;transform:rotate(45deg)}.auth-side img{width:min(320px,90%);height:auto}.auth-side h2{color:#fff;margin:0 0 12px;font-size:34px;line-height:1.05}.auth-side p{opacity:.85;max-width:340px;margin:0}.auth-side ul{z-index:1;gap:12px;margin:26px 0 0;padding:0;list-style:none;display:grid;position:relative}.auth-side li{align-items:flex-start;gap:10px;display:flex}.auth-side li i{background:var(--yellow);flex:none;width:10px;height:10px;margin-top:6px;transform:rotate(45deg)}.auth-main{place-items:center;padding:32px 20px;display:grid}.auth-main .login-card{border:0;width:min(400px,100%);padding:0}.auth-main .login-card h1{text-align:left;font-size:27px}.auth-main .btn.primary{margin-top:4px}.hint.center{text-align:center}.credit{text-align:center;color:var(--muted);margin:14px 0 0;font-size:12px}.credit b{color:var(--accent)}@media (max-width:760px){.auth-wrap{grid-template-rows:auto 1fr;grid-template-columns:1fr}.auth-side{padding:20px 24px;padding-top:max(20px, env(safe-area-inset-top))}.auth-side ul,.auth-side p,.auth-side:after{display:none}.auth-side h2{margin:0;font-size:26px}.auth-side img{width:200px}}.field input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),.field select,.field textarea{border-color:var(--border);color:var(--text);background:#f6f8fb}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:#fff;outline:2px solid #9db6e0}.toolbar .btn.on{box-shadow:inset 0 -3px 0 var(--yellow);background:#ffffff24}.logo-preview{border:1px dashed var(--border);background:#fff;border-radius:8px;flex-shrink:0;align-items:center;gap:12px;padding:8px;display:flex}.logo-preview img{object-fit:contain;max-width:60%;max-height:44px}.field select{min-height:var(--touch);border:1px solid var(--border);font:inherit;border-radius:8px;padding:0 8px}.project-list li.folder{display:block}.folder>details>.project-list{border-left:2px solid var(--accent-light);margin:8px 0 4px 14px;padding-left:10px}.folder-head{background:var(--accent-light);min-height:44px;color:var(--accent-dark);font-family:var(--f-title);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:6px 12px;font-size:1.05rem;font-weight:700;list-style:none;display:flex}.folder-head::-webkit-details-marker{display:none}.folder-head:before{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid;flex-shrink:0;width:0;height:0;transition:transform .15s}.folder>details[open]>.folder-head:before{transform:rotate(90deg)}.folder-head.level-1{background:#f1f5fb;font-size:1rem}.folder-head.level-2{background:0 0;border:1px solid #dbe4f0;font-size:.95rem}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.folder-count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;flex-shrink:0;min-width:24px;padding:1px 8px;font-size:.8rem}@media (max-width:760px){.folder>details>.project-list{margin-left:4px;padding-left:8px}.project-list li:not(.folder){flex-wrap:wrap}.project-list li:not(.folder)>.project-open{flex-basis:100%}.project-list li:not(.folder)>.btn:not(.icon){flex:1;min-height:44px}}.home-search{margin:0 0 12px}.home-search input{width:100%;min-height:44px;font:inherit;color:var(--text);background:#fff;border:1px solid #b9c6da;border-radius:10px;padding:8px 14px}.home-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.layer-color{cursor:pointer;border:2px solid #fff;border-radius:50%;flex:none;width:26px;height:26px;position:relative;box-shadow:0 0 0 1px #b9c6da}.layer-color.disabled{cursor:default}.layer-color input{opacity:0;width:100%;height:100%;cursor:inherit;position:absolute;inset:0}.layers-panel .layer-dot{margin:0 6px}.layers-sub{color:var(--accent);margin:6px 0 0;font-size:.9rem}.layers-panel li:has(>.layer-color){min-height:36px}@media (pointer:coarse){.field input[type=range]{display:none}.stepper .btn.icon{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-width:48px;min-height:44px}}.journal-dialog{width:min(640px,100%);max-height:100%}.journal-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.journal-list li{border-bottom:1px solid var(--border,#e5e7eb);padding-bottom:8px}.journal-list code{word-break:break-all;white-space:pre-wrap;opacity:.8;margin-top:4px;font-size:.78rem;display:block}
