/* Hallmark · genre: modern-minimal · macrostructure: Workbench · design-system: DESIGN.md · designed-as-app */
*{box-sizing:border-box}html,body{overflow-x:clip;margin:0;min-width:0}body{font-family:var(--font-body);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-md);line-height:1.55}button,input,select{font:inherit}a{color:var(--color-accent);text-decoration:none}button,a,input,select{touch-action:manipulation}a:hover{text-decoration:underline;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-title);font-weight:600;line-height:1.06;letter-spacing:-.052em;max-width:860px}h2{font-size:1.55rem;line-height:1.2;letter-spacing:-.035em;font-weight:600}h3{font-size:1.125rem;line-height:1.3;letter-spacing:-.025em;font-weight:600}p{color:var(--color-muted)}.skip{position:fixed;top:-100px;left:var(--space-md);z-index:20;background:var(--color-surface);padding:var(--space-md)}.skip:focus{top:var(--space-md)}.workspace{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100svh}.sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-rule);padding:var(--space-xl) var(--space-md);display:flex;flex-direction:column;position:sticky;top:0;height:100svh;gap:var(--space-2xl)}.identity{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-ink);font-size:1.05rem;letter-spacing:-.03em;line-height:1.2;font-weight:600;padding:0 var(--space-xs)}.identity img{object-fit:contain}.identity-sub{display:block;color:var(--color-muted);font-size:var(--text-sm);font-weight:400;letter-spacing:0;margin-top:var(--space-2xs)}.sidebar nav{display:grid;gap:var(--space-xs)}.sidebar nav a{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-sm);border-radius:var(--radius-control);font-size:var(--text-md);font-weight:500;color:var(--color-muted);white-space:nowrap}.sidebar nav a>span{font-size:1.2rem;width:24px;text-align:center}.sidebar nav a[aria-current=page]{background:var(--color-hover);color:var(--color-ink)}.sidebar nav a:hover{background:var(--color-hover);text-decoration:none}.sidebar-foot{margin-top:auto;padding:var(--space-xs);font-size:var(--text-sm)}.sidebar-foot a{display:inline-flex;min-height:44px;align-items:center;gap:var(--space-xs);margin-top:var(--space-md)}.content{min-width:0}.toolbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) clamp(20px,4vw,64px);border-bottom:1px solid var(--color-rule);font-size:var(--text-sm)}.toolbar-actions{display:flex;align-items:center;gap:var(--space-lg)}.toolbar-actions a{white-space:nowrap;display:flex;align-items:center;min-height:44px;gap:var(--space-xs)}.toolbar button{border:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);width:44px;height:44px;border-radius:50%;font-size:1.25rem}main{max-width:1510px;margin:0 auto;padding:clamp(28px,4vw,64px);min-height:80svh}.intro{margin-bottom:var(--space-xl)}.intro .overline{font-size:var(--text-sm);font-weight:500;color:var(--color-muted);margin-bottom:var(--space-md)}.intro>p:last-child{max-width:650px;margin-top:var(--space-lg);font-size:var(--text-lg);line-height:1.55}.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) 0 var(--space-xl);font-size:var(--text-sm)}.access-indicator{display:flex;gap:var(--space-xs);align-items:center;flex-wrap:wrap}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.spotlights{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-md);margin:var(--space-xl) 0 var(--space-2xl)}.spotlight{background:var(--color-surface);padding:clamp(24px,3vw,36px);border-radius:var(--radius-card);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);min-height:240px}.spotlight h2{font-size:clamp(1.65rem,2.3vw,2.35rem);max-width:370px}.spotlight p{max-width:430px}.spotlight .action{margin-top:auto}.spotlight.dark{background:var(--color-dark);color:var(--color-on-dark)}.spotlight.dark p{color:var(--color-dark-muted)}.spotlight.dark a{color:var(--color-on-dark)}.small-label{font-size:var(--text-sm);font-weight:500}.action{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;font-weight:500;white-space:nowrap}.primary{border:none;background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-sm) var(--space-lg);border-radius:100px}.primary:hover{filter:brightness(1.07);text-decoration:none}.primary:active{transform:scale(.985)}.library-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg)}.search{position:relative;width:min(340px,100%)}.search input{width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-control);font-size:1rem}.search label{display:block;font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-2xs)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.filters button{min-height:44px;padding:var(--space-xs) var(--space-md);border:1px solid var(--color-rule);border-radius:100px;background:var(--color-surface);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap}.filters button[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.filters button:hover{box-shadow:0 0 0 1px var(--color-rule)}.result-count{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-lg)}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.resource{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border-radius:var(--radius-card);background:var(--color-surface);padding:var(--space-lg);min-height:280px;box-shadow:0 2px 5px var(--color-shadow)}.resource-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;margin-bottom:var(--space-lg)}.tile-icon{display:grid;place-items:center;width:44px;height:44px;background:var(--color-sidebar);color:var(--color-ink);border-radius:var(--radius-control);font-size:1.25rem}.resource-type{font-size:.75rem;color:var(--color-muted)}.resource p{font-size:var(--text-sm);margin-top:var(--space-sm)}.resource details{font-size:var(--text-sm);color:var(--color-muted);margin:var(--space-md) 0}.resource summary{cursor:pointer;min-height:44px;padding:var(--space-sm) 0}.resource .action{margin-top:auto;padding-top:var(--space-md)}.resource .unavailable{font-size:var(--text-sm);color:var(--color-muted);margin-top:auto;padding-top:var(--space-lg)}.resource[data-execution=hosted] .tile-icon{background:var(--color-accent-soft);color:var(--color-accent)}.empty,.notice,.error-box{padding:var(--space-xl);background:var(--color-surface);border-radius:var(--radius-card);margin:var(--space-lg) 0}.empty h2,.error-box h2{margin-bottom:var(--space-sm)}.error-box button{margin-top:var(--space-lg)}.notice{background:var(--color-note);color:var(--color-note-ink);font-size:var(--text-sm)}.notice p{color:inherit}.workshop-list{display:grid;gap:var(--space-md)}.workshop{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-lg);background:var(--color-surface);padding:var(--space-lg);border-radius:var(--radius-card)}.workshop p{margin-top:var(--space-xs);font-size:var(--text-sm);max-width:720px}.workshop a{white-space:nowrap}.badge{display:inline-block;color:var(--color-accent);font-size:var(--text-sm);margin-bottom:var(--space-xs)}.account-panel{max-width:740px;padding:var(--space-xl);background:var(--color-surface);border-radius:var(--radius-card);margin-top:var(--space-xl)}.account-panel h2{margin-bottom:var(--space-md)}.account-panel p{margin-bottom:var(--space-md)}.account-panel .action{margin-right:var(--space-md)}.account-name{overflow-wrap:anywhere}.page-footer{padding:var(--space-xl) clamp(20px,4vw,64px);border-top:1px solid var(--color-rule);display:flex;justify-content:space-between;gap:var(--space-md);font-size:var(--text-sm);color:var(--color-muted)}[hidden]{display:none!important}
@media(max-width:1100px){.workspace{grid-template-columns:190px minmax(0,1fr)}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spotlights{grid-template-columns:minmax(0,1fr)}.spotlight{min-height:210px}}
@media(max-width:760px){.workspace{display:block}.sidebar{position:static;height:auto;padding:var(--space-md);gap:var(--space-md);border-right:0;border-bottom:1px solid var(--color-rule)}.identity{padding:0}.identity-sub{display:inline;margin-left:var(--space-xs)}.identity img{width:24px;height:32px}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2xs)}.sidebar nav a{justify-content:center;padding:var(--space-xs) var(--space-2xs);font-size:.75rem;min-height:44px}.sidebar nav a>span{display:none}.sidebar-foot{display:none}.toolbar{min-height:64px;padding:var(--space-xs) var(--space-lg)}main{padding:var(--space-xl) var(--space-lg)}h1{font-size:clamp(2.2rem,8vw,3.4rem)}.welcome-row{align-items:flex-start;flex-direction:column;gap:var(--space-xs)}.library-head{align-items:flex-start;flex-direction:column}.search{width:100%}.spotlights{margin:var(--space-lg) 0 var(--space-xl)}.workshop{grid-template-columns:minmax(0,1fr)}.workshop a{justify-self:start}.account-panel{padding:var(--space-lg)}.page-footer{flex-direction:column}.resource-grid{gap:var(--space-sm)}}
@media(max-width:480px){.resource-grid{grid-template-columns:minmax(0,1fr)}.resource{min-height:245px}.spotlight{padding:var(--space-lg)}.toolbar-actions{gap:var(--space-md)}.filters{gap:var(--space-xs)}.filters button{padding:var(--space-xs) var(--space-sm)}}
@media(max-width:760px){.sidebar nav{display:flex;flex-wrap:wrap}.sidebar nav a{flex:1 0 auto}}
.account-panel button.action{border:0;background:transparent;color:var(--color-accent);padding:0 var(--space-xs)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.primary,.filters button[aria-pressed=true]{forced-color-adjust:none;background:ButtonFace;color:ButtonText;border:2px solid ButtonText}.filters button[aria-pressed=true]:before{content:'✓ ';}.sidebar nav a[aria-current=page]{border:2px solid Highlight}.resource,.spotlight,.account-panel{border:1px solid CanvasText}.status-dot{background:Highlight}.tile-icon{border:1px solid ButtonText}.spotlight.dark{background:Canvas;color:CanvasText}.spotlight.dark p,.spotlight.dark a{color:CanvasText}}
