:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;width:100%;height:100vh;overflow:hidden}#root{width:100%;height:100%}.app{width:100%;height:100%;position:relative;overflow:hidden}.canvas-container{width:100%;height:100%;position:absolute;top:0;left:0}.canvas-container canvas{display:block;width:100%;height:100%}.overlay-back-btn{position:absolute;top:16px;left:16px;z-index:100;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:8px 20px;font-size:14px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;cursor:pointer;transition:background .2s}.overlay-back-btn:hover{background:#000c}.overlay-breadcrumbs{position:absolute;top:16px;right:16px;z-index:100;background:#00000080;color:#fff;border-radius:8px;padding:6px 14px;font-size:12px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;direction:rtl;pointer-events:none}.breadcrumb-sep{opacity:.5}.breadcrumb-current{font-weight:700}.overlay-text-panel{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:200;background:#000000d9;color:#fff;border-radius:12px;padding:24px 28px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px);max-width:450px;max-height:calc(100dvh - 80px);overflow-y:auto;box-sizing:border-box;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;font-size:15px;line-height:1.8;border:1px solid rgba(255,255,255,.15);animation:slideUp .3s ease-out}@media(max-width:600px){.overlay-text-panel{bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:18px 20px;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));font-size:14px;line-height:1.7;max-height:calc(100dvh - 40px)}}.overlay-text-close{position:absolute;top:8px;right:8px;background:#ffffff26;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.overlay-text-close:hover{background:#ffffff4d}.overlay-text-content{margin-top:8px}.overlay-loading{position:absolute;top:0;left:0;right:0;z-index:300;padding:4px 20% 0}.overlay-loading-bar{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.overlay-loading-fill{height:100%;background:gold;border-radius:2px;transition:width .3s ease}.editor-badge{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:500;background:#ffc800e6;color:#000;padding:6px 16px;border-radius:4px;font-size:12px;font-weight:700;font-family:monospace;pointer-events:none}.landing-overlay{position:fixed;inset:0;z-index:500;background:#37465aa6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column;opacity:1;transition:opacity .5s ease}.landing-overlay.landing-fade-out{opacity:0}.landing-scroll-wrapper{width:100%;flex:1;min-height:0;overflow-y:auto;display:flex;justify-content:center}.landing-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 32px 100px;max-width:720px;width:100%}.landing-locale-switch{position:fixed;top:16px;left:16px;z-index:501;display:flex;direction:ltr;gap:0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.3)}.landing-locale-btn{background:transparent;color:#fff9;border:none;padding:8px 20px;font-size:14px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s}.landing-locale-btn:hover{background:#ffffff1a}.landing-locale-btn.landing-locale-active{background:#fff3;color:#fff}.landing-welcome-label{color:#ffffffd9;font-size:28px;font-family:Georgia,Noto Sans Arabic,serif;font-weight:400;margin:0 0 4px;line-height:1.3}.landing-title{color:#fff;font-size:42px;font-family:Georgia,Noto Sans Arabic,serif;font-weight:700;margin:0 0 28px;line-height:1.2}.landing-text-body{color:#ffffffd9;font-size:15px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;line-height:1.7;margin-bottom:28px}.landing-text-body p{margin:0 0 16px}.landing-text-body p:last-child{margin-bottom:0}@property --btn-border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.landing-start-btn{position:relative;background:linear-gradient(135deg,#3a5f8ca6,#4e78aaa6);color:#f8fbff;border:1px solid transparent;border-radius:30px;padding:14px 48px;font-size:18px;font-weight:500;letter-spacing:.3px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;cursor:pointer;isolation:isolate;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px #28466e59,inset 0 1px #ffffff2e;transition:transform .2s ease;margin-bottom:32px;animation:landing-start-breathe 3.6s ease-in-out infinite}.landing-start-btn:before{content:"";position:absolute;inset:-1.5px;border-radius:30px;padding:1.5px;background:conic-gradient(from var(--btn-border-angle),rgba(170,200,235,.15) 0deg,rgba(220,240,255,.85) 60deg,rgba(170,200,235,.15) 120deg,rgba(170,200,235,.15) 240deg,rgba(220,240,255,.6) 300deg,rgba(170,200,235,.15) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1;animation:landing-start-border-rotate 4.2s linear infinite}@keyframes landing-start-border-rotate{to{--btn-border-angle: 360deg}}@keyframes landing-start-breathe{0%,to{box-shadow:0 4px 14px #28466e59,inset 0 1px #ffffff2e,0 0 #96beeb00}50%{box-shadow:0 6px 20px #28466e66,inset 0 1px #ffffff38,0 0 22px 2px #96beeb47}}.landing-start-btn:hover{background:linear-gradient(135deg,#4873a5cc,#5f8cc3cc);transform:translateY(-1px) scale(1.02);animation-play-state:paused;box-shadow:0 6px 20px #28466e73,inset 0 1px #ffffff40,0 0 26px 3px #aacdf061}.landing-start-btn:hover:before{animation-duration:2.2s}.landing-start-btn:active{transform:translateY(0) scale(1);box-shadow:0 2px 8px #28466e59,inset 0 1px #ffffff26,0 0 14px 1px #96beeb33}@media(prefers-reduced-motion:reduce){.landing-start-btn,.landing-start-btn:before{animation:none}}.landing-divider{width:100%;height:1px;background:#fff3;margin-bottom:24px}.landing-disclaimer-label{color:#ffffffb3;font-size:14px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;font-weight:400;margin:0 0 12px;letter-spacing:.5px}.landing-disclaimer-body{color:#fff9;font-size:12px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;line-height:1.6;margin-bottom:20px}.landing-disclaimer-body p{margin:0 0 10px}.landing-disclaimer-body p:last-child{margin-bottom:0}.landing-contact{color:#fff9;font-size:12px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;line-height:1.6;margin-bottom:20px}.landing-contact p{margin:0 0 6px}.landing-contact a{color:#fffc;text-decoration:underline}.landing-invite-link{color:#ffffffe6;text-decoration:underline;cursor:pointer}.landing-logos-fixed{flex-shrink:0;display:flex;gap:32px;align-items:center;justify-content:center;flex-wrap:wrap;padding:14px 32px;background:#1e2832d9;border-top:1px solid rgba(255,255,255,.1)}.landing-logo-img{height:40px;width:auto;opacity:.85;object-fit:contain}@media(max-width:480px){.landing-content{padding:56px 16px 120px}.landing-locale-switch{top:10px;left:10px}.landing-locale-btn{padding:6px 14px;font-size:13px}.landing-welcome-label{font-size:20px}.landing-title{font-size:28px;margin-bottom:20px}.landing-text-body{font-size:13px;line-height:1.6;margin-bottom:20px}.landing-start-btn{padding:12px 32px;font-size:15px;margin-bottom:24px}.landing-disclaimer-label{font-size:12px}.landing-disclaimer-body,.landing-contact{font-size:11px}.landing-logos-fixed{gap:16px;padding:10px 16px}.landing-logo-img{height:28px}}.zoom-hint{position:fixed;top:68px;left:50%;transform:translate(-50%);z-index:100;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:8px 20px;color:#ffffffd9;font-size:13px;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;white-space:nowrap;pointer-events:none;opacity:1;transition:opacity .3s ease}.zoom-hint-hidden{opacity:0}.toolbar{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:4px 6px;transition:opacity .3s ease}.toolbar-visible{opacity:1;pointer-events:auto}.toolbar-hidden{opacity:0;pointer-events:none}.toolbar-btn{background:none;border:none;color:#fff;font-size:13px;font-weight:600;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;padding:6px 14px;border-radius:20px;cursor:pointer;transition:background .2s;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:4px}.toolbar-btn:hover{background:#ffffff26}.toolbar-divider{width:1px;height:18px;background:#fff3;flex-shrink:0}.zoom-controls{position:absolute;bottom:24px;right:24px;z-index:100;display:flex;flex-direction:column;align-items:center;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:12px;overflow:hidden}.zoom-btn{background:none;border:none;color:#fff;font-size:20px;font-weight:600;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;line-height:1;user-select:none;-webkit-user-select:none}.zoom-btn:hover{background:#ffffff26}.zoom-btn:active{background:#ffffff40}.zoom-divider{width:24px;height:1px;background:#fff3}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.credits-handle{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:0;right:0;margin:0 auto;width:88px;height:22px;z-index:300;display:flex;align-items:center;justify-content:center;background:#37465a73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:0;cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s ease,background .2s ease,width .2s ease}.credits-handle:hover{background:#4b5f788c;width:96px}.credits-handle-grab{width:36px;height:4px;border-radius:3px;background:#fffc;display:block}.credits-backdrop{position:fixed;inset:0;z-index:400;background:#141e2d59;opacity:0;pointer-events:none;transition:opacity .3s ease}.credits-backdrop.credits-backdrop-visible{opacity:1;pointer-events:auto}.credits-sheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:960px;height:min(90vh,820px);z-index:450;background:#37465a8c;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-top-left-radius:20px;border-top-right-radius:20px;border:1px solid rgba(255,255,255,.18);border-bottom:none;box-shadow:0 -12px 40px #00000040;display:flex;flex-direction:column;overflow:hidden}.credits-sheet-header{flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;padding:10px 0 8px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.credits-sheet-header:active{cursor:grabbing}.credits-sheet-grab{width:44px;height:4px;border-radius:3px;background:#ffffff4d}.credits-sheet-close{position:absolute;top:6px;right:12px;width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.22);color:#ffffffe6;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}[dir=rtl] .credits-sheet-close{right:auto;left:12px}.credits-sheet-close:hover{background:#ffffff1f}.credits-sheet-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column}.credits-sheet-content{padding:8px 48px 32px;max-width:900px;width:100%;margin:0 auto;text-align:center}.credits-title{color:#f4efe4;font-family:Georgia,Noto Sans Arabic,serif;font-size:34px;font-weight:600;margin:16px 0 20px;line-height:1.2}.credits-intro{color:#ffffffd1;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;font-size:15px;line-height:1.75;max-width:640px;margin:0 auto 28px}.credits-divider{width:60%;max-width:420px;height:1px;background:#ffffff38;margin:0 auto 28px}.credits-section-header{color:#f4efe4;font-family:Georgia,Noto Sans Arabic,serif;font-size:22px;font-weight:500;margin:0 0 28px;line-height:1.3}.credits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 44px;text-align:start;max-width:780px;margin:0 auto}.credits-group{display:flex;flex-direction:column;gap:8px}.credits-group-label{color:#ffffffb3;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.4px;margin:0;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.credits-group-list{list-style:none;padding:0;margin:0;color:#ffffffe0;font-family:Noto Sans Arabic,Tahoma,Arial,sans-serif;font-size:14px;line-height:1.7}.credits-group-list li{position:relative;padding-inline-start:14px}.credits-group-list li:before{content:"";position:absolute;inset-inline-start:0;top:.7em;width:4px;height:4px;border-radius:50%;background:#ffffff73}.credits-logos{flex-shrink:0;display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap;padding:14px 24px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));background:#1e283259;border-top:1px solid rgba(255,255,255,.14)}.credits-logo-img{height:32px;width:auto;opacity:.85;object-fit:contain}@media(max-width:720px){.credits-handle{bottom:calc(8px + env(safe-area-inset-bottom,0px));width:76px;height:20px}.credits-handle-grab{width:32px;height:3px}.credits-sheet{height:100dvh;border-radius:16px 16px 0 0}.credits-sheet-content{padding:4px 20px 24px}.credits-title{font-size:26px;margin:12px 0 16px}.credits-intro{font-size:14px;line-height:1.7;margin-bottom:22px}.credits-divider{margin-bottom:22px}.credits-section-header{font-size:18px;margin-bottom:22px}.credits-grid{grid-template-columns:1fr;gap:22px}.credits-group-label{font-size:12px}.credits-group-list{font-size:13px}.credits-logos{gap:16px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.credits-logo-img{height:26px}}
