:root{color-scheme:light;--ink: #171717;--muted: #66615b;--soft: #f5f3ef;--line: #ded9cf;--paper: #fffdfa;--accent: #2f6f5e;--accent-soft: #d9ebe4;--warning: #9a6a2f;--mono: "SFMono-Regular", "JetBrains Mono", "Cascadia Code", Menlo, monospace;--sans: "Geist", "Avenir Next", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--soft);color:var(--ink);font-family:var(--sans)}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}img{display:block;max-width:100%}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page-shell{margin:0 auto;max-width:1180px;padding:22px}.site-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 14px}.brand{color:var(--ink);font-family:var(--mono);font-size:.92rem;font-weight:700}.language-switch{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:4px}.language-switch button{border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;padding:7px 11px}.language-switch button.is-active{background:var(--ink);color:var(--paper)}.catalog-hero,.detail-hero{display:grid;gap:24px;align-items:stretch}.compact-hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding:18px 0 14px}.hero-copy,.detail-copy{align-self:center;max-width:760px}.eyebrow{margin:0 0 12px;color:var(--accent);font-family:var(--mono);font-size:.76rem;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;max-width:860px;font-size:clamp(2.2rem,4.4vw,3.85rem);font-weight:760;letter-spacing:0;line-height:1.02}.hero-text{max-width:660px;color:var(--muted);font-size:1.05rem;line-height:1.65}.catalog-controls{position:sticky;top:0;z-index:2;display:grid;gap:12px;margin:0 0 18px;padding:12px 0;background:color-mix(in srgb,var(--soft) 92%,transparent);backdrop-filter:blur(16px)}.compact-controls{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start}.search-field{display:grid;gap:7px}.search-field span{color:var(--muted);font-family:var(--mono);font-size:.72rem;text-transform:uppercase}.search-field input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.98rem;outline:none;padding:12px 14px;transition:border-color .18s ease,transform .18s ease}.search-field input:focus{border-color:var(--accent)}.filter-row{display:grid;gap:8px}.filter-group{display:flex;flex-wrap:wrap;gap:7px}.filter-button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;padding:8px 11px;transition:background .18s ease,color .18s ease,transform .18s ease}.filter-button:hover,.filter-button.is-active{background:var(--ink);color:var(--paper)}.filter-button:active,.text-link:active,.back-nav a:active,.primary-action:active,.secondary-action:active,.card-open:active,.title-button:active{transform:translateY(1px)}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card{display:grid;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);animation:rise .52s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--index) * 70ms)}.skill-card[hidden]{display:none}.product-card{grid-template-columns:minmax(230px,.95fr) minmax(0,1.05fr)}.preview-link{display:block;width:100%;border:0;border-right:1px solid var(--line);background:#ebe6db;cursor:pointer;padding:0}.preview-link img{width:100%;height:100%;min-height:260px;object-fit:contain;padding:14px}.skill-card-body{display:grid;align-content:start;gap:13px;padding:20px}.card-meta,.detail-tags{display:flex;flex-wrap:wrap;gap:7px}.card-meta span,.detail-tags span{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-family:var(--mono);font-size:.7rem;padding:6px 8px}.skill-card h2{margin-bottom:0;font-size:clamp(1.55rem,2.35vw,2.05rem);letter-spacing:0;line-height:1.05}.title-button{border:0;background:transparent;cursor:pointer;font:inherit;padding:0;text-align:left}.skill-card p{margin-bottom:0;color:var(--muted);line-height:1.55}.card-brief-grid{display:grid;gap:10px}.card-brief-grid div{border-top:1px solid var(--line);padding-top:10px}.card-brief-grid span{display:block;margin-bottom:5px;color:var(--accent);font-family:var(--mono);font-size:.72rem}.card-brief-grid strong{display:-webkit-box;overflow:hidden;color:var(--ink);font-size:.94rem;font-weight:540;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-actions,.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.text-link,.back-nav a{display:inline-flex;width:fit-content;border-bottom:1px solid currentColor;color:var(--accent);font-weight:650;transition:transform .18s ease}.primary-action,.secondary-action{border-radius:8px;cursor:pointer;font-weight:700;padding:11px 14px;transition:transform .18s ease,background .18s ease,color .18s ease}.primary-action{border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.secondary-action{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.empty-state{margin:30px 0 70px;border:1px dashed var(--line);border-radius:8px;padding:32px}.skill-dialog{width:min(1040px,calc(100vw - 28px));max-height:min(820px,calc(100dvh - 28px));overflow:auto;border:0;border-radius:10px;background:transparent;padding:0}.skill-dialog::backdrop,.login-dialog::backdrop{background:#1717176b}.skill-dialog-panel{position:relative;display:grid;grid-template-columns:minmax(320px,.98fr) minmax(0,1.02fr);min-height:620px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.dialog-preview{display:grid;place-items:center;border-right:1px solid var(--line);background:#ebe6db;padding:18px}.dialog-preview img{width:100%;height:100%;object-fit:contain}.dialog-content{display:grid;align-content:start;gap:18px;padding:26px}.dialog-content h2{margin-bottom:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.dialog-tagline{margin-bottom:0;color:var(--muted);font-size:1.05rem;line-height:1.55}.dialog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.dialog-facts section,.copy-summary{border-top:1px solid var(--line);padding-top:14px}.dialog-facts h3,.copy-summary h3,.detail-section h2,.detail-section h3{margin-bottom:8px;color:var(--accent);font-family:var(--mono);font-size:.78rem;text-transform:uppercase}.dialog-facts p,.dialog-facts li,.copy-summary p,.detail-section p,.detail-section li{margin-bottom:0;color:var(--muted);line-height:1.58}.dialog-facts ul,.detail-section ul,.detail-section ol{margin:0;padding-left:1.05rem}.action-status{min-height:22px;margin:0;color:var(--accent);font-weight:650}.detail-shell{max-width:1120px}.back-nav{padding:8px 0 16px}.compact-detail{grid-template-columns:minmax(330px,.95fr) minmax(0,1.05fr);align-items:stretch;min-height:440px;padding:10px 0 28px}.detail-preview{align-self:stretch;width:100%;height:100%;min-height:380px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:16px}.detail-actions{margin-top:20px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:80px}.concise-detail-grid{align-items:start}.detail-section{border-top:1px solid var(--line);padding-top:18px}.detail-section-wide{grid-column:span 3}.video-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.video-list p{min-height:112px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:16px}.video-list strong{color:var(--muted);font-weight:540;line-height:1.6}.video-list span{display:block;margin-bottom:12px;color:var(--accent);font-family:var(--mono)}.login-dialog{width:min(460px,calc(100vw - 32px));border:0;border-radius:8px;background:transparent;padding:0}.login-card{position:relative;display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:26px}.login-card label{display:grid;gap:7px;color:var(--muted);font-size:.92rem}.login-card input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink);outline:none;padding:12px 13px}.login-card input:focus{border-color:var(--accent)}.dialog-close{position:absolute;top:12px;right:12px;z-index:1;width:34px;height:34px;border:1px solid var(--line);border-radius:999px;background:var(--paper);cursor:pointer}.login-status{min-height:24px;margin:0;color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.product-grid,.compact-controls,.compact-detail,.detail-grid,.video-list,.product-card,.skill-dialog-panel{grid-template-columns:1fr}.preview-link,.dialog-preview{border-right:0;border-bottom:1px solid var(--line)}.preview-link img{min-height:220px}.dialog-preview{min-height:300px}.detail-section-wide{grid-column:auto}}@media(max-width:860px){.page-shell{padding:18px}.catalog-controls{position:static}h1{font-size:clamp(2.2rem,12vw,3.6rem)}.dialog-facts{grid-template-columns:1fr}.skill-dialog-panel{min-height:auto}.dialog-content{padding:20px}.detail-preview{min-height:280px}}@media(max-width:560px){.site-top{display:grid}.card-actions,.detail-actions{align-items:stretch}.primary-action,.secondary-action{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
