/* Actual product views inside the arcade portfolio. */
.product-projects{align-items:stretch}.arcade-option .product-projects .company-card{display:flex;flex-direction:column;min-width:0;padding:22px 18px 18px}.product-projects .project-copy{margin-top:23px}.product-projects .company-footer{margin-top:auto;padding-top:15px}.product-projects .project-copy>p{padding-bottom:22px}.product-tabs{display:flex;gap:0;border:1px solid #413a51;border-bottom:0;background:#11101a;min-height:39px}.product-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:none;color:#aaa6b8;font:10px/1.5 'IBM Plex Mono',monospace;cursor:pointer;padding:9px 4px}.product-tabs button[aria-selected=true]{background:#252131;border-bottom-color:#9cf5c4;color:#d9f7e4}.product-tabs button:focus-visible,.model-selector button:focus-visible{outline:2px solid #9cf5c4;outline-offset:-3px}.product-stage{height:326px;border:1px solid #413a51;background:#0a0e13;position:relative;overflow:hidden;isolation:isolate}.product-panel{height:100%;position:relative;overflow:hidden}.product-panel[hidden]{display:none}.product-kicker{font:8px/1.6 'IBM Plex Mono',monospace;letter-spacing:.05em;color:#a2bdc0;padding:16px 14px}.product-kicker i{display:inline-block;width:6px;height:6px;background:#9cf5c4;margin-right:5px;border-radius:50%;box-shadow:0 0 10px #9cf5c455}.observer-screen{height:204px;overflow:hidden;margin:0 10px;border:1px solid #3d454c;border-radius:5px;box-shadow:0 8px 20px #0005}.observer-screen img{display:block;height:100%;width:100%;object-fit:cover;object-position:84% center;transition:transform .7s ease}.observer-screen:hover img{transform:scale(1.08)}.observer-status{display:flex;align-items:center;justify-content:center;gap:13px;font:9px/1.6 'IBM Plex Mono',monospace;color:#b7d6ce;padding-top:17px}.observer-status b{color:#a4f5c4;font-size:17px}.stage-note{font:8px/1.6 'IBM Plex Mono',monospace!important;color:#8a9ba5!important;margin:7px 10px 0!important;text-align:center}.evidence-panel{padding:0 15px}.evidence-panel .product-kicker{padding:16px 0 20px;font-size:8px}.evidence-label{display:block;color:#798d98;font:8px/1.5 'IBM Plex Mono',monospace;letter-spacing:.05em}.evidence-panel blockquote{margin:10px 0 21px;color:#e3e8ec;font:17px/1.5 'IBM Plex Mono',monospace}.evidence-panel code{display:block;font:11px/1.9 'IBM Plex Mono',monospace;color:#c0cbd1;margin:8px 0 15px}.evidence-panel code b{color:#f7b695;font-weight:400}.evidence-result{padding:9px 7px;border:1px solid #764d48;background:#301d1c;color:#f9b7a5;font:10px/1.5 'IBM Plex Mono',monospace}.evidence-panel .stage-note{text-align:left;margin:10px 0!important}.nomm-stage{background:#f9f4ef;color:#25292b}.food-photo{height:143px;position:relative;overflow:hidden;background:#bcb4a3}.food-photo img{display:block;object-fit:cover;object-position:70% 55%;width:100%;height:100%;transition:transform 1s ease}.food-photo:hover img{transform:scale(1.06)}.food-photo>span{position:absolute;bottom:9px;left:10px;background:#14251ed9;border:1px solid #fff2;color:#f0f6f2;padding:4px 6px;font:7px/1.5 'IBM Plex Mono',monospace;letter-spacing:.04em}.nutrition-result{padding:12px 14px 8px}.calorie-total{display:flex;align-items:center;gap:9px}.calorie-total strong{font:44px/.95 'IBM Plex Mono',monospace;letter-spacing:-3px;color:#252628}.calorie-total>span{font:12px/1.2 'IBM Plex Mono',monospace}.calorie-total small{font-size:8px;color:#756d68}.calorie-total .model-badge{margin-left:auto;color:#77558c;background:#eae0f0;border:1px solid #d9c8e3;border-radius:3px;font-size:8px;line-height:1.5;padding:4px 5px;white-space:nowrap}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.macro-grid>div{border-top:3px solid #b396ca;padding-top:7px;display:flex;flex-direction:column;gap:3px}.macro-grid>div:nth-child(2){border-color:#eaab78}.macro-grid>div:nth-child(3){border-color:#dfcf8c}.macro-grid b{font:17px/1 'IBM Plex Mono',monospace;color:#29252c}.macro-grid span{font:9px/1.5 'IBM Plex Mono',monospace;color:#706974}.model-selector{display:flex;align-items:center;gap:4px;margin-top:13px;border-top:1px solid #e2d8df;padding-top:7px;font:8px 'IBM Plex Mono',monospace}.model-selector>span{margin-right:4px;color:#786b7d}.model-selector button{font:8px 'IBM Plex Mono',monospace;border:1px solid #d6cbdc;border-radius:3px;background:transparent;color:#796586;padding:4px 6px;cursor:pointer}.model-selector button[aria-pressed=true]{background:#79578d;color:white;border-color:#79578d}.model-selector small{font-size:7px;color:#847886;margin-left:auto}.diary-panel{display:flex;gap:15px;padding:22px 13px;background:radial-gradient(ellipse at top right,#e7d9ed,transparent 70%),#fbf5f0}.diary-panel>img{width:46%;height:auto;align-self:flex-start;border-radius:15px;box-shadow:0 9px 22px #45345026;border:3px solid #25242c;transform:rotate(-3deg)}.diary-summary{flex:1;padding-top:7px;min-width:0}.diary-label{font:8px/1.5 'IBM Plex Mono',monospace;color:#7b627e}.diary-ring{margin:17px 0 18px;height:94px;width:94px;padding:8px;border-radius:50%;background:conic-gradient(#ff6c5b 0 21%,#e9d9d3 21% 100%);transform:rotate(-90deg)}.diary-ring strong{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#faf4f0;font:28px 'IBM Plex Mono',monospace;transform:rotate(90deg);color:#443b45}.diary-ring small{font-size:12px}.diary-summary p{font:10px/1.7 'IBM Plex Mono',monospace!important;color:#605568!important;margin:7px 0!important}.diary-summary p b{font-size:15px;color:#332b3a}.diary-target{display:block;font:8px/1.6 'IBM Plex Mono',monospace;color:#7d6e81}.diary-summary>small{display:block;font:7px/1.6 'IBM Plex Mono',monospace;color:#918493;margin-top:15px}.stay-panel>img{width:100%;height:100%;object-fit:cover;object-position:56% center;animation:stay-drift 18s ease-in-out infinite alternate}.stay-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080b0ef5,transparent 80%);pointer-events:none}.stay-copy{position:absolute;inset:auto 16px 18px;z-index:1}.stay-copy>span{font:7px/1.7 'IBM Plex Mono',monospace;color:#d2b598;letter-spacing:.03em}.stay-copy>strong{display:block;font:35px/1.2 Georgia,serif;letter-spacing:.12em;margin:9px 0;color:#efe4d4;text-shadow:0 2px 15px #000}.stay-copy>p{font:11px/1.7 'IBM Plex Mono',monospace!important;color:#c9c5bd!important;margin:8px 0 14px!important}.stay-copy>a{font:9px/1.6 'IBM Plex Mono',monospace;color:#c7e8cf;text-decoration:underline;text-underline-offset:4px}.forge-panel{background:radial-gradient(ellipse at top,#222b3c,transparent 70%),#0c1118;padding:0 17px}.forge-panel .product-kicker{padding:17px 0 10px;font-size:7px;color:#94b3c9}.forge-title{font:25px/1.4 'IBM Plex Mono',monospace;color:#e0e9ee;font-weight:400}.forge-steps{margin-top:16px}.forge-steps>div{display:grid;grid-template-columns:28px 1fr;align-items:center;border:1px solid #3b485a;background:#16202e;padding:7px 10px;animation:forge-step 6s ease-in-out infinite}.forge-steps>div:nth-of-type(2){animation-delay:2s}.forge-steps>div:nth-of-type(3){animation-delay:4s}.forge-steps span{grid-row:span 2;color:#7da8b4;font:10px 'IBM Plex Mono',monospace}.forge-steps b{font:12px/1.5 'IBM Plex Mono',monospace;color:#d9e5ee}.forge-steps small{font:8px/1.6 'IBM Plex Mono',monospace;color:#90a0b3}.forge-steps>i{display:block;text-align:center;font:12px/1.2 monospace;color:#7896a9}.forge-panel .stage-note{text-align:left;margin:10px 0!important;font-size:8px!important}@keyframes stay-drift{from{transform:scale(1.02) translateX(-1%)}to{transform:scale(1.12) translateX(1%)}}@keyframes forge-step{0%,30%{border-color:#8bbfca;background:#20343e}35%,100%{border-color:#3b485a;background:#16202e}}@media(min-width:1001px){.arcade-option .product-projects .company-card h3{font-size:11px}}@media(max-width:1000px) and (min-width:601px){.product-projects{grid-template-columns:1fr!important}.arcade-option .product-projects .company-card{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:26px}.product-projects .company-card:before{grid-column:1/-1}.product-projects .brand{grid-column:1/-1}.product-tabs{grid-column:1;grid-row:3}.product-stage{grid-column:1;grid-row:4 / span 3}.product-projects .project-copy{grid-column:2;grid-row:4;margin-top:0}.product-projects .company-footer{grid-column:2;grid-row:5;align-self:start}.arcade-option .product-projects .company-card h3{font-size:13px}}@media(max-width:600px){.arcade-option .product-projects .company-card{padding:22px}.product-stage{height:326px}.product-tabs button{font-size:11px}.arcade-option .product-projects .company-card h3{font-size:12px}.product-projects .project-copy>p{font-size:12px}.product-kicker{font-size:8px}}@media(prefers-reduced-motion:reduce){.stay-panel>img,.forge-steps>div{animation:none}.food-photo img,.observer-screen img{transition:none}}
.product-tabs,.product-stage{width:100%;flex-shrink:0}.product-projects .project-copy{width:100%}
.dyno-flow{display:block;width:100%;height:185px;overflow:visible}.dyno-flow .sandbox-boundary{fill:#101d18;stroke:#6d966a;stroke-dasharray:4 4}.dyno-flow .flow-small{font:11px 'IBM Plex Mono',monospace;fill:#c4d1cb}.dyno-flow .flow-tiny{font:8px 'IBM Plex Mono',monospace;fill:#9bab9e}.dyno-flow .flow-center{text-anchor:middle}.dyno-flow .flow-link{stroke:#54625d;stroke-width:1.5;fill:none}.dyno-flow .allow{stroke:#9cbf7e}.dyno-flow .deny{stroke:#af776c;stroke-dasharray:4 4}.dyno-flow .gateway-box{fill:#263c2c;stroke:#a4c585}.flow-agent circle{fill:#20392b;stroke:#c4fc8b}.flow-agent text{font:12px 'IBM Plex Mono',monospace;fill:#c4fc8b;text-anchor:middle}.service-allowed{fill:#15251b;stroke:#739a68}.service-denied{fill:#2c2021;stroke:#98635f}.dyno-flow .refusal-cross{fill:#ffac98;font:25px monospace}.mini-observer{margin:6px 12px 0;padding:9px 11px;border:1px solid #596547;background:#1b241b}.mini-observer>span{font:8px 'IBM Plex Mono',monospace;color:#bdd3a0;letter-spacing:.07em}.mini-observer>div{display:flex;align-items:center;gap:13px;margin-top:5px}.mini-observer strong{font:27px/1 'IBM Plex Mono',monospace;color:#c4fc8b;min-width:53px}.mini-observer p{font:9px/1.5 'IBM Plex Mono',monospace!important;color:#adb8a7!important;margin:0!important}.mini-observer p b{font-weight:400;color:#ebbaa5}.dyno-stage .product-kicker{padding:12px 12px 6px;font-size:8px}.dyno-stage .stage-note{font-size:7px!important}.forge-panel{padding:0 12px}.forge-panel .product-kicker{padding:12px 0 5px;font-size:8px}.forge-view{height:203px;position:relative;background:radial-gradient(ellipse at center,#283c4b66,transparent 70%)}#forge-canvas{width:100%;height:100%;display:block}.forge-view-label{position:absolute;left:3px;top:8px;font:9px 'IBM Plex Mono',monospace;color:#e4c99a;letter-spacing:.06em}.forge-selector{display:flex;border:1px solid #3d4d60;margin-top:1px}.forge-selector button{flex:1;background:#131c29;border:0;border-right:1px solid #3d4d60;color:#8fabc0;padding:7px 2px;font:9px 'IBM Plex Mono',monospace;cursor:pointer}.forge-selector button:last-child{border-right:0}.forge-selector button[aria-pressed=true]{background:#344553;color:#e8d6ae;box-shadow:inset 0 -2px #e8c38a}.forge-description{display:flex;align-items:center;gap:8px;margin-top:8px}.forge-description>p{font:9px/1.6 'IBM Plex Mono',monospace!important;color:#b4c5d2!important;margin:0!important;flex:1}.forge-description>button{background:none;border:1px solid #46576b;color:#c4cfe0;width:24px;min-height:24px;cursor:pointer}.forge-panel .stage-note{font-size:7px!important;margin:4px 0 0!important}.forge-selector button:focus-visible,.forge-description>button:focus-visible{outline:2px solid #9cf5c4;outline-offset:2px}
.mini-observer{position:relative}#dyno-pause{position:absolute;right:9px;top:7px;background:none;border:1px solid #596547;color:#bdd3a0;width:24px;height:22px;cursor:pointer}#dyno-pause:focus-visible{outline:2px solid #c4fc8b;outline-offset:2px}
.forge-panel:has(.forge-concept){padding:0;background:#0b1020}.forge-panel:has(.forge-concept) .product-kicker{padding:12px 12px 8px}.forge-concept{display:block;width:100%;height:218px;object-fit:contain;background:#080e1d}.forge-concept-labels{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:8px 5px;background:#111a2a;border-block:1px solid #354254;font:9px/1.5 'IBM Plex Mono',monospace;color:#d6ccba}.forge-concept-labels>span:first-child{color:#97d8ee}.forge-concept-labels>span:nth-child(2){color:#e0c58c}.forge-concept-copy{font:9px/1.6 'IBM Plex Mono',monospace!important;color:#b0bed0!important;margin:8px 10px 0!important}.forge-panel:has(.forge-concept) .stage-note{margin:5px 10px 0!important;font-size:7px!important}
