:root{font-family:Segoe UI,Tahoma,sans-serif;color:#17202a;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;text-align:center;gap:.75rem}.app-shell{--accent: #6750a4;--accent-soft: rgba(103, 80, 164, .14);--accent-border: rgba(103, 80, 164, .38);min-height:100vh;height:100vh;display:grid;grid-template-rows:auto 1fr auto}header,footer{background:linear-gradient(0deg,#fff,color-mix(in srgb,var(--accent) 6%,#ffffff));border-bottom:1px solid var(--accent-border);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}header h1{margin:0;color:var(--accent)}header p{margin:.1rem 0 0;color:#4c5d73}footer{border-top:1px solid var(--accent-border);border-bottom:none;font-size:.85rem;color:#4c5d73}main{display:grid;grid-template-columns:var(--tree-width, 360px) 10px 1fr;min-height:0;overflow:hidden}aside{border-right:none;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,#ffffff),#fff 110px);display:flex;flex-direction:column;min-height:0;overflow-y:auto}section{padding:1rem;display:grid;gap:.75rem;align-content:start;min-height:0;overflow-y:auto}.toolbar{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--accent-border);position:sticky;top:0;background:color-mix(in srgb,var(--accent) 5%,#ffffff);z-index:1}.tree-list{list-style:none;margin:0;padding:.35rem}.divider{cursor:col-resize;background:linear-gradient(180deg,#d7e0ee,color-mix(in srgb,var(--accent) 22%,#c6d3e6))}.divider:hover{background:color-mix(in srgb,var(--accent) 40%,#c6d3e6)}.drop-target{height:8px;border-radius:999px;margin:2px 0}.drop-target:hover{background:color-mix(in srgb,var(--accent) 25%,transparent)}.tree-row{display:flex;align-items:center;gap:.25rem;min-height:2rem}.toggle-btn,.toggle-spacer{width:2rem;height:2rem;flex:0 0 2rem}.toggle-btn{border:none;border-radius:10px;background:color-mix(in srgb,var(--accent) 7%,transparent);cursor:pointer;color:var(--accent);font-size:1.1rem;font-weight:700}.toggle-btn:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.node-btn{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:.45rem .55rem;border-radius:10px;display:inline-flex;align-items:center;gap:.5rem}.node-btn:hover{background:#edf2f9}.node-btn.selected{background:var(--accent-soft);border-color:var(--accent-border)}.node-icon{width:1.2rem;text-align:center}.node-icon.badge{width:1.35rem;height:1.35rem;display:inline-grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,#ffffff);border:1px solid var(--accent-border);color:var(--accent);font-size:.7rem;font-weight:700;line-height:1}.row{display:flex;gap:.5rem;align-items:center}.row.wrap{flex-wrap:wrap}.editor-header{display:flex;justify-content:space-between;color:#4c5d73;font-size:.85rem}textarea,input,select{border:1px solid #c6d3e6;border-radius:8px;padding:.55rem}button{border:1px solid #c6d3e6;background:#fff;border-radius:8px;padding:.45rem .7rem;cursor:pointer}button:hover{border-color:var(--accent-border)}.accent-btn{background:color-mix(in srgb,var(--accent) 12%,#ffffff);border-color:var(--accent-border);color:color-mix(in srgb,var(--accent) 70%,#000000)}.accent-btn:hover{background:color-mix(in srgb,var(--accent) 20%,#ffffff)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.images{border-top:1px solid var(--accent-border);padding-top:.75rem}.image-grid{margin-top:.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.image-card{border:1px solid #cfd9e8;border-radius:10px;padding:.4rem;background:#fff}.image-card img{width:100%;height:100px;object-fit:cover;border-radius:8px}@media (max-width: 960px){.app-shell{height:auto;min-height:100vh}main{grid-template-columns:1fr;overflow:visible}aside{border-right:none;border-bottom:1px solid var(--accent-border);max-height:40vh;overflow:auto}.divider{display:none}section{overflow:visible}}
