:root{--bg: #101419;--panel: #181e25;--raised: #202832;--text: #d3d8df;--secondary: #a3adb9;--label: #8e99a7;--action: #7bbdb9;--action-ink: #0d1512;--danger: #cc7d85;--danger-line: #684047;--divider: #35404c;--control-border: #687789;--focus: #9ad8d0;--font-text: "Golos Text", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, monospace;--radius: 6px;--cut: polygon(14px 0, 100% 0, 100% calc(100% - 14px) , calc(100% - 14px) 100%, 0 100%, 0 14px)}html[data-theme=light]{--bg: #f2f4f7;--panel: #ffffff;--raised: #e8ecf1;--text: #232a33;--secondary: #57616d;--label: #6d7885;--action: #2f7d78;--action-ink: #ffffff;--danger: #b04a55;--danger-line: #e3c0c5;--divider: #d4dae1;--control-border: #9aa5b1;--focus: #17736c}*{box-sizing:border-box}html{font-size:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--action)}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--divider);display:flex;flex-direction:column;padding:1rem .75rem;gap:.25rem}.sidebar .brand{font-weight:600;letter-spacing:.04em;padding:.5rem .75rem 1rem;color:var(--text);text-decoration:none;font-size:1.125rem}.nav-link{display:flex;align-items:center;gap:.625rem;min-height:44px;padding:0 .75rem;color:var(--secondary);text-decoration:none;border-radius:var(--radius);border:1px solid transparent}.nav-link:hover{background:var(--raised);color:var(--text)}.nav-link.active{background:var(--raised);color:var(--text);border-color:var(--control-border);clip-path:var(--cut)}.sidebar .spacer{flex:1}.account-strip{border-top:1px solid var(--divider);padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:var(--secondary)}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.page{padding:1.25rem;max-width:1200px;width:100%;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--divider);border-radius:var(--radius);padding:1rem}.panel.selected{clip-path:var(--cut);border-color:var(--control-border)}.page-title{font-size:1.25rem;margin:0 0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1rem;background:var(--raised);border:1px solid var(--control-border);border-radius:var(--radius);color:var(--text);cursor:pointer}.btn:hover{border-color:var(--action)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--action);color:var(--action-ink);border-color:var(--action)}.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger-line)}.btn.ghost{background:transparent}.btn.small{min-height:34px;padding:0 .625rem;font-size:.875rem}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.field label{color:var(--label);font-size:.875rem}.input,select.input,textarea.input{min-height:44px;background:var(--bg);border:1px solid var(--control-border);border-radius:var(--radius);padding:.5rem .75rem;width:100%}textarea.input{min-height:88px;resize:vertical}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.toolbar .grow{flex:1}.search-input{min-width:200px;flex:1;max-width:420px}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.75rem;color:var(--secondary);font-size:.9375rem}.breadcrumbs button{background:none;border:none;color:var(--action);cursor:pointer;padding:.25rem .375rem;min-height:32px;border-radius:4px}.breadcrumbs .current{color:var(--text);padding:.25rem .375rem}.file-list{display:flex;flex-direction:column;border:1px solid var(--divider);border-radius:var(--radius);overflow:hidden}.file-row{display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.375rem .875rem;background:var(--panel);border-bottom:1px solid var(--divider);cursor:pointer;text-align:left;width:100%;border-left:2px solid transparent}.file-row:hover{background:var(--raised)}.file-row:focus-visible{outline-offset:-2px}.file-row .icon{flex-shrink:0;color:var(--secondary)}.file-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row .meta{color:var(--label);font-size:.875rem;font-family:var(--font-mono);white-space:nowrap}.badge{font-size:.75rem;color:var(--label);border:1px solid var(--divider);border-radius:999px;padding:.0625rem .5rem;white-space:nowrap}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.file-card{background:var(--panel);border:1px solid var(--divider);border-radius:var(--radius);padding:.875rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;min-height:44px}.file-card:hover{background:var(--raised)}.file-card .thumb{color:var(--secondary);display:flex;align-items:center;justify-content:center;height:84px}.file-card .name{font-size:.875rem;overflow:hidden;text-overflow:ellipsis}.menu{position:absolute;background:var(--raised);border:1px solid var(--control-border);border-radius:var(--radius);min-width:200px;z-index:40;padding:.25rem}.menu button{display:flex;gap:.5rem;align-items:center;width:100%;min-height:40px;padding:0 .625rem;background:none;border:none;border-radius:4px;color:var(--text);cursor:pointer}.menu button:hover{background:var(--bg)}.menu button.danger{color:var(--danger)}.modal-backdrop{position:fixed;inset:0;background:#06090cb8;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--panel);border:1px solid var(--control-border);border-radius:var(--radius);clip-path:var(--cut);width:min(680px,100%);max-height:92vh;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--divider)}.modal-body{padding:1rem;overflow:auto}.preview-image{max-width:100%;max-height:70vh;display:block;margin:0 auto}.preview-text{font-family:var(--font-mono);font-size:.875rem;white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--divider);border-radius:var(--radius);padding:.875rem;max-height:65vh;overflow:auto}.preview-audio,.preview-video{width:100%;display:block}.upload-bar{position:fixed;right:1rem;bottom:1rem;width:min(380px,calc(100vw - 2rem));background:var(--panel);border:1px solid var(--control-border);border-radius:var(--radius);z-index:90;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.upload-item{font-size:.875rem}.progress{height:8px;background:var(--bg);border:1px solid var(--divider);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--action);transition:width .2s ease}.progress.error>div{background:var(--danger)}.dropzone-active{outline:2px dashed var(--action);outline-offset:-8px}.notice{border:1px solid var(--divider);border-left:2px solid var(--danger-line);background:var(--panel);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem}.notice.info{border-left-color:var(--action)}.empty-state{text-align:center;color:var(--secondary);padding:3rem 1rem;border:1px dashed var(--divider);border-radius:var(--radius)}.link-card{display:flex;flex-direction:column;gap:.25rem;padding:.875rem;background:var(--panel);border:1px solid var(--divider);border-radius:var(--radius)}.link-card .url{color:var(--secondary);font-size:.875rem;word-break:break-all}.tag-chip{display:inline-flex;align-items:center;font-size:.75rem;color:var(--action);border:1px solid var(--divider);border-radius:999px;padding:.0625rem .5rem;margin-right:.25rem}.connection-card{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;border:1px solid var(--divider);border-radius:var(--radius);padding:.875rem;margin-bottom:.75rem}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.375rem;background:var(--label)}.status-dot.ok{background:var(--action)}.status-dot.bad{background:var(--danger)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:min(400px,100%);background:var(--panel);border:1px solid var(--control-border);border-radius:var(--radius);clip-path:var(--cut);padding:1.5rem}.login-card h1{margin:0 0 1rem;font-size:1.375rem}@media(max-width:720px){.app-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:none;border-bottom:1px solid var(--divider);padding:.5rem}.sidebar .spacer{display:none}.account-strip{border-top:none;padding-top:0;flex-direction:row;flex-wrap:wrap}.file-row .meta{display:none}.page{padding:.75rem}}.pdf-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;margin-bottom:1rem}.syntax-keyword,.syntax-name{color:var(--action)}.syntax-string{color:var(--danger)}.syntax-comment{color:var(--secondary);font-style:italic}@media(forced-colors:active){.btn,.input,.panel{border:1px solid CanvasText}}.saved-uploads{margin:1rem;padding:1rem;background:var(--panel);border:1px solid var(--divider)}.saved-uploads>div{overflow-wrap:anywhere;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:.5rem 0}button.file-row{width:100%;color:inherit;font:inherit;text-align:left;background:transparent;border:0;cursor:pointer}
