.ch-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--canvas, #fff)}.ch-head{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:var(--surface, #fff);box-shadow:0 1px 2px #0000000f,0 6px 18px #0000000f}.ch-head-btn{flex:none;width:38px;height:38px;border:none;border-radius:12px;background:var(--surface-2, #f3f4f6);color:var(--text-main, #1f2937);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.ch-head-btn:hover{background:var(--surface-3, #e5e7eb)}.ch-head-id{flex:1;min-width:0}.ch-head-title{font-size:14.5px;font-weight:900;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main, #111827)}.ch-head-sub{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-size:10.5px;font-weight:800;color:var(--accent, #c44569)}.ch-head-sub:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent, #c44569)}.ch-head-install{flex:none;height:38px;padding:0 14px;border:none;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-family:inherit;font-size:12.5px;font-weight:900;display:inline-flex;align-items:center;gap:5px;cursor:pointer;box-shadow:0 4px 14px #10b98159}.ch-body{flex:1;width:100%;max-width:720px;margin:0 auto;padding:14px 12px calc(86px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px}.ch-app{display:flex;align-items:flex-start;gap:14px;padding:16px;border-radius:20px;background:var(--surface, #fff);box-shadow:0 1px 3px #00000012,0 8px 22px #0000000f}.ch-app-name{font-size:17px;font-weight:900;line-height:1.35;color:var(--text-main, #111827)}.ch-app-dev{font-size:11.5px;font-weight:700;color:var(--text-muted, #6b7280);margin-top:2px}.ch-app-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ch-chip{display:inline-flex;align-items:center;gap:3px;padding:4px 9px;border-radius:999px;background:var(--surface-2, #f3f4f6);font-size:10.5px;font-weight:800;color:var(--text-muted, #6b7280)}.ch-chip .material-icons{font-size:13px}.ch-chip-star{color:#d97706}.ch-migrate{display:flex;gap:10px;margin:14px 16px 0;padding:14px 16px;border-radius:16px;background:var(--accent-light, #eaf3fb)}.ch-migrate .material-icons{flex:none;margin-top:2px;font-size:18px;color:var(--accent, #0f528c)}.ch-migrate-title{margin:0 0 6px;font-size:12.5px;font-weight:900;color:var(--text)}.ch-migrate-body{margin:0 0 8px;font-size:12px;line-height:1.95;color:var(--text-muted)}.ch-migrate-body:last-child{margin-bottom:0}.ch-migrate-body a{color:var(--accent, #0f528c);font-weight:800;text-decoration:none}.ch-content{padding:16px;border-radius:20px;background:var(--surface, #fff);box-shadow:0 1px 3px #00000012,0 8px 22px #0000000f;font-size:13.5px;line-height:1.9;color:var(--text-main, #1f2937)}.ch-content img{max-width:100%;border-radius:14px}.ch-comments{border-radius:20px;background:var(--surface, #fff);box-shadow:0 1px 3px #00000012,0 8px 22px #0000000f;overflow:hidden}.ch-comments-bar{width:100%;display:flex;align-items:center;gap:8px;padding:13px 16px;border:none;background:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:900;color:var(--text-main, #111827);text-align:right}.ch-comments-bar .material-icons{font-size:18px;color:var(--text-muted, #6b7280)}.ch-comments-count{margin-inline-start:auto;font-size:11px;font-weight:800;color:var(--text-muted, #6b7280)}.ch-comments-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}.ch-c{display:flex;gap:9px;padding:9px 10px;border-radius:14px;background:var(--surface-2, #f7f8fa)}.ch-c-av{flex:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(140deg,#7c4dff,#e91e8c);color:#fff;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center}.ch-c-main{flex:1;min-width:0}.ch-c-head{display:flex;align-items:center;gap:6px;margin-bottom:2px}.ch-c-name{font-size:11.5px;font-weight:900;color:var(--text-main, #111827)}.ch-c-date{font-size:9.5px;font-weight:700;color:var(--text-subtle, #9ca3af)}.ch-c-ext{font-size:9px;font-weight:800;padding:1px 6px;border-radius:999px;background:#e0f2fe;color:#0369a1}.ch-c-text{font-size:12px;font-weight:600;line-height:1.65;color:var(--text-muted, #4b5563);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ch-c-reply{margin-top:5px;padding:6px 9px;border-radius:10px;background:color-mix(in oklab,var(--accent, #c44569) 8%,transparent);font-size:11px;line-height:1.6;color:var(--text-main, #374151)}.ch-comments-empty{padding:14px;text-align:center;font-size:12px;font-weight:700;color:var(--text-muted, #9ca3af)}.ch-comments-more{display:inline-flex;align-items:center;gap:4px;margin:2px auto 0;padding:7px 14px;border:none;border-radius:999px;background:var(--surface-2, #f3f4f6);font-family:inherit;font-size:11px;font-weight:800;color:var(--text-muted, #6b7280);cursor:pointer}.ch-mini{padding:14px 16px;border-radius:20px;background:var(--surface, #fff);box-shadow:0 1px 3px #00000012,0 8px 22px #0000000f}.ch-mini h2{font-size:12.5px;font-weight:900;color:var(--text-main, #111827);margin-bottom:10px;display:flex;align-items:center;gap:6px}.ch-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ch-spec{padding:8px;border-radius:12px;background:var(--surface-2, #f7f8fa);text-align:center}.ch-spec-k{font-size:10px;font-weight:700;color:var(--text-muted, #6b7280)}.ch-spec-v{font-size:12px;font-weight:900;color:var(--text-main, #111827);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-pros li,.ch-cons li{font-size:12px;font-weight:700;line-height:1.7;color:var(--text-muted, #4b5563);display:flex;gap:6px;align-items:flex-start}.ch-pros .material-icons,.ch-cons .material-icons{font-size:13px;margin-top:3px}.ch-pros .material-icons{color:#10b981}.ch-cons .material-icons{color:#ef4444}.ch-related{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;text-decoration:none;color:var(--text-main, #111827);transition:background .12s ease}.ch-related:hover{background:var(--surface-2, #f7f8fa)}.ch-related-name{font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-related-desc{font-size:10.5px;font-weight:600;color:var(--text-muted, #9ca3af);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-composer{position:fixed;bottom:0;inset-inline:0;z-index:50;background:var(--surface, #fff);box-shadow:0 -1px 2px #0000000d,0 -8px 24px #00000012;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.ch-composer-row{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:8px}.ch-composer input[type=text]{flex:1;min-width:0;height:42px;padding:0 14px;border:none;border-radius:14px;background:var(--surface-2, #f3f4f6);font-family:inherit;font-size:13px;font-weight:600;color:var(--text-main, #111827);outline:none}.ch-composer input[type=text]::placeholder{color:var(--text-muted, #9ca3af)}.ch-composer-name{flex:0 0 110px!important}.ch-composer-submit{flex:none;height:42px;padding:0 18px;border:none;border-radius:14px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-family:inherit;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 4px 14px #10b98159}.ch-composer-submit:disabled{opacity:.55;cursor:default}.ch-composer-msg{max-width:720px;margin:6px auto 0;font-size:11px;font-weight:800}.ch-composer-msg.ok{color:#059669}.ch-composer-msg.err{color:#dc2626}.ch-overlay{position:fixed;inset:0;z-index:90;background:#0f172a73;backdrop-filter:blur(3px)}.ch-sheet{position:fixed;bottom:0;inset-inline:0;z-index:100;max-width:520px;margin:0 auto;border-radius:22px 22px 0 0;background:var(--surface, #fff);box-shadow:0 -12px 40px #0000002e;padding:12px 16px calc(20px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .28s cubic-bezier(.16,1,.3,1)}.ch-sheet.open{transform:translateY(0)}.ch-sheet-grip{width:40px;height:4px;border-radius:999px;background:var(--text-subtle, #d1d5db);margin:0 auto 12px;opacity:.6}.ch-sheet h3{font-size:14px;font-weight:900;color:var(--text-main, #111827);margin-bottom:12px}.ch-sheet-install{width:100%;height:48px;border:none;border-radius:14px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-family:inherit;font-size:14.5px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 6px 18px #10b98166;text-decoration:none;margin-bottom:8px}.ch-sheet-chat{width:100%;height:44px;border:none;border-radius:14px;background:var(--surface-2, #f3f4f6);color:var(--text-main, #111827);font-family:inherit;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-decoration:none;margin-bottom:12px}.ch-sheet-links{display:flex;flex-direction:column;gap:6px}.ch-sheet-link{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:12px;background:var(--surface-2, #f7f8fa);font-size:12.5px;font-weight:800;color:var(--text-main, #111827);text-decoration:none}.ch-sheet-link img{width:28px;height:28px;border-radius:8px;object-fit:cover}.ch-sheet-link .material-icons{margin-inline-start:auto;font-size:16px;color:var(--text-muted, #9ca3af)}:root[data-theme=dark] .ch-sheet,:root[data-theme=dark] .ch-head,:root[data-theme=dark] .ch-composer,:root[data-theme=dark] .ch-app,:root[data-theme=dark] .ch-content,:root[data-theme=dark] .ch-comments,:root[data-theme=dark] .ch-mini{box-shadow:0 1px 3px #00000080,0 8px 22px #0006}
