: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}.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:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,var(--accent),#7c3aed);flex-shrink:0}.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-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}@media (max-width:768px){.gbx-header{padding:0 8px}.gbx-brand{font-size:14px;padding:0 6px 0 2px}.gbx-brand .mark{width:18px;height:18px}.gbx-help,.gbx-navlink{padding:6px 9px;font-size:13px}.gbx-account-name{display:none}.gbx-menu{top:44px;right:4px;min-width:200px}.gbx-page{padding:22px 16px}.gbx-cards{grid-template-columns:1fr}.gbx-content #app{flex-direction:column}#sidebar,#sidebar-resizer{display:none}#main{min-width:0}#toolbar{flex-wrap:wrap;gap:8px;padding:10px 12px}#breadcrumb,.toolbar-actions{width:100%}#search-wrap{flex:1 1}#search{width:100%}#bulk-actions,#subbar #sort-dir,#subbar #sort-select,#view-toggle{display:none}#subbar{padding:6px 12px}#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}#files .fname{flex:1 1;min-width:0}#files .file-link,#files .folder-link{display:block;font-size:16px;line-height:1.3}#files .file-cell:has(.folder-link):after{content:"›";margin-left:auto;color:var(--text-dim);font-size:22px;line-height:1}#grid{padding:8px}#drawer{position:fixed!important;inset:0;width:auto!important;min-width:0;max-width:none;z-index:100}#drawer-resizer{display:none}.drawer-header{padding:12px;gap:10px}#drawer-title{font-size:15px}#drawer-close{transform:scale(1.25)}}::-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)}.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}#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:5px;color:var(--accent);text-decoration:none;font-size:13px;white-space:nowrap;font-weight:500}#drawer-open svg{width:12px;height:12px}#drawer-open:hover{text-decoration:underline}#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)}