/* Hallmark · shape: app screen · genre: modern-minimal · theme: Dusk (deal 1/3, seed access-account-dashboard-login-50d5) · redesign: full

 * nav: compact horizontal account tabs · signature: ZepSound and Zcraft member directory · states: loading, empty, error, full

 * dusk: slate/periwinkle/soft surfaces · axes: dark/grotesk-sans/cool · posture: restrained · v2.0.0 */

/* Hallmark · pre-emit critique: P4 H4 E4 S3 R5 V4 · weakest: S, a plain account form is shared by many tools; kept the actual Z logo and mod names, cut the decorative grid and numbered panels */

@import url('./tokens.css');

@import url('./base.css');

body{font-synthesis:none}button,input{font-family:var(--font-body)}button,a,summary{touch-action:manipulation}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:40px;padding:var(--space-xs) var(--space-md);border:1px solid var(--color-absent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);font-weight:500;white-space:nowrap;cursor:pointer}button:hover{background:var(--color-accent-hi)}button:active,a.download:active{transform:translateY(1px)}button:disabled,input:disabled,button[aria-disabled=true]{opacity:.55;cursor:not-allowed}button[aria-busy=true]{cursor:progress}.secondary{background:var(--color-paper-3);color:var(--color-ink)}.secondary:hover{background:var(--color-rule)}.quiet,.row-manage{background:var(--color-absent);color:var(--color-muted)}.quiet:hover,.row-manage:hover{background:var(--color-paper-3);color:var(--color-ink)}.danger{background:var(--color-error-soft);color:var(--color-error)}.danger:hover{background:var(--color-paper-3)}.icon{width:20px;height:20px;flex-shrink:0;display:inline-block;vertical-align:middle}.icon-button{min-width:44px;min-height:44px;padding:var(--space-xs)}input:not([type=checkbox]){width:100%;height:44px;background:var(--color-field);border:1px solid var(--color-field-border);border-radius:var(--radius-input);padding:var(--space-xs) var(--space-sm);color:var(--color-ink);outline:2px solid var(--color-absent);outline-offset:-3px}input:not([type=checkbox]):hover{background:var(--color-paper-3)}input:not([type=checkbox]):focus-visible{outline-color:var(--color-focus)}input[aria-invalid=true]{border-color:var(--color-error)}input::placeholder{color:var(--color-muted)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0;margin:0}input[type=checkbox]:hover{cursor:pointer}label,.field-label{display:block;margin:var(--space-lg) 0 var(--space-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2)}.label-note{float:right;font-weight:400;color:var(--color-muted);font-size:var(--text-sm)}h1{font-size:var(--text-3xl);font-weight:500;line-height:1.15;letter-spacing:-.025em;max-width:30ch}h2{font-size:var(--text-lg);font-weight:500;line-height:1.3}.muted,.small{color:var(--color-muted)}.small{font-size:var(--text-sm);line-height:1.6}.wordmark{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-lg);font-weight:500;text-decoration:none;white-space:nowrap}.wordmark img{width:36px;height:36px;border-radius:var(--radius-inner)}.error{color:var(--color-error);font-size:var(--text-sm);min-height:1lh;margin:0;display:block}.login-shell{display:flex;flex-direction:column;min-height:100svh;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.entry-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);height:96px;flex-shrink:0}.entry-header>span{color:var(--color-muted);font-size:var(--text-sm)}.login-form-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-xl) 0}.login-form{width:100%;max-width:360px}.login-form h1{font-size:var(--text-2xl);letter-spacing:-.02em}.form-intro{color:var(--color-muted);font-size:var(--text-md);margin-top:var(--space-sm);margin-bottom:var(--space-xl)}.password-field{position:relative}.password-field input{padding-right:var(--space-2xl)}.password-toggle{position:absolute;right:var(--space-2xs);top:0;min-height:44px;background:var(--color-absent);color:var(--color-ink-2);font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm)}.password-toggle:hover{background:var(--color-absent);color:var(--color-ink)}.sign-in{width:100%;min-height:44px;margin-top:var(--space-xs)}.login-note{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-sm)}.login-help{margin-top:var(--space-xl)}.login-help summary{font-size:var(--text-sm);color:var(--color-ink-2);cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.login-help summary::-webkit-details-marker{display:none}.login-help summary:hover{color:var(--color-ink)}.login-help summary .icon{width:16px;height:16px}.login-help[open] summary .icon{transform:rotate(90deg)}.login-help p{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-xs);line-height:1.6}.entry-footer{padding:var(--space-lg) 0 var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);color:var(--color-muted)}.entry-footer>p{font-size:var(--text-sm)}.products{display:flex;gap:var(--space-xl);align-items:center}.product{display:flex;align-items:center;gap:var(--space-sm)}.product>.icon{color:var(--color-muted)}.product h2{font-size:var(--text-sm);color:var(--color-ink-2);margin:0}.product p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2xs)}.entry-footer .product p{display:none}.shell{max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto;min-height:100svh;display:flex;flex-direction:column}.workspace-header{display:flex;align-items:center;gap:var(--space-xl);min-height:96px}.nav{display:flex;gap:var(--space-2xs);align-items:center}.nav button{background:var(--color-absent);color:var(--color-muted);font-weight:400;font-size:var(--text-sm);min-height:44px;padding-inline:var(--space-md)}.nav button:hover{color:var(--color-ink)}.nav button.active{background:var(--color-paper-3);color:var(--color-ink)}.user-menu{margin-left:auto;display:flex;align-items:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--color-muted)}.user-menu .quiet{font-size:var(--text-sm);min-height:44px;padding:var(--space-xs)}.workspace-main{padding-top:var(--space-xl);flex:1;display:flex;flex-direction:column;min-width:0}.workspace-main>#content{flex:1}.heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl)}.heading p{margin-top:var(--space-sm);font-size:var(--text-md)}.heading>button{flex-shrink:0;font-size:var(--text-sm)}.stats{display:flex;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.stat{display:flex;flex-direction:column;gap:var(--space-sm)}.stat>span{font-size:var(--text-sm);color:var(--color-muted)}.stat strong{font-weight:400;font-size:var(--text-2xl);font-variant-numeric:tabular-nums;line-height:1.1}.panel{min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.toolbar h2{font-size:var(--text-lg);white-space:nowrap}.toolbar h2 span{font-size:var(--text-sm);margin-left:var(--space-xs)}.table-tools{display:flex;align-items:center;gap:var(--space-xs)}.search-wrap{position:relative;width:240px}.search-wrap>.icon{position:absolute;top:12px;left:var(--space-sm);color:var(--color-muted)}.search-wrap input:not([type=checkbox]){padding-left:var(--space-xl);font-size:var(--text-sm)}.table-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:var(--text-sm);font-weight:400;color:var(--color-muted);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-rule);text-transform:none;letter-spacing:normal}td{padding:var(--space-lg) var(--space-md);font-size:var(--text-sm);color:var(--color-ink-2);border-bottom:1px solid var(--color-rule)}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}tr:last-child td{border-bottom:0}td strong{font-weight:500}.username{display:flex;align-items:center;gap:var(--space-sm)}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-pill);background:var(--color-paper-3);color:var(--color-ink-2);font-size:var(--text-xs)}.badge{display:inline-block;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-inner);font-size:var(--text-xs);background:var(--color-mint-soft);color:var(--color-mint)}.badge.purple{background:var(--color-purple-soft);color:var(--color-accent)}.device-state,.status-text{font-size:var(--text-sm);color:var(--color-muted)}.status-text.disabled{color:var(--color-error)}.row-actions{text-align:right}.row-manage{min-height:44px;padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);font-weight:400}.table-footer{display:flex;align-items:center;gap:var(--space-xs);padding-top:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted)}.table-footer .icon{width:16px;height:16px}.collection-heading{font-size:var(--text-md);margin-top:var(--space-xl);margin-bottom:var(--space-lg);font-weight:500}.notice{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-lg)}.empty{padding:var(--space-xl) 0}.empty>.icon{display:none}.empty h2{font-size:var(--text-lg);margin-bottom:var(--space-xs)}.empty p{color:var(--color-muted);font-size:var(--text-md)}.footer{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-xl) 0 var(--space-lg);color:var(--color-muted);font-size:var(--text-sm)}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--space-2xl)}.account-card{padding:0}.profile-avatar{display:grid;place-items:center;width:48px;height:48px;background:var(--color-paper-3);color:var(--color-ink-2);border-radius:var(--radius-pill);font-size:var(--text-lg);margin-bottom:var(--space-lg)}.account-card h2{font-size:var(--text-xl);margin-bottom:var(--space-xs)}.role-label{font-size:var(--text-sm);color:var(--color-muted)}.account-row{display:flex;justify-content:space-between;gap:var(--space-lg);padding-top:var(--space-lg);font-size:var(--text-sm)}.account-row:first-of-type{margin-top:var(--space-lg)}.account-row strong{font-weight:400}.account-card>button{margin-top:var(--space-xl);font-size:var(--text-sm)}.account-card>.small{margin-top:var(--space-md)}.downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);align-content:start}.downloads>.collection-heading{grid-column:1/-1;margin:0}.download-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink)}.download-heading{margin-bottom:var(--space-lg);color:var(--color-muted)}.product-icon{display:inline-flex;color:var(--color-muted)}.download-card h2{font-size:var(--text-lg)}.download-card p{font-size:var(--text-sm);color:var(--color-muted);margin:var(--space-xs) 0 var(--space-lg)}.download{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;white-space:nowrap;font-size:var(--text-sm);text-decoration:none;color:var(--color-accent);margin-top:auto;padding-block:var(--space-xs)}.download:hover{text-decoration:underline}.unassigned{display:flex;align-items:flex-start;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-muted);margin-top:auto}.unassigned .icon{width:16px;height:16px;margin-top:var(--space-2xs)}.downloads>.small{grid-column:1/-1}.check{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-xs) 0;padding:var(--space-sm);background:var(--color-paper-3);color:var(--color-ink);border-radius:var(--radius-input);cursor:pointer}.check>span:nth-last-child(2){flex:1}.check small{display:block;font-weight:400;font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2xs)}.check input{margin-left:auto}.permission-icon{display:inline-flex;color:var(--color-muted)}.account-enabled{background:var(--color-absent);padding-inline:0;margin:var(--space-lg) 0}.stack-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:var(--space-sm) 0 var(--space-lg)}.stack-actions button{font-size:var(--text-sm);padding-inline:var(--space-sm)}dialog{position:fixed;inset:0;margin:auto;width:460px;max-width:calc(100% - 32px);height:fit-content;max-height:calc(100dvh - 48px);padding:var(--space-lg);background:var(--color-paper-2);color:var(--color-ink);border:0;border-radius:var(--radius-card)}dialog::backdrop{background:var(--color-overlay)}dialog h2{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-lg)}.dialog-actions button{font-size:var(--text-sm)}.loading{padding:var(--space-2xl) var(--gutter);max-width:var(--container);margin:auto;color:var(--color-muted)}.loading .wordmark{margin-bottom:var(--space-2xl)}.loading h1{color:var(--color-ink);margin-bottom:var(--space-md)}.loading button{margin-top:var(--space-lg)}#toast{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;z-index:var(--z-toast);background:var(--color-paper-3);color:var(--color-ink);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-input);font-size:var(--text-sm);max-width:calc(100% - 32px);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}#toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%);white-space:nowrap}

