*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.-bottom-2{bottom:-.5rem}.bottom-full{bottom:100%}.left-2{left:.5rem}.right-0{right:0}.right-5{right:1.25rem}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:24rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-1,.translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--bg:#f7f5ef;--panel:#fff;--panel-soft:#fbfaf7;--ink:#111827;--muted:#64748b;--line:#d8d2c4;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#ccfbf1;--danger:#dc2626;--shadow:0 18px 45px rgba(37,35,28,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;background:linear-gradient(180deg,hsla(0,0%,100%,.74),hsla(0,0%,100%,0)),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-header{position:sticky;top:0;z-index:30;justify-content:space-between;gap:24px;padding:14px max(20px,calc((100vw - 1280px) / 2 + 24px));border-bottom:1px solid rgba(116,99,72,.2);background:hsla(45,33%,95%,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand,.site-header,.site-header nav{display:flex;align-items:center}.brand{gap:10px;font-weight:800}.brand-mark{display:grid;width:28px;height:28px;grid-template-columns:repeat(2,1fr);gap:3px;padding:4px;border:1px solid var(--ink);border-radius:6px}.brand-mark span{background:var(--ink);border-radius:2px}.brand-mark span:nth-child(2),.brand-mark span:nth-child(3){background:var(--accent)}.site-header nav{gap:8px}.site-header nav a{padding:8px 10px;border-radius:8px;color:#3f3a32;font-size:.95rem;font-weight:650}.site-header nav a:hover{background:rgba(15,118,110,.1);color:var(--accent-strong)}.research-lab{display:grid;gap:24px;max-width:1320px;margin:0 auto;padding:34px 24px 64px}.canvas-jump-button{position:fixed;right:max(18px,calc((100vw - 1320px) / 2 + 18px));bottom:24px;z-index:25;display:inline-grid;width:48px;height:48px;place-items:center;border:1px solid rgba(15,118,110,.38);border-radius:8px;background:hsla(0,0%,100%,.94);color:var(--accent-strong);box-shadow:0 14px 34px rgba(37,35,28,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.canvas-jump-button:hover{border-color:var(--accent-strong);background:var(--accent-soft)}.lab-copy{display:grid;gap:18px;max-width:1040px}.eyebrow{margin:0;color:var(--accent-strong);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:900px;margin-bottom:0;font-size:3.4rem;line-height:1.02}h1,h2{letter-spacing:0}h2{margin-bottom:10px;font-size:2rem;line-height:1.14}h3{margin-bottom:8px;font-size:1.08rem;line-height:1.25}.lead{max-width:780px;margin-bottom:0;color:#475569;font-size:1.12rem;line-height:1.7}.card-actions,.featured-row,.resource-list{display:flex;flex-wrap:wrap;gap:10px}.card-actions a,.featured-chip,.resource-list a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:9px 12px;border:1px solid rgba(15,118,110,.22);border-radius:8px;background:#fff;color:var(--accent-strong);font-weight:750}.card-actions a:hover,.featured-chip:hover,.resource-list a:hover{border-color:rgba(15,118,110,.55);background:var(--accent-soft)}.lab-console{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.article-card,.article-side-panel,.article-takeaway,.article-teaser-card,.control-dock,.control-surface,.detail-panel,.exploration-grid article,.feature-card,.library-card,.pattern-browser,.rule-grid article,.simulator-panel,.taxonomy-grid article,.two-column-section article{border:1px solid rgba(116,99,72,.22);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.simulator-column{display:grid;gap:12px;min-width:0}.simulator-panel{min-width:0;overflow:hidden}.control-dock{display:grid;gap:14px;padding:14px;background:var(--panel-soft)}.simulator-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dock-settings{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(160px,auto) minmax(260px,1.2fr);gap:14px;align-items:center}.icon-button{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid rgba(100,116,139,.24);border-radius:8px;background:#fff;color:#334155}.icon-button.active,.icon-button:hover{border-color:rgba(15,118,110,.45);background:var(--accent-soft);color:var(--accent-strong)}.icon-button.primary{border-color:var(--accent-strong);background:var(--accent);color:#fff}.toolbar-divider{width:1px;height:30px;margin:0 4px;background:rgba(100,116,139,.24)}.life-canvas{display:block;width:100%;max-width:100%;touch-action:none;image-rendering:pixelated;background:#f8fafc}.control-surface{display:flex;flex-direction:column;gap:16px;padding:18px;position:sticky;top:82px;max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain}.selected-pattern{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.selected-pattern h2{margin-bottom:2px;font-size:1.55rem}.aka{margin-bottom:0;color:var(--muted)}.pattern-summary{margin-bottom:0;color:#475569;line-height:1.6}.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fact-grid span{display:grid;gap:4px;min-height:70px;align-content:center;padding:10px;border:1px solid rgba(100,116,139,.18);border-radius:8px;background:#f8fafc;color:var(--muted);font-size:.78rem}.fact-grid strong{color:var(--ink);font-size:.92rem;line-height:1.2;overflow-wrap:anywhere}.status-panel{display:grid;gap:10px;padding-top:2px}.inline-status-panel{display:none}.status-panel h3{margin-bottom:0}.status-list{display:grid;gap:8px}.status-tile{display:grid;gap:4px;min-height:74px;align-content:center;padding:12px 14px;border:1px solid rgba(100,116,139,.18);border-radius:8px;background:#fff}.status-tile span{color:var(--muted);font-size:.86rem;font-weight:750}.status-tile strong{color:var(--ink);font-size:1.3rem;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.inline-status-panel .status-list{grid-template-columns:repeat(3,minmax(0,1fr))}.control-group{display:grid;gap:8px}.control-group label{display:flex;align-items:center;gap:8px;color:#334155;font-weight:750}input[type=range]{width:100%;accent-color:var(--accent)}.toggle-row{display:flex;align-items:flex-start;gap:10px;color:#334155;line-height:1.45}.toggle-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.category-tabs,.segmented{display:flex;flex-wrap:wrap;gap:8px}.category-tabs button,.segmented button{min-height:36px;border:1px solid rgba(100,116,139,.22);border-radius:8px;background:#fff;color:#334155;font-weight:700}.segmented button{flex:1;padding:8px;font-size:.86rem}.category-tabs button{padding:8px 12px}.category-tabs .tab-active,.segmented .segmented-active{border-color:var(--accent-strong);background:var(--accent);color:#fff}.observation-panel{padding:14px;border-radius:8px;background:#f8fafc}.observation-panel h3{margin-bottom:10px}.observation-panel ul,.two-column-section ul{margin:0;padding-left:18px;color:#475569;line-height:1.65}.pattern-browser{display:grid;gap:14px;padding:16px}.browser-heading h2{margin:2px 0 0;font-size:1.35rem}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.pattern-card{display:flex;align-items:center;gap:12px;min-height:96px;padding:10px;border:1px solid rgba(100,116,139,.18);border-radius:8px;background:#fff;text-align:left}.pattern-card-active,.pattern-card:hover{border-color:rgba(15,118,110,.55);background:#f0fdfa}.pattern-card span{display:grid;gap:4px}.pattern-card small{color:var(--muted)}.content-section{max-width:1180px;margin:0 auto;padding:48px 24px}.section-heading{display:grid;gap:10px;max-width:780px;margin-bottom:24px}.content-section>p,.detail-copy p,.exploration-grid p,.feature-card p,.library-card p,.rule-grid p,.section-heading p:not(.eyebrow),.taxonomy-grid p,.two-column-section p{color:#475569;line-height:1.65}.article-grid,.article-link-grid,.exploration-grid,.feature-grid,.library-grid,.rule-grid,.taxonomy-grid{display:grid;gap:14px}.rule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.exploration-grid article,.rule-grid article,.taxonomy-grid article{padding:18px}.rule-grid article span{display:grid;width:32px;height:32px;margin-bottom:14px;place-items:center;border-radius:8px;background:var(--accent);color:#fff;font-weight:900}.taxonomy-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.tax-label{margin-bottom:8px;color:var(--accent-strong);font-size:.8rem;font-weight:850;text-transform:uppercase}.taxonomy-grid article a{display:inline-flex;margin-top:12px;color:var(--accent-strong);font-weight:800}.feature-grid,.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid,.article-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.library-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:18px}.feature-preview{display:grid;min-width:96px;place-items:center}.card-actions{margin-top:14px}.section-actions{margin-top:18px}.article-card,.article-teaser-card{display:grid;gap:10px;align-content:start;padding:18px}.article-card:hover,.article-teaser-card:hover{border-color:rgba(15,118,110,.5);background:#f9fefc}.article-card span,.article-meta span,.article-teaser-card span{color:var(--muted);font-size:.82rem;font-weight:750}.article-card h3,.article-teaser-card h3{margin-bottom:0;font-size:1.02rem}.article-card p,.article-teaser-card p{margin-bottom:0;color:#475569;line-height:1.58}.article-card strong,.article-teaser-card strong,.related-link-list a{color:var(--accent-strong);font-weight:800}.exploration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resources-section{padding-bottom:72px}.about-page,.article-detail-page,.article-index-page,.library-page,.pattern-detail-page{padding-bottom:48px}.article-hero,.library-hero{padding-top:44px}.article-hero h1,.library-hero h1{margin-bottom:16px}.library-category{scroll-margin-top:90px}.detail-panel dl,.library-card dl{display:grid;gap:8px;margin:12px 0 0}.detail-panel dl div,.library-card dl div{display:flex;justify-content:space-between;gap:18px;padding-top:8px;border-top:1px solid rgba(100,116,139,.16)}dt{color:var(--muted)}dd{margin:0;color:var(--ink);font-weight:750;text-align:right}.pattern-detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.detail-copy{display:grid;gap:14px}.detail-panel{display:grid;gap:18px;justify-items:center;padding:20px}.detail-panel dl{width:100%}.two-column-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.two-column-section article{padding:22px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.article-meta{display:flex;flex-wrap:wrap;gap:10px 16px}.article-body{display:grid;gap:30px;max-width:780px}.article-body section{scroll-margin-top:90px}.article-body h2{margin-bottom:12px}.article-body p{margin-bottom:14px;color:#334155;font-size:1.04rem;line-height:1.78}.article-body p:last-child{margin-bottom:0}.article-takeaway{padding:20px;background:var(--panel-soft)}.article-side-panel{position:sticky;top:82px;display:grid;gap:24px;padding:18px;max-height:calc(100vh - 104px);overflow-y:auto}.article-side-panel h2{margin-bottom:12px;font-size:1rem}.source-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.source-list a{display:grid;gap:4px;padding:12px;border:1px solid rgba(100,116,139,.18);border-radius:8px;background:#fff}.source-list a:hover{border-color:rgba(15,118,110,.45);background:var(--accent-soft)}.source-list span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.source-list strong{color:var(--ink);font-size:.92rem;line-height:1.35}.related-link-list{display:flex;flex-wrap:wrap;gap:8px}.related-link-list a{min-height:34px;padding:8px 10px;border:1px solid rgba(15,118,110,.22);border-radius:8px;background:#fff}.related-link-list a:hover{border-color:rgba(15,118,110,.55);background:var(--accent-soft)}@media (max-width:1100px){.article-layout,.lab-console,.pattern-detail{grid-template-columns:1fr}.article-side-panel,.control-surface{position:static;max-height:none;overflow:visible}.dock-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-status-panel{display:none}.inline-status-panel{display:grid}.article-grid,.article-link-grid,.rule-grid,.taxonomy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1101px) and (max-height:860px){.control-surface{gap:12px;padding:14px}.selected-pattern h2{font-size:1.32rem}.pattern-summary{line-height:1.5}.fact-grid span{min-height:62px;padding:8px}.desktop-status-panel .status-list{grid-template-columns:repeat(3,minmax(0,1fr))}.status-tile{min-height:62px;padding:9px 10px}.status-tile strong{font-size:1.08rem}.observation-panel{padding:12px}.observation-panel ul{line-height:1.5}}@media (max-width:760px){.site-header{position:static;align-items:flex-start;flex-direction:column;gap:12px;padding:14px 18px}.site-header nav{width:100%;overflow-x:auto;padding-bottom:2px}.research-lab{padding:26px 14px 48px}.canvas-jump-button{right:16px;bottom:18px;width:46px;height:46px}h1{font-size:2.35rem}h2{font-size:1.55rem}.lead{font-size:1rem}.featured-chip{width:100%}.selected-pattern{flex-direction:column}.article-grid,.article-link-grid,.dock-settings,.exploration-grid,.fact-grid,.feature-card,.feature-grid,.inline-status-panel .status-list,.library-card,.library-grid,.rule-grid,.taxonomy-grid,.two-column-section{grid-template-columns:1fr}.content-section{padding:38px 16px}}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100{opacity:1}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem}.data-\[state\=checked\]\:translate-x-5[data-state=checked],.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}