:root{--cairn-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--cairn-font-mono: ui-monospace, "SF Mono", Consolas, monospace;--cairn-text-body: 14px;--cairn-text-small: 13px;--cairn-text-micro: 12px;--cairn-radius-s: 10px;--cairn-radius-m: 12px;--cairn-radius-l: 16px;--cairn-radius-xl: 20px;--cairn-row-height: 52px;--cairn-target: 44px;--cairn-fade: .12s;color-scheme:dark light}:root,:root[data-theme=dark]{color-scheme:dark;--cairn-bg: #141513;--cairn-surface: #1b1c1a;--cairn-raised: #252622;--cairn-line: #34362f;--cairn-text: #ecebe6;--cairn-muted: #a6a79d;--cairn-accent: #c5d86d;--cairn-on-accent: #141513;--cairn-accent-soft: rgba(197, 216, 109, .14);--cairn-danger: #f0906b;--cairn-info: #86b9db}:root[data-theme=light]{color-scheme:light;--cairn-bg: #f4f3ee;--cairn-surface: #fbfaf6;--cairn-raised: #ebeae3;--cairn-line: #d8d6ca;--cairn-text: #1b1c19;--cairn-muted: #5b5d52;--cairn-accent: #4a6600;--cairn-on-accent: #fbfaf6;--cairn-accent-soft: rgba(74, 102, 0, .12);--cairn-danger: #b23c14;--cairn-info: #1f6290}@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--cairn-bg: #f4f3ee;--cairn-surface: #fbfaf6;--cairn-raised: #ebeae3;--cairn-line: #d8d6ca;--cairn-text: #1b1c19;--cairn-muted: #5b5d52;--cairn-accent: #4a6600;--cairn-on-accent: #fbfaf6;--cairn-accent-soft: rgba(74, 102, 0, .12);--cairn-danger: #b23c14;--cairn-info: #1f6290}}@media(prefers-reduced-motion:reduce){:root{--cairn-fade: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--cairn-bg);color:var(--cairn-text);font:var(--cairn-text-body) / 1.5 var(--cairn-font-sans)}#app{min-height:100vh}h1,h2,h3,p{margin:0}a{color:var(--cairn-accent)}.muted{color:var(--cairn-muted)}.mono{font-family:var(--cairn-font-mono)}.accent{fill:var(--cairn-accent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--cairn-accent);outline-offset:2px}.icon{flex:none}button,input,select,textarea{font:inherit;color:inherit}select option,select optgroup{background:var(--cairn-surface);color:var(--cairn-text)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--cairn-target);padding:0 16px;border-radius:var(--cairn-radius-m);border:1px solid var(--cairn-line);background:var(--cairn-surface);color:var(--cairn-text);font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap}.button:hover{background:var(--cairn-raised)}.button.primary{border-color:transparent;background:var(--cairn-accent);color:var(--cairn-on-accent);font-weight:600}.button.danger{border-color:transparent;background:var(--cairn-danger);color:var(--cairn-bg);font-weight:600}.button.quiet{border-color:transparent;background:transparent}.button:disabled,.icon-button:disabled{opacity:.5;cursor:default}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--cairn-target);height:var(--cairn-target);padding:0;border:0;border-radius:var(--cairn-radius-s);background:transparent;color:var(--cairn-muted);cursor:pointer}.icon-button:hover{background:var(--cairn-raised);color:var(--cairn-text)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field-label{font-size:var(--cairn-text-small);font-weight:600}.field .hint{font-size:var(--cairn-text-micro);color:var(--cairn-muted)}.input{width:100%;min-height:var(--cairn-target);padding:0 14px;border-radius:var(--cairn-radius-m);border:1px solid var(--cairn-line);background:var(--cairn-bg);color:var(--cairn-text)}.password-field{position:relative}.password-field .input{padding-right:var(--cairn-target)}.password-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%)}.check{display:flex;align-items:center;gap:10px;min-height:var(--cairn-target);cursor:pointer}.check input{width:20px;height:20px;margin:0;accent-color:var(--cairn-accent)}.error-line{color:var(--cairn-danger);font-size:var(--cairn-text-small)}.shell{display:flex;min-height:100vh}.sidebar{flex:0 0 260px;display:flex;flex-direction:column;gap:28px;padding:24px 16px;background:var(--cairn-surface);border-right:1px solid var(--cairn-line);position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 8px;color:var(--cairn-text);text-decoration:none;min-height:var(--cairn-target)}.wordmark{display:inline-flex}.wordmark svg{width:51px;height:17px}.places{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.place{display:flex;align-items:center;gap:12px;height:var(--cairn-target);padding:0 12px;border-radius:var(--cairn-radius-s);color:var(--cairn-text);text-decoration:none;font-weight:500}.place:hover{background:var(--cairn-raised)}.place.on{background:var(--cairn-accent-soft);color:var(--cairn-accent)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:20px}.space{display:flex;flex-direction:column;gap:8px;padding:0 8px;font:var(--cairn-text-micro) var(--cairn-font-mono);color:var(--cairn-muted)}.space-bar{height:6px;border-radius:3px;background:var(--cairn-raised);overflow:hidden}.space-bar>div{height:100%;background:var(--cairn-accent)}.account{display:flex;align-items:center;gap:4px;padding-top:16px;border-top:1px solid var(--cairn-line)}.account-link{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 8px;border-radius:var(--cairn-radius-s);color:var(--cairn-text);text-decoration:none}.account-link:hover{background:var(--cairn-raised)}.avatar{flex:none;width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--cairn-raised);border:1px solid var(--cairn-line);font-size:var(--cairn-text-small);font-weight:600}.account-text{display:flex;flex-direction:column;min-width:0}.account-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-role{font-size:var(--cairn-text-micro);color:var(--cairn-muted)}.screen{flex:1;min-width:0;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.screen.center{min-height:100vh;align-items:center;justify-content:center}.state{margin:48px auto;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.state h2{font-size:17px}.state p{color:var(--cairn-muted)}.state .button{margin-top:8px}.state-icon{width:56px;height:56px;border-radius:var(--cairn-radius-l);display:flex;align-items:center;justify-content:center;background:var(--cairn-raised)}.tone-accent{color:var(--cairn-accent)}.tone-muted{color:var(--cairn-muted)}.tone-danger{color:var(--cairn-danger)}.login{display:flex;flex-wrap:wrap;min-height:100vh}.login-intro{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:56px;background:var(--cairn-surface);border-right:1px solid var(--cairn-line)}.login-intro .brand{padding:0}.wordmark-large svg{width:60px;height:20px}.login-pebbles{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.login-pebbles span{height:34px;border-radius:17px;background:var(--cairn-raised);border:1px solid var(--cairn-line);max-width:100%}.login-pebbles span:nth-child(1){width:120px;background:var(--cairn-accent);border-color:transparent}.login-pebbles span:nth-child(2){width:220px;margin-left:-18px}.login-pebbles span:nth-child(3){width:340px;margin-left:12px}.login-pebbles span:nth-child(4){width:440px}.login-words{display:flex;flex-direction:column;gap:12px}.login-tagline{font-weight:700;font-size:44px;line-height:1.05;letter-spacing:-.03em;max-width:420px}.login-words .muted{font-size:15px;max-width:380px}.login-panel{flex:1 1 480px;min-width:0;display:flex;align-items:center;justify-content:center;padding:56px 32px}.login-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:24px}.login-head{display:flex;flex-direction:column;gap:6px}.login-head h1{font-size:34px;letter-spacing:-.025em}.login-head .mono{font-size:var(--cairn-text-small)}.login-error{border:1px solid var(--cairn-danger);border-radius:var(--cairn-radius-m);padding:12px 14px}.notice{border:1px solid var(--cairn-line);background:var(--cairn-surface);border-radius:var(--cairn-radius-m);padding:12px 14px}.notice code,code{font-family:var(--cairn-font-mono);font-size:var(--cairn-text-small)}.providers{display:flex;flex-direction:column;gap:10px}.input-large,.provider{min-height:48px}.divider{display:flex;align-items:center;gap:12px;font-size:var(--cairn-text-small);color:var(--cairn-muted)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--cairn-line)}.captcha{min-height:65px}.small{font-size:var(--cairn-text-small)}@media(max-width:720px){.login-intro{flex-basis:100%;padding:24px 16px;gap:16px;border-right:0;border-bottom:1px solid var(--cairn-line)}.login-pebbles,.login-words .muted{display:none}.login-tagline{font-size:24px}.login-panel{padding:32px 16px}}.screen.files{height:100vh;overflow:hidden}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.search{flex:1 1 280px;position:relative;display:flex;align-items:center}.search .search-icon{position:absolute;left:14px;color:var(--cairn-muted);pointer-events:none}.search .input{padding-left:42px;background:var(--cairn-surface)}.crumb-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-family:var(--cairn-font-mono);color:var(--cairn-muted)}.breadcrumbs a{color:var(--cairn-muted);text-decoration:none;min-height:var(--cairn-target);display:inline-flex;align-items:center}.breadcrumbs a:hover{color:var(--cairn-text);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--cairn-text);font-weight:500;overflow-wrap:anywhere}.selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 4px 2px 16px;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);background:var(--cairn-accent-soft)}.selection-bar .count{font-weight:600;margin-right:8px}.danger-text{color:var(--cairn-danger)}.list{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-l);background:var(--cairn-surface);overflow:hidden}.list-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.list-row{display:grid;grid-template-columns:56px minmax(0,1fr) 110px 150px 56px;align-items:center;height:var(--cairn-row-height);border-bottom:1px solid var(--cairn-line)}.list-row.head{height:44px;font-size:var(--cairn-text-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--cairn-muted)}.list-row.on{background:var(--cairn-accent-soft)}.cell-check,.cell-more{display:flex;align-items:center;justify-content:center}.cell-name{display:flex;align-items:center;gap:12px;min-width:0}.name-cell{display:flex;flex-direction:column;min-width:0}.name{font-weight:500;color:var(--cairn-text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.name:hover{text-decoration:underline}.outside{font-size:var(--cairn-text-micro);color:var(--cairn-muted)}.cell-size{text-align:right;padding-right:16px;font-size:var(--cairn-text-small);color:var(--cairn-muted)}.cell-when{font-size:var(--cairn-text-small);color:var(--cairn-muted)}.file-icon{display:inline-flex}.tone-info{color:var(--cairn-info)}.check-button{width:var(--cairn-target);height:var(--cairn-target);padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}.check-button .box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--cairn-muted);display:flex;align-items:center;justify-content:center;color:var(--cairn-on-accent)}.check-button[aria-pressed=true] .box{background:var(--cairn-accent);border-color:var(--cairn-accent)}.segmented{display:flex;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);overflow:hidden;background:var(--cairn-surface)}.segmented .icon-button{border-radius:0}.segmented .icon-button[aria-pressed=true]{background:var(--cairn-raised);color:var(--cairn-text)}.grid-scroll{flex:1;min-height:0;overflow-y:auto}.grid{list-style:none;margin:0;padding:0;display:grid;gap:16px}.tile{height:200px;display:flex;flex-direction:column;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-l);background:var(--cairn-surface);overflow:hidden}.tile.on{border-color:var(--cairn-accent);background:var(--cairn-accent-soft)}.thumb{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--cairn-raised)}.thumb img{width:100%;height:100%;object-fit:cover}.tile-check{position:absolute;top:2px;left:2px}.tile-check .box{background:var(--cairn-surface)}.tile-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:0 14px}.tile-foot .size{flex:none;font-size:var(--cairn-text-micro)}.tile-foot .tile-more{flex:none;margin-right:-10px}.viewer{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px}.viewer-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.viewer-title{flex:1 1 240px;min-width:0}.viewer-title h1{margin:0;font-size:18px;font-weight:600;overflow-wrap:anywhere}.viewer-title p{margin:2px 0 0;font-size:var(--cairn-text-small);overflow-wrap:anywhere}.viewer-actions{display:flex;gap:8px}.viewer-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.viewer-notice-actions{display:flex;flex-wrap:wrap;gap:8px}.viewer-media{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);background:var(--cairn-surface);overflow:hidden}.viewer-image{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain}.editor{flex:1;min-height:320px;display:flex;flex-direction:column;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);background:var(--cairn-surface);overflow:hidden}.editor-body{flex:1;min-height:0;display:flex}.editor-gutter,.editor-text{margin:0;padding:12px 0;font-family:var(--cairn-font-mono);font-size:var(--cairn-text-small);line-height:1.6}.editor-gutter{flex:none;min-width:48px;padding-inline:12px;border-right:1px solid var(--cairn-line);background:var(--cairn-bg);color:var(--cairn-muted);text-align:right;overflow:hidden;user-select:none}.editor-text{flex:1;min-width:0;padding-inline:14px;border:0;background:transparent;color:var(--cairn-text);resize:none;white-space:pre;overflow:auto;tab-size:4}.editor-text:focus{outline:none}.editor:focus-within{border-color:var(--cairn-accent)}.editor-status{display:flex;flex-wrap:wrap;gap:8px 20px;min-height:36px;align-items:center;padding:0 14px;border-top:1px solid var(--cairn-line);font-size:var(--cairn-text-micro);color:var(--cairn-muted)}.editor-status span:last-child{margin-left:auto}.settings-page{display:flex;flex-direction:column;gap:20px;max-width:880px}.settings-head h1{margin:0;font-size:22px;font-weight:600}.settings-head p{margin:4px 0 0}.settings-head.row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.settings-card{display:flex;flex-direction:column;gap:16px;max-width:560px;padding:20px;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-l);background:var(--cairn-surface)}.settings-card h2{margin:0;font-size:16px;font-weight:600}.settings-buttons{display:flex;flex-wrap:wrap;gap:8px}.hint{margin:0;font-size:var(--cairn-text-small);color:var(--cairn-muted)}fieldset.perms{margin:0;padding:0;border:0}.notice.warning{border-color:var(--cairn-danger);margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);background:var(--cairn-surface)}.users-table{width:100%;border-collapse:collapse}.users-table th{padding:10px 16px;text-align:left;font-size:var(--cairn-text-micro);font-weight:600;color:var(--cairn-muted);border-bottom:1px solid var(--cairn-line)}.users-table td{padding:8px 16px;border-bottom:1px solid var(--cairn-line);vertical-align:middle}.users-table tr:last-child td{border-bottom:0}.user-cell{display:flex;align-items:center;gap:12px;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:2px 10px;border-radius:999px;background:var(--cairn-raised);color:var(--cairn-muted);font-size:var(--cairn-text-micro);font-weight:500}.chip.on{background:var(--cairn-accent-soft);color:var(--cairn-accent)}.row-actions{white-space:nowrap;text-align:right}.env-badge{margin:0}.env-rows{margin:0;display:flex;flex-direction:column}.env-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr) auto;gap:4px 16px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--cairn-line)}.env-row:last-child{border-bottom:0}.env-row dt{font-weight:500}.env-row dd{margin:0;overflow-wrap:anywhere}.env-name{font-size:var(--cairn-text-micro)}.switch-field{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px}.switch-field .hint{grid-column:1 / -1}.switch{appearance:none;position:relative;width:44px;height:26px;margin:9px 0;border:1px solid var(--cairn-line);border-radius:999px;background:var(--cairn-raised);cursor:pointer}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--cairn-muted)}.switch:checked{border-color:transparent;background:var(--cairn-accent)}.switch:checked:after{left:21px;background:var(--cairn-on-accent)}@media(max-width:720px){.env-row{grid-template-columns:1fr}}.menu-anchor{position:relative}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:10;display:flex;flex-direction:column;min-width:180px;padding:4px;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);background:var(--cairn-surface)}.menu-item{display:flex;align-items:center;gap:10px;min-height:var(--cairn-target);padding:0 12px;border:0;border-radius:var(--cairn-radius-s);background:transparent;text-align:left;cursor:pointer}.menu-item:hover,.menu-item:focus-visible{background:var(--cairn-raised)}.context-menu{position:fixed;right:auto;top:auto;z-index:30;min-width:220px}.context-menu .menu-item{justify-content:space-between}.menu-key{font-family:var(--cairn-font-mono);font-size:var(--cairn-text-micro);color:var(--cairn-muted)}.menu-separator{height:1px;margin:4px 0;background:var(--cairn-line)}.dialog-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--cairn-bg) 70%,transparent)}.dialog{width:min(420px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-l);background:var(--cairn-surface);overflow:auto}.dialog.wide{width:min(480px,100%)}.dialog-title{margin:0;font-size:17px;font-weight:600}.dialog-body{margin:0;overflow-wrap:anywhere}.dialog-form{display:flex;flex-direction:column;gap:8px}.dialog-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px}.picker-head{display:flex;align-items:center;gap:8px;min-width:0}.picker-path{min-width:0;overflow-wrap:anywhere;color:var(--cairn-muted)}.picker-list{margin:0;padding:0;list-style:none;min-height:132px;max-height:300px;overflow-y:auto;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m)}.picker-item{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--cairn-target);padding:0 12px;border:0;border-bottom:1px solid var(--cairn-line);background:transparent;text-align:left;cursor:pointer}.picker-item:hover{background:var(--cairn-raised)}.picker-empty{padding:12px}.toast-region{position:fixed;left:50%;bottom:24px;z-index:50;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.toast{margin:0;padding:12px 16px;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);background:var(--cairn-raised);animation:cairn-fade var(--cairn-fade) ease-out}@keyframes cairn-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.upload-panel{position:fixed;right:24px;bottom:24px;z-index:20;width:min(420px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 48px));display:flex;flex-direction:column;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-l);background:var(--cairn-surface);overflow:hidden}.upload-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:6px 8px 6px 18px;border-bottom:1px solid var(--cairn-line)}.upload-head h2{margin:0;font-size:15px;font-weight:600}.upload-head-tools{display:flex}.upload-rows{margin:0;padding:0;list-style:none;overflow-y:auto;max-height:384px}.upload-line .button.quiet{padding:0 10px}.upload-row{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 8px 0 18px;border-bottom:1px solid var(--cairn-line);box-sizing:border-box;overflow:hidden}.upload-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.upload-name{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-status{flex:none;font-size:var(--cairn-text-micro);color:var(--cairn-muted)}.upload-row.is-done .upload-status{color:var(--cairn-accent)}.upload-row.is-failed .upload-status,.upload-error{color:var(--cairn-danger)}.upload-error{font-size:var(--cairn-text-micro);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-row progress{appearance:none;width:calc(100% - 10px);height:4px;border:0;border-radius:2px;background:var(--cairn-raised);color:var(--cairn-accent)}.upload-row progress::-webkit-progress-bar{border-radius:2px;background:var(--cairn-raised)}.upload-row progress::-webkit-progress-value{border-radius:2px;background:var(--cairn-accent)}.upload-row progress::-moz-progress-bar{border-radius:2px;background:var(--cairn-accent)}.upload-row.is-failed progress::-webkit-progress-value{background:var(--cairn-danger)}.upload-row.is-failed progress::-moz-progress-bar{background:var(--cairn-danger)}.upload-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:4px 8px 4px 18px;font-size:var(--cairn-text-micro)}.upload-foot .mono{min-width:0;overflow-wrap:anywhere}@media(max-width:720px){.upload-panel{right:16px;bottom:16px}}.topbar{display:flex;align-items:center;gap:4px;min-height:56px;padding:0 8px;border-bottom:1px solid var(--cairn-line);background:var(--cairn-surface)}.sheet-close{align-self:flex-end;margin:-12px -8px -16px 0}.sheet-backdrop{position:fixed;inset:0;z-index:34;background:color-mix(in srgb,var(--cairn-bg) 70%,transparent)}.name-stack{display:flex;flex-direction:column;min-width:0}.narrow .list-row,.narrow .tile{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.narrow .cell-name{position:relative;align-self:stretch}.narrow .cell-name .name:after{content:"";position:absolute;inset:0}.name-stack .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta{font-size:var(--cairn-text-micro);color:var(--cairn-muted)}.select-head{display:flex;align-items:center;gap:4px;width:100%}.select-head .count{flex:1;font-weight:600}.bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex;justify-content:space-around;padding:4px 8px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--cairn-line);background:var(--cairn-surface)}.bar-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;border:0;background:transparent;font-size:var(--cairn-text-micro);font-weight:500;cursor:pointer}@media(max-width:720px){.shell.narrow{flex-direction:column}.sidebar.sheet{position:fixed;top:0;left:0;bottom:0;z-index:35;width:min(300px,85vw);height:100%;overflow-y:auto}.screen{padding:12px 16px;gap:12px}.screen.files{height:calc(100vh - 57px)}.toolbar{flex-wrap:nowrap;gap:8px}.search{flex:1 1 auto;min-width:0}.list-row{grid-template-columns:52px minmax(0,1fr) 48px}.list{border-radius:var(--cairn-radius-m)}.files:has(.bottom-bar) .list-body,.files:has(.bottom-bar) .grid-scroll{padding-bottom:72px}.upload-panel{bottom:16px}.settings-card{padding:16px}.users-table th:nth-child(2),.users-table td:nth-child(2){display:none}.dialog-buttons{flex-wrap:wrap}}.share-path{margin:0 0 12px;color:var(--muted);overflow-wrap:anywhere}.share-link{display:flex;gap:8px}.share-link .input{flex:1;min-width:0}.dialog-buttons .share-delete{margin-right:auto}.link-file{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.link-name{font-weight:600}.links-list a{display:inline-flex;align-items:center;min-height:44px}.links-list .soon{color:var(--cairn-danger)}.links-list .row-actions{display:flex;justify-content:flex-end;gap:4px}.links-stack{margin:0;padding:0;list-style:none}.links-stack li{padding:12px 16px;border-bottom:1px solid var(--cairn-line)}.links-stack li:last-child{border-bottom:0}.links-stack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.links-stack-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:4px}.public{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 16px 24px;background:var(--cairn-bg)}.public-card{width:100%;max-width:880px;padding:24px;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-m);background:var(--cairn-surface)}.public-lock{max-width:400px;display:flex;flex-direction:column;gap:8px}.public-lock h1,.public-title h1{margin:0;font-size:22px;font-weight:600;overflow-wrap:anywhere}.public-lock .button{margin-top:8px}.public-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.public-title{min-width:0}.public-title p{margin:4px 0 0}.public-image{display:block;max-width:100%;max-height:70vh;margin:0 auto}.public-text{margin:0;padding:16px;max-height:70vh;overflow:auto;border:1px solid var(--cairn-line);border-radius:var(--cairn-radius-s);background:var(--cairn-bg);font-family:var(--cairn-font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.public-none{margin:0}.public-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;font-weight:600}.public-crumbs h1{margin:0;font-size:inherit;font-weight:inherit}.public-crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--cairn-text);text-decoration:none}.public-scroll{max-height:70vh;overflow-y:auto}.public-list{margin:0;padding:0;list-style:none}.public-list li{box-sizing:border-box;height:45px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;border-top:1px solid var(--cairn-line)}.public-list a{display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;color:var(--cairn-text);font-weight:500;text-decoration:none}.public-name{min-width:0;overflow-wrap:anywhere}.public-list a:hover .public-name,.public-crumbs a:hover{text-decoration:underline}.public-foot{text-align:center;font-size:var(--cairn-text-micro)}.public-foot p{margin:4px 0}.public-brand{display:inline-flex;align-items:center;gap:6px}@media(max-width:720px){.public{padding-top:16px}.public-card{padding:16px}.public-list li{grid-template-columns:minmax(0,1fr) auto}.public-list li>span:last-child{display:none}}.toast.with-action{display:flex;align-items:center;gap:12px;pointer-events:auto}.toast-action{min-height:var(--cairn-target);color:var(--cairn-accent)}.trash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.trash-list .users-table td{height:52px;padding-block:4px;white-space:nowrap}.trash-list .users-table td:first-child,.trash-list .users-table td:nth-child(2){max-width:16rem;overflow:hidden;text-overflow:ellipsis}.trash-list .row-actions{display:inline-flex;align-items:center;vertical-align:middle}.trash-list .links-stack li{height:97px;box-sizing:border-box;overflow:hidden}.trash-list .links-stack-meta{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.trash-list .window-pad,.trash-list .window-pad td{height:0;padding:0;border:0}.trash-name{display:flex;align-items:center;gap:10px;min-width:0}.input-narrow{max-width:12ch}.share-people{display:flex;flex-direction:column;gap:12px;margin:0;padding:0 0 16px;border:0;border-bottom:1px solid var(--cairn-line);min-width:0}.share-heading{margin:0 0 4px;padding:0;font-size:1rem;font-weight:600}.people-emails{min-height:72px;padding:10px 14px;resize:vertical}.people-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.people-row .field{flex:1 1 140px}.people-results{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.grants-head{margin-top:32px}.grants-list .users-table td{padding-block:4px}.grants-list .users-table th:nth-child(3),.grants-list .users-table th:nth-child(4){width:1px;padding-inline:12px 16px;white-space:nowrap}.grants-list .users-table td:nth-child(3),.grants-list .users-table td:nth-child(4){width:1px;padding-inline:4px 8px;white-space:nowrap}.grants-list .users-table td:last-child,.grants-list .users-table th:last-child{width:1px;padding-inline:4px 8px}.grants-list .users-table select.input,.grants-list .links-stack select.input{field-sizing:content;width:auto;min-width:0;padding:0 4px 0 7px;border-color:transparent;background:transparent;cursor:pointer}.grants-list .links-stack-meta>.link-file{flex-basis:100%}.grants-list .links-stack-meta{column-gap:8px}.grants-list .links-stack select.input:first-of-type{margin-left:-7px}.grants-list .users-table select.input:hover,.grants-list .links-stack select.input:hover{background:var(--cairn-raised)}
