/* Original interface miniatures inside a neutral machined enclosure. */
#features .cap-object.ip-stage{--ip-ink:#e5e6e5;--ip-muted:#acafac;--ip-line:#727472;--ip-neon:#ccff00;position:relative;container-type:inline-size;display:block;width:100%;aspect-ratio:1;padding:0;border:1px solid #727472;border-radius:15px;background:linear-gradient(155deg,#636463e8 0%,#474847 32%,#353635 78%,#2d2e2d 100%);box-shadow:0 4px 7px #0002,inset 0 2px 1px #b5b8b3,inset 0 -2px 2px #131513;overflow:hidden;color:var(--ip-ink);text-align:left;transform:none;perspective:none;transition:box-shadow .25s}
#features .cap-object.ip-stage:hover{transform:none;box-shadow:0 5px 11px #0003,inset 0 2px 1px #c4c7c1,inset 0 -2px 2px #131513}
.ip-stage .ip-frame-rim{position:absolute;inset:5px;border:1px solid #1c1e1c;border-radius:11px;box-shadow:0 1px 0 #848781,inset 0 1px 2px #15171570;pointer-events:none;z-index:2}
.ip-stage .ip-room{position:absolute;inset:7px;overflow:hidden;border-radius:9px;background:radial-gradient(ellipse at var(--ip-light-x,25%) var(--ip-light-y,8%),#a9aca71b,transparent 61%),repeating-linear-gradient(90deg,#ffffff02 0px,#ffffff02 1px,transparent 1px,transparent 3px),linear-gradient(160deg,#444644,#303230 75%,#2c2e2c);font-family:Manrope,Arial,sans-serif;line-height:1.4;color:#e5e6e5}
.ip-frame-leds{position:absolute;bottom:2px;left:calc(50% - 5px);display:flex;gap:5px;z-index:4}.ip-frame-leds i{width:2px;height:2px;background:#ccff00;box-shadow:0 0 3px #ccff0070}.ip-frame-leds i+ i{opacity:.45}
.ip-module{position:absolute;border:1px solid #969995;border-radius:6px;background:linear-gradient(155deg,#5b5d5ac7,#414340 47%,#333532);box-shadow:inset 1px 1px 1px #d7dad366,inset -1px -1px 1px #7d817866,0 4px 6px #0002;overflow:hidden;color:#e5e6e5;isolation:isolate}
.ip-module:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 3px);pointer-events:none}
.ip-module-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:2.5cqw;color:#c3c6c1;white-space:nowrap}.ip-module-head>span:first-child{display:flex;align-items:center;gap:1.5cqw}.ip-example{flex:none;font:500 1.45cqw/1.2 Manrope,Arial,sans-serif;letter-spacing:.1cqw;border:1px solid #989e925f;padding:.38cqw .7cqw;border-radius:2px;color:#c7cbc3;white-space:nowrap}
.ip-stage h3,.ip-stage p{margin:0}.ip-module .ip-row{display:flex;align-items:center;justify-content:space-between;gap:2cqw;border-bottom:1px solid #a6aca11b;font-size:3cqw;padding:2.4cqw 0;line-height:1.2;color:#b7bcb2;white-space:nowrap}.ip-row strong{font-weight:550;color:#e5e6e5;position:relative}.ip-row strong>span{position:relative;z-index:1}.ip-row:last-of-type{border-bottom:0}
.ip-quote{left:4.5%;top:7%;width:91%;min-height:103%;padding:3.1cqw}.ip-quote h3{font-size:6.25cqw;font-weight:650;line-height:1.15;letter-spacing:-.3cqw;margin:5cqw 0 3cqw}.ip-quote .ip-context{font-size:2.45cqw;color:#b4b8b0;letter-spacing:-.05cqw;white-space:nowrap}.ip-quote-rows{margin-top:5.6cqw}.ip-selection{position:absolute;inset:-1cqw -1.8cqw;background:#ccff0029;border-left:1px solid #c9ec2b55;transform-origin:left;animation:ip-quote-selection 6s infinite}.ip-limit{position:relative;float:right;display:flex;align-items:center;gap:2cqw;background:linear-gradient(#585c55,#444740);border:1px solid #8b918280;border-radius:4px;padding:1.2cqw 2cqw;font-size:2.5cqw;box-shadow:0 3px 6px #0002;animation:ip-quote-limit 6s infinite}.ip-limit svg{width:3.4cqw;height:3.4cqw}.ip-limit kbd{font:2cqw Manrope;background:#30352e;border:1px solid #737c68;border-radius:2px;padding:.5cqw 1cqw}.ip-quote-note{clear:both;font-size:3cqw;line-height:1.75;padding-top:1cqw;color:#aeb4a5}.ip-quote-note span{color:#969d8e}.ip-paper-rules{margin-top:4cqw}.ip-paper-rules i{display:block;height:.8cqw;border-radius:4px;background:#8a928213;width:90%;margin-top:2.3cqw}.ip-paper-rules i:nth-child(2){width:73%}
.ip-model{left:13%;top:13%;width:74%;height:75%;padding:3.2cqw}.ip-model-inset{height:100%;background:linear-gradient(130deg,#2e312d,#282b27);border:1px solid #242823;border-radius:4px;box-shadow:inset 0 2px 4px #0003,0 1px 0 #9aa18e42;padding:6cqw 4.2cqw}.ip-model h3{display:flex;align-items:center;gap:3cqw;font-size:3.6cqw;font-weight:550;white-space:nowrap;margin-bottom:7cqw;letter-spacing:-.13cqw}.ip-model h3 svg{width:3.7cqw;height:3.7cqw}.ip-model .ip-row{font-size:2.7cqw;padding:3cqw 0}.ip-model small{display:block;font-size:2cqw;margin-top:5cqw;color:#a2aa98}.ip-model-extra{animation:ip-model-reveal 5.2s infinite;margin-top:2cqw;color:#b7c2aa}.ip-model-extra>span{font-size:2.1cqw;letter-spacing:.2cqw}.ip-model-extra p{font-size:2.2cqw;color:#8f9a82;margin-top:1cqw;line-height:1.6}
.ip-discovery{left:9%;top:50%;width:82%;transform:translateY(-50%)}.ip-modelbar{height:12cqw;padding:2.6cqw 3cqw;display:flex;gap:2cqw;align-items:center}.ip-link-glyph{display:grid;place-items:center;width:6cqw;height:6cqw;flex:none;border-radius:3px;background:linear-gradient(#6f7669,#505749);box-shadow:inset 0 1px 0 #c3c9ba42,0 2px 3px #0002;color:#d4dec7}.ip-link-glyph svg{width:3.5cqw;height:3.5cqw}.ip-modelbar-name{font-size:3.15cqw;font-weight:550;white-space:nowrap;position:relative;flex:1;height:4.5cqw;line-height:4.5cqw}.ip-modelbar-name>span{position:absolute;inset:0}.ip-name-placeholder{animation:ip-discovery-placeholder 5.6s infinite}.ip-name-typing{animation:ip-discovery-typing 5.6s infinite}.ip-name-ready{animation:ip-discovery-ready 5.6s infinite}.ip-discovery-unfold{height:0;overflow:hidden;animation:ip-discovery-unfold 5.6s infinite}.ip-discovery-preview{height:26cqw;border-top:1px solid #848c7955;border-bottom:1px solid #848c7938;background:linear-gradient(135deg,#505b44,#303a27);position:relative;padding:5cqw;display:flex;align-items:center;gap:5cqw;overflow:hidden}.ip-preview-stack{width:12cqw;height:12cqw;display:grid;place-items:center;background:linear-gradient(#a8b59a,#637151);border:1px solid #b2c49c;border-radius:7px;color:#e6f3d4;box-shadow:2px 3px 0 #24321a,0 9px 12px #12200b40}.ip-preview-stack svg{width:7cqw;height:7cqw}.ip-discovery-preview b{font-size:2.2cqw;letter-spacing:.15cqw;font-weight:550}.ip-discovery-preview small{display:block;font-size:2.3cqw;margin-top:1.5cqw;color:#acb99f}.ip-discovery-preview>i{position:absolute;width:2px;height:2px;right:8%;top:25%;background:#ccff00;opacity:.55}.ip-discovery-preview>i:nth-last-child(2){right:15%;top:75%}.ip-discovery-preview>i:last-child{right:30%;top:14%}.ip-discovery-copy{padding:5cqw;animation:ip-discovery-copy 5.6s infinite}.ip-discovery-copy h3{font-size:4.3cqw;font-weight:550;letter-spacing:-.15cqw}.ip-discovery-copy p{font-size:2.55cqw;color:#b3bcaa;line-height:1.65;margin:2cqw 0 3.5cqw}.ip-discovery-copy code{font:2cqw monospace;color:#b6c5a5}
.ip-capacity{left:23%;top:23%;width:55%;height:55%;padding:4cqw;animation:ip-capacity-breathe 6s ease-in-out infinite}.ip-capacity .ip-module-head{font-size:2.4cqw}.ip-capacity-grid{width:14cqw;height:14cqw;margin:6.3cqw auto 4cqw;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3cqw}.ip-capacity-grid i{border-radius:1.6px;background:#ccff00;box-shadow:inset 0 1px 2px #f0ff9f66,0 0 4px #ccff0025;animation:ip-slot-pulse 6s linear infinite;animation-delay:calc(var(--slot)*-.075s)}.ip-capacity-grid i:nth-child(n+6){animation-name:ip-slot-low}.ip-availability{height:5cqw;position:relative;font-size:4cqw;text-align:center}.ip-availability>span{position:absolute;inset:0;white-space:nowrap}.ip-availability i,.ip-capacity small i{display:inline-block;border-radius:100%;width:1.4cqw;height:1.4cqw;background:#ccff00;vertical-align:middle;margin-right:1cqw}.ip-cap-available{animation:ip-cap-available 6s infinite}.ip-cap-limited{animation:ip-cap-limited 6s infinite}.ip-cap-unavailable{animation:ip-cap-unavailable 6s infinite}.ip-cap-limited i{opacity:.6}.ip-cap-unavailable i{opacity:.2}.ip-capacity p{font-size:1.9cqw;color:#b2b9aa;text-align:center;margin-top:2.1cqw}.ip-capacity small{display:block;font-size:1.4cqw;color:#a7b099;text-align:center;margin-top:4.8cqw}.ip-capacity small i{width:.6cqw;height:.6cqw;margin-right:.8cqw}
.ip-usage{left:10%;top:19%;width:80%;padding:5.5cqw}.ip-usage-head{display:flex;gap:2cqw;align-items:center}.ip-usage-head>svg{width:4cqw;height:4cqw;color:#c8d0bd}.ip-usage h3{font-size:4.1cqw;font-weight:550;letter-spacing:-.1cqw}.ip-usage-head .ip-example{margin-left:auto}.ip-wave-window{height:18cqw;margin:6cqw -1cqw 4cqw;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.ip-wave{height:100%;display:flex;align-items:center;gap:1cqw;width:125%;animation:ip-wave-flow 6s linear infinite}.ip-wave i{flex:1;min-width:.7cqw;height:var(--height);border-radius:2px;background:linear-gradient(#b5c68d,#667746);opacity:.8;animation:ip-wave-height 3s ease-in-out infinite;animation-delay:calc(var(--bar)*-.21s)}.ip-wave-playhead{position:absolute;inset:1cqw auto 1cqw 49%;width:1px;background:#ccff00;box-shadow:0 0 7px #ccff0050}.ip-meter-summary{animation:ip-meter-reveal 6s infinite}.ip-usage .ip-row{font-size:2.7cqw}.ip-usage-foot{font-size:2.1cqw;color:#aab59b;margin-top:5cqw!important}.ip-usage-foot i{display:inline-block;width:1cqw;height:1cqw;border-radius:100%;background:#ccff00;margin-right:1.2cqw}
.ip-record{left:12%;top:10%;width:76%;height:83%;padding:4.5cqw}.ip-record .ip-module-head{font-size:2.1cqw}.ip-record .ip-module-head svg{width:3.3cqw;height:3.3cqw}.ip-record h3{font-size:5.6cqw;letter-spacing:-.25cqw;font-weight:550;line-height:1.15;margin:5cqw 0 4cqw}.ip-record .ip-row{font-size:2.7cqw;padding:2.8cqw 0}.ip-receipt-charge{position:relative}.ip-receipt-charge:before{content:"";position:absolute;left:-1cqw;right:-1cqw;top:20%;bottom:18%;background:#ccff0023;transform-origin:left;animation:ip-receipt-highlight 6s infinite}.ip-record-rule{height:1px;margin-top:5cqw;background:#9ba58f35}.ip-signature{position:relative;height:15cqw;margin-top:2cqw}.ip-signature svg{width:100%;height:100%;fill:none;stroke:#d1dbc4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ip-signature path{stroke-dasharray:370;animation:ip-receipt-draw 6s ease-in-out infinite}.ip-signature-pen{position:absolute;width:2.6cqw;height:10cqw;border-radius:2px;left:4%;top:20%;background:linear-gradient(90deg,#838b79,#e0e7d8 37%,#7e8871 65%,#434d37);box-shadow:1px 2px 2px #0003;transform:rotate(35deg);animation:ip-receipt-pen 6s ease-in-out infinite}.ip-record>small{font-size:1.8cqw;color:#a7b09b;display:block;margin-top:1.5cqw}
.ip-stage[data-interface-running="false"] *{animation-play-state:paused!important}
/* Fit the entire quote module inside its enclosure, including the lower chrome edge. */
.ip-quote{left:6%;top:9%;width:88%;height:82%;min-height:0;padding:3cqw}
.ip-quote h3{font-size:6cqw;line-height:1.1;margin:3.8cqw 0 2.4cqw}
.ip-quote .ip-context{font-size:2.25cqw}
.ip-quote-rows{margin-top:4cqw}
.ip-quote .ip-row{font-size:2.8cqw;padding:1.5cqw 0}
.ip-quote .ip-limit{font-size:2.3cqw;gap:1.6cqw;padding:.7cqw 1.7cqw}
.ip-quote .ip-limit svg{width:3cqw;height:3cqw}
.ip-quote .ip-limit kbd{font-size:1.8cqw;padding:.3cqw .8cqw}
.ip-quote .ip-quote-note{font-size:2.5cqw;line-height:1.55;padding-top:.6cqw}
.ip-quote .ip-paper-rules{margin-top:2.2cqw}
.ip-quote .ip-paper-rules i{height:.4cqw;margin-top:1.2cqw}
.ip-quote .ip-paper-rules i:nth-child(3){display:none}
@keyframes ip-quote-selection{0%,7%{transform:scaleX(0);opacity:0}19%,76%{transform:scaleX(1);opacity:1}84%,100%{transform:scaleX(1);opacity:0}}
@keyframes ip-quote-limit{0%,19%,83%,100%{opacity:0;transform:translateY(3px) scale(.95)}28%,75%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ip-model-reveal{0%,10%,87%,100%{opacity:.05;transform:translateY(5px)}27%,72%{opacity:1;transform:translateY(0)}}
@keyframes ip-discovery-placeholder{0%,8%,92%,100%{opacity:1}14%,85%{opacity:0}}
@keyframes ip-discovery-typing{0%,9%,32%,100%{opacity:0;clip-path:inset(0 100% 0 0)}12%{opacity:1;clip-path:inset(0 90% 0 0)}25%,28%{opacity:1;clip-path:inset(0)}}
@keyframes ip-discovery-ready{0%,24%,90%,100%{opacity:0}29%,83%{opacity:1}}
@keyframes ip-discovery-unfold{0%,27%,88%,100%{height:0}46%,72%{height:57cqw}}
@keyframes ip-discovery-copy{0%,33%,81%,100%{opacity:0;transform:translateY(6px)}47%,71%{opacity:1;transform:translateY(0)}}
@keyframes ip-capacity-breathe{0%,100%{transform:scale(1)}25%,75%{transform:scale(1.018)}50%{transform:scale(.992)}}
@keyframes ip-slot-pulse{0%,22%,80%,100%{opacity:1}32%,46%{opacity:.65}53%,70%{opacity:.12}}
@keyframes ip-slot-low{0%,20%,83%,100%{opacity:.95}28%,73%{opacity:.15}}
@keyframes ip-cap-available{0%,22%,82%,100%{opacity:1}27%,77%{opacity:0}}
@keyframes ip-cap-limited{0%,23%,50%,100%{opacity:0}28%,45%{opacity:1}}
@keyframes ip-cap-unavailable{0%,48%,79%,100%{opacity:0}53%,74%{opacity:1}}
@keyframes ip-wave-flow{from{transform:translateX(0)}to{transform:translateX(-20%)}}
@keyframes ip-wave-height{0%,100%{transform:scaleY(.75)}50%{transform:scaleY(1)}}
@keyframes ip-meter-reveal{0%,9%,94%,100%{opacity:.35;transform:translateY(4px)}25%,85%{opacity:1;transform:translateY(0)}}
@keyframes ip-receipt-highlight{0%,23%,91%,100%{opacity:0;transform:scaleX(0)}44%,83%{opacity:1;transform:scaleX(1)}}
@keyframes ip-receipt-draw{0%,4%{stroke-dashoffset:370;opacity:1}36%,85%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes ip-receipt-pen{0%,4%{left:4%;top:20%;opacity:0}7%{opacity:1}18%{top:-1%}27%{top:23%}35%{left:87%;top:8%;opacity:1}42%,100%{left:90%;opacity:0}}
@media(prefers-reduced-motion:reduce){.ip-stage *{animation:none!important}.ip-selection,.ip-limit,.ip-model-extra{opacity:1}.ip-name-placeholder,.ip-name-typing,.ip-cap-limited,.ip-cap-unavailable,.ip-signature-pen{display:none}.ip-name-ready,.ip-cap-available{opacity:1}.ip-discovery-unfold{height:57cqw}.ip-discovery-copy{opacity:1}.ip-signature path{stroke-dashoffset:0}.ip-receipt-charge:before{opacity:.6}}
/* Every card, including the last, has a distinct reachable resting position. */
.cap-rail[data-scroll-ready="true"]{padding-inline-end:var(--rail-tail,35px);overscroll-behavior-x:contain}
.cap-rail.is-wheeling{scroll-snap-type:none;scroll-behavior:auto}
.cap-rail:focus-visible{outline:2px solid #8c9680;outline-offset:8px;border-radius:3px}
.capabilities .rail-motion-toggle{display:grid}
