*{box-sizing:border-box} :root{color-scheme:light;--ink:#2c2c2c;--muted:#696969;--line:#dddddd;--accent:#585858;--paper:#f5f5f5}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 system-ui,-apple-system,sans-serif}a{color:var(--accent);text-underline-offset:3px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}:focus-visible{outline:3px solid #a0a0a0;outline-offset:3px}.skip{position:fixed;top:-100px;z-index:5;background:white;padding:10px}.skip:focus{top:10px}aside{position:fixed;width:282px;height:100vh;overflow:auto;background:#292929;color:#e1e1e1;padding:30px 22px;border-right:1px solid #3d3d3d}.brand{display:block;font-size:25px;font-weight:650;color:#f5f5f5;text-decoration:none;letter-spacing:-1px}aside>nav{margin:30px 0;border-block:1px solid #4b4b4b;padding:15px 0}aside nav a{display:block;padding:5px 0;color:#e7e7e7;font-size:13px;text-decoration:none}aside label{font-size:10px;letter-spacing:1.8px;color:#c4c4c4}input,select{border:1px solid #c4c4c4;border-radius:4px;padding:8px 10px;background:#ffffff;color:var(--ink);max-width:100%}aside input{width:100%;margin:8px 0 18px;background:#353535;color:white;border-color:#656565}aside input::placeholder{color:#c2c2c2}.group-label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#bbbbbb;margin:22px 0 7px}.crate-link{display:block;padding:5px 9px;font:13px/1.4 ui-monospace,monospace;color:#e8e8e8;text-decoration:none;border-left:2px solid transparent}.crate-link:hover,.crate-link[aria-current=page]{background:#414141;border-color:#c8c8c8;color:white}.rail-foot{font-size:11px;color:#b5b5b5;border-top:1px solid #4b4b4b;padding-top:20px;margin-top:28px}main{margin-left:282px;padding:48px clamp(24px,5vw,80px) 75px;max-width:1550px;min-height:95vh}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:650}h1{font:500 clamp(34px,4.4vw,62px)/1.08 Georgia,serif;letter-spacing:-1.7px;margin:14px 0 22px;overflow-wrap:anywhere}h2{font:500 28px/1.25 Georgia,serif;margin:38px 0 16px}h3{font-size:17px;margin:0 0 9px}p{max-width:820px}.lead{font-size:18px;line-height:1.7;color:#515151}.muted,small{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}.card{display:block;padding:20px;background:#ffffff;border:1px solid var(--line);border-radius:5px;text-decoration:none;color:var(--ink)}a.card:hover{border-color:var(--accent);box-shadow:0 3px 12px #2929290d}.card p{font-size:13px;margin:6px 0 12px}.card h3{font-family:ui-monospace,monospace;color:var(--accent);overflow-wrap:anywhere}.tag{display:inline-block;background:#ececec;color:#515151;padding:2px 7px;border-radius:3px;font:11px/1.7 system-ui;margin:2px 4px 2px 0}.notice{border-left:3px solid #919191;background:#ececec;padding:13px 19px;font-size:13px;margin:24px 0}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:25px 0;flex-wrap:wrap}.tabs a{color:#515151;font-size:13px;text-decoration:none;padding:9px 6px;border-bottom:3px solid transparent;border-radius:3px 3px 0 0}.tabs a:hover{color:#353535;background:#ebebeb}.tabs a[aria-current=page]{color:#353535;background:#ebebeb;border-color:#585858;font-weight:650}.tabs a:focus-visible{color:#353535;background:#ebebeb;outline:3px solid #686868;outline-offset:3px}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:20px 0}.filters label{font-size:12px;display:grid;gap:4px}.filters label:first-child{flex:1;min-width:180px}.filters .check{display:flex;align-items:center;padding:8px}.declaration{padding:17px 0;border-bottom:1px solid var(--line)}.declaration h3{font:14px ui-monospace,monospace;overflow-wrap:anywhere}.declaration pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,monospace;background:#ececec;padding:12px;margin:9px 0}.declaration small{display:block;font-size:11px;overflow-wrap:anywhere}.paging{display:flex;align-items:center;gap:12px;margin:25px 0}button{background:#ffffff;border:1px solid #b3b3b3;border-radius:4px;padding:6px 14px;color:var(--accent);cursor:pointer}button:disabled{opacity:.4;cursor:default}details{margin:15px 0;border:1px solid var(--line);padding:12px 16px;background:#ffffff80}summary{cursor:pointer;font-weight:550}code{font:12px ui-monospace,monospace;overflow-wrap:anywhere}ul{padding-left:21px}li{margin:8px 0}.dependency{padding:12px 0;border-bottom:1px solid var(--line)}.dependency a{font-family:ui-monospace,monospace}footer{margin-left:282px;border-top:1px solid var(--line);padding:20px 5vw;color:var(--muted);font-size:11px}.empty{padding:30px;border:1px dashed #bababa}.source-list a{display:block;font:12px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.route{padding:18px 22px;background:#ebebeb;border:1px solid #d4d4d4;border-radius:5px}.route a{font-family:ui-monospace,monospace}@media(min-width:1500px){main{padding-right:100px}}@media(max-width:850px){aside{position:relative;width:100%;height:auto;padding:20px}aside>nav{margin:12px 0;display:flex;flex-wrap:wrap;gap:18px}aside #crate-list{max-height:210px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.group-label{grid-column:1/-1;margin:10px 0}.rail-foot{display:none}main{margin:0;padding:30px 22px 55px}footer{margin:0;padding:20px 22px}h1{font-size:40px}.tabs{gap:17px}}@media(prefers-reduced-motion:no-preference){a,button{transition:background .15s,border-color .15s}}
.guide-intro{font-size:14px;color:var(--muted)}.guide-section{max-width:900px}.guide-section p{max-width:820px}.evidence{font-size:12px;background:#ebebeb;border-left:2px solid #a1a1a1;padding:10px 14px;margin:22px 0 34px}.evidence a{display:inline;line-height:2}.table-wrap{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;background:#ffffff}th,td{text-align:left;vertical-align:top;padding:13px 15px;border:1px solid var(--line)}th{background:#ebebeb}td:first-child{font-weight:550;min-width:150px}

.build-code{background:#ececec;border:1px solid #d8d8d8;padding:15px 18px;white-space:pre;overflow:auto;max-width:100%;line-height:1.65}.build-code code{font-size:12px;overflow-wrap:normal}

.pipeline-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0 16px}.pipeline-toolbar button,.pipeline-steps button{min-height:40px}.pipeline-steps{display:flex;gap:7px;flex-wrap:wrap}.pipeline-steps button{font-size:12px;padding:6px 10px;color:#464646}.pipeline-steps button[aria-pressed=true]{background:#424242;color:#ffffff;border-color:#424242}.pipeline-rail{display:block;width:100%;max-width:640px;height:auto;margin:12px 0}.pipeline-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px;margin:24px 0;padding-block:20px;border-block:1px solid var(--line)}.pipeline-settings label{display:flex;gap:8px;align-items:center;font-size:13px;flex-wrap:wrap}.pipeline-settings label:first-child,.pipeline-settings label:last-child{display:grid}.pipeline-settings input[type=range]{width:100%;padding:0;accent-color:#585858}.pipeline-settings input[type=checkbox]{accent-color:#585858}.pipeline-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}.pipeline-grid>div{min-width:0}.pipeline-grid h2{margin-top:20px;font-size:25px}.pipeline-preview{display:block;width:100%;height:auto;max-width:540px}.pipeline-grid label{display:grid;gap:7px;font-size:13px}.pipeline-grid dl{display:grid;grid-template-columns:1fr 1.3fr;gap:7px;font-size:12px}.pipeline-grid dt{color:var(--muted)}.pipeline-grid dd{margin:0;font-family:ui-monospace,monospace}.pipeline-log{padding-left:25px;font-size:13px}.pipeline-log li{padding:8px 4px;border-bottom:1px solid var(--line)}#pipeline-data h3{font-size:14px;font-family:ui-monospace,monospace;margin-top:19px}#pipeline-inspector .muted{font-size:12px}@media(max-width:1100px){.pipeline-grid{grid-template-columns:1fr}.pipeline-preview{max-width:480px}}

.overview-guides,.overview-reading,.crate-directory{max-width:820px}.overview-guides dl,.crate-directory dl{margin:0}.overview-guides dt,.crate-directory dt{margin-top:20px;font-weight:600}.overview-guides dd,.crate-directory dd{margin:3px 0 0;color:var(--muted);font-size:14px}.crate-directory dt a{font-family:ui-monospace,monospace}.crate-directory section{margin-top:40px}.crate-directory h2{margin-bottom:18px}

/* Prominent, distinctly named launches into the real browser apps. */
.rail-demo{font-weight:700;color:#e7dfff!important}.demo-entry{margin:28px 0 34px;padding:22px;background:#eeedf3;border:1px solid #dcd9e6;border-radius:10px}.demo-entry-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px;font-size:12px}.demo-entry-heading>span{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#655b7a}.demo-launch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.demo-launch{display:flex;flex-direction:column;text-decoration:none;background:white;border:1px solid #dedbe6;border-radius:8px;overflow:hidden;color:#302b3b}.demo-launch:hover{border-color:#9886b8;box-shadow:0 5px 14px #4030500c}.demo-launch strong{padding:14px 16px 5px;font-size:14px}.demo-launch>span{padding:0 16px 16px;font-size:12px;color:#696372;line-height:1.6}.demo-thumb{height:76px}.brush-thumb{background:radial-gradient(ellipse at 15% 90%,#31c3b6,transparent 65%),radial-gradient(ellipse at 90% 10%,#eea093,transparent 65%),linear-gradient(120deg,#456ddb,#9f5ac5)}.layer-thumb{background:linear-gradient(130deg,transparent 25%,#f4f1fa88 25% 70%,transparent 70%),repeating-linear-gradient(90deg,#7393cf 0 20px,#efb46b 20px 40px)}.shader-thumb{background:radial-gradient(circle at 25% 50%,#b6cfffbb,transparent 20%),radial-gradient(circle at 70% 50%,#d6a1f5bb,transparent 22%),#30334d}.demo-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.demo-open{display:inline-block;padding:9px 15px;background:#353041;color:white;border-radius:6px;text-decoration:none;font-size:13px;font-weight:600}.demo-open:hover{background:#514762}@media(max-width:600px){.demo-entry{padding:15px}.demo-entry-heading{align-items:flex-start}.demo-launch-grid{grid-template-columns:1fr}}

.gamut-thumb{background:linear-gradient(0deg,#ffffff44 0 47%,transparent 47% 53%,#00000015 53%),linear-gradient(90deg,#ef5047 0 20%,#f5b84b 20% 40%,#52bb75 40% 60%,#5595df 60% 80%,#b96bcf 80%)}.gamut-preview-thumb{background:linear-gradient(110deg,#ed7876,#eabd88,#99c7ac,#91b3df,#c79dd7)}.gamut-native pre{margin:0 16px 16px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.gamut-native>span code{font-size:11px}

.rail-repository{display:block;margin-top:5px;color:#c4c4c4;font-size:12px;text-decoration:none}

/* Rust syntax colors shared with the Luma documentation. */
:root{--syntax-comment:#686868;--syntax-keyword:#a626a4;--syntax-string:#287a36;--syntax-number:#986801;--syntax-function:#075db8;--syntax-type:#9a4713}
pre .token.comment{color:var(--syntax-comment)}
pre .token.keyword,pre .token.boolean{color:var(--syntax-keyword)}
pre .token.string,pre .token.char{color:var(--syntax-string)}
pre .token.number{color:var(--syntax-number)}
pre .token.function,pre .token.macro{color:var(--syntax-function)}
pre .token.class-name,pre .token.type-definition,pre .token.property,pre .token.table{color:var(--syntax-type)}
pre .token.punctuation,pre .token.operator{color:var(--ink)}
pre .token.attribute,pre .token.annotation{color:var(--syntax-type)}