@media(max-width:960px){.workspace-header{gap:var(--space-lg);flex-wrap:wrap;padding-block:var(--space-lg)}.workspace-header .nav{order:3;width:100%;margin-left:0}.workspace-main{padding-top:var(--space-lg)}.profile-grid{gap:var(--space-xl)}.user-menu{margin-left:auto}.nav button{padding-inline:var(--space-sm)}}

@media(max-width:640px){.entry-header{height:80px}.entry-header>span{font-size:var(--text-sm)}.wordmark{font-size:var(--text-md);gap:var(--space-xs)}.wordmark img{width:32px;height:32px}.login-form-wrap{padding:var(--space-xl) 0}.login-form{max-width:360px}.login-form h1{font-size:var(--text-2xl)}.form-intro{margin-bottom:var(--space-xl)}.entry-footer{flex-direction:column;align-items:flex-start;gap:var(--space-lg)}.entry-footer .products{gap:var(--space-lg)}.entry-footer .icon{width:16px;height:16px}.entry-footer>p{font-size:var(--text-sm)}.workspace-header{padding-top:var(--space-lg);gap:var(--space-md)}.workspace-header .wordmark{gap:var(--space-xs)}.user-menu{gap:var(--space-xs);font-size:var(--text-sm)}.user-menu>span{max-width:112px;text-overflow:ellipsis;overflow:clip;white-space:nowrap}.user-menu .quiet{font-size:var(--text-sm)}.nav{overflow:auto;white-space:nowrap}.heading{align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl)}.heading h1{font-size:var(--text-2xl)}.heading p{font-size:var(--text-sm)}.heading>button{font-size:var(--text-sm);padding-inline:var(--space-sm);gap:var(--space-2xs);min-height:44px}.heading>button>.icon{display:none}.stats{gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-xl)}.stat{gap:var(--space-xs);flex:1}.stat>span{font-size:var(--text-sm);line-height:1.4;min-height:2.8em}.stat strong{font-size:var(--text-xl)}.toolbar{flex-wrap:wrap;gap:var(--space-md)}.table-tools{width:100%}.search-wrap{width:auto;flex:1}.search-wrap input:not([type=checkbox]){font-size:var(--text-md)}#rows table,#rows tbody{display:block;white-space:normal}#rows thead{display:none}#rows tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-rule)}#rows tr:last-child{border-bottom:0}#rows td{display:block;border:0;padding:0;min-width:0}#rows td:first-child,#rows td:nth-child(2),#rows td:last-child{grid-column:1/-1}#rows td:nth-child(4){justify-self:end}.row-manage{width:100%;justify-content:flex-start;padding:var(--space-xs) 0;color:var(--color-accent)}.table-footer{align-items:flex-start;line-height:1.5}.table-footer .icon{margin-top:var(--space-2xs)}.products{align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap}.product{gap:var(--space-xs)}.product p{max-width:none}.footer{font-size:var(--text-sm);flex-direction:column;gap:var(--space-xs)}.profile-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.downloads{gap:var(--space-md)}.download-card{padding:var(--space-md)}.download-card p{font-size:var(--text-sm)}.download{font-size:var(--text-sm);gap:var(--space-2xs)}.download .icon{width:16px;height:16px}.stack-actions{gap:var(--space-xs)}.stack-actions button{font-size:var(--text-sm)}dialog{padding:var(--space-lg)}button,input:not([type=checkbox]){min-height:44px}}

