:root{--accent:#4c6ef5;--accent-hover:#4263eb;--accent-soft:#eef1fe;--sidebar-bg:#181d28;--header-bg:#21283a;--sidebar-text:#a9b2c2;--sidebar-bright:#eceff4;--sidebar-hover:rgba(255,255,255,.055);--sidebar-active:rgba(76,110,245,.25);--bg:#f3f4f7;--surface:#ffffff;--border:#e4e7ec;--text:#1c2128;--text-dim:#687182;--danger:#e5484d;--danger-hover:#d93a40;--shadow-sm:0 1px 2px rgba(16,24,40,.05);--shadow-md:0 4px 16px rgba(16,24,40,.08);--shadow-lg:0 24px 64px rgba(16,24,40,.28);--radius:10px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:15px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#app,.gbx-shell{display:flex;height:100vh;height:100dvh}.gbx-shell{flex-direction:column;overflow:hidden}.gbx-header{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 12px;background:var(--header-bg);color:var(--sidebar-text);border-bottom:1px solid rgba(0,0,0,.35)}.gbx-header-left,.gbx-header-right{display:flex;align-items:center;gap:4px}.gbx-content{flex:1 1;min-height:0;overflow:auto;display:flex;flex-direction:column}.gbx-content #app{height:100%}.gbx-content #sidebar{padding-top:10px}.footer-copy{color:var(--text-dim);font-size:12px}.gbx-brand{display:flex;align-items:center;gap:8px;color:var(--sidebar-bright);font-weight:700;font-size:15px;padding:0 10px 0 4px;letter-spacing:.2px}.gbx-brand .mark{width:22px;height:22px;flex-shrink:0;background:url(/logo-mark.svg) 50%/contain no-repeat}.gbx-env{margin-left:2px;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#fff;background:#e5484d;border-radius:5px;padding:2px 7px;line-height:1.2}.gbx-header-nav{display:flex;gap:2px}.gbx-help,.gbx-navlink{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:7px;color:var(--sidebar-text);text-decoration:none;font-size:14px}.gbx-help:hover,.gbx-navlink:hover{background:var(--sidebar-hover);color:var(--sidebar-bright)}.gbx-help.active,.gbx-navlink.active{background:var(--sidebar-active);color:var(--sidebar-bright)}.gbx-navlink .ico{font-size:15px;line-height:1}.gbx-brand{text-decoration:none}.gbx-account{position:relative}.gbx-account-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--sidebar-text);cursor:pointer;padding:4px 8px;border-radius:7px;font:inherit}.gbx-account-btn:hover{background:var(--sidebar-hover)}.gbx-avatar{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.gbx-account-name{width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--sidebar-bright);text-align:left}.gbx-menu{position:absolute;top:42px;right:0;min-width:210px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);overflow:hidden;z-index:50}.gbx-menu .gbx-menu-head{padding:10px 12px;border-bottom:1px solid var(--border)}.gbx-menu .gbx-menu-head .nm{font-weight:600;font-size:13px}.gbx-menu .gbx-menu-head .em{color:var(--text-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis}.gbx-menu a,.gbx-menu button{display:block;width:100%;text-align:left;padding:9px 12px;background:none;border:none;font:inherit;font-size:14px;color:var(--text);text-decoration:none;cursor:pointer}.gbx-menu a:hover,.gbx-menu button:hover{background:var(--bg)}.gbx-menu .danger{color:var(--danger)}.gbx-proj{position:relative;margin-left:2px}.gbx-proj-btn{display:flex;align-items:center;gap:6px;max-width:230px;padding:5px 8px 5px 10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--sidebar-bright);font:inherit;font-size:13.5px;cursor:pointer}.gbx-proj-btn:hover{background:rgba(255,255,255,.1)}.gbx-proj-btn .ico{font-size:14px;line-height:1}.gbx-proj-btn .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.gbx-proj-btn svg{width:13px;height:13px;opacity:.7;flex-shrink:0}.gbx-proj-menu{left:0;right:auto;top:42px;max-height:70vh;overflow-y:auto;min-width:240px}.gbx-proj-menu a{display:flex;align-items:center;gap:9px}.gbx-proj-menu a .ico{font-size:15px;line-height:1}.gbx-proj-menu a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.gbx-menu-sep{border-top:1px solid var(--border);margin:4px 0}.gbx-nav-sec{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-dim);padding:14px 12px 4px;text-transform:uppercase}.gbx-nav-new{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;text-align:left;cursor:pointer;color:var(--accent);font-size:15px;padding:12px;border-radius:10px}.gbx-nav-new:active{background:var(--bg)}.ps-h2{font-size:15px;margin:26px 0 10px}.ps-role{font:inherit;font-size:13px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.gbx-page{max-width:900px;margin:0 auto;padding:40px 32px;width:100%}.gbx-page h1{font-size:24px;margin:0 0 6px}.gbx-page .lead{color:var(--text-dim);margin:0 0 28px}.gbx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px}.gbx-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.gbx-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent)}.gbx-card h3{margin:0 0 6px;font-size:16px}.gbx-card p{margin:0;color:var(--text-dim);font-size:13px;line-height:1.5}.gbx-card .emoji{font-size:22px;display:block;margin-bottom:10px}.gbx-projwrap{display:flex;flex-direction:row;height:100%;min-height:0}.gbx-projbody{flex:1 1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.gbx-projwrap #app{height:auto;flex:1 1;min-height:0}.gbx-projrail{width:68px;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px 7px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}.gbx-projrail .pr-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 2px 7px;border-radius:10px;color:var(--text-dim);text-decoration:none;-webkit-tap-highlight-color:transparent}.gbx-projrail a.pr-item:hover{background:var(--bg);color:var(--text)}.gbx-projrail .pr-item.active{background:var(--accent-soft);color:var(--accent)}.gbx-projrail .pr-ico{font-size:21px;line-height:1}.gbx-projrail .pr-label{font-size:10px;font-weight:600;letter-spacing:.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gbx-projrail .pr-soon{cursor:default;opacity:.4}.gbx-projrail .pr-spacer{flex:1 1}.pj-badge{font-size:10.5px;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 7px}.pj-members{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.pj-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 12px 4px 4px;font-size:13px;color:var(--text)}.pj-chip .gbx-avatar{width:22px;height:22px;font-size:11px}.pj-chip.pj-invite{padding:4px 12px;color:var(--accent);text-decoration:none;border-style:dashed}.pj-chip.pj-invite:hover{border-color:var(--accent)}.pj-card-soon{opacity:.6}.pj-card-soon h3{display:flex;align-items:center;gap:8px}.pj-recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:32px;margin-bottom:8px}.pj-seeall{font-size:12.5px;color:var(--accent);text-decoration:none;white-space:nowrap}.pj-seeall:hover{text-decoration:underline}.pj-recent{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.pj-recent>li{border-bottom:1px solid #eef0f3}.pj-recent>li:last-child{border-bottom:none}.pj-recent a{display:flex;align-items:center;gap:11px;padding:10px 14px;text-decoration:none;color:var(--text)}.pj-recent a:hover{background:#f7f8fa}.pj-ricon{font-size:18px;line-height:1;flex-shrink:0}.pj-rmain{min-width:0;display:flex;flex-direction:column}.pj-rname{font-weight:500;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-recent a:hover .pj-rname{color:var(--accent)}.pj-rmeta{font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.tk-group{margin-top:22px}.tk-group-head{font-size:13px;font-weight:700;color:var(--text-dim);margin:0 0 8px;display:flex;align-items:center;gap:8px}.tk-count{font-size:11.5px;font-weight:600;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.tk-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.tk-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #eef0f3}.tk-row:last-child{border-bottom:none}.tk-row.tk-done .tk-title{color:var(--text-dim);text-decoration:line-through}.tk-status{width:28px;height:28px;flex-shrink:0;padding:0;border:1.5px solid #c3c9d4;border-radius:50%;background:var(--surface);font-size:14px;line-height:1;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.tk-status:disabled{cursor:default}.tk-status.tk-doing{color:var(--accent);border-color:var(--accent)}.tk-status.tk-done{color:#fff;background:#37b24d;border-color:#37b24d}.tk-titlecell{flex:1 1;min-width:0;color:var(--text);text-decoration:none;display:flex;flex-direction:column;gap:3px}.tk-titleline{display:flex;align-items:center;gap:8px;min-width:0}.tk-title-text{font-weight:500;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-titlecell:hover .tk-title-text{color:var(--accent)}.tk-labels{display:flex;flex-wrap:wrap;gap:4px}.tk-label{font-size:11px;color:#5b52c9;background:#efeafd;border:1px solid #dcd3f7;border-radius:999px;padding:1px 8px}.tk-chip{font-size:11.5px;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:2px 8px;white-space:nowrap}.tk-chip.tk-high{color:var(--danger);border-color:#f3c2c4;background:#fdf2f2;font-weight:700}.tk-avatar{width:24px;height:24px;font-size:11px}.tk-col{flex-shrink:0;display:flex;align-items:center;gap:7px}.tk-col-prio{width:34px;justify-content:center}.tk-col-due{width:60px;justify-content:flex-end;font-size:12.5px;color:var(--text-dim)}.tk-col-due .tk-over{color:var(--danger);font-weight:700}.tk-col-created{width:76px;justify-content:flex-end;font-size:12px;color:var(--text-dim)}.tk-col-assignee{width:130px}.tk-assignee-name{font-size:12.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-unassigned{font-size:12px;color:#aeb6c2;font-style:italic}.tk-col-due .tk-dash{color:#c3c9d4}.tk-colhead{display:flex;align-items:center;gap:12px;padding:2px 14px 5px;font-size:11px;font-weight:700;color:var(--text-dim);letter-spacing:.03em}.tk-colhead .tk-ch-title{flex:1 1;min-width:0}.tk-colhead .tk-ch{flex-shrink:0}.tk-colhead .tk-ch-prio{width:34px;text-align:center}.tk-colhead .tk-ch-created{width:76px;text-align:right}.tk-colhead .tk-ch-due{width:60px;text-align:right}.tk-colhead .tk-ch-assignee{width:130px}.tk-viewtoggle{display:inline-flex;background:#e8eaef;border-radius:8px;padding:2px}.tk-viewtoggle button{border:none;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--text-dim);padding:5px 12px;border-radius:6px;cursor:pointer}.tk-viewtoggle button.active{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.tk-board{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:16px;align-items:start}.tk-boardcol{background:var(--bg);border:1px solid var(--border);border-radius:12px;min-height:120px;display:flex;flex-direction:column}.tk-boardcol.tk-dropover{border-color:var(--accent);background:var(--accent-soft)}.tk-boardcol-head{display:flex;align-items:center;gap:7px;padding:11px 12px;font-size:13px;font-weight:700;border-bottom:1px solid var(--border)}.tk-boardcol-body{padding:10px;display:flex;flex-direction:column;gap:8px}.tk-status.tk-static{width:20px;height:20px;cursor:default;font-size:12px}.tk-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--text);box-shadow:var(--shadow-sm);cursor:-webkit-grab;cursor:grab}.tk-card:active{cursor:-webkit-grabbing;cursor:grabbing}.tk-card:hover{border-color:#d0d6df;box-shadow:var(--shadow-md)}.tk-card.tk-done .tk-card-title{color:var(--text-dim);text-decoration:line-through}.tk-card .tk-num{font-size:11px}.tk-card-title{font-size:14px;font-weight:500;line-height:1.4}.tk-card-chips{display:flex;flex-wrap:wrap;gap:4px}.tk-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.tk-card-due{font-size:11.5px;color:var(--text-dim)}.tk-card-due .tk-over{color:var(--danger);font-weight:700}.tk-board-empty{color:#aeb6c2;font-size:12px;text-align:center;padding:10px 0}.gantt-wrap{margin-top:16px}.gantt-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.gantt{position:relative;min-width:100%}.gantt-namecol{width:220px;flex-shrink:0;box-sizing:border-box;padding:0 12px}.gantt-head{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#fafbfc;border-bottom:1px solid var(--border)}.gantt-head .gantt-namecol{display:flex;align-items:flex-end;padding-bottom:6px;font-size:12px;font-weight:700;color:var(--text-dim);border-right:1px solid var(--border)}.gantt-timeline{flex:1 1}.gantt-months{display:flex}.gantt-month{box-sizing:border-box;font-size:11px;font-weight:700;color:var(--text-dim);padding:4px 6px;border-right:1px solid var(--border);white-space:nowrap}.gantt-days{display:flex}.gantt-day{box-sizing:border-box;font-size:10px;color:var(--text-dim);text-align:center;padding:3px 0;border-right:1px solid #eef0f3}.gantt-day.wend{background:#f6f7f9}.gantt-row{display:flex;align-items:center;height:34px;border-bottom:1px solid #eef0f3}.gantt-row:hover{background:#f7f8fa}.gantt-name{display:flex;align-items:center;gap:6px;height:100%;border-right:1px solid var(--border);text-decoration:none;color:var(--text);font-size:13px}.gantt-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-name:hover .gantt-title{color:var(--accent)}.gantt-lane{position:relative;flex:1 1;height:100%}.gantt-bar{position:absolute;top:6px;height:22px;border-radius:6px;display:flex;align-items:center;gap:4px;padding:0 8px;color:#fff;font-size:11px;text-decoration:none;overflow:hidden;box-shadow:var(--shadow-sm)}.gantt-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-bar.gantt-todo{background:#8a93a5}.gantt-bar.gantt-doing{background:var(--accent)}.gantt-bar.gantt-done{background:#37b24d}.gantt-wait{flex-shrink:0}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);z-index:2;opacity:.7}.tk-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 4px}.tk-search{font:inherit;font-size:14px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;min-width:180px;flex:1 1;max-width:280px}.tk-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,110,245,.15)}.tk-filters .sm-btn{padding:7px 12px}.tk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}.tk-head h1{margin:0}.tk-new-btn{text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center}.tk-compose-page{max-width:760px}.tk-composer{margin-top:14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);padding:18px 20px 14px;display:flex;flex-direction:column}.tk-composer-kind{font-size:11.5px;font-weight:700;color:var(--text-dim);letter-spacing:.04em;margin-bottom:6px}.tk-compose-title{border:none;background:none;padding:2px 0;width:100%;font:inherit;font-size:21px;font-weight:700;color:var(--text)}.tk-compose-title:focus{outline:none}.tk-compose-title::placeholder{color:#b6bdc9;font-weight:700}.tk-compose-note{border:none;background:none;padding:6px 0 10px;width:100%;resize:vertical;font:inherit;font-size:15px;line-height:1.7;color:var(--text);min-height:120px}.tk-compose-note:focus{outline:none}.tk-compose-note::placeholder{color:#b6bdc9}.tk-props{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.tk-pill{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-size:13px;font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:6px 14px;cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-pill:hover{border-color:#c6cdd8;background:#edeff4}.tk-pill:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,110,245,.15)}.tk-pill-high{color:var(--danger);border-color:#f3c2c4;background:#fdf2f2}.tk-pill-date{font-weight:500;color:var(--text-dim)}.tk-pill-date:valid{color:var(--text);font-weight:600}.tk-compose-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.tk-compose-foot .sm-btn{text-decoration:none;display:inline-flex;align-items:center;padding:8px 16px;font-size:13.5px}.tk-num{font-size:12px;margin-right:8px;font-weight:600}.tk-num,.tk-num-big{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-dim)}.tk-num-big{font-size:15px;font-weight:700;flex-shrink:0;padding-top:14px}.tk-ticket-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.tk-menu-wrap{position:relative;flex-shrink:0;margin-left:auto;padding-top:8px}.tk-kebab{width:32px;height:32px;padding:0;border:1px solid transparent;background:none;border-radius:8px;font-size:18px;line-height:1;color:var(--text-dim);cursor:pointer}.tk-kebab:hover{background:var(--bg);color:var(--text);border-color:var(--border)}.tk-menu-backdrop{position:fixed;inset:0;z-index:40}.tk-menu{position:absolute;top:40px;right:0;z-index:41;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);overflow:hidden;padding:4px}.tk-menu button{display:block;width:100%;text-align:left;border:none;background:none;font:inherit;font-size:14px;padding:9px 12px;border-radius:7px;cursor:pointer;color:var(--text)}.tk-menu button:hover{background:var(--bg)}.tk-menu button.danger{color:var(--danger)}.tk-menu button.danger:hover{background:#fdeeee}.tk-title-static{margin:6px 0 0;font-size:22px}.tk-title-input{width:100%;font:inherit;font-size:22px;font-weight:700;border:1px solid transparent;border-radius:8px;padding:4px 8px;margin:6px 0 0 -8px;background:transparent}.tk-title-input:hover{border-color:var(--border)}.tk-title-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.tk-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-gap:30px;gap:30px;align-items:start}.tk-side{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;gap:12px;box-shadow:var(--shadow-sm)}.tk-side,.tk-side-field{display:flex;flex-direction:column}.tk-side-field{gap:4px;font-size:11.5px;font-weight:600;color:var(--text-dim)}.tk-side-field .ps-role{width:100%}.tk-side-labels{display:flex;flex-wrap:wrap;gap:5px}.tk-side-labels .tk-label{display:inline-flex;align-items:center;gap:4px}.tk-label-x{border:none;background:none;color:#5b52c9;cursor:pointer;font-size:13px;line-height:1;padding:0}.tk-label-x:hover{color:var(--danger)}.tk-side-meta{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-dim);line-height:1.5}.tk-pill-labels{min-width:170px}.tk-controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end;margin-bottom:6px}.tk-controls label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--text-dim)}.tk-controls .tk-del{align-self:end;margin-left:auto}.tk-note{width:100%;font:inherit;font-size:14px;line-height:1.6;padding:10px 12px;border:1px solid var(--border);border-radius:10px;resize:vertical;margin-bottom:8px}.tk-note:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,110,245,.15)}.tk-note-view{font:inherit;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:0}.tk-comments{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}.tk-comments>li{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.tk-c-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tk-c-author{font-weight:600;font-size:13px}.tk-c-date{font-size:12px}.tk-c-date,.tk-c-del{color:var(--text-dim)}.tk-c-del{margin-left:auto;border:none;background:none;font-size:16px;cursor:pointer;padding:0 4px;border-radius:6px}.tk-c-del:hover{color:var(--danger);background:#fdeeee}.tk-c-body{font:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;margin:0}.tk-c-empty{color:var(--text-dim);font-size:13px;border:none!important;background:none!important;padding:0!important}.tk-attach-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:22px}.tk-attach-actions,.tk-attach-list{display:flex;gap:6px}.tk-attach-list{list-style:none;margin:4px 0 8px;padding:0;flex-direction:column}.tk-attach-list>li{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:8px 10px}.tk-attach-link{flex:1 1;min-width:0;display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--text)}.tk-attach-ico{font-size:17px;line-height:1;flex-shrink:0}.tk-attach-main{min-width:0;display:flex;flex-direction:column}.tk-attach-name{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-attach-link:hover .tk-attach-name{color:var(--accent)}.tk-attach-path{font-size:11.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-attach-x{border:none;background:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 4px;border-radius:6px;flex-shrink:0}.tk-attach-x:hover{color:var(--danger);background:#fdeeee}.tk-clip{font-size:11.5px;color:var(--text-dim)}.tk-rel-list,.tk-sub-list{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.tk-rel-list>li,.tk-sub-list>li{display:flex;align-items:center;gap:8px}.tk-sub-list .tk-status{width:22px;height:22px;font-size:12px;flex-shrink:0}.tk-rel-list a,.tk-sub-list a{display:flex;align-items:center;gap:7px;min-width:0;flex:1 1;text-decoration:none;color:var(--text);font-size:14px}.tk-rel-list a:hover,.tk-sub-list a:hover{color:var(--accent)}.tk-sub-done{color:var(--text-dim);text-decoration:line-through}.tk-rel-list a .tk-status.tk-static{width:18px;height:18px;font-size:11px;flex-shrink:0}.tk-rel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-sub-add{margin:2px 0 8px}.tk-sub-add input{width:100%;font:inherit;font-size:14px;padding:8px 11px;border:1px solid var(--border);border-radius:8px}.tk-sub-add input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,110,245,.15)}.tk-parent-note{font-size:13px;color:var(--text-dim);margin:0 0 8px}.tk-parent-note a{color:var(--accent);text-decoration:none}.ap-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:80vh;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.ap-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px}.ap-search{margin:12px 16px 6px;font:inherit;font-size:14px;padding:8px 11px;border:1px solid var(--border);border-radius:8px}.ap-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,110,245,.15)}.ap-list{flex:1 1;overflow-y:auto;padding:4px 8px}.ap-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer}.ap-row:hover{background:var(--bg)}.ap-row.ap-linked{opacity:.5;cursor:default}.ap-row input{accent-color:var(--accent);flex-shrink:0}.ap-ico{font-size:16px;line-height:1;flex-shrink:0}.ap-name{font-size:14px;font-weight:500}.ap-name,.ap-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-path{margin-left:auto;font-size:11.5px;color:var(--text-dim);max-width:45%}.ap-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border)}.md-body{font-size:14px;line-height:1.7;color:var(--text);word-break:break-word}.md-body>:first-child{margin-top:0}.md-body>:last-child{margin-bottom:0}.md-body p{margin:8px 0}.md-body h1,.md-body h2,.md-body h3{margin:14px 0 6px;line-height:1.3}.md-body h1{font-size:19px}.md-body h2{font-size:16px}.md-body h3{font-size:14.5px}.md-body ol,.md-body ul{margin:8px 0;padding-left:22px}.md-body li{margin:2px 0}.md-body a{color:var(--accent);text-decoration:none}.md-body a:hover{text-decoration:underline}.md-body code{background:#f2f4f7;border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.md-body pre{background:#0d1117;color:#e6edf3;border-radius:8px;padding:12px 14px;overflow-x:auto}.md-body pre code{background:none;border:none;padding:0;color:inherit}.md-body blockquote{margin:8px 0;padding:2px 14px;border-left:3px solid var(--border);color:var(--text-dim)}.md-body table{border-collapse:collapse;margin:8px 0;font-size:13px}.md-body td,.md-body th{border:1px solid var(--border);padding:5px 10px}.md-body th{background:#fafbfc}.md-body img{max-width:100%;border-radius:6px}.md-body hr{border:none;border-top:1px solid var(--border);margin:12px 0}.md-preview{border:1px dashed var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;background:#fafbfc}.tk-activity{display:flex;align-items:center;gap:9px;background:none!important;border:none!important;padding:3px 4px!important;font-size:12.5px;color:var(--text-dim)}.tk-act-dot{width:7px;height:7px;border-radius:50%;background:#c3c9d4;flex-shrink:0}.tk-act-text{flex:1 1;min-width:0}.tk-act-date{font-size:11.5px;color:#aeb6c2;white-space:nowrap}.tk-c-form{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.tk-c-form .tk-note{margin-bottom:0}.gbx-burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:none;border-radius:8px;color:var(--sidebar-bright);cursor:pointer}.gbx-burger svg{width:22px;height:22px}.gbx-burger:active{background:var(--sidebar-hover)}.gbx-nav-overlay{position:fixed;inset:0;z-index:90;background:rgba(16,20,28,.5);animation:fadein .15s ease}.gbx-nav-drawer{position:absolute;top:0;bottom:0;left:0;width:min(300px,84vw);background:var(--surface);display:flex;flex-direction:column;box-shadow:8px 0 32px rgba(16,24,40,.25);animation:gbxNavIn .22s cubic-bezier(.3,.9,.4,1);padding-bottom:env(safe-area-inset-bottom)}@keyframes gbxNavIn{0%{transform:translateX(-100%)}to{transform:none}}.gbx-nav-brand{display:flex;align-items:center;gap:9px;padding:16px 16px 4px;color:var(--text);text-decoration:none;font-weight:800;font-size:17px;letter-spacing:.2px}.gbx-nav-brand .mark{width:24px;height:24px;background:url(/logo-mark.svg) 50%/contain no-repeat;flex-shrink:0}.gbx-nav-head{display:flex;align-items:center;gap:12px;padding:12px 16px}.gbx-nav-head .gbx-avatar{width:40px;height:40px;font-size:16px}.gbx-nav-user{min-width:0}.gbx-nav-user .nm{font-weight:700;font-size:15px;color:var(--text)}.gbx-nav-user .em{font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gbx-nav-links{flex:1 1;padding:10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.gbx-nav-links a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;color:var(--text);text-decoration:none;font-size:15px}.gbx-nav-links a:active{background:var(--bg)}.gbx-nav-links a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.gbx-nav-links .ico{font-size:18px;line-height:1}.gbx-nav-links hr{border:none;margin:8px 4px;width:auto}.gbx-nav-links hr,.gbx-nav-logout{border-top:1px solid var(--border)}.gbx-nav-logout{padding:10px}.gbx-nav-logout button{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;text-align:left;color:var(--danger);font-size:15px;padding:12px;border-radius:10px}.gbx-nav-logout button:active{background:#fdeeee}.gbx-fab{display:none;position:fixed;right:18px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;width:56px;height:56px;padding:0;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 6px 20px rgba(76,110,245,.45);cursor:pointer}.gbx-fab svg{width:24px;height:24px}.gbx-fab:active{background:var(--accent-hover)}body.gbx-selmode .gbx-fab{display:none!important}dialog.gbx-sheet{position:fixed;top:auto;bottom:0;margin:0 auto;width:100%;max-width:480px;border:none;border-radius:18px 18px 0 0;padding:6px 10px calc(12px + env(safe-area-inset-bottom));background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}dialog.gbx-sheet::-webkit-backdrop{background:rgba(16,20,28,.45)}dialog.gbx-sheet::backdrop{background:rgba(16,20,28,.45)}dialog.gbx-sheet[open]{animation:gbxSheetUp .22s cubic-bezier(.3,.9,.4,1)}@keyframes gbxSheetUp{0%{transform:translateY(40%);opacity:.6}to{transform:none;opacity:1}}dialog.gbx-sheet:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:#d5dae2;margin:6px auto 10px}.gbx-sheet-title{font-size:13px;color:var(--text-dim);font-weight:600;padding:0 14px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gbx-sheet-title[hidden]{display:none}#sheet-items{display:flex;flex-direction:column}#sheet-items button{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;text-align:left;font-size:16px;padding:13px 14px;border-radius:10px}#sheet-items button:active{background:var(--bg)}#sheet-items button svg{width:19px;height:19px;color:var(--text-dim);flex-shrink:0}#sheet-items button.danger,#sheet-items button.danger svg{color:var(--danger)}#sheet-cancel{width:100%;margin-top:6px;border:none;background:var(--bg);font-size:16px;font-weight:600;padding:12px;border-radius:12px}#files .kebab,#tree-backdrop,#tree-btn,.fmeta{display:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(120,130,150,.35);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(120,130,150,.55)}#sidebar{position:relative;width:280px;min-width:200px;max-width:480px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column}#sidebar-resizer{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:20}#sidebar-resizer:hover,body.resizing-sidebar #sidebar-resizer{background:rgba(76,110,245,.35)}.sidebar-header{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}.sidebar-header h1{font-size:16px;font-weight:700;letter-spacing:.02em;margin:0;color:var(--sidebar-bright)}.logo{display:inline-flex;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#4c6ef5,#7048e8);align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(76,110,245,.4);color:#fff}.logo svg{width:16px;height:16px}.sidebar-actions{padding:0 14px 12px}#new-folder{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;font-size:13.5px;font-weight:600;color:var(--sidebar-bright);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;transition:background .12s}#new-folder:hover{background:rgba(255,255,255,.12)}#new-folder svg{width:14px;height:14px}#tree{overflow-y:auto;overflow-x:hidden;flex:1 1;padding:4px 10px 16px}.tree-item{display:flex;align-items:center;gap:3px;padding:6px 6px 6px 4px;margin:1px 0;border-radius:8px;cursor:pointer;white-space:nowrap;font-size:14px;color:var(--sidebar-text);transition:background .1s,color .1s}.tree-item:hover{background:var(--sidebar-hover);color:var(--sidebar-bright)}.tree-item.selected{background:var(--sidebar-active);color:#fff;font-weight:600}.tree-item .fld{flex-shrink:0;display:inline-flex;opacity:.85}.tree-item .fld svg{width:16px;height:16px}.tree-item .label{overflow:hidden;text-overflow:ellipsis;margin-left:4px}.tree-item .actions{margin-left:auto;visibility:hidden;display:flex;gap:1px}.tree-item:hover .actions{visibility:visible}.tree-item .actions .icon{color:var(--sidebar-text);width:24px;height:24px}.tree-item .actions .icon svg{width:13px;height:13px}.tree-item .actions .icon:hover{color:#fff;background:rgba(255,255,255,.12)}.tree-item .actions .icon.danger:hover{color:#ff8589}.chevron{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;padding:0;color:#6b7484;cursor:pointer;border-radius:4px;transition:transform .12s ease}.chevron svg{width:9px;height:9px}.chevron:hover{background:rgba(255,255,255,.1);color:#fff}.chevron.open{transform:rotate(90deg)}.chevron.leaf{visibility:hidden}#main{flex:1 1;display:flex;flex-direction:column;min-width:340px}#toolbar{flex-wrap:wrap;justify-content:space-between;gap:10px 16px;padding:16px 28px 8px}#toolbar,.toolbar-actions{display:flex;align-items:center}.toolbar-actions{gap:12px;flex-shrink:0}#breadcrumb{font-size:19px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}#breadcrumb a{color:var(--text-dim);text-decoration:none;font-weight:600}#breadcrumb a:last-child{color:var(--text)}#breadcrumb a:hover{color:var(--accent)}#breadcrumb .sep{color:#c3c9d4;margin:0 7px;font-weight:400}#search-wrap{position:relative;display:flex;align-items:center}#search-wrap .s-icon{position:absolute;left:10px;display:inline-flex;color:#9aa3b2;pointer-events:none}#search-wrap .s-icon svg{width:14px;height:14px}#search{font:inherit;font-size:14px;width:230px;padding:7px 12px 7px 32px;border:1px solid var(--border);border-radius:9px;background:var(--surface);transition:border-color .12s,box-shadow .12s,width .15s}#search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,110,245,.15);width:300px}#subbar{display:flex;align-items:center;gap:12px;padding:4px 28px 8px;min-height:38px}#item-count{font-size:13px;color:var(--text-dim)}#browse-toggle{display:flex;background:#e8eaef;border-radius:8px;padding:2px;flex-shrink:0}#browse-toggle .mode{padding:4px 12px}#files tr.tgroup td{padding:14px 16px 5px;font-size:12px;font-weight:700;color:var(--text-dim);border-bottom:none;background:transparent}.subbar-right{margin-left:auto;display:flex;align-items:center;gap:6px}#sort-select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-dim);cursor:pointer}#view-toggle{display:flex;background:#e8eaef;border-radius:8px;padding:2px;margin-left:4px}#view-toggle .mode{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}#view-toggle .mode svg{width:14px;height:14px}#view-toggle .mode.active{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}#bulk-actions{display:flex;align-items:center;gap:8px;animation:fadein .12s ease}#bulk-actions[hidden]{display:none}#bulk-actions button{font-size:13px;padding:5px 12px}#bulk-actions .bulk-danger{color:var(--danger);border-color:#f3c2c4}#bulk-actions .bulk-danger:hover{background:#fdeeee}@keyframes fadein{0%{opacity:0}to{opacity:1}}#dropzone{flex:1 1;overflow-y:auto;position:relative;padding:0 28px 20px}#drop-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(76,110,245,.07);border:3px dashed var(--accent);font-size:20px;font-weight:600;color:var(--accent);pointer-events:none;z-index:50}#dropzone.dragover #drop-overlay[hidden]{display:flex}table#files{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}#files th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-dim);padding:9px 16px;background:#fafbfc;border-bottom:1px solid var(--border);white-space:nowrap}#files td.chk,#files th.chk{width:36px;padding-right:0}#files th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}#files th.sortable:hover{color:var(--text);background:#f2f4f7}#files th.sortable.sorted{color:var(--accent)}#files th .sort-ind{display:inline-flex;vertical-align:middle;margin-left:4px}#files th .sort-ind svg{width:12px;height:12px}#files input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}#files td{padding:10px 16px;border-bottom:1px solid #eef0f3}#files tbody tr:last-child td{border-bottom:none}#files tbody tr{transition:background .08s}#files tbody tr:hover{background:#f7f8fa}#files tr.previewing td{background:var(--accent-soft)}#files tr.checked td{background:#f4f6fe}.file-cell{display:flex;align-items:center;gap:10px;min-width:0}.file-cell .ficon{flex-shrink:0;display:inline-flex}.file-cell .ficon svg{width:19px;height:19px}.file-cell .fname{min-width:0}#files a.file-link,#files a.folder-link{display:block;color:var(--text);text-decoration:none;font-weight:500;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#files a.file-link:hover,#files a.folder-link:hover{color:var(--accent)}.file-cell .fpath,.file-cell .fsnippet{display:block;font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.file-cell .fsnippet mark{background:#ffe58f;border-radius:2px;padding:0 1px}.file-cell .ftitle{display:block;font-size:12.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.file-cell .ftitle:before{content:"“";opacity:.6}.file-cell .ftitle:after{content:"”";opacity:.6}#files .meta{color:var(--text-dim);font-size:13.5px;white-space:nowrap}#files .row-actions{text-align:right;white-space:nowrap;visibility:hidden;width:1%}#files tr:hover .row-actions{visibility:visible}.ficon.c-md{color:#4c6ef5}.ficon.c-html{color:#f76707}.ficon.c-img{color:#37b24d}.ficon.c-txt{color:#868e96}.ficon.c-folder{color:#74808f}.ficon.c-folder-main{color:#8da2fb}#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:14px;gap:14px}#grid[hidden]{display:none}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;transition:box-shadow .12s,border-color .12s,transform .12s}.card:hover{box-shadow:var(--shadow-md);border-color:#d0d6df;transform:translateY(-1px)}.card.previewing{border-color:var(--accent);box-shadow:0 0 0 2px rgba(76,110,245,.25)}.card.checked{border-color:var(--accent);background:#f7f9ff}.card-thumb{height:96px;display:flex;align-items:center;justify-content:center;background:#f6f7f9;border-bottom:1px solid #eef0f3;background-size:cover;background-position:top}.card-thumb svg{width:34px;height:34px}.card-thumb.thumb-frame{position:relative;overflow:hidden}.thumb-iframe{position:absolute;top:0;left:0;width:400%;height:400%;border:0;background:#fff;transform:scale(.25);transform-origin:top left;pointer-events:none}@media (prefers-color-scheme:dark){.thumb-iframe{background:#fff}}.card-body{padding:10px 12px}.card-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{font-size:11.5px;color:var(--text-dim);margin-top:2px}.card-check{position:absolute;top:8px;left:8px;width:17px;height:17px;accent-color:var(--accent);cursor:pointer;visibility:hidden;z-index:2}.card-check:checked,.card:hover .card-check{visibility:visible}.card-actions{position:absolute;top:6px;right:6px;display:flex;gap:2px;background:rgba(255,255,255,.92);border-radius:7px;padding:1px;visibility:hidden;box-shadow:var(--shadow-sm);z-index:2}.card:hover .card-actions{visibility:visible}.card-actions .icon{width:25px;height:25px}.card-actions .icon svg{width:13px;height:13px}#empty{padding:90px 20px;text-align:center;color:var(--text-dim);background:var(--surface);border:1px dashed #d5dae2;border-radius:var(--radius)}#empty p{margin:4px 0;font-size:16px;font-weight:600;color:var(--text)}#empty p.sub{font-size:13.5px;font-weight:400;color:var(--text-dim)}.empty-icon svg{width:44px;height:44px;color:#c3c9d4;margin-bottom:8px}button{font:inherit;font-size:14px;padding:7px 15px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s}button:hover{background:#f5f6f8}button.primary{display:inline-flex;align-items:center;gap:7px;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 1px 3px rgba(76,110,245,.4)}button.primary:hover{background:var(--accent-hover)}button.primary svg{width:14px;height:14px}button.danger-btn{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}button.danger-btn:hover{background:var(--danger-hover)}button.icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:none;color:var(--text-dim);border-radius:6px}button.icon svg{width:15px;height:15px}button.icon:hover{color:var(--accent);background:#eceef2}button.icon.danger:hover{color:var(--danger);background:#fdeeee}button.icon.spinning svg{animation:spin .5s linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}#footer{display:flex;align-items:center;gap:10px;padding:8px 28px;border-top:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12.5px}#curl-hint{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#f2f4f7;border:1px solid var(--border);border-radius:6px;padding:4px 10px;overflow-x:auto;white-space:nowrap;color:#4a5264}#curl-copy{width:26px;height:26px;flex-shrink:0}#api-link{margin-left:auto;color:var(--accent);text-decoration:none;white-space:nowrap;font-weight:500}#api-link:hover{text-decoration:underline}#drawer{position:relative;width:55%;min-width:360px;max-width:85%;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 24px rgba(16,24,40,.06)}#drawer[hidden]{display:none}#drawer-resizer{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:20}#drawer-resizer:hover,body.resizing #drawer-resizer{background:rgba(76,110,245,.35)}body.resizing,body.resizing-sidebar{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}body.resizing #drawer-frame,body.resizing-sidebar #drawer-frame{pointer-events:none}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border)}#drawer-title{font-weight:600;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.drawer-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}#drawer-open{display:inline-flex;align-items:center;gap:6px;color:var(--accent);text-decoration:none;font-size:13px;white-space:nowrap;font-weight:600;padding:4px 10px;border:1px solid var(--border);border-radius:7px}#drawer-open:hover{background:var(--accent-soft);border-color:var(--accent)}.dw-cmt{font-size:11.5px;font-weight:700;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:0 7px;line-height:17px}.dw-cmt[hidden]{display:none}#drawer-frame{flex:1 1;border:none;width:100%;background:#fff}#drawer-mode{display:flex;background:#eef0f4;border-radius:8px;padding:2px}#drawer-mode[hidden]{display:none}button.mode{border:none;border-radius:6px;background:transparent;padding:4px 12px;font-size:12.5px;font-weight:500;color:var(--text-dim)}button.mode:hover{background:rgba(255,255,255,.6)}button.mode.active{background:#fff;color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}dialog#modal{border:none;border-radius:16px;padding:0;min-width:440px;max-width:90vw;box-shadow:var(--shadow-lg)}dialog#modal::-webkit-backdrop{background:rgba(16,20,28,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog#modal::backdrop{background:rgba(16,20,28,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#modal-form{padding:24px 28px}#modal-title{margin:0 0 18px;font-size:17px;font-weight:700}#modal-body{font-size:15px}#modal-body p{margin:0;line-height:1.7}#modal-body .note{margin-top:10px}#modal-body .note,#modal-body label{color:var(--text-dim);font-size:13px}#modal-body label{display:block;font-weight:600;margin-bottom:7px}#modal-body input[type=text]{width:100%;font:inherit;font-size:15px;padding:10px 13px;border:1px solid var(--border);border-radius:9px;transition:border-color .12s,box-shadow .12s}#modal-body input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,110,245,.18)}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.folder-list{border:1px solid var(--border);border-radius:10px;max-height:320px;overflow-y:auto;padding:6px}.folder-list .pick-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .1s}.folder-list .pick-item svg{width:16px;height:16px;flex-shrink:0;color:#8a93a5}.folder-list .pick-item:hover{background:#f2f4f7}.folder-list .pick-item.picked{background:var(--accent-soft);font-weight:600}.folder-list .pick-item.picked svg{color:var(--accent)}#toast{position:fixed;bottom:54px;left:50%;transform:translateX(-50%) translateY(6px);background:#1c2128;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;opacity:0;transition:opacity .18s,transform .18s;pointer-events:none;z-index:100;box-shadow:var(--shadow-md)}#toast.show{opacity:.97;transform:translateX(-50%) translateY(0)}.gbx-settings{max-width:860px;margin:0 auto;padding:32px;width:100%}.gbx-settings.narrow{max-width:720px}.gbx-settings header{display:flex;justify-content:space-between;align-items:center;gap:12px}.gbx-settings h1{margin:0;font-size:22px}.gbx-settings .lead{color:var(--text-dim);font-size:13px;margin:6px 0 20px}.gbx-settings .backlink{color:var(--accent);text-decoration:none;font-size:14px;white-space:nowrap}.gbx-settings .err{background:#ffebe9;border:1px solid #ff818266;color:#cf222e;padding:8px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}.gbx-settings .muted{color:var(--text-dim);font-size:12px}.row-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.row-form input[type=email],.row-form input[type=text]{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;min-width:0}.row-form .grow{flex:1 1}.row-form .check{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--text-dim)}.primary-btn{padding:9px 16px;border:none;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.primary-btn:hover{background:var(--accent-hover)}.sm-btn{border:1px solid var(--border);border-radius:6px;background:#f6f8fa}.sm-btn,.sm-danger{padding:6px 10px;cursor:pointer;font:inherit;font-size:12px}.sm-danger{border:1px solid #ff818266;border-radius:6px;background:#fff;color:var(--danger)}.adm-table{width:100%;border-collapse:collapse;font-size:14px}.adm-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--border);color:var(--text-dim);font-size:12px}.adm-table td{padding:10px;vertical-align:middle;border-bottom:1px solid #eaeef2}.adm-name-row{display:flex;align-items:center;gap:8px}.adm-name-row .nm{font-weight:600}.adm-edit-link{border:none;background:none;color:var(--accent);cursor:pointer;font-size:12px;padding:0}.adm-name-edit{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.adm-name-edit input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:13px;width:140px}.adm-actions{display:flex;gap:6px;flex-wrap:wrap}.adm-off{color:var(--danger)}.keys-secret{background:#eafff1;border:1px solid #4ac26b66;border-radius:8px;padding:14px;margin-bottom:16px}.keys-secret .lbl{font-size:12px;color:#1a7f37;margin-bottom:6px}.keys-secret code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;word-break:break-all;margin-bottom:8px}.keys-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.keys-list .key-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border:1px solid #eaeef2;border-radius:8px}.keys-list .key-item>div{min-width:0}.keys-list .key-label{font-weight:600}@media (max-width:768px){.gbx-settings{padding:20px 16px}.row-form input[type=email],.row-form input[type=text]{font-size:16px;flex:1 1 100%}.row-form .primary-btn{flex:1 1;padding:12px 16px}.sm-btn,.sm-danger{padding:9px 12px;font-size:13px}.adm-table thead{display:none}.adm-table,.adm-table tbody{display:block;width:100%}.adm-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:12px;margin-bottom:10px}.adm-table td{display:block;border:none;padding:0}.adm-table td.adm-user{flex:1 1 100%}.adm-table td.adm-chip{font-size:12px;color:var(--text-dim);background:var(--bg);border-radius:999px;padding:3px 10px;margin-top:6px}.adm-table td.adm-ops{flex:1 1 100%;margin-top:8px}.adm-name-edit input{font-size:16px;flex:1 1}}.gbx-viewer{flex-direction:column;height:100vh;height:100dvh}.gbx-viewer,.gbx-viewer-bar{display:flex;background:var(--header-bg)}.gbx-viewer-bar{align-items:center;gap:2px;padding:calc(4px + env(safe-area-inset-top)) 6px 4px;color:var(--sidebar-bright);flex-shrink:0}.gbx-viewer-bar .vb-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;flex-shrink:0;border:none;background:none;color:inherit;border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.gbx-viewer-bar .vb-btn:active{background:var(--sidebar-hover)}.gbx-viewer-bar .vb-btn svg{width:20px;height:20px}.gbx-viewer-bar .ttl{flex:1 1;min-width:0;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}.gbx-viewer iframe{flex:1 1;border:0;width:100%;background:#fff}@keyframes gbxShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-block{display:block;background:linear-gradient(90deg,#e8ebf0 25%,#f4f6f9 50%,#e8ebf0 75%);background-size:200% 100%;animation:gbxShimmer 1.4s linear infinite;border-radius:6px}.sk-block.sk-dark{background:linear-gradient(90deg,rgba(255,255,255,.07) 25%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.07) 75%);background-size:200% 100%}#files tr.sk td{padding:0;border-bottom:1px solid #eef0f3}.sk-row{display:flex;align-items:center;gap:12px;padding:14px 16px}.sk-row .sk-ico{width:19px;height:19px;border-radius:5px;flex-shrink:0}.sk-row .sk-bar{height:12px}#tree .sk-tree{height:13px;border-radius:7px;margin:18px 14px 0}.vb-split{flex:1 1;display:flex;min-height:0}.vb-cbtn{position:relative}.vb-cbtn.on{background:var(--sidebar-hover);color:#fff}.vb-cnt{position:absolute;top:3px;right:1px;min-width:15px;height:15px;padding:0 4px;background:var(--accent);color:#fff;border-radius:999px;font-size:10px;font-weight:700;line-height:15px;text-align:center}.vb-comments{width:340px;flex-shrink:0;min-height:0;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border)}.vb-c-head{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;background:var(--surface);border-bottom:1px solid var(--border)}.vb-c-head .tk-c-del{margin-left:auto}.vb-c-list{flex:1 1;overflow-y:auto;padding:12px;margin:0}.vb-c-form{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}.vb-c-form .tk-note{margin-bottom:0;font-size:16px}.gbx-viewer .vb-body{flex:1 1;position:relative;display:flex;min-height:0}.gbx-viewer .vb-body iframe{flex:1 1;border:0;width:100%;background:#fff}.vb-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff}.vb-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:gbxSpin .8s linear infinite}@keyframes gbxSpin{to{transform:rotate(1turn)}}@media (max-width:768px){.gbx-header{padding:0 8px}.gbx-burger{display:inline-flex}.gbx-brand{font-size:15px;padding:0 6px 0 2px}.gbx-brand .mark{width:18px;height:18px}.gbx-account,.gbx-header-nav,.gbx-help,.gbx-proj{display:none}.gbx-projwrap{flex-direction:column}.gbx-projrail{order:2;position:fixed;left:0;right:0;bottom:0;z-index:55;width:auto;flex-direction:row;justify-content:space-around;gap:0;padding:4px 6px calc(4px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(16,24,40,.06);overflow:visible}.gbx-projrail .pr-item{flex:1 1;max-width:96px;padding:5px 2px 3px}.gbx-projrail .pr-ico{font-size:20px}.gbx-projrail .pr-spacer{display:none}.gbx-projbody .gbx-settings,.gbx-projbody>.gbx-page{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.gbx-page{padding:22px 16px}.gbx-cards{grid-template-columns:1fr}body,html{overflow-x:hidden}.gbx-content #app{flex-direction:column}#app #sidebar{position:fixed;top:0;bottom:0;left:0;z-index:95;width:min(300px,84vw)!important;min-width:0;max-width:none;transform:translateX(-100%);transition:transform .22s cubic-bezier(.3,.9,.4,1);padding-top:14px;padding-bottom:env(safe-area-inset-bottom)}body.gbx-treeopen #app #sidebar{transform:none;box-shadow:8px 0 32px rgba(16,24,40,.35)}#sidebar-resizer{display:none}#tree-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:94;background:rgba(16,20,28,.5);animation:fadein .15s ease}.tree-item{padding-top:10px;padding-bottom:10px;font-size:15px}.tree-item .actions{display:none}#main{min-width:0}#toolbar{flex-wrap:wrap;gap:8px;padding:10px 12px}#tree-btn{display:inline-flex;width:40px;height:40px;margin:-4px 0 -4px -8px;flex-shrink:0}#tree-btn svg{width:20px;height:20px}#breadcrumb{flex:1 1;min-width:0}.toolbar-actions{width:100%}#search-wrap{flex:1 1}#search{font-size:16px}#search,#search:focus{width:100%}#upload-btn{display:none}.gbx-fab{display:flex;bottom:calc(78px + env(safe-area-inset-bottom))}#view-toggle{display:none}#subbar{padding:6px 12px}#subbar #sort-select{font-size:13px;padding:5px 6px;max-width:120px}#subbar #bulk-actions{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;justify-content:space-evenly;gap:6px;background:var(--surface);border-top:1px solid var(--border);padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(16,24,40,.08);animation:none}#subbar #bulk-actions[hidden]{display:none}#subbar #bulk-actions button{font-size:14px;padding:10px 14px}#subbar #bulk-actions #bulk-clear{width:40px;height:40px}#files thead{display:none}#files,#files tbody,#files td,#files tr{display:block;width:auto}#files tr{border-bottom:1px solid var(--border)}#files td.chk,#files td.meta,#files td.row-actions{display:none}#files td{padding:0}#files .file-cell{padding:15px 14px;gap:13px;align-items:center;-webkit-tap-highlight-color:transparent}#files tr:active .file-cell{background:var(--accent-soft)}#files .fname{flex:1 1;min-width:0}#files .file-link,#files .folder-link{display:block;font-size:16px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#files .fmeta{display:block;font-size:12px;color:var(--text-dim);margin-top:2px}#files .kebab{display:inline-flex;width:40px;height:40px;flex-shrink:0;margin:-8px -8px -8px 0}#files .kebab svg{width:18px;height:18px}body.gbx-selmode #files .file-cell:before{content:"";width:22px;height:22px;border-radius:50%;flex-shrink:0;border:2px solid #c3c9d4;box-sizing:border-box}body.gbx-selmode #files tr.checked .file-cell:before{border-color:var(--accent);background:var(--accent) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>') center /14px no-repeat}body.gbx-selmode #files tr.checked .file-cell{background:var(--accent-soft)}body.gbx-selmode #files .kebab{display:none}#grid{padding:8px}#dropzone{padding:0 10px calc(150px + env(safe-area-inset-bottom))}#toast{bottom:calc(84px + env(safe-area-inset-bottom))}.tk-col-assignee{width:auto}.tk-assignee-name,.tk-ch-created,.tk-ch-prio,.tk-col-created{display:none}.tk-search{max-width:none;flex:1 1 100%}.tk-viewtoggle{order:-1}.tk-board{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x proximity}.tk-boardcol{flex:0 0 78vw;max-width:320px;scroll-snap-align:start}.tk-layout{grid-template-columns:1fr;gap:18px}.tk-side{order:-1}.tk-num-big{padding-top:10px}.vb-comments{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:58%;z-index:40;border-left:none;border-top:1px solid var(--border);box-shadow:0 -10px 36px rgba(16,24,40,.25);animation:gbxSheetUp .22s cubic-bezier(.3,.9,.4,1)}.vb-c-head,.vb-comments{border-radius:16px 16px 0 0}.tk-composer{padding:14px 14px 12px;border-radius:12px}.tk-compose-title{font-size:18px}.tk-compose-note{font-size:16px}.tk-compose-foot{flex-direction:row}.tk-compose-foot .primary-btn{flex:1 1;text-align:center;justify-content:center;display:inline-flex;padding:12px 16px}dialog#modal{min-width:0;width:min(440px,calc(100vw - 28px))}#modal-form{padding:20px}#modal-body input[type=text]{font-size:16px}.folder-list{max-height:45vh}#files tbody tr{animation:gbxRowIn .2s ease both}@keyframes gbxRowIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}#breadcrumb{font-size:14px;padding:2px 0}#breadcrumb a,#breadcrumb span{padding:4px 2px}#drawer,#drawer-resizer{display:none!important}#footer{display:none}a,button{-webkit-tap-highlight-color:transparent}#dropzone,#tree{-webkit-overflow-scrolling:touch}}@media (min-width:769px) and (max-width:1080px){#sidebar{width:230px;min-width:180px}#toolbar{padding:14px 16px 8px}#subbar{padding:4px 16px 8px}#dropzone{padding:0 16px 20px}#search{width:170px}#search:focus{width:210px}#drawer{min-width:320px}}