:root{--bg:#f4f5f7;--surface:#ffffff;--list:#f1f2f4;--text:#172b4d;--muted:#5e6c84;--border:#dfe1e6;--primary:#0c66e4;--primary-hover:#0055cc;--danger:#c9372c;--soft:#e9ebee;--soft-hover:#dcdfe4;--card-shadow:0 1px 1px rgba(9,30,66,0.25),0 0 1px rgba(9,30,66,0.31);--radius:12px;--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--lbl-green:#4bce97;--lbl-yellow:#f5cd47;--lbl-orange:#fea362;--lbl-red:#f87168;--lbl-purple:#9f8fef;--lbl-blue:#579dff;--lbl-sky:#6cc3e0;--lbl-pink:#e774bb;--lbl-gray:#8590a2}@media (prefers-color-scheme:dark){:root{--bg:#1d2125;--surface:#22272b;--text:#dee4ea;--muted:#9fadbc;--border:#38414a;--primary:#579dff;--primary-hover:#85b8ff;--danger:#f87168;--soft:#2c333a;--soft-hover:#38414a;--card-shadow:0 1px 1px rgba(0,0,0,0.5);--list:#101204}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);font-size:14px;line-height:1.4;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.row{display:flex;gap:8px;align-items:center}.grow{flex:1 1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;padding:8px 14px;font-weight:600;background:var(--soft);transition:background .12s,opacity .12s}.btn:hover{background:var(--soft-hover)}.btn:disabled{opacity:.6;cursor:default}.btn-sm{padding:6px 10px;font-size:13px}.btn-block{width:100%}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}@media (prefers-color-scheme:dark){.btn-primary{color:#1d2125}}.btn-danger{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-ghost{background:transparent}.btn-ghost:hover,.btn-soft{background:var(--soft)}.btn-glass{background:rgba(255,255,255,.2);color:#fff}.btn-glass:hover{background:rgba(255,255,255,.32)}.btn-light{background:#fff;color:#172b4d}.btn-light:hover{background:#f1f2f4}.icon-btn{border:0;background:transparent;width:28px;height:28px;border-radius:6px;display:inline-grid;place-items:center;color:var(--muted);flex:none}.icon-btn:hover{background:var(--soft);color:var(--text)}.input{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 10px;outline:none}.input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.input-sm{padding:6px 8px;font-size:13px}textarea.input{resize:vertical}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.form-error{color:var(--danger);margin:0;font-size:13px}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;letter-spacing:-.01em}.brand-lg{font-size:22px;justify-content:center}.brand-mark{display:inline-flex;border-radius:5px;background:currentColor;height:20px}.brand-mark i{display:block;width:4px;background:var(--bg);border-radius:1px}.brand-mark i:first-child{height:12px}.brand-mark i:nth-child(2){height:8px}.brand-mark i:nth-child(3){height:10px}.topbar{display:flex;align-items:center;gap:16px;height:48px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border)}.board-page .topbar{background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.12);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board-page .topbar .brand-mark i{background:rgba(0,0,0,.35)}.board-page .topbar .btn-ghost:hover{background:rgba(255,255,255,.2)}.topbar-mid{flex:1 1}.topbar-user{display:flex;align-items:center;gap:8px}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6e5dc6,#0c66e4);color:#fff;font-size:12px;font-weight:700;flex:none}.avatar-sm{width:22px;height:22px;font-size:10px;margin-left:auto}.auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(135deg,#0c66e4,#6e5dc6)}.auth-card{width:100%;max-width:380px;background:var(--surface);border-radius:16px;padding:28px;gap:14px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.auth-card,.auth-card label{display:flex;flex-direction:column}.auth-card label{gap:6px;font-weight:600;font-size:13px}.auth-card label input{font-weight:400;width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:9px 10px;outline:none}.auth-card label input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.auth-card small{font-weight:400;color:var(--muted)}.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);border-radius:10px;padding:4px}.tabs button{border:0;background:transparent;padding:7px;border-radius:7px;font-weight:600;color:var(--muted)}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--card-shadow)}.home{max-width:1100px;margin:0 auto;padding:32px 16px 64px}.home-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.home-head h1{font-size:24px;letter-spacing:-.02em}.home-head p{margin:4px 0 0}.home .search{max-width:260px}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px}.board-tile{position:relative;min-height:104px;border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;border:0;text-align:left;box-shadow:0 1px 2px rgba(0,0,0,.15);transition:transform .12s,box-shadow .12s,filter .12s}a.board-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.18);filter:brightness(1.05)}.board-tile-title{font-weight:700;font-size:16px;word-break:break-word}.board-tile-meta{font-size:12px;opacity:.85}.board-new{background:var(--soft);color:var(--muted);justify-content:center;align-items:center;font-weight:600}.board-new:hover{background:var(--soft-hover)}.board-new-form{background:var(--surface);color:var(--text);gap:10px;justify-content:flex-start;box-shadow:var(--card-shadow)}.empty{margin-top:24px}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:28px;height:22px;border-radius:5px;border:0;padding:0}.swatches-sm .swatch{width:24px;height:18px}.swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}.bg-blue{background:linear-gradient(135deg,#0c66e4,#2c8cf4)}.bg-green{background:linear-gradient(135deg,#1f845a,#4bce97)}.bg-orange{background:linear-gradient(135deg,#c25100,#fea362)}.bg-red{background:linear-gradient(135deg,#ae2e24,#f87168)}.bg-purple{background:linear-gradient(135deg,#5e4db2,#9f8fef)}.bg-pink{background:linear-gradient(135deg,#943d73,#e774bb)}.bg-teal{background:linear-gradient(135deg,#206a83,#6cc3e0)}.bg-slate{background:linear-gradient(135deg,#2c3e5d,#626f86)}.lbl-green{--c:var(--lbl-green)}.lbl-yellow{--c:var(--lbl-yellow)}.lbl-orange{--c:var(--lbl-orange)}.lbl-red{--c:var(--lbl-red)}.lbl-purple{--c:var(--lbl-purple)}.lbl-blue{--c:var(--lbl-blue)}.lbl-sky{--c:var(--lbl-sky)}.lbl-pink{--c:var(--lbl-pink)}.lbl-gray{--c:var(--lbl-gray)}.label-dot,.swatch[class*=lbl-]{background:var(--c)}.board-page{min-height:100vh;display:flex;flex-direction:column;background-attachment:fixed}.board-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;flex-wrap:wrap;background:rgba(0,0,0,.16);color:#fff}.board-title{border:0;background:transparent;color:#fff;font-size:18px;font-weight:700;padding:4px 10px;border-radius:8px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-title:hover{background:rgba(255,255,255,.2)}.board-title-input{font-size:18px;font-weight:700;padding:4px 10px;border-radius:8px;border:0;outline:2px solid #fff;color:#172b4d;background:#fff}.board-filters{display:flex;align-items:center;gap:8px;flex:1 1;flex-wrap:wrap}.board-filters .search{width:200px;background:rgba(255,255,255,.92);color:#172b4d;border-color:transparent}.label-filter{display:flex;gap:4px;flex-wrap:wrap}.chip{min-width:32px;height:26px;padding:0 8px;border-radius:6px;border:0;font-size:12px;font-weight:600;background:var(--c);color:#172b4d;opacity:.55;transition:opacity .1s,box-shadow .1s}.chip:hover{opacity:.85}.chip.on{opacity:1;box-shadow:0 0 0 2px #fff}.filter-count{font-size:13px;font-weight:600}.filter-note{margin:8px 16px 0;color:#fff;font-size:12px;opacity:.9}.board-menu-wrap,.list-menu-wrap{position:relative}.popover{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:180px;background:var(--surface);color:var(--text);border-radius:10px;padding:6px;box-shadow:0 8px 24px rgba(9,30,66,.25),0 0 1px rgba(9,30,66,.31);display:flex;flex-direction:column}.popover>button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px}.popover>button:hover{background:var(--soft)}.popover>button.danger{color:var(--danger)}.board-menu{width:300px;padding:12px;gap:8px}.board-menu h4{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px}.board-menu hr{border:0;border-top:1px solid var(--border);margin:6px 0;width:100%}.popover-head{display:flex;justify-content:space-between;align-items:center}.label-edit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.label-edit-list li{display:flex;align-items:center;gap:6px}.label-dot{width:28px;height:22px;border-radius:5px;flex:none}.label-new{display:flex;flex-direction:column;gap:8px;margin-top:4px}.lists{flex:1 1;display:flex;align-items:flex-start;gap:12px;padding:14px 16px 24px;overflow-x:auto;overscroll-behavior-x:contain}.list{flex:0 0 272px;width:272px;max-height:calc(100vh - 150px);display:flex;flex-direction:column;background:var(--list);border-radius:var(--radius);box-shadow:0 1px 1px rgba(9,30,66,.25)}.list.is-ghost{opacity:.4}.list-overlay{transform:rotate(2deg);box-shadow:0 12px 28px rgba(0,0,0,.3)}.list-head{display:flex;align-items:center;gap:6px;padding:8px 8px 4px;cursor:-webkit-grab;cursor:grab;touch-action:manipulation}.list-title,.list-title-static{flex:1 1;border:0;background:transparent;text-align:left;font-weight:700;padding:6px 8px;border-radius:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-title:hover{background:var(--soft)}.list-title-input{flex:1 1;font-weight:700;padding:5px 7px;border-radius:6px;border:0;outline:2px solid var(--primary);background:var(--surface);min-width:0}.list-count{font-size:12px;color:var(--muted);padding:2px 6px;border-radius:10px;background:var(--soft)}.list-body{flex:1 1;overflow-y:auto;padding:4px 8px;display:flex;flex-direction:column;gap:8px;min-height:8px}.list-empty{color:var(--muted);font-size:12px;text-align:center;margin:8px 0}.list-foot{padding:4px 8px 8px}.list-add{background:rgba(255,255,255,.24);box-shadow:none;padding:8px}.list-add:has(form){background:var(--list)}.add-btn{width:100%;border:0;background:transparent;text-align:left;padding:8px;border-radius:8px;color:var(--muted);font-weight:600}.add-btn:hover{background:var(--soft);color:var(--text)}.add-btn-list{color:#fff}.add-btn-list:hover{background:rgba(255,255,255,.2);color:#fff}.inline-add{display:flex;flex-direction:column;gap:8px}.card{background:var(--surface);border-radius:8px;padding:8px 10px;box-shadow:var(--card-shadow);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline-offset:0;border:2px solid transparent}.card:hover{border-color:var(--primary)}.card.is-ghost{opacity:.35}.card-overlay{background:var(--surface);border-radius:8px;padding:8px 10px;cursor:-webkit-grabbing;cursor:grabbing;box-shadow:0 12px 24px rgba(0,0,0,.28);transform:rotate(3deg);width:256px}.card-labels{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.card-label{display:inline-block;min-width:40px;height:16px;line-height:16px;padding:0 8px;border-radius:4px;background:var(--c);color:#172b4d;font-size:11px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-label:empty{width:40px}.card-label-lg{height:28px;line-height:28px;min-width:48px;font-size:13px;border-radius:6px}.card-title{word-break:break-word;white-space:pre-wrap}.card-title.is-done{color:var(--muted);text-decoration:line-through}.card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:12px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:4px}.due-over{background:#ffd5d2;color:#ae2e24}.due-soon{background:#f8e6a0;color:#7f5f01}.due-done{background:#baf3db;color:#216e4e}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(9,30,66,.55);display:flex;justify-content:center;align-items:flex-start;padding:48px 16px;overflow-y:auto}.modal{position:relative;width:100%;max-width:680px;background:var(--surface);border-radius:14px;padding:22px 24px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.modal-close{position:absolute;top:12px;right:12px}.modal-head{display:flex;gap:12px;align-items:flex-start;padding-right:32px}.modal-title-wrap{flex:1 1}.modal-title{width:100%;border:0;background:transparent;font-size:20px;font-weight:700;resize:none;padding:2px 6px;margin-left:-6px;border-radius:6px;outline:none;field-sizing:content}.modal-title:focus{box-shadow:inset 0 0 0 2px var(--primary)}.modal-title-wrap p{margin:2px 0 0}.check-round{position:relative;flex:none;margin-top:4px}.check-round input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}.check-round span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--muted);color:transparent;font-size:13px;font-weight:900}.check-round input:checked+span{background:#22a06b;border-color:#22a06b;color:#fff}.check-round input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.meta-row{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 8px}.meta{display:flex;flex-direction:column;gap:6px}.meta h4,.modal-section h3{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.meta-labels{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.label-picker{margin-top:6px;padding:10px;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:6px;max-width:300px}.label-option{display:flex;align-items:center;gap:8px;cursor:pointer}.label-option .card-label{flex:1 1}.modal-section{margin-top:22px;display:flex;flex-direction:column;gap:8px}.section-head{display:flex;justify-content:space-between;align-items:center}.desc-view{text-align:left;border:0;background:var(--soft);border-radius:8px;padding:10px 12px;min-height:56px;white-space:pre-wrap;word-break:break-word}.desc-view:hover{background:var(--soft-hover)}.desc-view.empty{color:var(--muted)}.desc-input{min-height:120px}.progress{height:8px;background:var(--soft);border-radius:4px;overflow:hidden}.progress span{display:block;height:100%;background:var(--primary);transition:width .2s}.progress span.full{background:#22a06b}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.checklist li{display:flex;align-items:center;gap:8px;padding:2px 4px;border-radius:6px}.checklist li:hover{background:var(--soft)}.checklist input[type=checkbox]{width:16px;height:16px;accent-color:#22a06b;flex:none}.check-text{flex:1 1;border:0;background:transparent;padding:5px 6px;border-radius:5px;outline:none;min-width:0}.check-text:focus{background:var(--surface);box-shadow:inset 0 0 0 2px var(--primary)}.check-text.is-done{text-decoration:line-through;color:var(--muted)}.modal-foot{display:flex;justify-content:flex-end;margin-top:24px;padding-top:14px;border-top:1px solid var(--border)}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:200;background:#ae2e24;color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.3);max-width:calc(100% - 32px)}@media (max-width:640px){.topbar{gap:8px;padding:0 12px}.board-bar{padding:8px 12px}.board-filters .search{width:100%}.lists{padding:12px;scroll-snap-type:x mandatory}.list{flex-basis:86vw;width:86vw;scroll-snap-align:start;max-height:calc(100vh - 200px)}.modal{padding:18px 16px}.modal-backdrop{padding:12px}}.admin{max-width:1100px;margin:0 auto;padding:32px 16px 64px;display:flex;flex-direction:column;gap:18px}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.admin-head h1{font-size:24px;letter-spacing:-.02em}.admin-head p{margin:4px 0 0}.stat-row{display:flex;gap:10px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 14px;display:flex;flex-direction:column;min-width:92px}.stat strong{font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--muted)}.admin-tabs{grid-template-columns:repeat(3,auto);justify-content:start;width:-moz-fit-content;width:fit-content;max-width:100%}.admin-tabs button{padding:7px 14px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:14px}.panel h3{font-size:15px}.panel p{margin:0}.panel-narrow{max-width:560px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:10px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.member{display:flex;align-items:center;gap:10px;min-width:200px}.you{font-weight:400}.role,.you{color:var(--muted)}.role{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--soft);white-space:nowrap}.role-admin{background:#e9e2ff;color:#5e4db2}.role-open{background:#baf3db;color:#216e4e}.role-muted{opacity:.7}.small-gap{margin-left:8px}@media (prefers-color-scheme:dark){.role-admin{background:#352c63;color:#b8acf6}.role-open{background:#164b35;color:#7ee2b8}}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.invite-form{display:flex;flex-direction:column;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--border)}.invite-fields{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.invite-fields label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.invite-fields label .input{font-weight:400;min-width:180px}.invite-fields label.check{flex-direction:row;align-items:center;gap:6px;padding-bottom:6px}.invite-result{display:flex;gap:8px;max-width:640px}.modal-sm{max-width:420px;display:flex;flex-direction:column;gap:12px}.toast-ok{background:#1f845a}.is-saving{opacity:.7}.card.is-saving{cursor:progress}.card.is-saving:hover{border-color:transparent}.add-btn:disabled,.icon-btn:disabled{opacity:.5;cursor:default;background:transparent}.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#fff;opacity:.9;white-space:nowrap}.live:before{content:"";width:8px;height:8px;border-radius:50%;background:#9fadbc}.live.on:before{background:#4bce97;box-shadow:0 0 0 3px rgba(75,206,151,.3)}.skeleton{background:rgba(255,255,255,.18);border-radius:var(--radius)}.skeleton-list{flex:0 0 272px;height:220px}.skeleton-title{width:180px;height:28px}@media (prefers-reduced-motion:no-preference){.skeleton{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}}.status{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1;padding:4px 9px;color:#fff;background:var(--st);white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.status-idea{--st:#8270db}.status-progress{--st:#e2b203;color:#3d2e00}.status-testing{--st:#758195}.status-production{--st:linear-gradient(90deg,#22a06b,#b3c51a 70%,#e2b203);color:#102a1d}.status-abandoned{--st:#c9372c}.status-abandoned.card-status~.card-title{color:var(--muted)}.card-status{margin-bottom:6px}.status-filter{display:flex;gap:4px;flex-wrap:wrap}.status-chip{cursor:pointer;opacity:.5;padding:6px 10px;font-size:12px;transition:opacity .1s,box-shadow .1s}.status-chip:hover{opacity:.8}.status-chip.on{opacity:1;box-shadow:0 0 0 2px #fff}.status-picker-wrap{margin-top:18px}.status-picker{display:flex;flex-wrap:wrap;gap:6px}.status-option{cursor:pointer;padding:7px 12px;font-size:13px;opacity:.45;transition:opacity .1s,transform .1s,box-shadow .1s}.status-option:hover{opacity:.8}.status-option.on{opacity:1;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--st-ring,#172b4d)}@media (prefers-color-scheme:dark){.status-option.on{--st-ring:#dee4ea}}.avatar-stack{display:inline-flex;margin-left:auto;padding-left:4px}.avatar-stack .avatar-sm{margin-left:-6px;box-shadow:0 0 0 2px var(--surface)}.avatar-stack .avatar-sm:first-child{margin-left:0}.avatar-more{background:var(--soft-hover)!important;color:var(--text)}.member-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.member-picker{margin-top:6px;padding:6px;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:2px;min-width:220px;max-height:240px;overflow-y:auto}.member-option{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer}.member-option:hover{background:var(--soft)}.member-option .avatar-sm{margin-left:0}.member-name{flex:1 1}.md{line-height:1.5;word-break:break-word}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 6px}.md-h{margin:10px 0 4px;line-height:1.25}.md-h1{font-size:20px}.md-h2{font-size:17px}.md-h3{font-size:15px}.md-sub{font-size:12px;color:var(--muted)}.md a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.md-code{font-size:.88em;background:rgba(9,30,66,.08);padding:1px 5px;border-radius:4px}.md-code,.md-pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.md-pre{margin:6px 0;padding:10px 12px;border-radius:8px;overflow-x:auto;background:#1d2125;color:#dee4ea;border:1px solid var(--border);font-size:13px;line-height:1.45}.md-quote{margin:6px 0;padding:2px 0 2px 12px;border-left:4px solid var(--soft-hover);color:inherit}.md-list{margin:4px 0 6px;padding-left:22px}.md-list li{margin:2px 0}.md-li-nested{margin-left:18px!important;list-style-type:circle}.md-spoiler{background:#1d2125;color:transparent;border-radius:4px;padding:0 3px;cursor:pointer;transition:background .15s,color .15s}.md-spoiler *{color:transparent!important}.md-spoiler:hover{background:#2c333a}.md-spoiler.shown{background:rgba(9,30,66,.1);color:inherit;cursor:auto}.md-spoiler.shown *{color:inherit!important}@media (prefers-color-scheme:dark){.md-code{background:rgba(255,255,255,.1)}.md-pre{background:#161a1d}.md-spoiler{background:#0b0d0e}.md-spoiler.shown{background:rgba(255,255,255,.1)}}div.desc-view{cursor:text}.desc-editor{display:flex;flex-direction:column;gap:6px}.md-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.tb-btn{min-width:30px;height:28px;padding:0 7px;border:0;border-radius:6px;background:transparent;font-size:13px;font-weight:600;color:var(--text)}.tb-btn:hover:not(:disabled){background:var(--surface)}.tb-btn:disabled{opacity:.4;cursor:default}.tb-bold{font-weight:800}.tb-italic{font-style:italic;font-family:Georgia,serif}.tb-underline{text-decoration:underline}.tb-strike{text-decoration:line-through}.tb-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.tb-preview{margin-left:auto;font-weight:600}.tb-preview.on{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.desc-preview{min-height:120px;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.desc-hint{margin-left:auto}@media (max-width:640px){.desc-hint{display:none}}.drag-handle{border:0;background:transparent;color:var(--muted);cursor:-webkit-grab;cursor:grab;padding:2px;font-size:12px;letter-spacing:-3px;line-height:1;border-radius:4px;opacity:.35;touch-action:none;flex:none}.checklist li:hover .drag-handle,.drag-handle:focus-visible{opacity:1}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.drag-handle:disabled{cursor:default;opacity:.15}.checklist li.is-dragging{position:relative;z-index:2;background:var(--surface);box-shadow:0 6px 16px rgba(0,0,0,.18)}@media (hover:none){.drag-handle{opacity:.7}}.md .md-h{text-transform:none;letter-spacing:-.01em;color:inherit;font-weight:700}.md .md-h1{font-size:20px}.md .md-h2{font-size:17px}.md .md-h3{font-size:15px}.topnav{display:flex;gap:2px;margin-left:8px}.topnav-link{padding:6px 12px;border-radius:8px;font-weight:600;font-size:14px;color:var(--muted)}.topnav-link.on,.topnav-link:hover{background:var(--soft);color:var(--text)}.board-page .topnav-link{color:rgba(255,255,255,.8)}.board-page .topnav-link.on,.board-page .topnav-link:hover{background:rgba(255,255,255,.2);color:#fff}@media (max-width:640px){.topbar .brand{font-size:0;gap:0}.topnav{margin-left:0}}.md-editor{gap:6px}.md-editor,.md-editor-body{display:flex;flex-direction:column}.md-editor-body{gap:8px}.md-textarea{font-family:inherit;line-height:1.5}.tb-views{display:flex;gap:2px;margin-left:auto;background:var(--surface);border-radius:7px;padding:2px}.tb-view{height:24px;font-size:12px}.tb-view.on{background:var(--soft-hover)}.md-editor-split .md-editor-body{flex-direction:row;align-items:stretch}.md-editor-split .md-editor-body>*{flex:1 1;min-width:0}.md-editor-split .md-textarea{min-height:60vh;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px}.md-editor-split .md-live{min-height:60vh;max-height:75vh;overflow-y:auto;background:var(--surface)}@media (max-width:900px){.md-editor-split .md-editor-body{flex-direction:column}.md-editor-split.view-both .md-live,.tb-view-both{display:none}}.docs-page{min-height:100vh;display:flex;flex-direction:column}.docs{flex:1 1;display:grid;grid-template-columns:280px 1fr;min-height:0;position:relative}.docs-sidebar{border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0;height:calc(100vh - 48px);position:-webkit-sticky;position:sticky;top:0}.docs-sidebar-head{display:flex;gap:6px;padding:12px;border-bottom:1px solid var(--border)}.docs-sidebar-foot{display:flex;align-items:center;gap:6px;padding:8px 14px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.live-dot{width:8px;height:8px;border-radius:50%;background:#9fadbc}.live-dot.on{background:#22a06b;box-shadow:0 0 0 3px rgba(34,160,107,.2)}.tree,.tree-children{list-style:none;margin:0;padding:0}.tree{flex:1 1;overflow-y:auto;padding:8px 6px}.tree-empty{padding:12px 14px}.tree-row{position:relative;display:flex;align-items:center;gap:2px;border-radius:6px;padding-right:4px;min-height:30px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree-row:hover{background:var(--soft)}.tree-row.active{background:var(--soft-hover)}.tree-row.active .tree-title{font-weight:700}.tree-row.dragging{opacity:.4}.tree-row.drop-inside{box-shadow:inset 0 0 0 2px var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.tree-row.drop-after:after,.tree-row.drop-before:before{content:"";position:absolute;left:8px;right:8px;height:2px;background:var(--primary);border-radius:2px}.tree-row.drop-before:before{top:-1px}.tree-row.drop-after:after{bottom:-1px}.tree-caret{width:20px;height:22px;border:0;background:transparent;color:var(--muted);border-radius:4px;font-size:11px;flex:none;transition:transform .12s}.tree-caret:hover{background:var(--soft-hover)}.tree-caret.open{transform:rotate(90deg)}.tree-caret.empty{visibility:hidden}.tree-link{flex:1 1;min-width:0;display:flex;align-items:center;gap:6px;border:0;background:transparent;text-align:left;padding:4px 2px}.tree-icon{flex:none;width:18px;text-align:center}.tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-rename{flex:1 1;min-width:0;border:0;outline:2px solid var(--primary);border-radius:4px;padding:3px 6px;background:var(--surface)}.tree-actions{display:flex;opacity:0;transition:opacity .1s}.tree-actions .icon-btn{width:24px;height:24px}.tree-row.active .tree-actions,.tree-row:focus-within .tree-actions,.tree-row:hover .tree-actions{opacity:1}@media (hover:none){.tree-actions{opacity:1}}.search-results{list-style:none;margin:0;padding:8px 6px;flex:1 1;overflow-y:auto}.search-results li{padding:0}.search-results li.muted{padding:8px}.search-results button{display:flex;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:6px}.search-results button:hover{background:var(--soft)}.search-results strong{display:block}.search-snippet{display:block;font-size:12px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.docs-main{min-width:0;padding:28px 40px 80px}.docs-menu-btn{display:none;margin-bottom:12px}.docs-empty{max-width:420px;margin:12vh auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.docs-empty-icon{font-size:44px}.docs-empty h2{font-size:20px}.docs-empty p{margin:0 0 6px}.doc{max-width:920px;margin:0 auto}.doc.is-loading{opacity:.6;transition:opacity .15s}.crumbs{display:flex;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--muted);margin-bottom:10px}.crumbs span{display:inline-flex;align-items:center;gap:4px}.crumbs button{border:0;background:transparent;color:var(--muted);padding:2px 6px;border-radius:5px}.crumbs button:hover{background:var(--soft);color:var(--text)}.doc-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.icon-picker{position:relative}.doc-icon{font-size:30px;line-height:1;border:0;background:transparent;padding:6px;border-radius:10px}.doc-icon:hover{background:var(--soft)}.icon-grid{left:0;right:auto;display:grid;grid-template-columns:repeat(5,36px);grid-gap:2px;gap:2px;padding:8px;min-width:0}.icon-grid button{width:36px;height:36px;border:0;background:transparent;border-radius:6px;font-size:20px;padding:0;text-align:center}.icon-grid button:hover{background:var(--soft)}.icon-grid .icon-clear{grid-column:1/-1;width:auto;height:30px;font-size:13px;color:var(--muted)}.doc-title{line-height:1.2;word-break:break-word}.doc-title,.doc-title-input{font-size:30px;font-weight:800;letter-spacing:-.02em}.doc-title-input{flex:1 1;min-width:0;border:0;background:transparent;padding:2px 6px;margin-left:-6px;border-radius:8px;outline:none}.doc-title-input:focus{box-shadow:inset 0 0 0 2px var(--primary)}.doc-bar{align-items:center;justify-content:space-between;gap:10px;padding:8px 0 14px;margin-bottom:18px;border-bottom:1px solid var(--border)}.doc-actions,.doc-bar{display:flex;flex-wrap:wrap}.doc-actions{gap:6px}.save-state:before{content:"●";margin-right:6px;font-size:9px;vertical-align:2px}.save-saved:before{color:#22a06b}.save-saving:before,.save-unsaved:before{color:#e2b203}.save-error,.save-error:before{color:var(--danger)}.lock-note{color:#a54800;font-weight:600}@media (prefers-color-scheme:dark){.lock-note{color:#fea362}}.doc-body{font-size:15.5px;line-height:1.65}.doc-body .md p{margin-bottom:10px}.doc-body .md .md-h1{font-size:24px;margin-top:22px}.doc-body .md .md-h2{font-size:20px;margin-top:18px}.doc-body .md .md-h3{font-size:17px;margin-top:14px}.doc-body-empty{width:100%;text-align:left;border:2px dashed var(--border);background:transparent;border-radius:12px;padding:28px;color:var(--muted);font-size:15px}.doc-body-empty:hover:not(:disabled){border-color:var(--primary);color:var(--text)}.doc-children{margin-top:36px;padding-top:16px;border-top:1px solid var(--border)}.doc-children h3{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.doc-children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:8px;gap:8px}.doc-child{display:flex;align-items:center;gap:8px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-weight:600}.doc-child:hover{border-color:var(--primary)}.docs-scrim{display:none}@media (max-width:900px){.docs{grid-template-columns:1fr}.docs-sidebar{position:fixed;top:48px;left:0;bottom:0;width:min(86vw,320px);height:auto;z-index:60;transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 10px 30px rgba(0,0,0,.25)}.sidebar-open .docs-sidebar{transform:none}.sidebar-open .docs-scrim{display:block;position:fixed;inset:48px 0 0 0;background:rgba(9,30,66,.4);z-index:55}.docs-menu-btn{display:inline-flex}.docs-main{padding:16px 16px 60px}.doc-title,.doc-title-input{font-size:24px}}.btn{white-space:nowrap}.docs-sidebar-head .input{flex:1 1;min-width:0}.access-modal{max-width:760px;display:flex;flex-direction:column;gap:10px}.access-modal h3{font-size:18px;padding-right:32px}.access-note{margin:0;padding:10px 12px;border-radius:8px;background:#e9e2ff;color:#352c63;font-size:13px}@media (prefers-color-scheme:dark){.access-note{background:#352c63;color:#dfd8fd}}.access-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.access-grid.is-admin{opacity:.55;pointer-events:none}@media (max-width:700px){.access-grid{grid-template-columns:1fr}}.access-section{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:0}.access-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.access-head h4{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.access-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:46vh;overflow-y:auto}.access-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;cursor:pointer}.access-item:hover{background:var(--soft)}.access-item.on{background:color-mix(in srgb,var(--primary) 9%,transparent)}.access-item input{width:16px;height:16px;accent-color:var(--primary);flex:none}.access-swatch{width:22px;height:16px;border-radius:4px;flex:none}.access-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.access-row{display:flex;align-items:center;gap:6px}.access-row .access-item{flex:1 1;min-width:0}.access-level{display:inline-flex;background:var(--soft);border-radius:7px;padding:2px;flex:none}.access-level button{border:0;background:transparent;padding:4px 9px;border-radius:5px;font-size:12px;font-weight:600;color:var(--muted)}.access-level button:hover{color:var(--text)}.access-level button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(9,30,66,.2)}.access-level button:last-child.on{background:var(--primary);color:#fff}@media (prefers-color-scheme:dark){.access-level button:last-child.on{color:#1d2125}}.view-only{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;background:var(--soft);color:var(--muted);font-size:13px;font-weight:600}.tree-lock{font-size:11px;opacity:.45;padding:0 6px;flex:none}.doc-icon-static{display:inline-block;cursor:default}.doc-icon-static:hover{background:transparent}p.doc-body-empty{margin:0}.access-head{flex-wrap:wrap}.access-head h4{white-space:nowrap}.access-head .row{gap:2px;margin-left:auto}.brand-mark{display:inline-grid;grid-template-columns:repeat(2,7px);grid-auto-rows:7px;gap:2px;padding:3px;border-radius:6px;background:#111418;height:auto}.brand-mark i{width:7px;height:7px!important;border-radius:2px;background:#fff!important}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){opacity:.55}.brand-mark i:nth-child(4){background:#7c5cff!important}@media (prefers-color-scheme:dark){.brand-mark{background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}}.board-page .topbar .brand-mark{background:rgba(0,0,0,.45)}.brand-name{font-weight:500;letter-spacing:-.02em}.brand-name b{font-weight:800}.brand-lg .brand-mark{grid-template-columns:repeat(2,10px);grid-auto-rows:10px;gap:3px;padding:4px;border-radius:8px}.brand-lg .brand-mark i{width:10px;height:10px!important}.brand-lg .brand-name{font-size:26px}.auth{background:radial-gradient(1200px 600px at 20% 0,#2a2350 0,transparent 60%),linear-gradient(160deg,#111418,#1b1f27)}.auth-tagline{margin:-6px 0 4px;text-align:center;color:var(--muted);font-size:13px}