@media(max-width:370px){.heading{flex-wrap:wrap}.downloads{grid-template-columns:minmax(0,1fr)}.user-menu>span{display:none}}

@media(prefers-reduced-motion:reduce){button:active,a.download:active{transform:none}#toast{transition:none}}



/* Hallmark · finish-review: subagent, 2 findings resolved · F14: one feedback line reserved; native help disclosure has a state chevron · material gap: none */


.mod-icon{object-fit:contain;flex-shrink:0;vertical-align:middle}.product .mod-icon,.permission-icon .mod-icon{width:24px;height:24px}.product-icon .mod-icon{width:40px;height:40px}.badge{display:inline-flex;align-items:center;gap:var(--space-2xs)}.badge .mod-icon{width:16px;height:16px}

.community-link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-accent);font-size:var(--text-sm);text-decoration:none;white-space:nowrap}.community-link:hover{text-decoration:underline}.footer{align-items:center}@media(max-width:640px){.footer{align-items:flex-start}}

.community-link{gap:var(--space-xs)}.community-link .discord-logo{width:20px;height:20px;flex-shrink:0}

.device-fingerprint{display:block;margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums}.device-hash{display:block;overflow-wrap:anywhere;white-space:normal;user-select:text;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.6;color:var(--color-ink-2)}.device-details .small{margin-top:var(--space-xs)}
