@charset "UTF-8";
.app-installed .settings-page #install-app{color:var(--ink)}
.assistant-mark{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;line-height:0;overflow:hidden}.assistant-mark svg{display:block;position:static;width:19px;height:19px;stroke-width:1.6;transform:none}.brand-knot{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;line-height:0}.brand-knot svg{display:block;width:38px;height:38px;stroke-width:1.3}:root[data-theme=a] .brand-knot svg{width:24px;height:24px}:root[data-theme=b] .brand-knot svg{width:31px;height:31px}
.composer .composer-line{display:block;min-height:38px}.composer .composer-line textarea{width:100%;padding:4px 4px 8px;min-height:38px;max-height:125px}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 1px 0}.composer-toolbar .attach-image{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:80px;min-height:36px;padding:7px 10px;border:1px solid var(--border);border-radius:11px;background:var(--soft);font-size:11px;line-height:1.5;color:var(--accent)}.composer-toolbar .attach-image svg{width:17px;height:17px}.composer-toolbar .send-button{width:36px;height:36px}.composer-toolbar .attach-image:has(input:disabled){opacity:.5;cursor:default}
:root{color-scheme:light;--bg:#f5f2e9;--surface:#fffdf7;--soft:#ebeade;--ink:#344a40;--muted:#838d79;--border:#e5e5d7;--accent:#55745e;--accent-soft:#e1e7d9;--user:#617d66;--user-ink:#fffdf2;--nav:#ebeee1;--code:#f0f1e7;--sidebar:#fffcf6;background:var(--bg);color:var(--ink)}
:root[data-theme=a]{--bg:#fff;--surface:#fff;--soft:#f5f5f5;--ink:#202329;--muted:#80828a;--border:#e8e9ec;--accent:#25292e;--accent-soft:#eff0f2;--user:#f2f3f4;--user-ink:#25292e;--nav:#fff;--code:#f5f6f7;--sidebar:#fafafa}
:root[data-theme=b]{color-scheme:dark;--bg:#15171c;--surface:#1d2027;--soft:#20232b;--ink:#e6e7ed;--muted:#989dab;--border:#303440;--accent:#b8a8ff;--accent-soft:#302a47;--user:#292738;--user-ink:#e5dffa;--nav:#20202b;--code:#14161c;--sidebar:#1b1d24}
html,body,.workspace{background:var(--bg);color:var(--ink)}.workspace{min-width:0;min-height:0}.app{height:100dvh}.brand-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 25px 14px;min-height:83px;flex-shrink:0}.app-brand{display:flex;gap:9px;align-items:center}.brand-knot{font-size:42px;line-height:1;color:var(--accent)}.app-brand strong{font-size:25px;letter-spacing:3px;font-weight:650}.brand-codex{display:none}.app-brand small{display:block;font-size:8px;letter-spacing:3px;color:var(--muted);margin-top:3px}.header-actions{display:flex;align-items:center;gap:4px}.online-pill{display:flex;gap:6px;align-items:center;font-size:10px;white-space:nowrap;color:var(--accent);border:1px solid var(--border);border-radius:20px;background:var(--accent-soft);padding:8px 10px}.online-pill i{height:5px;width:5px;border-radius:50%;background:var(--muted)}.online-pill i.online{background:#719775}.header-actions .icon-button{width:29px;height:35px;color:var(--muted);border:0}.header-actions svg{width:17px;height:17px}.chat-panel{display:flex;flex:1;min-height:0;flex-direction:column;position:relative}.chat-header{background:none;border:0;border-bottom:1px solid var(--border);margin:0 25px;padding:8px 0 18px;min-height:0;gap:8px}.chat-heading{flex:1;min-width:0}.chat-heading>div{display:flex;align-items:center;gap:8px}.source-badge{background:none;padding:0;font-size:10px;letter-spacing:.1px;color:var(--muted);border:0}.live-label{font-size:8px;color:var(--muted)}.chat-header h1{font-size:17px;font-weight:600;line-height:1.6;margin:9px 0 0;color:var(--ink)}.switch-thread{display:flex;align-items:center;gap:6px;flex-shrink:0;border:1px solid var(--border);border-radius:20px;padding:8px 10px;font-size:10px;color:var(--accent);min-height:35px;background:none}.switch-thread svg{height:15px;width:15px}.chat-header #refresh{width:25px;height:34px;border:0;color:var(--muted);padding:0}.chat-header #refresh svg{height:17px;width:17px}.messages-scroll{background:var(--bg);scrollbar-color:var(--border) transparent}.conversation{max-width:850px;width:100%;padding:26px 22px 14px}.message{margin-bottom:25px}.message-text{color:var(--ink);font-size:14px;line-height:1.9}.message.assistant>.message-text{background:var(--surface);border:1px solid var(--border);border-radius:4px 19px 19px 19px;padding:16px 18px}.message.user{max-width:88%}.message.user .message-text{background:var(--user);color:var(--user-ink);border:0;border-radius:19px 19px 4px 19px;padding:12px 15px}.message-label{color:var(--muted);gap:7px;font-size:10px}.message-label strong{color:var(--accent);font-size:11px}.message-label time{color:var(--muted);font-size:9px}.assistant-mark{background:var(--accent-soft);color:var(--accent);border:0;border-radius:50%;font-size:25px;width:25px;height:25px}.message-text pre{max-width:100%;font-size:12px;background:var(--code);border-color:var(--border);padding:12px;border-radius:10px}.message-text code{background:var(--code);color:inherit}.message-text pre code{color:var(--ink)}.message-text a{color:inherit}.message-text blockquote{border-color:var(--border);color:var(--muted)}.copy-button{color:var(--muted);font-size:10px}.working,.empty,.empty p,.empty h2{color:var(--muted)}.empty-icon{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}.pulse-dots b{background:var(--accent)}.older,.jump-bottom{border-color:var(--border);background:var(--surface);color:var(--accent)}.banner{background:var(--soft);border-color:var(--border)}
.composer-wrap{background:var(--bg);padding:10px 23px 4px;max-width:850px}.compose-prompt{display:block;text-align:center;font-size:10px;color:var(--muted);letter-spacing:1px;margin:0 0 10px}.composer{background:var(--surface);border-color:var(--border);border-radius:22px;padding:9px 10px 9px 12px;box-shadow:none}.composer:focus-within{border-color:var(--accent)}.composer-line{display:flex;align-items:flex-end;gap:9px;min-height:36px}.composer-line textarea{width:auto;flex:1;min-width:0;min-height:34px;font-size:16px;padding:5px 0 3px;color:var(--ink);max-height:125px}.composer textarea::placeholder{color:var(--muted)}.composer-line .attach-image{width:30px;height:36px;flex-shrink:0;padding:0;display:grid;place-items:center;color:var(--muted)}.attach-image svg{width:23px;height:23px}.send-button{width:35px;height:35px;border-radius:12px;background:var(--accent);color:var(--bg);flex-shrink:0}.send-button:disabled{background:var(--accent);opacity:.5}.composer-foot{font-size:8px;color:var(--muted);gap:8px;padding:7px 4px 2px;line-height:1.5}.composer-foot>span:first-child{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.main-nav{display:flex;align-items:center;justify-content:space-evenly;gap:3px;flex-shrink:0;border:1px solid var(--border);border-radius:26px;background:var(--nav);height:51px;width:min(330px,calc(100% - 106px));min-width:235px;padding:4px;margin:7px auto calc(10px + var(--safe-bottom))}.main-nav button{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:40px;gap:6px;border:0;border-radius:21px;font-size:11px;background:none;color:var(--muted)}.main-nav svg{width:17px;height:17px}.main-nav .selected{color:var(--accent);background:var(--surface);font-weight:600;box-shadow:0 2px 8px #00000004}.jump-bottom{bottom:139px}
.page-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:12px 26px 25px;width:100%;max-width:850px;align-self:center}.page-heading{margin:3px 0 29px}.eyebrow{color:var(--muted)}.page-heading h1{font-size:34px;line-height:1.4;letter-spacing:1px;font-weight:600;margin:11px 0 10px}.page-heading h1 span{color:var(--accent)}.page-heading p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.section-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin:25px 0 12px}.section-caption>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-caption>span:last-child{flex-shrink:0}.segmented{display:flex;gap:4px;border:1px solid var(--border);padding:4px;background:var(--soft);border-radius:12px}.segmented button{flex:1;min-height:38px;font-size:12px;color:var(--muted);background:none;border:0;border-radius:9px}.segmented .selected{color:var(--ink);background:var(--surface)}.file-library{display:flex;flex-direction:column;gap:11px}.file-download{display:flex;max-width:100%;min-width:0;border-color:var(--border);background:var(--surface);color:var(--ink);padding:13px 12px;gap:11px;border-radius:13px}.file-download:hover{border-color:var(--accent);background:var(--soft)}.file-download>span:last-child{min-width:0;flex:1}.file-download strong{font-size:12px;max-width:none;white-space:normal;overflow-wrap:anywhere;color:var(--ink)}.file-download small{font-size:10px;color:var(--muted)}.file-icon{height:36px;width:32px;background:var(--accent-soft);color:var(--accent);border-radius:9px}.file-download:after{content:'↓';padding:0 4px;color:var(--accent);font-size:20px}.page-note,.files-empty{font-size:12px;color:var(--muted);line-height:1.9}.page-note{margin:22px 0 0}.files-empty{text-align:center;padding:25px 15px;border:1px dashed var(--border);border-radius:14px}.process-files{border:1px solid var(--border);border-radius:12px;background:var(--soft);margin:12px 0 23px;padding:0 12px}.process-files>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;font-size:11px;color:var(--muted)}.process-files>summary::-webkit-details-marker{display:none}.process-files>summary:after{content:'展开 ⌄';font-size:10px;white-space:nowrap}.process-files[open]>summary:after{content:'收起 ⌃'}.process-files>.file-list{margin:0 0 12px}.process-files .file-download{padding:10px;background:var(--surface)}
.computer-card{border:1px solid var(--border);background:var(--accent-soft);padding:17px 14px;border-radius:17px;margin:0;color:var(--ink);gap:11px}.computer-card>div:nth-child(2){min-width:0;flex:1}.computer-card strong{color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.computer-card small{font-size:10px;color:var(--muted);line-height:1.7}.computer-icon{width:39px;height:40px;border-radius:11px;background:var(--surface);color:var(--accent)}.status-dot.online{background:#719775}.settings-group,.settings-page .phone-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:0 15px;margin:0}.settings-page .phone-card-title{display:none}.settings-page .phone-action{border:0;border-bottom:1px solid var(--border);padding:14px 0;min-height:52px;font-size:13px;color:var(--ink)}.settings-page .phone-action:last-child{border:0}.settings-page .phone-action.active{color:var(--accent)}.settings-page .phone-card small,.settings-group>small{display:block;line-height:1.9;font-size:11px;color:var(--muted);margin:10px 0 14px}.native-background{margin-top:12px}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.theme-option{position:relative;min-width:0;text-align:left;border:1px solid var(--border);border-radius:13px;padding:8px 8px 11px;background:var(--surface)}.theme-option.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-option strong,.theme-option small{display:block;padding:0 3px}.theme-option strong{font-size:12px;font-weight:600;margin:10px 0 5px}.theme-option small{font-size:9px;color:var(--muted)}.theme-check{display:none;position:absolute;right:9px;bottom:24px;font-size:11px;color:var(--accent)}.theme-option.selected .theme-check{display:block}.theme-preview{display:block;position:relative;height:65px;border:1px solid #e8e9ec;border-radius:7px;background:#fff;overflow:hidden}.theme-preview:before{content:'';position:absolute;left:9px;top:9px;width:27px;height:4px;background:#d5d8dc;border-radius:3px}.theme-preview i,.theme-preview b,.theme-preview em{display:block;position:absolute;border-radius:4px}.theme-preview i{right:8px;top:22px;width:40px;height:10px;background:#e8e9ec}.theme-preview b{left:8px;top:38px;width:54px;max-width:70%;height:13px;background:#f1f2f3}.theme-preview em{bottom:5px;left:16px;right:16px;height:4px;background:#ededee}.theme-option[data-theme-choice=b] .theme-preview{background:#1b1d24;border-color:#343440}.theme-option[data-theme-choice=b] .theme-preview:before{background:#aaa0cf}.theme-option[data-theme-choice=b] .theme-preview i{background:#3d3657}.theme-option[data-theme-choice=b] .theme-preview b{background:#2c2d39}.theme-option[data-theme-choice=b] .theme-preview em{background:#b0a0ff}.theme-option[data-theme-choice=c] .theme-preview{background:#f5f2e9;border-color:#e5e5d7}.theme-option[data-theme-choice=c] .theme-preview:before{background:#83957c}.theme-option[data-theme-choice=c] .theme-preview i{background:#617d66}.theme-option[data-theme-choice=c] .theme-preview b{background:#fffdf7;border:1px solid #e5e5d7}.theme-option[data-theme-choice=c] .theme-preview em{background:#d9e0cc}.update-download{display:block;margin:12px 0;padding:12px 14px;border-radius:10px;background:var(--accent-soft);text-align:center;text-decoration:none;font-size:12px;color:var(--accent)}.version-signature{text-align:center;margin:33px 0 23px;color:var(--muted)}.version-signature>span{display:block;font-size:39px;color:var(--accent);margin-bottom:9px}.version-signature strong{font-size:12px;font-weight:500}.version-signature p{font-size:10px;margin:9px 0}.settings-page .sidebar-bottom{border:0;color:var(--muted);font-size:10px;padding:0 0 15px}.settings-page .text-button{color:var(--muted)}
.sidebar{background:var(--sidebar);border-color:var(--border)}.brand strong,.thread-title{color:var(--ink)}.brand strong span,.brand small,.thread-summary,.thread-meta,.list-heading,.phone-card small,.list-empty{color:var(--muted)}.brand-mark{background:var(--accent);color:var(--bg);box-shadow:none}.search{background:var(--surface);border-color:var(--border);border-radius:11px}.search input{color:var(--ink)}.filters{background:var(--soft)}.filters button{color:var(--muted)}.filters button.selected{color:var(--accent);background:var(--surface)}.thread.selected{background:var(--accent-soft);border-color:var(--border)}.thread:hover{background:var(--soft)}.thread.selected svg,.thread svg,.text-button{color:var(--accent)}.icon-button:hover{background:var(--soft)}.image-draft{border-color:var(--border)}.image-draft>button{background:var(--surface);border-color:var(--border);color:var(--ink)}.toast{background:var(--accent);color:var(--bg);bottom:calc(81px + var(--safe-bottom))}.login-view{background:var(--bg)}.login-card h1,.login-description,.login-foot,.login-bottom,.login-card label{color:var(--ink)}.login-description,.login-foot,.login-bottom{color:var(--muted)}.login-card input{background:var(--surface);color:var(--ink);border-color:var(--border)}.primary,.primary:hover{background:var(--accent);color:var(--bg)}.login-foot{border-color:var(--border)}.install-help{background:var(--surface);color:var(--ink);border-color:var(--border)}.install-help p{color:var(--muted)}
:root[data-theme=a] .app-brand strong{font-size:18px;letter-spacing:0}:root[data-theme=a] .brand-codex{display:inline}:root[data-theme=a] .app-brand small{display:none}:root[data-theme=a] .brand-knot{font-size:28px;display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:var(--ink);color:var(--bg)}:root[data-theme=a] .message.assistant>.message-text{background:none;border:0;border-radius:0;padding:0}:root[data-theme=a] .assistant-mark{background:none}:root[data-theme=a] .compose-prompt{display:none}:root[data-theme=a] .main-nav{border:0;border-top:1px solid var(--border);border-radius:0;margin:0 0 var(--safe-bottom);width:100%;height:61px}:root[data-theme=a] .main-nav button{flex-direction:column;gap:4px;font-size:10px;min-height:50px}:root[data-theme=a] .main-nav .selected{box-shadow:none}:root[data-theme=a] .composer-wrap{padding-bottom:12px}:root[data-theme=a] .send-button{border-radius:50%}
:root[data-theme=c] .message.assistant>.message-text{background:transparent;border:0;border-left:2px solid var(--border);border-radius:0;padding:7px 4px 7px 16px}
:root[data-theme=b] .brand-codex{display:inline}:root[data-theme=b] .app-brand strong{font-size:22px;letter-spacing:-.5px}:root[data-theme=b] .app-brand small{display:none}:root[data-theme=b] .brand-knot{font-size:31px}:root[data-theme=b] .compose-prompt{display:none}:root[data-theme=b] .message.assistant>.message-text{border-radius:13px}:root[data-theme=b] .message.user>.message-text{border-radius:3px 13px 13px 3px;border-left:2px solid var(--accent);background:var(--soft)}:root[data-theme=b] .composer{border-radius:14px}:root[data-theme=b] .send-button{border-radius:9px;color:#242030}:root[data-theme=b] .main-nav{border-radius:12px}:root[data-theme=b] .main-nav button{border-radius:9px}:root[data-theme=b] .main-nav .selected{background:var(--accent-soft)}
@media(max-width:760px){.brand-header{padding:12px 22px 10px;min-height:70px}.chat-header{margin:0 23px;padding:7px 0 13px}.chat-header h1{font-size:16px;margin-top:6px}.conversation{padding:27px 23px 16px}.message{margin-bottom:31px}.message-label{margin-bottom:12px}.message-text{font-size:13px;line-height:2.05}.message.assistant>.message-text{padding-top:7px;padding-bottom:7px}.message-text pre{font-size:11px;margin-left:0;margin-right:0;padding:12px 13px}.composer-wrap{padding:8px 18px 5px}.composer{padding:10px 12px 8px;border-radius:18px}.composer-line{min-height:36px}.composer-line textarea{min-height:34px}.page-scroll{padding:12px 24px 23px}.main-nav{height:50px}.main-nav button{min-height:39px}.sidebar{top:auto;bottom:0;left:0;right:0;width:100%;height:min(84dvh,760px);border:1px solid var(--border);border-bottom:0;border-radius:26px 26px 0 0;padding:24px 22px calc(18px + var(--safe-bottom));transform:translateY(105%);visibility:hidden;transition:transform .2s ease,visibility:.2s}.sidebar-open .sidebar{transform:translateY(0);visibility:visible}.sidebar-open .scrim{background:#25342666}.sidebar .brand{margin-bottom:22px}.jump-bottom{bottom:134px}}
@media(max-width:370px){.brand-header{padding-left:18px;padding-right:16px}.app-brand strong{font-size:23px}.brand-knot{font-size:36px}.online-pill{font-size:9px}.chat-header{margin-left:19px;margin-right:19px}.live-label{display:none}.conversation{padding-left:16px;padding-right:16px}.page-scroll{padding-left:19px;padding-right:19px}.theme-option{padding:7px 6px 10px}.main-nav{width:calc(100% - 92px)}.composer-wrap{padding-left:18px;padding-right:18px}}
@media(max-height:650px){.brand-header{min-height:59px;padding-top:8px;padding-bottom:8px}.brand-knot{font-size:31px}.app-brand strong{font-size:20px}.app-brand small{font-size:6px}.chat-header{padding-top:4px;padding-bottom:9px}.chat-header h1{margin-top:4px}.compose-prompt,.composer-foot{display:none}.composer-wrap{padding-top:7px;padding-bottom:4px}.main-nav{height:45px;margin-top:4px;margin-bottom:calc(5px + var(--safe-bottom))}.main-nav button{min-height:34px}.conversation{padding-top:16px}.jump-bottom{bottom:85px}}
@media(min-width:1100px){.brand-header{padding-left:42px;padding-right:42px}.chat-header{margin-left:42px;margin-right:42px}.page-scroll{padding-left:36px;padding-right:36px}.main-nav{width:330px}.settings-page .theme-preview{height:90px}.settings-page .theme-preview b{top:43px;width:65%;height:25px}.settings-page .theme-preview i{width:50%;top:22px;height:12px}}

.file-card{display:flex;align-items:stretch;gap:5px;min-width:0}.file-card>.file-download{flex:1;min-width:0}.file-actions{display:flex;gap:3px;flex-wrap:wrap}.file-actions button,.file-tools .text-button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:8px;padding:7px 8px;font-size:10px;white-space:nowrap}.file-actions button:hover,.file-tools .text-button:hover{color:var(--ink);border-color:var(--accent)}.file-tools{display:flex;justify-content:flex-end;gap:8px;margin:-13px 0 13px}

.downloaded-library{margin-top:26px;border-top:1px solid var(--border);padding-top:16px}.downloaded-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;margin-bottom:9px}.downloaded-card{display:flex;align-items:center;gap:9px;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 11px;margin-bottom:7px}.downloaded-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px}.downloaded-info{flex:1;min-width:0}.downloaded-info strong,.downloaded-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.downloaded-info strong{font-size:11px;color:var(--ink)}.downloaded-info small{font-size:9px;color:var(--muted);margin-top:3px}.downloaded-actions{display:flex;gap:4px}.downloaded-actions button{border:1px solid var(--border);background:var(--soft);color:var(--accent);border-radius:7px;padding:7px 8px;font-size:10px}.downloaded-empty{font-size:11px;color:var(--muted);padding:11px 0}
.file-library .file-card{flex:0 0 auto;align-items:center;min-height:0}
.file-library .file-download{min-height:66px;padding:9px 10px;gap:9px}
.file-library .file-download strong{display:-webkit-box;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.file-library .file-download small{line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-library .file-icon{width:31px;height:31px;flex:0 0 31px;border-radius:8px}
.file-library .file-download:after{padding:0 3px;font-size:19px;line-height:1}
.file-library .file-card.management{flex-wrap:wrap}
.file-library .file-card.management>.file-download{flex-basis:100%}
.file-library .file-card.management>.file-actions{width:100%;justify-content:flex-end}
.file-library .file-actions button{padding:5px 7px}
.process-files .file-download{min-height:58px;padding:8px 9px}

/* The mobile app bar and chat title share the top of the viewport. Keep both
   compact so the conversation gets the space users expect from a chat app. */
@media(max-width:760px){
  .brand-header{padding:8px 20px 6px;min-height:58px}
  .brand-knot{font-size:34px}
  .app-brand{gap:7px}
  .app-brand strong{font-size:21px;letter-spacing:2px}
  .app-brand small{font-size:7px;letter-spacing:2.5px;margin-top:1px}
  .online-pill{padding:6px 9px;font-size:9px}
  .chat-header{margin:0 20px;padding:4px 0 9px;gap:7px}
  .chat-heading>div{gap:6px}
  .source-badge,.live-label{font-size:8px}
  .chat-header h1{font-size:15px;line-height:1.4;margin-top:4px}
  .switch-thread{padding:6px 9px;min-height:31px}
  .chat-header #refresh{height:31px}
}

/* Files are a library, so keep the hierarchy clear: a compact heading,
   a single control row, and cards that expose the file type at a glance. */
.files-page .page-heading{margin:4px 0 18px}
.files-page .page-heading h1{font-size:30px;line-height:1.25;margin:7px 0 5px}
.files-page .page-heading p{font-size:11px;line-height:1.6}
.files-page .segmented{padding:3px;border-radius:11px}
.files-page .segmented button{min-height:35px;font-size:11px}
.files-page .section-caption{margin:18px 0 8px;font-size:10px}
.files-page .section-caption>span:last-child{padding:3px 8px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}
.files-page .file-tools{align-items:center;margin:0 0 8px;min-height:28px}
.files-page .file-tools .text-button{padding:5px 8px;border-radius:8px;background:var(--soft)}
.files-page .file-library{gap:7px}
.files-page .file-card{border:1px solid var(--border);border-radius:13px;background:var(--surface);overflow:hidden}
.files-page .file-card>.file-download{border:0;border-radius:0;background:transparent;min-height:66px;padding:9px 11px}
.files-page .file-card>.file-download:hover{background:var(--soft)}
.files-page .file-card .file-copy{display:block;min-width:0;flex:1}
.files-page .file-card .file-icon{display:grid;place-items:center;font-size:8px;font-weight:700;letter-spacing:.2px}
.files-page .file-card .file-download:after{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--soft);font-size:16px}
.files-page .file-card.management>.file-actions{border-top:1px solid var(--border);padding:6px 9px;background:var(--soft)}
.files-page .file-actions button{background:var(--surface)}
.files-page .file-download-actions{display:flex;align-items:center;gap:5px;padding:5px 9px;border-top:1px solid var(--border);background:var(--soft)}
.files-page .file-download-state{flex:1;min-width:0;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files-page .file-download-state.done{color:var(--accent)}
.files-page .file-download-actions button{border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--accent);padding:5px 8px;font-size:10px}
.file-card:has(.file-download-actions){flex-direction:column;align-items:stretch}
.file-card:has(.file-download-actions)>.file-download{flex:none;width:100%}
.file-download-actions{display:flex;align-items:center;gap:6px;padding:6px 9px;background:var(--soft);font-size:10px}
.file-download-state{flex:1;min-width:0}
.file-download-actions button{min-height:32px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--accent);font-size:10px;padding:5px 9px}
.file-download-actions button:disabled,.downloaded-actions button:disabled{opacity:.45;cursor:default}
.download-upgrade{font-size:11px;line-height:1.8;color:var(--ink);padding:10px;border:1px solid var(--border);border-radius:8px}
.download-upgrade a{color:var(--accent)}
.files-page .downloaded-library{margin-top:21px;padding-top:13px}
.files-page .downloaded-card{border-radius:11px;padding:8px 9px}
.files-page .page-note{margin:16px 0 8px;font-size:10px;line-height:1.7}
.files-page>#refresh-files{padding:5px 0;font-size:10px}

/* The three bottom destinations are equal tabs, without a second floating
   container taking extra width and height on small screens. */
@media(max-width:760px){
  .main-nav{width:100%;min-width:0;height:47px;margin:0 0 var(--safe-bottom);padding:2px 8px;border-radius:0;border-left:0;border-right:0;border-bottom:0;gap:0;background:var(--surface)}
  .main-nav button{flex:1 1 33.333%;width:33.333%;min-height:41px;height:41px;padding:0 4px;border-radius:9px;gap:5px;font-size:11px}
  .main-nav .selected{background:var(--accent-soft);box-shadow:none}
}
