.device-home{min-height:100svh;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;background:linear-gradient(180deg,#292821 0 58%,#11110e 59% 100%)}
.device-choice{position:relative;min-width:0;min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,24px);padding:clamp(18px,3vw,42px);overflow:hidden;color:#f2eee5;text-decoration:none;isolation:isolate}
.device-choice::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.72;transition:opacity .2s ease,transform .25s ease}
.device-portal-camera{border-right:1px solid #4a463d;background:radial-gradient(circle at 50% 45%,rgba(60,59,54,.9),rgba(19,20,17,.82) 72%)}
.device-portal-camera::before{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 42%)}
.device-portal-pc{background:radial-gradient(circle at 50% 45%,rgba(67,65,51,.9),rgba(23,23,17,.82) 72%)}
.device-portal-pc::before{background:linear-gradient(225deg,rgba(201,216,151,.1),transparent 45%)}
.device-choice:hover::before,.device-choice:focus-visible::before{opacity:1;transform:scale(1.03)}
.device-choice:focus-visible{outline:4px solid #b9d683;outline-offset:-8px}
.device-portal-kicker{align-self:start;font:700 .72rem "Courier New",monospace;letter-spacing:.14em;color:#bfc7aa}
.device-portal-copy{display:flex;align-items:end;justify-content:space-between;gap:18px}
.device-portal-copy strong{font:700 clamp(.78rem,1.2vw,1rem) "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase}
.device-portal-copy span{color:#c0c4ba;font:700 clamp(.72rem,1vw,.9rem) "Courier New",monospace;text-transform:uppercase}
.device-portal-open{min-height:44px;display:inline-flex;align-items:center;color:#c0c4ba;font:700 clamp(.72rem,1vw,.9rem) "Courier New",monospace;text-transform:uppercase}
.device-portal-open:hover,.device-portal-open:focus-visible{color:#fff;outline:2px solid currentColor;outline-offset:4px}
.camera-hardware{view-transition-name:camera-shell}
.device-portal-camera .camera-stage{width:100%;height:min(68svh,610px);min-height:0;align-self:center;padding:0;background:transparent}
.device-portal-camera .camera-body{width:100%;height:100%;min-height:0}
.device-portal-camera .camera-topplate{grid-template-columns:84px minmax(0,1fr) auto auto}
.device-portal-camera .camera-back{grid-template-columns:minmax(0,1fr) 160px;gap:8px;padding:10px}
.device-portal-camera .camera-control-rail{min-width:0;padding:6px}
.device-portal-camera .camera-menu-screen{padding:14px}
.device-portal-camera .camera-menu-screen h2{font-size:clamp(1.5rem,3vw,2.4rem)}
.device-portal-camera .camera-collections{gap:8px}
.device-portal-camera .camera-collection-link{min-height:86px;grid-template-columns:80px minmax(0,1fr);gap:10px;padding:8px}
.pc-hardware{view-transition-name:pc-shell}
.device-portal-pc .pc-desktop{width:100%;height:min(68svh,610px);min-height:0;padding:0;background:transparent}
.device-portal-pc .pc-hardware{width:100%;height:100%;min-height:0}
.device-portal-pc .pc-screen{overflow:auto}
.device-portal-pc .pc-projects{grid-template-columns:repeat(3,minmax(0,1fr))}
@view-transition{navigation:auto}
.pc-desktop{min-height:100svh;display:grid;place-items:center;padding:clamp(4px,.5vw,8px);overflow:hidden;color:#b8ce86;background:radial-gradient(circle at 50% 42%,#27261f 0,#11120e 68%,#080906 100%);font-family:"Courier New",monospace}
.pc-hardware{position:relative;width:min(98vw,1500px);height:min(97svh,1000px);min-height:0;display:grid;grid-template-rows:minmax(0,1fr) clamp(34px,5svh,54px);padding:clamp(10px,1.4vw,22px) clamp(10px,1.6vw,26px) 0;border:1px solid #9c957d;border-radius:clamp(14px,2.4vw,34px);background:linear-gradient(145deg,#c8c1a7,#8d866e 52%,#6d6755);box-shadow:0 28px 70px rgba(0,0,0,.66),inset 0 2px 0 #e6dfc5,inset 0 -5px 12px #5c5748}
.pc-bezel{min-height:0;padding:clamp(9px,1.5vw,22px);border:2px solid #4b483b;border-radius:clamp(10px,2vw,26px);background:linear-gradient(145deg,#746f5d,#3f3d34);box-shadow:inset 0 0 0 4px #a59e87,inset 0 0 24px #24241f}
.pc-crt{height:100%;min-height:0;padding:clamp(6px,.8vw,12px);border-radius:9% / 7%;background:#080b07;box-shadow:inset 0 0 26px #000,0 1px 0 #b1aa91}
.pc-screen{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid #536046;border-radius:7% / 5%;color:#b8ce86;background:radial-gradient(ellipse at center,#162017 0,#0c120d 68%,#050705 100%);box-shadow:inset 0 0 50px #000,inset 0 0 110px rgba(104,133,71,.1);text-shadow:0 0 7px rgba(184,206,134,.34);scrollbar-color:#71815d #0b110b;scrollbar-width:thin}
.pc-screen::-webkit-scrollbar{width:12px;height:12px}.pc-screen::-webkit-scrollbar-thumb{border:2px solid #111a12;background:#71815d}.pc-screen::-webkit-scrollbar-track{background:#0b110b}
.pc-screen::before{content:"";position:absolute;z-index:9;top:50%;right:8%;left:8%;height:2px;pointer-events:none;background:#d8efaa;box-shadow:0 0 18px 5px #a8d06a;opacity:0;transform:scaleX(0)}
.pc-screen::after{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 4px);mix-blend-mode:multiply}
.pc-hardware-controls{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 10px;color:#37352d;text-shadow:0 1px #d7d0b7;font:700 clamp(.62rem,1vw,.78rem) "Courier New",monospace;letter-spacing:.08em}
.pc-vents{width:min(32vw,300px);height:11px;background:repeating-linear-gradient(90deg,#464238 0 3px,transparent 3px 9px);opacity:.7}
.pc-power{min-height:44px;display:flex;align-items:center;gap:7px;border:1px solid #625d4e;padding:4px 10px;color:#37352d;background:#aaa389;cursor:pointer;font:inherit;letter-spacing:inherit}
.pc-back{display:none;min-height:44px;border:1px solid #625d4e;padding:4px 10px;color:#37352d;background:#aaa389;cursor:pointer;font:inherit;letter-spacing:inherit}
.pc-power i{width:10px;height:10px;border-radius:50%;background:#9dbc55;box-shadow:0 0 8px #a8ca5b,inset 0 0 0 2px #53622e}
.pc-desktop[data-pc-state="off"] .pc-screen>* ,.pc-desktop[data-pc-state="warming"] .pc-screen>*{visibility:hidden}
.pc-desktop[data-pc-state="off"] .pc-window-layer,.pc-desktop[data-pc-state="warming"] .pc-window-layer,.pc-desktop[data-pc-state="booting"] .pc-window-layer,.pc-desktop[data-pc-state="shutting-down"] .pc-window-layer{visibility:hidden}
.pc-desktop[data-pc-state="off"] .pc-screen{filter:brightness(.08)}
.pc-desktop[data-pc-state="warming"] .pc-screen::before{opacity:1;animation:pc-ignition .24s ease-out forwards}
.pc-desktop[data-pc-state="booting"] .pc-screen{animation:pc-bloom .76s ease-out}
.pc-desktop[data-pc-state="shutting-down"] .pc-screen{animation:pc-shutdown .65s ease-in forwards}
.pc-desktop[data-pc-state="off"] .pc-power i,.pc-desktop[data-pc-state="shutting-down"] .pc-power i{background:#4b493f;box-shadow:inset 0 0 0 2px #343229}
.pc-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px;border-bottom:1px solid #70815d;color:#d4e6ad;background:rgba(38,52,34,.88)}
.pc-titlebar h1,.pc-titlebar h2{font-size:1rem;line-height:1.2}
.pc-home-link{min-width:44px;min-height:44px;display:inline-grid;place-items:center;border:1px solid #778765;background:#111b12;color:#d4e6ad}
.pc-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.5vw,20px);padding:clamp(12px,2vw,28px)}
.pc-folder{min-width:0;color:#b8ce86}
.pc-folder>h2{padding:5px 8px;font-size:.78rem;color:#d4e6ad;background:#273521}
.pc-text-file,.pc-project-link{min-width:0;min-height:72px;display:grid;place-items:center;align-content:center;gap:2px;padding:6px;overflow:hidden;color:#c5db99;text-align:center;text-decoration:none;font:700 .72rem "Courier New",monospace;overflow-wrap:anywhere}
.pc-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px}
.pc-project-link::before{content:"■";font-size:2rem;line-height:1;color:#9dbc6e;text-shadow:3px 3px #34452c}
.pc-text-file::before{content:"▤";font-size:2rem;color:#d4e6ad}
.pc-project-link:hover,.pc-project-link:focus-visible,.pc-project-link[aria-current="true"],.pc-text-file:hover,.pc-text-file:focus-visible,.pc-text-file[aria-current="true"]{background:#293c25;outline:2px dotted #b8ce86;outline-offset:-2px}
.pc-status-line{position:absolute;right:14px;bottom:48px;left:14px;margin:0;border-top:1px solid #536344;padding:5px 8px;color:#aeca78;background:#0b110b;font-size:.7rem}
.pc-window{position:absolute;z-index:4;inset:clamp(56px,8%,88px) clamp(10px,3%,36px) clamp(10px,3%,36px);display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;border:2px solid #81936a;background:#111a12;box-shadow:10px 12px 30px rgba(0,0,0,.58)}
.pc-window[hidden]{display:none}
.pc-window-layer{position:absolute;z-index:12;inset:0;overflow:visible;pointer-events:none}
.pc-window-layer .pc-window{inset:auto;min-width:320px;min-height:240px;overflow:hidden;pointer-events:auto}
.pc-window-titlebar{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 6px 4px 12px;color:#d4e6ad;background:#33472c;cursor:move;touch-action:none;user-select:none}
.pc-window-titlebar h2{font-size:1rem}
.pc-window-titlebar div{display:flex}
.pc-window button,.pc-window-footer a{min-width:44px;min-height:44px;border:1px solid #71815d;background:#1c281a;color:#d4e6ad;font:inherit}
.pc-window-summary,.pc-disclosure,.pc-status,.pc-category{margin:0;padding:8px 12px;background:#162016}
.pc-window-meta{min-height:0;background:#162016}
.pc-category{padding-bottom:0;color:#aeca78;font-weight:700}
.pc-status:empty{min-height:0;padding:0}
.pc-window-content{min-height:0;background:#111}
.pc-frame{display:block;width:100%;height:100%;border:0;background:#111}
.pc-window-footer{min-height:48px;display:flex;align-items:center;gap:12px;padding:4px 8px;background:#111a12}
.pc-window-footer a{display:inline-flex;align-items:center;padding:0 10px}
.pc-window-resize{position:absolute;z-index:3;right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 0 45%,#71815d 46% 54%,transparent 55% 65%,#71815d 66% 74%,transparent 75%)}
.pc-taskbar{position:absolute;z-index:20;right:14px;bottom:10px;left:14px;display:flex;gap:6px;min-height:34px;padding:4px;border-top:1px solid #536344;background:rgba(7,12,7,.9)}
.pc-taskbar:empty{display:none}
.pc-taskbar button{min-height:30px;padding:4px 10px;border:1px solid #536344;color:#b8ce86;background:#152116;font:700 .72rem "Courier New",monospace}
.pc-taskbar button[aria-current="true"]{color:#e2efc1;background:#34482d;box-shadow:inset 0 0 0 1px #8ea46f}
.pc-window[data-breakout-edge]{filter:drop-shadow(0 0 12px rgba(178,255,91,.9)) drop-shadow(5px 0 rgba(79,255,196,.38)) drop-shadow(-5px 0 rgba(255,91,154,.28));animation:pc-breakout-jitter .11s steps(2,end) infinite}
.pc-window[data-breakout-edge]::after{content:"";position:absolute;z-index:9;inset:-8px;pointer-events:none;border:2px solid rgba(190,255,112,.85);background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(168,255,90,.22) 6px 7px);mix-blend-mode:screen}
.pc-desktop[data-breakout-edge] .pc-bezel{box-shadow:inset 0 0 0 4px #a59e87,inset 0 0 24px #24241f,0 0 22px rgba(166,255,83,.7)}
@keyframes pc-breakout-jitter{0%{transform:translate(0)}50%{transform:translate(2px,-1px)}100%{transform:translate(-1px,1px)}}
@media (min-width:701px){
  .pc-window-meta{display:grid;grid-template-columns:max-content minmax(0,1fr)}
  .pc-category{padding-bottom:8px;border-right:1px solid #536344}
  .pc-window-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pc-disclosure{grid-column:1/-1}
}
.camera-stage{min-height:100svh;display:grid;place-items:center;padding:clamp(4px,.5vw,8px);color:#eceae3;background:radial-gradient(circle,#272823,#090a08 72%)}
.camera-body{width:min(99vw,1500px);height:min(97svh,920px);min-height:0;display:grid;grid-template-rows:clamp(58px,9svh,86px) minmax(0,1fr);overflow:hidden;border:1px solid #8d887e;border-radius:clamp(14px,2.4vw,34px);background:linear-gradient(110deg,#a9a39a,#6f6a62 48%,#9f998f);box-shadow:0 28px 70px rgba(0,0,0,.68),inset 0 2px #d8d2c8,inset 0 -5px 12px #373833}
.camera-topplate{display:grid;grid-template-columns:clamp(62px,9vw,132px) minmax(150px,1fr) auto auto;align-items:center;gap:clamp(10px,2vw,28px);padding:8px clamp(12px,2.2vw,34px);border-bottom:1px solid #4b4a45;color:#22231f;background:linear-gradient(#bbb5ac,#8e8981);font:700 .7rem "Courier New",monospace}
.camera-topplate a{display:flex;flex-direction:column;color:#24241f;font-family:Georgia,serif;letter-spacing:.1em}
.camera-topplate small{font:700 .55rem "Courier New",monospace;letter-spacing:.16em}
.camera-viewfinder{height:70%;border:4px solid #22241f;border-radius:8px;background:radial-gradient(circle,#243e3b,#060807 66%);box-shadow:inset 0 0 0 5px #0e100e}
.camera-control-dial{width:70px;height:34px;border:2px outset #55534d;border-radius:18px;padding:0;color:#ddd;background:repeating-linear-gradient(90deg,#151613 0 3px,#4a4c45 3px 6px);font:700 .48rem "Courier New",monospace;cursor:pointer}
.camera-battery{white-space:nowrap}
.camera-back{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(160px,12vw,180px);gap:clamp(8px,1.4vw,20px);padding:clamp(10px,1.5vw,22px);background:linear-gradient(110deg,#1c1d1a,#080908 48%,#1d1e1a)}
.camera-control-rail{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,3svh,28px);border-radius:18px;background:radial-gradient(circle,#292b27,#10110f 68%);box-shadow:inset 0 0 0 2px #33352f,inset 0 0 18px #000}
.camera-menu-button{min-width:44px;min-height:44px;display:grid;place-items:center;border:2px outset #4d5049;border-radius:10px;color:#ddd;background:#20221e;font:700 .58rem "Courier New",monospace;text-align:center}
.camera-display-stack{position:relative;min-width:0;min-height:0;height:100%}
.camera-display-stack::before{content:"";position:absolute;z-index:6;top:28%;left:28%;width:44%;height:32%;pointer-events:none;border:2px solid #d5edb0;box-shadow:0 0 8px #91bd75;opacity:0}
.camera-display-stack::after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;border-radius:9px;background:#020302;opacity:0}
.camera-stage[data-camera-state="off"] .camera-display-stack::after{opacity:.96}
.camera-stage[data-camera-state="waking"] .camera-display-stack::after{animation:camera-wake .45s ease-out forwards}
.camera-stage[data-camera-state="focusing"] .camera-display-stack::before{opacity:1}
.camera-stage[data-camera-state="capture-feedback"] .camera-display-stack::after{animation:camera-capture .12s steps(2,end)}
.camera-screen{height:100%;min-height:0;overflow:auto;border:clamp(7px,1vw,13px) solid #0a0b09;border-radius:9px;background:#0b100c;box-shadow:inset 0 0 28px #000,0 0 0 2px #454940}
.camera-menu-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;overflow:hidden;padding:clamp(14px,2vw,28px)}
.camera-menu-screen h1{font-size:clamp(1.7rem,10vw,3rem);overflow-wrap:anywhere}
.camera-screen-label{margin:0;color:#a9c4ae;font:700 .85rem "Courier New",monospace;text-transform:uppercase}
.camera-collections{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
.camera-collection-link{position:relative;min-width:0;min-height:0;display:block;overflow:hidden;border:1px solid #665f53;padding:3px;color:#eee7da;background:#181713}
.camera-collection-link span{position:absolute;right:3px;bottom:3px;left:3px;padding:3px 5px;overflow:hidden;background:rgba(2,5,3,.82);font:700 .68rem "Courier New",monospace;text-overflow:ellipsis;white-space:nowrap}
.camera-collection-link:hover,.camera-collection-link:focus-visible{border-color:#d9c8a8;outline:3px solid #b9a983;outline-offset:2px}
.camera-collection-link[aria-current="true"]{border-color:#e7d29e;outline:3px solid #b9d683;outline-offset:-4px;background:#24271b}
.camera-collection-link img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;filter:saturate(.78) contrast(1.08)}
.camera-menu-count{margin:0;color:#c6bda9;font:700 .72rem "Courier New",monospace;text-align:right}
.camera-photo-screen{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;color:#e5e0d5}
.camera-photo-screen figure{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0}
.camera-photo-screen img{width:100%;height:100%;min-height:0;object-fit:contain;background:var(--camera-placeholder,#050806)}
.camera-photo-screen figcaption{min-height:42px;padding:10px 14px;color:#eee7da;background:#11120f}
.camera-readout{display:flex;justify-content:space-between;gap:16px;padding:8px 14px;color:#c6bda9;background:#090a08;font:700 .75rem "Courier New",monospace}
.camera-dpad{display:grid;grid-template-columns:repeat(3,44px);gap:8px;width:max-content;margin:0}
.camera-controls button,.camera-controls a{min-width:44px;min-height:44px;display:grid;place-items:center;border:3px outset #51544d;border-radius:50%;padding:0;color:#eee;background:#22241f;font:700 .65rem "Courier New",monospace}
.camera-controls button:active,.camera-control-dial:active,.camera-menu-button:active{transform:translateY(2px);border-style:inset}
.camera-dpad-center{grid-column:2}
.camera-info{position:absolute;z-index:4;right:14px;bottom:14px;left:14px;max-height:82%;overflow:auto;border:1px solid #756d5f;padding:10px 12px;color:#eee7da;background:rgba(24,23,19,.96);box-shadow:0 8px 24px rgba(0,0,0,.55)}
.camera-info:not([open]){left:auto;padding:0 12px}
.camera-info>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}
.camera-info h1{font-size:clamp(1.7rem,4vw,3.2rem);line-height:1.05}
.camera-info p{max-width:70ch}
.camera-info .project-context{width:100%;margin:16px 0 0;color:inherit}
@media (max-width:900px){
  .device-home{grid-template-columns:1fr;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}
  .device-home::-webkit-scrollbar{display:none}
  .device-choice{min-height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}
  .device-portal-camera{border-right:0;border-bottom:1px solid #4a463d}
}
@media (max-width:700px){
  .pc-workspace{grid-template-columns:1fr}
  .device-home{height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}
  .device-home::-webkit-scrollbar{display:none}
  .device-choice{min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));scroll-snap-align:start;scroll-snap-stop:always}
  .device-portal-camera{border-right:0;border-bottom:1px solid #4a463d}
  .device-portal-camera .camera-stage{height:min(68dvh,574px)}
  .device-portal-camera .camera-body{height:100%;min-height:0}
  .device-portal-camera .camera-back{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:6px;padding:6px}
  .device-portal-camera .camera-control-rail{min-height:60px;flex-direction:row;gap:10px;padding:5px 8px}
  .device-portal-camera .camera-menu-screen{padding:8px}
  .device-portal-camera .camera-collection-link{min-height:0;padding:2px}
  .device-portal-pc .pc-desktop{height:min(68dvh,574px)}
  .device-portal-copy strong{font-size:clamp(1.2rem,6vw,1.8rem)}
  .device-portal-copy span{font-size:.62rem}
  .device-portal-pc .pc-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
  .device-portal-pc .pc-status-line{position:relative;right:auto;bottom:auto;left:auto;margin:0 14px 10px}
  .pc-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pc-hardware{width:calc(100vw - 8px);height:calc(100dvh - 8px);padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));grid-template-rows:minmax(0,1fr) calc(30px + env(safe-area-inset-bottom));border-radius:14px}
  .pc-bezel{padding:7px;border-radius:10px}
  .pc-crt{padding:4px;border-radius:20px}
  .pc-screen{overflow:auto;border-radius:16px}
  .pc-hardware-controls{padding:0 4px env(safe-area-inset-bottom)}
  .pc-vents{width:82px}
  .pc-window-layer .pc-window{inset:22px 14px 42px!important;width:auto!important;height:auto!important;min-width:0;min-height:0}
  .pc-window-layer .pc-window:not([data-pc-active]){display:none}
  .pc-window-titlebar{cursor:default}
  .pc-window-resize{display:none}
  .pc-taskbar{right:8px;bottom:6px;left:8px;overflow-x:auto;scrollbar-width:thin}
  .pc-taskbar button{flex:0 0 auto}
  .pc-window-summary,.pc-disclosure{font-size:.82rem}
  .camera-stage{place-items:start center;padding:4px}
  .camera-body{width:calc(100vw - 8px);height:calc(100dvh - 8px);min-height:0;grid-template-rows:54px minmax(0,1fr);border-radius:14px}
  .camera-topplate{grid-template-columns:52px minmax(0,1fr) auto auto;padding:max(6px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left))}
  .camera-battery{font-size:.58rem}
  .camera-back{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .camera-display-stack{height:auto}
  .camera-control-rail{min-height:96px;flex-direction:row;gap:18px;padding:8px 16px}
  .camera-menu-button{min-width:48px}
  .camera-collection-link{min-height:0}
  .camera-readout{align-items:flex-start;flex-direction:column;gap:2px}
}
@media (max-width:340px){
  .device-portal-camera .camera-topplate{grid-template-columns:46px minmax(0,1fr) auto auto;gap:6px}
  .device-portal-camera .camera-topplate small{display:none}
  .device-portal-camera .camera-control-dial{width:58px;font-size:.42rem}
  .device-portal-camera .camera-battery{font-size:.5rem}
  .device-portal-copy{gap:8px}
}
.device-portal-camera .camera-dpad{grid-template-columns:repeat(3,44px)}
@media (max-height:500px) and (max-width:900px){
  .device-choice{gap:8px;padding:10px 16px}
  .device-portal-copy strong{font-size:1.5rem}
  .device-portal-copy span{font-size:.58rem}
  .pc-desktop{padding:4px}
  .pc-hardware{width:calc(100vw - 8px);height:calc(100dvh - 8px);padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));grid-template-rows:minmax(0,1fr) calc(28px + env(safe-area-inset-bottom));border-radius:12px}
  .pc-bezel{padding:6px}
  .pc-window-layer .pc-window{inset:14px 12px 36px!important;width:auto!important;height:auto!important;min-width:0;min-height:0}
  .pc-window-layer .pc-window:not([data-pc-active]){display:none}
  .pc-window-titlebar{cursor:default}
  .pc-window-resize{display:none}
  .pc-taskbar{right:8px;bottom:4px;left:8px;overflow-x:auto}
  .pc-taskbar button{flex:0 0 auto}
}
.device-portal-pc .pc-desktop[data-pc-expanded]{position:fixed;z-index:100;inset:0;width:100vw;height:100dvh;min-height:100dvh;padding:clamp(4px,.5vw,8px);overflow:hidden;background:radial-gradient(circle at 50% 42%,#27261f 0,#11120e 68%,#080906 100%);animation:pc-expand .18s ease-out}
.device-portal-pc .pc-desktop[data-pc-expanded] .pc-hardware{width:min(98vw,1500px);height:min(97svh,1000px)}
.device-portal-pc .pc-desktop[data-pc-expanded] .pc-back{display:block}
body[data-device-portal-open]{overflow:hidden}
@keyframes pc-expand{from{opacity:.85;transform:scale(.96)}}
@keyframes pc-ignition{0%{opacity:0;transform:scaleX(0)}45%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(.2)}}
@keyframes pc-bloom{from{filter:brightness(.25);transform:scaleY(.04)}55%{filter:brightness(1.35);transform:scaleY(1)}to{filter:brightness(1);transform:none}}
@keyframes pc-shutdown{0%{filter:brightness(1);transform:none}70%{filter:brightness(1.8);transform:scaleY(.01)}100%{filter:brightness(.08);transform:scale(0)}}
@keyframes camera-wake{from{opacity:.95}45%{opacity:.45}70%{opacity:.2}to{opacity:0}}
@keyframes camera-capture{0%,100%{opacity:0}50%{opacity:.88}}
