Spaces:
Running
Running
Download css/permissions.css from hongcoding/perch-design: direct link, hf CLI and curl.
- Browser
- Download file 5.88 kB
-
https://huggingface.co/spaces/hongcoding/perch-design/resolve/main/css/permissions.css
- Command line
-
hf download hf://spaces/hongcoding/perch-design/css/permissions.css
-
curl -L -o permissions.css https://huggingface.co/spaces/hongcoding/perch-design/resolve/main/css/permissions.css
5.88 kB
| /* 设置 → 权限(契约 13A 自主授权模式)——只用 theme.css 的色彩令牌, | |
| 不硬编码任何颜色;危险授权卡「红但不恐吓」(design-system.md:danger | |
| 只做指引,不用高饱和大面积红)。 */ | |
| /* 危险操作授权状态卡:未授权=灰(安全态),已授权=danger 描边 + 极淡底 */ | |
| .perm-card { | |
| margin: 14px 0 0; | |
| padding: 14px 16px; | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius-card, 12px); | |
| background: var(--bg-sunken); | |
| transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease); | |
| } | |
| .perm-card.is-authorized { | |
| border-color: var(--danger); | |
| background: color-mix(in srgb, var(--danger) 6%, var(--bg)); | |
| } | |
| .perm-card-head { | |
| display: flex; | |
| gap: 12px; | |
| align-items: flex-start; | |
| } | |
| .perm-card-icon { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: 30px; | |
| height: 30px; | |
| border-radius: 50%; | |
| border: 1px solid var(--border); | |
| background: var(--bg); | |
| color: var(--text-secondary); | |
| flex-shrink: 0; | |
| } | |
| .perm-card.is-authorized .perm-card-icon { | |
| color: var(--danger); | |
| border-color: color-mix(in srgb, var(--danger) 40%, var(--border)); | |
| } | |
| .perm-card-text { | |
| min-width: 0; | |
| } | |
| .perm-card-title { | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| flex-wrap: wrap; | |
| font-weight: 500; | |
| color: var(--text); | |
| } | |
| .perm-card-desc { | |
| margin: 4px 0 0; | |
| font-size: 12.5px; | |
| line-height: 1.6; | |
| color: var(--text-secondary); | |
| } | |
| /* 状态徽章:未授权=灰点,已授权=danger 点 */ | |
| .perm-status-badge { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| font-size: 11.5px; | |
| font-weight: 500; | |
| padding: 3px 9px; | |
| border-radius: 999px; | |
| border: 1px solid var(--border); | |
| color: var(--text-secondary); | |
| background: var(--bg); | |
| } | |
| .perm-status-badge.is-on { | |
| color: var(--danger); | |
| border-color: color-mix(in srgb, var(--danger) 45%, var(--border)); | |
| } | |
| .perm-status-dot { | |
| width: 7px; | |
| height: 7px; | |
| border-radius: 50%; | |
| background: var(--text-tertiary); | |
| } | |
| .perm-status-badge.is-on .perm-status-dot { | |
| background: var(--danger); | |
| } | |
| /* 卡内操作行 */ | |
| .perm-card-actions { | |
| margin-top: 12px; | |
| display: flex; | |
| gap: 8px; | |
| } | |
| /* 一次性授权面板(输入确认词) */ | |
| .perm-grant-panel { | |
| margin-top: 12px; | |
| padding: 12px 14px; | |
| border: 1px solid color-mix(in srgb, var(--danger) 35%, var(--border)); | |
| border-radius: var(--radius-control, 9px); | |
| background: var(--bg); | |
| } | |
| .perm-grant-risk { | |
| margin: 0; | |
| font-size: 13px; | |
| font-weight: 500; | |
| color: var(--danger); | |
| line-height: 1.6; | |
| } | |
| .perm-grant-note { | |
| margin: 4px 0 0; | |
| font-size: 12.5px; | |
| color: var(--text-secondary); | |
| line-height: 1.6; | |
| } | |
| .perm-grant-row { | |
| margin-top: 10px; | |
| display: flex; | |
| gap: 8px; | |
| align-items: center; | |
| flex-wrap: wrap; | |
| } | |
| .perm-grant-input { | |
| font: inherit; | |
| font-size: 13px; | |
| color: var(--text); | |
| background: var(--bg-sunken); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius-control); | |
| padding: 8px 10px; | |
| min-width: 180px; | |
| } | |
| .perm-grant-input:focus-visible { | |
| outline: 2px solid var(--accent); | |
| outline-offset: 1px; | |
| } | |
| /* 按钮三态:危险红底(有分量不刺眼)/ 危险描边(安静入口)/ 中性 */ | |
| .perm-btn-danger, | |
| .perm-btn-danger-quiet, | |
| .perm-btn-quiet { | |
| appearance: none; | |
| font: inherit; | |
| font-size: 13px; | |
| line-height: 1; | |
| padding: 9px 14px; | |
| border-radius: var(--radius-control); | |
| cursor: pointer; | |
| transition: background var(--dur) var(--ease), color var(--dur) var(--ease), | |
| border-color var(--dur) var(--ease), opacity var(--dur) var(--ease); | |
| } | |
| .perm-btn-danger { | |
| border: 1px solid var(--danger); | |
| background: var(--danger); | |
| color: var(--bg); | |
| } | |
| .perm-btn-danger:hover:not(:disabled) { | |
| background: color-mix(in srgb, var(--danger) 88%, var(--text)); | |
| } | |
| .perm-btn-danger:disabled { | |
| opacity: 0.45; | |
| cursor: not-allowed; | |
| } | |
| .perm-btn-danger-quiet { | |
| border: 1px solid color-mix(in srgb, var(--danger) 45%, var(--border)); | |
| background: transparent; | |
| color: var(--danger); | |
| } | |
| .perm-btn-danger-quiet:hover:not(:disabled) { | |
| background: color-mix(in srgb, var(--danger) 10%, transparent); | |
| } | |
| .perm-btn-quiet { | |
| border: 1px solid var(--border); | |
| background: transparent; | |
| color: var(--text-secondary); | |
| } | |
| .perm-btn-quiet:hover:not(:disabled) { | |
| color: var(--text); | |
| background: var(--bg-elevated); | |
| } | |
| .perm-btn-danger:focus-visible, | |
| .perm-btn-danger-quiet:focus-visible, | |
| .perm-btn-quiet:focus-visible { | |
| outline: 2px solid var(--accent); | |
| outline-offset: 1px; | |
| } | |
| /* sudo 固定说明行(不可更改):中性底 + 锁形小图标 */ | |
| .perm-fixed-row { | |
| margin-top: 14px; | |
| display: flex; | |
| gap: 10px; | |
| align-items: flex-start; | |
| padding: 11px 14px; | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius-control, 9px); | |
| background: var(--bg-sunken); | |
| font-size: 12.5px; | |
| line-height: 1.6; | |
| color: var(--text-secondary); | |
| } | |
| .perm-fixed-row strong { | |
| color: var(--text); | |
| font-weight: 500; | |
| margin-right: 4px; | |
| } | |
| .perm-fixed-icon { | |
| display: inline-flex; | |
| align-items: center; | |
| color: var(--text-tertiary); | |
| margin-top: 2px; | |
| flex-shrink: 0; | |
| } | |
| /* 底部常驻审计承诺行 */ | |
| .perm-audit-pledge { | |
| margin: 14px 0 0; | |
| padding-top: 12px; | |
| border-top: 1px solid var(--border); | |
| font-size: 12px; | |
| line-height: 1.6; | |
| color: var(--text-tertiary); | |
| } | |
| /* Composer 任务模式的总闸状态小字(只读展示,改动去设置) */ | |
| .perm-gate-hint { | |
| font-size: 11px; | |
| line-height: 1; | |
| color: var(--text-tertiary); | |
| white-space: nowrap; | |
| align-self: center; | |
| cursor: default; | |
| } | |
| /* 实时之眼摄像头状态徽章(契约 12B):授权=绿(与危险授权的红语义区分) */ | |
| .perm-status-badge.is-good { | |
| color: var(--success); | |
| border-color: color-mix(in srgb, var(--success) 45%, var(--border)); | |
| } | |
| .perm-status-badge.is-good .perm-status-dot { | |
| background: var(--success); | |
| } | |