:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f1f3f5;background:#0b0d10;line-height:1.45;font-synthesis:none;--bg:#0b0d10;--panel:#111419;--panel2:#15191f;--line:#292e36;--muted:#8b949f;--accent:#70ddb6}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:#f1f3f5}a{color:inherit;text-underline-offset:3px}button,input,select,.button{font:inherit;border-radius:0}button,.button{border:1px solid #343b45;background:#171b21;color:#edf2f5;padding:.55rem .8rem;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{border-color:#67717e;background:#1c2229}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{min-width:0;max-width:100%;border:1px solid #343b45;background:#0e1115;color:inherit;padding:.5rem .6rem}input[type=range]{padding:0;width:100%;accent-color:var(--accent)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.site-header,.play-header{height:58px;padding:0 max(18px,3vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(11,13,16,.96);position:sticky;top:0;z-index:20}.site-header nav{display:flex;gap:22px;font-size:13px}.site-header a,.play-header a{text-decoration:none}.brand{font-size:14px;letter-spacing:.11em;font-weight:750}.brand span{color:var(--muted);font-size:10px;font-weight:500;margin-left:8px}.catalog-main{max-width:1480px;margin:auto;padding:64px max(20px,4vw) 80px}.catalog-hero{max-width:760px;margin-bottom:54px}.catalog-hero h1{font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:0 0 18px;font-weight:680}.catalog-hero p{font-size:18px;color:#aab2bc;margin:0 0 28px;max-width:650px}.catalog-hero input{width:min(520px,100%);height:46px;font-size:15px}.lab-section{margin:0 0 56px}.section-head{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);margin-bottom:18px}.section-head h2{font-size:16px;margin:0 0 10px;font-weight:650}.section-head span{color:var(--muted);font-size:12px}.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lab-card{display:block;background:var(--panel);border:1px solid var(--line);text-decoration:none;min-width:0}.lab-card:hover{border-color:#555f6c;background:#14181e}.lab-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#090b0e;border-bottom:1px solid var(--line)}.lab-card-body{padding:13px 14px 15px}.lab-card h2{font-size:17px;line-height:1.2;margin:0 0 5px;font-weight:620}.lab-card p{font-size:12px;line-height:1.4;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-card.compact img{aspect-ratio:2/1}.lab-card.compact .lab-card-body{padding:10px 12px 12px}.lab-card.compact h2{font-size:14px}.lab-card.compact p{font-size:11px;-webkit-line-clamp:1}footer{border-top:1px solid var(--line);padding:20px max(20px,4vw);color:#636d78;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.skip{position:absolute;top:-60px;left:10px;background:#111;padding:8px;z-index:99}.skip:focus{top:10px}[hidden]{display:none!important}.error{color:#ff8d95}.play-header{justify-content:flex-start;gap:24px}.play-header .brand{margin-left:auto}.back{font-size:13px;color:#b7c0ca}.play-main{max-width:1700px;margin:auto;padding:24px max(14px,2vw) 50px}.play-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:10px}.play-title h1{font-size:clamp(25px,2.5vw,38px);line-height:1.05;letter-spacing:-.035em;margin:0;font-weight:650}.play-title>div>p{color:var(--muted);font-size:12px;margin:7px 0 0}.about{font-size:12px;color:var(--muted);max-width:460px}.about summary,.data summary{cursor:pointer;color:#b9c3cd}.about p{margin:10px 0}.source-links{display:flex;flex-wrap:wrap;gap:6px}.source-links a{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;color:#a6b0bb;border:1px solid var(--line);padding:4px 6px;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis}.toolbar{display:flex;align-items:center;gap:7px;margin:15px 0 4px}.toolbar>button:first-child:not(:disabled){background:#dce5eb;color:#0b0d10;border-color:#dce5eb}.more{position:relative}.more>summary{list-style:none;border:1px solid #343b45;background:#171b21;padding:.48rem .75rem;cursor:pointer;line-height:1.2}.more>summary::-webkit-details-marker{display:none}.more-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;display:grid;min-width:170px;background:#111419;border:1px solid var(--line);padding:6px;box-shadow:0 16px 40px #0008}.more-menu button,.more-menu .button{border:0;background:transparent;text-align:left;padding:8px}.more-menu button:hover,.more-menu .button:hover{background:#1b2027}#status{height:22px;margin:0;color:#68737f;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line);background:#0d1014;align-items:start}.viewport{min-width:0;padding:10px}.viewport svg,.viewport canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#080a0c}.viewport svg{min-height:220px}.data{margin:9px 0 0;border-top:1px solid var(--line);padding-top:8px}.data pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;background:#090b0e;border:1px solid var(--line);padding:10px;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:#aeb8c3}.data button{font-size:11px;margin:8px 0}.controls{border-left:1px solid var(--line);background:var(--panel);max-height:calc(100vh - 155px);overflow:auto;position:sticky;top:70px}.controls>h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#77828e;margin:0;padding:12px;border-bottom:1px solid var(--line)}.control{padding:10px 12px;border-bottom:1px solid #22272e}.control label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.control label>span{overflow:hidden;text-overflow:ellipsis}.control small{display:none}.control input[type=number]{width:88px;padding:3px 5px;font-size:11px}.control input[type=range]{margin-top:8px}.control select{width:100%;margin-top:7px;padding:4px 6px;font-size:12px}.module-iframe{width:100%;height:1000px;border:1px solid var(--line)}.native-studio{grid-column:1/-1}.table{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.reference{max-width:900px}@media(max-width:1050px){.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio{grid-template-columns:minmax(0,1fr)}.controls{border-left:0;border-top:1px solid var(--line);position:static;max-height:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.controls>h2{grid-column:1/-1}.control{border-right:1px solid #22272e}}@media(max-width:680px){.site-header{padding:0 14px}.site-header nav{gap:14px}.catalog-main{padding:38px 14px 56px}.catalog-hero{margin-bottom:36px}.catalog-hero h1{font-size:42px}.catalog-hero p{font-size:15px}.lab-grid,.compact-grid{grid-template-columns:1fr 1fr;gap:8px}.lab-card-body{padding:10px}.lab-card h2,.lab-card.compact h2{font-size:13px}.lab-card p{display:none}.play-header{padding:0 12px}.play-header .brand span{display:none}.play-main{padding:16px 8px 40px}.play-title{display:block}.about{margin-top:10px}.toolbar{overflow-x:auto;padding-bottom:3px}.studio{border-left:0;border-right:0}.viewport{padding:4px}.controls{display:block}.controls>h2{position:sticky;top:0;background:var(--panel);z-index:2}.more-menu{left:auto;right:0}#status{font-size:10px}.data pre{max-height:260px}}@media(max-width:420px){.lab-grid,.compact-grid{grid-template-columns:1fr}.lab-card img{aspect-ratio:2.05/1}.play-title h1{font-size:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.lab-card.crash-card{grid-column:1/-1;display:grid;grid-template-columns: minmax(0,1.7fr) minmax(190px,1fr);align-items:center;border-color:#5a6675}.crash-card img{aspect-ratio:2.4/1;border-bottom:0;border-right:1px solid var(--line)}.crash-card .lab-card-body{padding:24px}.crash-card h2{font-size:32px}.crash-card p{font-size:14px;display:block}.crash-card .lab-card-body:after{content:"Открыть на весь экран →";display:block;margin-top:24px;font-size:13px;color:#dce5eb}@media(max-width:680px){.lab-card.crash-card{display:block}.crash-card img{border-right:0}.crash-card .lab-card-body{padding:14px}.crash-card h2{font-size:22px}.crash-card p{font-size:12px}.crash-card .lab-card-body:after{margin-top:12px}}

/* Isolate the diagnostic text layout from the live canvas and toolbar. */
.data pre{contain:content;content-visibility:auto;contain-intrinsic-size:auto 360px}
