/* chmod permission calculator (#76) */
.container--chmod-tool{width:min(100% - 1.5rem,82rem);max-width:100%}.chmod-tool-intro{max-width:64rem}.chmod-app{display:grid;gap:1rem;margin:1.5rem 0 2rem}
.chmod-mode-panel,.chmod-permissions-panel,.chmod-special-panel,.chmod-result-panel,.chmod-presets-panel{box-sizing:border-box;min-width:0;margin:0;padding:clamp(1rem,2.4vw,1.4rem)}
.chmod-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.chmod-panel-heading h2{margin:0}.chmod-panel-heading p{margin:.2rem 0 0;color:var(--color-muted);font-size:.86rem}
.chmod-mode-label{display:grid;max-width:32rem;gap:.4rem;font-weight:850}.chmod-mode-label input{box-sizing:border-box;width:100%;min-height:54px;padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font:900 1.35rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.chmod-mode-label input:focus{border-color:var(--color-primary);outline:3px solid rgba(20,107,99,.18)}.chmod-mode-label input[aria-invalid="true"]{border-color:var(--color-danger);background:#fff7f6}.chmod-validation{min-height:1.5em;margin:.55rem 0 0;color:var(--color-danger);font-weight:800}
.chmod-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.chmod-permission-card{box-sizing:border-box;min-width:0;margin:0;padding:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.chmod-permission-card legend{padding:0 .3rem;color:var(--color-primary);font-weight:900}.chmod-permission-card legend small{color:var(--color-muted);font-size:.75rem}.chmod-permission-card label,.chmod-special-grid label{display:flex;align-items:flex-start;gap:.7rem;min-width:0;margin-top:.55rem;padding:.65rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.chmod-permission-card label:hover,.chmod-special-grid label:hover{border-color:rgba(20,107,99,.3)}.chmod-permission-card input,.chmod-special-grid input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin:.15rem 0 0;accent-color:var(--color-primary)}.chmod-permission-card span,.chmod-special-grid span{display:grid;min-width:0;gap:.15rem}.chmod-permission-card small,.chmod-special-grid small{color:var(--color-muted);line-height:1.45}
.chmod-special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.chmod-special-grid label{margin:0;background:var(--color-surface-soft)}
.chmod-result-grid{display:grid;grid-template-columns:minmax(9rem,.65fr) minmax(9rem,.65fr) minmax(14rem,1fr) minmax(16rem,1.25fr);gap:.8rem}.chmod-result-grid section{box-sizing:border-box;min-width:0;padding:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.chmod-result-grid h3{margin:0 0 .55rem;color:var(--color-muted);font-size:.82rem}.chmod-result-grid output{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:3.2rem;padding:.6rem;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font:900 clamp(1rem,2.4vw,1.28rem)/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;word-break:break-word}.chmod-result-grid .button{width:100%;min-width:0;margin-top:.65rem}.chmod-result-grid .button:disabled{cursor:not-allowed;opacity:.5}.chmod-777-warning{margin:.8rem 0 0;padding:.75rem;border-left:4px solid #d28a27;background:#fff9ec;color:#6d4816}.chmod-status{min-height:1.5em;margin:.7rem 0 0;color:var(--color-primary);font-weight:750}.chmod-status[data-state="error"]{color:var(--color-danger)}
.chmod-preset-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.chmod-preset-list button{display:grid;min-width:0;min-height:64px;place-content:center;gap:.1rem;padding:.55rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font:inherit;cursor:pointer}.chmod-preset-list button strong{font:900 1.05rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.chmod-preset-list button small{color:var(--color-muted);font:700 .7rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.chmod-preset-list button[aria-pressed="true"]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.chmod-preset-list button[aria-pressed="true"] small{color:#e8fffb}.chmod-preset-list button:focus-visible,.chmod-mode-panel .button:focus-visible,.chmod-result-grid .button:focus-visible{outline:3px solid rgba(20,107,99,.34);outline-offset:2px}
.chmod-table-wrap{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.chmod-table-wrap table{width:100%;min-width:30rem;border-collapse:collapse}.chmod-table-wrap th,.chmod-table-wrap td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);text-align:left}.chmod-table-wrap th{background:var(--color-surface-soft)}.chmod-table-wrap tr:last-child td{border-bottom:0}.chmod-table-wrap:focus-visible{outline:3px solid rgba(20,107,99,.25);outline-offset:2px}.chmod-faq{margin-top:1rem}
@media(max-width:980px){.chmod-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chmod-preset-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.chmod-permission-grid,.chmod-special-grid{grid-template-columns:1fr}.chmod-panel-heading{align-items:stretch;flex-direction:column}.chmod-mode-panel .button{width:100%}}
@media(max-width:520px){.chmod-result-grid{grid-template-columns:1fr}.chmod-preset-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.container--chmod-tool{width:min(100% - 1rem,82rem);max-width:100%;padding-inline:0}.chmod-app,.chmod-mode-panel,.chmod-permissions-panel,.chmod-special-panel,.chmod-result-panel,.chmod-presets-panel,.chmod-permission-grid,.chmod-special-grid,.chmod-result-grid,.chmod-permission-card,.chmod-result-grid section,.chmod-mode-label,.chmod-mode-label input{width:100%;max-width:100%;min-width:0}.chmod-mode-panel,.chmod-permissions-panel,.chmod-special-panel,.chmod-result-panel,.chmod-presets-panel{padding:.85rem}.chmod-preset-list button{width:100%;min-width:0}.chmod-table-wrap{max-width:100%}}
