.project-viewer-launch{position:absolute;inset:auto 20px 20px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;color:#f4f7f6;background:rgba(16,25,28,.9);border:1px solid hsla(0,0%,100%,.18);border-radius:12px}.project-viewer-launch>span:last-child{font-size:13px;line-height:1.5}.project-viewer-launch .mono{font-size:11px}.project-viewer-floating{position:fixed;left:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;border:1px solid var(--accent);border-radius:999px;padding:16px 22px;background:var(--accent);color:#fff;font:inherit;font-weight:650;box-shadow:0 6px 30px #0005;cursor:pointer}.theme-cinema:has(.cookie:not([hidden]),.assistant-panel) .project-viewer-floating{display:none}.project-viewer-dialog{width:min(1440px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-sizing:border-box;overflow:hidden}.project-viewer-dialog::-webkit-backdrop{background:#07100dea}.project-viewer-dialog::backdrop{background:#07100dea}.project-viewer-dialog[open]{display:flex;flex-direction:column;height:min(900px,calc(100dvh - 32px))}.project-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.project-viewer-header h2{font-size:clamp(18px,2.5vw,28px);margin:4px 0 0;line-height:1.2}.project-viewer-header .mono{font-size:10px;color:var(--muted)}.project-viewer-close{color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:50%;font-size:20px;flex:0 0 44px;height:44px;cursor:pointer}.project-viewer-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:0;flex:1 1}.project-viewer-stage{position:relative;min-height:0;height:100%;min-width:0;background:#182227}.project-viewer-canvas{width:100%;height:100%}.project-viewer-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.project-viewer-fallback{position:absolute;inset:0;display:grid;place-items:center}.project-viewer-fallback img{width:100%;height:100%;object-fit:contain;opacity:.5}.project-viewer-fallback>div{position:absolute;inset:auto 20px 20px;padding:16px;background:#18241fee;border-radius:8px}.project-viewer-controls{padding:20px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:18px;font-size:13px;line-height:1.5;overflow-y:auto;min-height:0}.project-viewer-controls p,.project-viewer-footer p{margin:0;color:var(--muted)}.project-viewer-controls label{display:flex;flex-direction:column;gap:8px}.project-viewer-controls select{width:100%;padding:10px;border-radius:6px;border:1px solid var(--line);color:var(--ink);background:#24362e;font:inherit}.project-viewer-controls input[type=range]{width:100%;accent-color:var(--accent);min-height:32px}.project-viewer-controls .project-viewer-checkbox{flex-direction:row;align-items:center;min-height:36px}.project-viewer-checkbox input{width:18px;height:18px;accent-color:var(--accent)}.project-viewer-buttons{display:flex;flex-wrap:wrap;gap:8px}.project-viewer-buttons button{font:inherit;padding:10px 12px;min-height:42px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer}.project-viewer-buttons button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.project-viewer-dialog button:focus-visible,.project-viewer-dialog select:focus-visible,.project-viewer-floating:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.project-viewer-dialog button:disabled,.project-viewer-dialog input:disabled{opacity:.45;cursor:not-allowed}.project-viewer-footer{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}.project-viewer-footer p{font-size:11px;line-height:1.5;max-width:75ch}.project-viewer-footer .btn{flex-shrink:0;background:var(--accent);color:#fff;padding:12px 18px;font-size:14px}.project-viewer-pad{position:absolute;left:20px;bottom:20px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-viewer-pad button{width:44px;height:44px;margin:3px;color:#fff;background:#162b28df;border:1px solid #afc4bb;border-radius:9px;font-size:22px;touch-action:none;cursor:pointer}.project-viewer-colors{display:flex;gap:10px}.project-viewer-colors button{width:42px;height:42px;border:2px solid #ffffff80;border-radius:50%;cursor:pointer}.project-viewer-colors button[aria-pressed=true]{outline:2px solid #fff;outline-offset:3px}.project-viewer-route-status:empty{display:none}.project-viewer-status{padding:40px}.project-viewer-footer,.project-viewer-header{flex-shrink:0}.project-viewer-controls progress{width:100%;height:6px;accent-color:var(--accent)}.pro-work-cover{position:relative}@media(max-width:900px){.project-viewer-body{display:block;overflow-y:auto}.project-viewer-stage{height:42dvh;min-height:260px}.project-viewer-controls{border-left:0;border-top:1px solid var(--line)}}@media(max-width:600px){.project-viewer-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:10px}.project-viewer-footer,.project-viewer-header{padding:14px}.project-viewer-footer{flex-direction:column;align-items:stretch;gap:12px}.project-viewer-footer .btn{justify-content:center}.project-viewer-launch{inset:auto 12px 12px;padding:14px}.project-viewer-floating{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));font-size:13px;padding:12px 18px}}@media(max-width:680px){.theme-cinema:has(.mobile-cta) .project-viewer-floating{bottom:calc(84px + env(safe-area-inset-bottom))}.theme-cinema:has(.romapa-assistant) .project-viewer-floating{bottom:calc(168px + env(safe-area-inset-bottom))}}