*{margin:0;padding:0;box-sizing:border-box}.container,body{display:flex;justify-content:center}body{font-family:system-ui,-apple-system,sans-serif;background:#111;color:#eee;min-height:100vh;flex-direction:column;align-items:center;padding:1rem;position:relative}video{position:fixed;top:-9999px;left:-9999px;width:640px;height:480px;pointer-events:none}header{text-align:center;width:100%}h1{font-size:1.6rem;font-weight:500;margin-bottom:1rem;letter-spacing:.02em;color:#c8a96e}#langSwitcher,button{background:#2a2a2a;color:#eee;border:1px solid #444;cursor:pointer}#langSwitcher{position:absolute;top:1rem;right:1rem;padding:.3rem .6rem;border-radius:6px;font-size:.85rem;z-index:60}.container{gap:1.5rem;flex-wrap:wrap;align-items:flex-start}#controls,.panel{display:flex;align-items:center}.panel{flex-direction:column;gap:.4rem}.panel-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6}canvas{border-radius:12px;max-width:100%;max-height:55vh;box-shadow:0 4px 24px rgba(0,0,0,.5);display:block}#controls{margin-top:1.5rem;gap:1rem;flex-wrap:wrap;justify-content:center}button{padding:.6rem 1.6rem;border-radius:8px;font-size:.95rem;transition:background .2s}button:hover{background:#3a3a3a}button:disabled{opacity:.4;cursor:not-allowed}button.active{background:#c8a96e;color:#111;border-color:#c8a96e}.btn-group{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid #444}.btn-group button{border-radius:0;border:0;border-right:1px solid #444}.btn-group button:last-child{border-right:none}#btnCapture{width:72px;height:72px;border-radius:50%;background:#2a2a2a;border:4px solid #bbb;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,border-color .2s,opacity .2s,box-shadow .2s;box-shadow:0 2px 16px rgba(0,0,0,.5)}#btnCapture:hover{border-color:#fff;transform:scale(1.04)}#btnCapture:active{transform:scale(.92)}#btnCapture:disabled{opacity:.3;cursor:not-allowed;transform:none;border-color:#666;box-shadow:none}#btnCapture .paw{font-size:36px;line-height:1;color:#eee;transition:color .2s}#btnCapture:hover .paw{color:#fff}.error{color:#f57}article{max-width:640px;margin:2rem auto 0;padding:1.5rem;background:#1a1a1a;border:1px solid #333;border-radius:12px;line-height:1.7}article h2{font-size:1.3rem;font-weight:600;color:#c8a96e;margin-bottom:1rem}article p{font-size:.95rem;color:#ccc;margin-bottom:.8rem}article p:last-child{margin-bottom:0}footer{margin-top:2rem;font-size:.8rem;color:#555;text-align:center}#permOverlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}#launchOverlay.hidden,#permOverlay.hidden{display:none}#permDialog{background:#1a1a1a;border:1px solid #333;border-radius:16px;padding:2rem 2rem 1.5rem;max-width:420px;width:100%;text-align:center}#permDialog h2{font-size:1.2rem;font-weight:500;margin-bottom:.6rem;color:#eee}#permDialog p{font-size:.92rem;line-height:1.5;color:#aaa;margin-bottom:1.4rem}#permDialog button{background:#c8a96e;color:#111;border:0;padding:.7rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;width:100%}#permDialog button:hover{background:#d9ba7f}.app-area{position:relative}.app-area:has(#launchOverlay:not(.hidden)){min-height:200px}.app-area:has(#launchOverlay:not(.hidden)) #controls,.app-area:has(#launchOverlay:not(.hidden)) .container,body:has(#launchOverlay:not(.hidden)) header h1{display:none}#launchOverlay{position:absolute;inset:0;background:#111;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem;border-radius:12px}#launchDialog{text-align:center}#launchDialog .paw-large{font-size:64px;display:block;margin-bottom:.5rem}#launchDialog h2{font-size:1.6rem;font-weight:500;color:#c8a96e;margin-bottom:1.5rem}#btnLaunch{background:#c8a96e;color:#111;border:0;padding:.8rem 2.5rem;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}#btnLaunch:hover{background:#d9ba7f;transform:scale(1.05)}#btnLaunch:active{transform:scale(.95)}.hidden{display:none!important}#permRequesting{font-size:.95rem;color:#c8a96e;margin-bottom:1.4rem}#permError{color:#f57;font-size:.85rem;line-height:1.4;margin-bottom:1rem;display:none}#permError.visible{display:block}#captureOverlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}#captureOverlay.hidden{display:none}#captureDialog{background:#1a1a1a;border:1px solid #333;border-radius:16px;padding:1.5rem;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1rem}#captureDialog h2{font-size:1.1rem;font-weight:500;color:#eee}#capturePreview{max-width:100%;max-height:60vh;overflow:hidden}#capturePreview img{max-width:100%;max-height:60vh;border-radius:8px;display:block}#captureActions button,[data-i18n]{overflow-wrap:break-word}#captureActions{display:flex;gap:.5rem;width:100%;flex-wrap:wrap}#captureActions button{flex:1 1 0;min-width:0;padding:.5rem .6rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;border:0;transition:background .2s;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;white-space:normal}#btnShare{background:#c8a96e;color:#111}#btnShare:hover{background:#d9ba7f}#btnDiscard,#btnDownload{background:#2a2a2a;color:#eee;border:1px solid #444}#btnDiscard:hover,#btnDownload:hover{background:#3a3a3a}#captureActions button svg{width:22px;height:22px;display:block}#fullscreenOverlay{position:fixed;inset:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:300;padding:1rem;cursor:pointer}#fullscreenOverlay.hidden{display:none}#fullscreenOverlay img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}