*{box-sizing:border-box}#root,body,html{height:100%;margin:0;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#ececed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:fixed}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.color-picker{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.85);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);left:5%;padding:16px;position:absolute;top:10%;transition:opacity .3s;z-index:10}.color-picker h1{color:#333;font-size:16px;margin:0 0 12px;text-transform:capitalize}.color-picker .pattern-swatches{margin-bottom:12px}.color-picker .pattern-swatches .pattern-label{color:#888;font-size:11px;letter-spacing:1px;margin:0 0 8px;text-transform:uppercase}.color-picker .pattern-swatches .pattern-grid{display:flex;flex-wrap:wrap;gap:6px}.color-picker .pattern-swatches .pattern-thumb{border:3px solid transparent;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer;height:44px;object-fit:cover;transition:all .2s;width:44px}.color-picker .pattern-swatches .pattern-thumb:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}.color-picker .pattern-swatches .pattern-thumb.active{border-color:#333;-webkit-transform:scale(1.1);transform:scale(1.1)}.color-picker .color-swatches{display:flex;flex-wrap:wrap;gap:8px;max-width:200px}.color-picker .color-swatches .swatch{border:3px solid transparent;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer;height:36px;transition:all .2s;width:36px}.color-picker .color-swatches .swatch.active,.color-picker .color-swatches .swatch:hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.color-picker .color-swatches .swatch.active{border-color:#333}.color-picker .free-picker{margin-top:12px}.model-selector{display:flex;flex-direction:column;height:90vh;justify-content:space-around;margin:16px;max-height:90vh;position:absolute;right:0;top:0;z-index:10}.model-selector .model-item{border:2px solid transparent;border-radius:10px;cursor:pointer;padding:6px;transition:all .2s}.model-selector .model-item.active{background:rgba(0,0,0,.05);border-color:#333}.model-selector .model-item:hover{background:rgba(0,0,0,.04)}.model-selector .model-item h4{margin:0;text-align:center}.model-selector .model-item img{max-width:100px;object-fit:contain}.dev-credit-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.7);border-radius:12px;bottom:5%;box-shadow:0 2px 12px rgba(0,0,0,.1);cursor:pointer;left:5%;padding:8px;position:absolute;transition:all .35s cubic-bezier(.22,1,.36,1);z-index:10}.dev-credit-badge:hover{box-shadow:0 8px 24px rgba(0,0,0,.15);-webkit-transform:scale(1.08) translateY(-2px);transform:scale(1.08) translateY(-2px)}.dev-credit-badge:active{-webkit-transform:scale(.96);transform:scale(.96)}.dev-credit-badge-label{color:#888;display:block;font-size:8px;letter-spacing:1.5px;line-height:1;margin-bottom:-2px;text-align:center;text-transform:uppercase}.dev-credit-logo{border-radius:10px;display:block;height:40px;object-fit:contain;width:100px}.dev-credit-overlay{align-items:center;-webkit-animation:dcFadeIn .35s ease;animation:dcFadeIn .35s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(0,0,0,.75);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}@-webkit-keyframes dcFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dcFadeIn{0%{opacity:0}to{opacity:1}}.dev-credit-modal{-webkit-animation:dcSlideUp .5s cubic-bezier(.22,1,.36,1);animation:dcSlideUp .5s cubic-bezier(.22,1,.36,1);border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.08),0 0 60px rgba(99,102,241,.15);max-width:90vw;overflow:hidden;position:relative;width:400px}@-webkit-keyframes dcSlideUp{0%{opacity:0;-webkit-transform:translateY(50px) scale(.92);transform:translateY(50px) scale(.92)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes dcSlideUp{0%{opacity:0;-webkit-transform:translateY(50px) scale(.92);transform:translateY(50px) scale(.92)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}.dev-credit-aurora{background:#0a0a1a;inset:0;overflow:hidden;position:absolute}.aurora-blob{border-radius:50%;-webkit-filter:blur(80px);filter:blur(80px);mix-blend-mode:screen;opacity:.6;position:absolute}.aurora-blob-1{-webkit-animation:auroraMove1 8s ease-in-out infinite alternate;animation:auroraMove1 8s ease-in-out infinite alternate;background:radial-gradient(circle,#6366f1 0,transparent 70%);height:300px;left:-40px;top:-60px;width:300px}.aurora-blob-2{-webkit-animation:auroraMove2 10s ease-in-out infinite alternate;animation:auroraMove2 10s ease-in-out infinite alternate;background:radial-gradient(circle,#06b6d4 0,transparent 70%);bottom:-40px;height:250px;right:-30px;width:250px}.aurora-blob-3{-webkit-animation:auroraMove3 6s ease-in-out infinite alternate;animation:auroraMove3 6s ease-in-out infinite alternate;background:radial-gradient(circle,#a855f7 0,transparent 70%);height:200px;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:200px}@-webkit-keyframes auroraMove1{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}to{-webkit-transform:translate(60px,40px) scale(1.2);transform:translate(60px,40px) scale(1.2)}}@keyframes auroraMove1{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}to{-webkit-transform:translate(60px,40px) scale(1.2);transform:translate(60px,40px) scale(1.2)}}@-webkit-keyframes auroraMove2{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}to{-webkit-transform:translate(-50px,-30px) scale(1.3);transform:translate(-50px,-30px) scale(1.3)}}@keyframes auroraMove2{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}to{-webkit-transform:translate(-50px,-30px) scale(1.3);transform:translate(-50px,-30px) scale(1.3)}}@-webkit-keyframes auroraMove3{0%{opacity:.4;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}to{opacity:.7;-webkit-transform:translate(-30%,-60%) scale(1.4);transform:translate(-30%,-60%) scale(1.4)}}@keyframes auroraMove3{0%{opacity:.4;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}to{opacity:.7;-webkit-transform:translate(-30%,-60%) scale(1.4);transform:translate(-30%,-60%) scale(1.4)}}.aurora-grid{background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:32px 32px;inset:0;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);position:absolute}.dev-credit-content{flex-direction:column;padding:40px 28px 32px;z-index:1}.dev-credit-content,.dev-credit-logo-ring{align-items:center;display:flex;position:relative}.dev-credit-logo-ring{height:100px;justify-content:center;margin-bottom:20px;width:100px}.dev-credit-logo-ring:before{-webkit-animation:dcRingSpin 4s linear infinite;animation:dcRingSpin 4s linear infinite;background:conic-gradient(from 0deg,#6366f1,#06b6d4,#a855f7,#ec4899,#6366f1);border-radius:22px;content:"";inset:-4px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;position:absolute}@-webkit-keyframes dcRingSpin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes dcRingSpin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.dev-credit-hero-logo{border-radius:18px;height:84px;object-fit:contain;position:relative;width:84px;z-index:1}.dev-credit-name{-webkit-animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .15s both;animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .15s both;color:#fff;font-size:28px;font-weight:700;letter-spacing:.5px;margin:0;text-align:center}.dev-credit-role{-webkit-animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .25s both;animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .25s both;color:hsla(0,0%,100%,.5);font-size:12px;letter-spacing:3px;margin:6px 0 28px;text-align:center;text-transform:uppercase}@-webkit-keyframes dcTextReveal{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes dcTextReveal{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.dev-credit-links{-webkit-animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .35s both;animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .35s both;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;max-width:280px;width:100%}.dev-credit-link{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;color:#fff;display:flex;font-size:14px;gap:10px;padding:12px 18px;text-decoration:none;transition:all .3s ease}.dev-credit-link:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.18);box-shadow:0 8px 24px rgba(0,0,0,.3);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.dev-credit-link-icon{font-size:18px}.dev-credit-close-btn{-webkit-animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .45s both;animation:dcTextReveal .6s cubic-bezier(.22,1,.36,1) .45s both;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;color:hsla(0,0%,100%,.6);cursor:pointer;font-family:inherit;font-size:13px;padding:8px 32px;transition:all .3s ease}.dev-credit-close-btn:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.25);color:#fff}.hidden{opacity:0;pointer-events:none}.toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.85);border-radius:12px;bottom:5%;box-shadow:0 4px 20px rgba(0,0,0,.1);display:flex;gap:6px;left:50%;padding:8px 12px;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10}.toolbar .toolbar-btn{align-items:center;background:transparent;border:none;border-radius:8px;color:#555;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:5px;padding:8px 14px;transition:all .2s}.toolbar .toolbar-btn:hover{background:rgba(0,0,0,.08);color:#222}.toolbar .toolbar-btn.active{background:#333;color:#fff}.toolbar .toolbar-btn span{white-space:nowrap}.parts-picker{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.85);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);max-height:80vh;min-width:140px;overflow-y:auto;padding:16px;position:absolute;right:130px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10}.parts-picker h3{color:#555;font-size:14px;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.parts-picker .parts-list{display:flex;flex-direction:column;gap:6px}.parts-picker .part-item{align-items:center;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 12px;text-transform:capitalize;transition:all .2s}.parts-picker .part-item:hover{background:rgba(0,0,0,.06)}.parts-picker .part-item.active{background:rgba(0,0,0,.1);font-weight:600}.parts-picker .part-item .part-color-dot{border:2px solid rgba(0,0,0,.15);border-radius:50%;flex-shrink:0;height:16px;width:16px}.parts-picker .parts-options{border-top:1px solid rgba(0,0,0,.1);margin-top:12px;padding-top:12px}.parts-picker .parts-options h3{color:#888;font-size:12px;letter-spacing:1px;margin:0 0 8px;text-transform:uppercase}.parts-picker .option-toggle{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:6px 12px}.parts-picker .parts-designs{border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:12px;padding-bottom:12px}.parts-picker .design-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}.parts-picker .design-card{align-items:center;background:rgba(0,0,0,.03);border:2px solid transparent;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:6px;transition:all .2s}.parts-picker .design-card img{border-radius:4px;height:55px;max-width:70px;object-fit:contain;width:100%}.parts-picker .design-card span{color:#666;font-size:10px;line-height:1.2;text-align:center}.parts-picker .design-card:hover{background:rgba(0,0,0,.07)}.parts-picker .design-card.active{background:rgba(0,0,0,.06);border-color:#333}.parts-picker .design-card.active span{color:#111;font-weight:600}.parts-picker .toggle-switch{background:#ccc;border-radius:10px;cursor:pointer;height:20px;position:relative;transition:background .2s;width:38px}.parts-picker .toggle-switch.on{background:#333}.parts-picker .toggle-switch .toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);height:16px;left:2px;position:absolute;top:2px;transition:left .2s;width:16px}.parts-picker .toggle-switch.on .toggle-knob{left:20px}.left-action-buttons{bottom:18%;display:flex;flex-direction:column;gap:6px;left:5%;position:absolute;z-index:10}.left-action-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.85);border:none;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.1);color:#555;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:6px;padding:9px 18px;transition:all .2s;white-space:nowrap}.left-action-btn:hover{background:hsla(0,0%,100%,.95);color:#222}.left-action-btn.active{background:#333;color:#fff}.offcanvas-backdrop{-webkit-animation:fadeIn .25s ease;animation:fadeIn .25s ease;background:rgba(0,0,0,.15);inset:0;position:fixed;z-index:19}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.offcanvas-drawer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:hsla(0,0%,100%,.95);box-shadow:4px 0 30px rgba(0,0,0,.12);display:flex;flex-direction:column;height:100%;left:0;position:fixed;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);transition:-webkit-transform .35s cubic-bezier(.22,1,.36,1);transition:transform .35s cubic-bezier(.22,1,.36,1);transition:transform .35s cubic-bezier(.22,1,.36,1),-webkit-transform .35s cubic-bezier(.22,1,.36,1);width:320px;z-index:20}.offcanvas-drawer.open{-webkit-transform:translateX(0);transform:translateX(0)}.offcanvas-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.08);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.offcanvas-title{color:#222;font-size:16px;font-weight:600;margin:0}.offcanvas-close{align-items:center;background:none;border:none;border-radius:6px;color:#888;cursor:pointer;display:flex;padding:4px;transition:all .2s}.offcanvas-close:hover{background:rgba(0,0,0,.06);color:#333}.offcanvas-body{flex:1 1;overflow-y:auto;padding:16px 20px}@-webkit-keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.logtext-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,0%,100%,.92);border-radius:14px;bottom:30%;box-shadow:0 4px 24px rgba(0,0,0,.14);left:5%;max-height:55vh;overflow-y:auto;padding:16px;position:absolute;width:280px;z-index:11}.logtext-panel-embedded>*{-webkit-animation:slideUp .3s ease both;animation:slideUp .3s ease both}.logtext-panel-embedded>:first-child{-webkit-animation-delay:.05s;animation-delay:.05s}.logtext-panel-embedded>:nth-child(2){-webkit-animation-delay:.1s;animation-delay:.1s}.logtext-panel-embedded>:nth-child(3){-webkit-animation-delay:.15s;animation-delay:.15s}.logtext-panel-embedded>:nth-child(4){-webkit-animation-delay:.2s;animation-delay:.2s}.logtext-panel-embedded>:nth-child(5){-webkit-animation-delay:.25s;animation-delay:.25s}.logtext-panel-embedded>:nth-child(6){-webkit-animation-delay:.3s;animation-delay:.3s}.logtext-panel-embedded>:nth-child(7){-webkit-animation-delay:.35s;animation-delay:.35s}.logtext-panel-embedded>:nth-child(8){-webkit-animation-delay:.4s;animation-delay:.4s}.logtext-panel-embedded>:nth-child(9){-webkit-animation-delay:.45s;animation-delay:.45s}.logtext-panel-embedded>:nth-child(10){-webkit-animation-delay:.5s;animation-delay:.5s}.logtext-panel-embedded>:nth-child(11){-webkit-animation-delay:.55s;animation-delay:.55s}.logtext-panel-embedded>:nth-child(12){-webkit-animation-delay:.6s;animation-delay:.6s}.logtext-panel .logtext-tabs,.logtext-panel-embedded .logtext-tabs{display:flex;gap:6px;margin-bottom:14px}.logtext-panel .logtext-tabs button,.logtext-panel-embedded .logtext-tabs button{background:rgba(0,0,0,.06);border:none;border-radius:8px;color:#555;cursor:pointer;flex:1 1;font-family:inherit;font-size:13px;padding:7px 0;transition:all .2s}.logtext-panel .logtext-tabs button:hover,.logtext-panel-embedded .logtext-tabs button:hover{background:rgba(0,0,0,.1)}.logtext-panel .logtext-tabs button.active,.logtext-panel-embedded .logtext-tabs button.active{background:#333;color:#fff}.logtext-panel .logtext-section,.logtext-panel-embedded .logtext-section{display:flex;flex-direction:column;gap:8px}.logtext-panel .logtext-label,.logtext-panel-embedded .logtext-label{color:#888;font-size:11px;letter-spacing:1px;margin:4px 0 0;text-transform:uppercase}.logtext-panel .logtext-row,.logtext-panel-embedded .logtext-row{align-items:center;display:flex;justify-content:space-between}.logtext-panel .logtext-divider,.logtext-panel-embedded .logtext-divider{background:rgba(0,0,0,.08);height:1px;margin:10px 0}.logtext-panel .logo-dropzone,.logtext-panel-embedded .logo-dropzone{align-items:center;border:2px dashed rgba(0,0,0,.2);border-radius:10px;color:#999;cursor:pointer;display:flex;font-size:12px;height:90px;justify-content:center;overflow:hidden;text-align:center;transition:all .2s}.logtext-panel .logo-dropzone:hover,.logtext-panel-embedded .logo-dropzone:hover{border-color:#666;color:#555}.logtext-panel .logo-dropzone.has-logo,.logtext-panel-embedded .logo-dropzone.has-logo{border-color:#ccc;border-style:solid}.logtext-panel .logo-preview,.logtext-panel-embedded .logo-preview{border-radius:6px;max-height:86px;max-width:100%;object-fit:contain}.logtext-panel .logtext-textarea,.logtext-panel-embedded .logtext-textarea{border:1.5px solid rgba(0,0,0,.15);border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;outline:none;padding:8px;resize:vertical;transition:border-color .2s;width:100%}.logtext-panel .logtext-textarea:focus,.logtext-panel-embedded .logtext-textarea:focus{border-color:#555}.logtext-panel .logtext-select,.logtext-panel-embedded .logtext-select{background:#fff;border:1.5px solid rgba(0,0,0,.15);border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;outline:none;padding:7px 10px;width:100%}.logtext-panel .logtext-color,.logtext-panel-embedded .logtext-color{border:none;border-radius:6px;cursor:pointer;height:28px;padding:0;width:36px}.logtext-panel .logtext-toggles,.logtext-panel-embedded .logtext-toggles{display:flex;flex-direction:column;gap:6px}.logtext-panel .logtext-toggle-item,.logtext-panel-embedded .logtext-toggle-item{align-items:center;color:#444;cursor:pointer;display:flex;font-size:13px;justify-content:space-between}.logtext-panel .logtext-placements,.logtext-panel-embedded .logtext-placements{display:flex;flex-wrap:wrap;gap:6px}.logtext-panel .logtext-placements button,.logtext-panel-embedded .logtext-placements button{background:transparent;border:1.5px solid rgba(0,0,0,.15);border-radius:8px;color:#555;cursor:pointer;flex:1 1;font-family:inherit;font-size:11px;padding:6px 4px;text-transform:capitalize;transition:all .2s}.logtext-panel .logtext-placements button:hover,.logtext-panel-embedded .logtext-placements button:hover{background:rgba(0,0,0,.06)}.logtext-panel .logtext-placements button.active,.logtext-panel-embedded .logtext-placements button.active{background:#333;border-color:#333;color:#fff}.logtext-panel .logtext-range,.logtext-panel-embedded .logtext-range{accent-color:#333;width:100%}.logtext-panel .logtext-pad,.logtext-panel-embedded .logtext-pad{background:rgba(0,0,0,.04);border:1.5px solid rgba(0,0,0,.12);border-radius:10px;cursor:crosshair;height:120px;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.logtext-panel .logtext-pad:active,.logtext-panel-embedded .logtext-pad:active{background:rgba(0,0,0,.07)}.logtext-panel .logtext-pad-hint,.logtext-panel-embedded .logtext-pad-hint{color:rgba(0,0,0,.22);font-size:11px;left:50%;pointer-events:none;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);white-space:nowrap}.logtext-panel .logtext-pad-dot,.logtext-panel-embedded .logtext-pad-dot{background:#333;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.3);height:14px;pointer-events:none;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:14px}.logtext-panel .logtext-arrows,.logtext-panel-embedded .logtext-arrows{align-items:center;display:flex;flex-direction:column;gap:3px;margin-top:6px}.logtext-panel .logtext-arrows-row,.logtext-panel-embedded .logtext-arrows-row{align-items:center;display:flex;gap:3px}.logtext-panel .logtext-arrow-btn,.logtext-panel-embedded .logtext-arrow-btn{align-items:center;background:hsla(0,0%,100%,.7);border:1.5px solid rgba(0,0,0,.15);border-radius:7px;color:#444;cursor:pointer;display:flex;font-family:inherit;font-size:12px;height:30px;justify-content:center;transition:all .15s;width:30px}.logtext-panel .logtext-arrow-btn:hover,.logtext-panel-embedded .logtext-arrow-btn:hover{background:rgba(0,0,0,.08);color:#111}.logtext-panel .logtext-arrow-btn:active,.logtext-panel-embedded .logtext-arrow-btn:active{background:#333;color:#fff}.logtext-panel .logtext-arrow-center,.logtext-panel-embedded .logtext-arrow-center{color:#aaa;font-size:20px;line-height:1}.logtext-panel .logtext-arrow-center:hover,.logtext-panel-embedded .logtext-arrow-center:hover{color:#333}.logtext-panel .logtext-clear,.logtext-panel-embedded .logtext-clear{background:transparent;border:1.5px solid rgba(0,0,0,.15);border-radius:8px;color:#c0392b;cursor:pointer;font-family:inherit;font-size:12px;padding:7px;transition:all .2s;width:100%}.logtext-panel .logtext-clear:hover,.logtext-panel-embedded .logtext-clear:hover{background:#fff0f0;border-color:#c0392b}.logtext-panel .logtext-items,.logtext-panel-embedded .logtext-items{margin-bottom:4px}.logtext-panel .logtext-item,.logtext-panel-embedded .logtext-item{align-items:center;background:rgba(0,0,0,.02);border:1.5px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-top:4px;padding:6px 8px;transition:all .15s}.logtext-panel .logtext-item:hover,.logtext-panel-embedded .logtext-item:hover{background:rgba(0,0,0,.06)}.logtext-panel .logtext-item.editing,.logtext-panel-embedded .logtext-item.editing{background:rgba(0,0,0,.05);border-color:#333}.logtext-panel .logtext-item-info,.logtext-panel-embedded .logtext-item-info{align-items:center;display:flex;gap:6px;overflow:hidden}.logtext-panel .logtext-item-type,.logtext-panel-embedded .logtext-item-type{background:#555;border-radius:4px;color:#fff;flex-shrink:0;font-size:10px;font-weight:600;padding:1px 5px;text-transform:uppercase}.logtext-panel .logtext-item-detail,.logtext-panel-embedded .logtext-item-detail{color:#666;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logtext-panel .logtext-item-delete,.logtext-panel-embedded .logtext-item-delete{background:none;border:none;color:#c0392b;cursor:pointer;flex-shrink:0;font-size:16px;line-height:1;padding:0 2px}.logtext-panel .logtext-item-delete:hover,.logtext-panel-embedded .logtext-item-delete:hover{color:#e74c3c}.logtext-panel .logtext-editing-badge,.logtext-panel-embedded .logtext-editing-badge{background:rgba(0,0,0,.04);border-radius:6px;color:#555;font-size:11px;margin-bottom:8px;padding:5px 8px}.logtext-panel .logtext-editing-badge button,.logtext-panel-embedded .logtext-editing-badge button{background:none;border:none;color:#c0392b;cursor:pointer;font-family:inherit;font-size:11px;padding:0;text-decoration:underline}.logtext-panel .logtext-place-btn,.logtext-panel-embedded .logtext-place-btn{background:#333;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;margin-top:8px;padding:9px;transition:background .2s;width:100%}.logtext-panel .logtext-place-btn:hover,.logtext-panel-embedded .logtext-place-btn:hover{background:#555}.custom-options-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,0%,100%,.92);border-radius:14px;bottom:30%;box-shadow:0 4px 24px rgba(0,0,0,.14);left:5%;max-height:75vh;overflow-y:auto;padding:16px;position:absolute;width:260px;z-index:11}.custom-options-embedded h3,.custom-options-panel h3{color:#333;font-size:15px;margin:0 0 14px}.custom-options-embedded .co-group,.custom-options-panel .co-group{-webkit-animation:slideUp .3s ease both;animation:slideUp .3s ease both;margin-bottom:12px}.custom-options-embedded .co-group-label,.custom-options-panel .co-group-label{color:#888;display:block;font-size:11px;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.custom-options-embedded .co-choices,.custom-options-panel .co-choices{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(3,1fr)}.custom-options-embedded .co-choice,.custom-options-panel .co-choice{align-items:center;background:rgba(0,0,0,.02);border:1.5px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:8px 4px;text-align:center;transition:all .2s}.custom-options-embedded .co-choice:hover,.custom-options-panel .co-choice:hover{background:rgba(0,0,0,.05)}.custom-options-embedded .co-choice.active,.custom-options-panel .co-choice.active{background:rgba(0,0,0,.06);border-color:#333}.custom-options-embedded .co-choice .co-choice-label,.custom-options-panel .co-choice .co-choice-label{color:#333;font-size:11px;line-height:1.2}.custom-options-embedded .co-choice .co-choice-price,.custom-options-panel .co-choice .co-choice-price{color:#888;font-size:9px;font-weight:500;margin-top:2px}.custom-options-embedded .co-choice.active .co-choice-label,.custom-options-panel .co-choice.active .co-choice-label{font-weight:600}.custom-options-embedded .co-choice.active .co-choice-price,.custom-options-panel .co-choice.active .co-choice-price{color:#333}.custom-options-embedded .co-toggle-row,.custom-options-panel .co-toggle-row{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.custom-options-embedded .co-toggle-price,.custom-options-panel .co-toggle-price{color:#888;font-size:12px}.custom-options-embedded .co-divider,.custom-options-panel .co-divider{background:rgba(0,0,0,.1);height:1px;margin:12px 0}.custom-options-embedded .co-total,.custom-options-panel .co-total{align-items:center;color:#222;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:4px 0}.custom-options-embedded .co-total-price,.custom-options-panel .co-total-price{color:#111;font-size:16px}.custom-options-embedded .co-views-hint,.custom-options-panel .co-views-hint{color:#999;font-size:11px;line-height:1.3;margin:0 0 6px}.custom-options-embedded .co-capture-btn,.custom-options-panel .co-capture-btn{align-items:center;background:transparent;border:1.5px dashed rgba(0,0,0,.2);border-radius:8px;color:#555;cursor:pointer;display:flex;font-family:inherit;font-size:12px;gap:6px;justify-content:center;margin-bottom:8px;padding:9px;transition:all .2s;width:100%}.custom-options-embedded .co-capture-btn:hover,.custom-options-panel .co-capture-btn:hover{background:rgba(0,0,0,.03);border-color:#333;color:#222}.custom-options-embedded .co-views-grid,.custom-options-panel .co-views-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin-bottom:10px}.custom-options-embedded .co-view-thumb,.custom-options-panel .co-view-thumb{background:#f5f5f5;border:1.5px solid rgba(0,0,0,.1);border-radius:6px;overflow:hidden;position:relative}.custom-options-embedded .co-view-thumb img,.custom-options-panel .co-view-thumb img{display:block;height:50px;object-fit:cover;width:100%}.custom-options-embedded .co-view-thumb .co-view-label,.custom-options-panel .co-view-thumb .co-view-label{color:#888;display:block;font-size:9px;padding:2px 0;text-align:center}.custom-options-embedded .co-view-thumb .co-view-remove,.custom-options-panel .co-view-thumb .co-view-remove{align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;height:16px;justify-content:center;opacity:0;padding:0;position:absolute;right:2px;top:2px;transition:opacity .2s;width:16px}.custom-options-embedded .co-view-thumb:hover .co-view-remove,.custom-options-panel .co-view-thumb:hover .co-view-remove{opacity:1}.custom-options-embedded .co-pdf-btn,.custom-options-panel .co-pdf-btn{background:#333;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;margin-top:8px;padding:10px;transition:all .2s;width:100%}.custom-options-embedded .co-pdf-btn:hover:not(:disabled),.custom-options-panel .co-pdf-btn:hover:not(:disabled){background:#555}.custom-options-embedded .co-pdf-btn:disabled,.custom-options-panel .co-pdf-btn:disabled{background:#bbb;cursor:not-allowed}.custom-options-embedded .co-note-textarea,.custom-options-panel .co-note-textarea{border:1.5px solid rgba(0,0,0,.12);border-radius:8px;box-sizing:border-box;color:#333;font-family:inherit;font-size:12px;line-height:1.4;min-height:60px;outline:none;padding:8px 10px;resize:vertical;transition:border-color .2s;width:100%}.custom-options-embedded .co-note-textarea::-webkit-input-placeholder,.custom-options-panel .co-note-textarea::-webkit-input-placeholder{color:#aaa}.custom-options-embedded .co-note-textarea::placeholder,.custom-options-panel .co-note-textarea::placeholder{color:#aaa}.custom-options-embedded .co-note-textarea:focus,.custom-options-panel .co-note-textarea:focus{border-color:#555}.custom-options-embedded .co-share-btn,.custom-options-panel .co-share-btn{align-items:center;background:transparent;border:1.5px solid rgba(0,0,0,.12);border-radius:8px;color:#555;cursor:pointer;display:flex;font-family:inherit;font-size:12px;gap:6px;justify-content:center;margin-bottom:10px;padding:8px;transition:all .2s;width:100%}.custom-options-embedded .co-share-btn:hover,.custom-options-panel .co-share-btn:hover{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.2);color:#222}.custom-options-embedded .co-view-annotate,.custom-options-panel .co-view-annotate{align-items:center;background:rgba(0,100,200,.7);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;height:16px;justify-content:center;left:2px;opacity:0;padding:0;position:absolute;top:2px;transition:opacity .2s;width:16px}.custom-options-embedded .co-view-thumb:hover .co-view-annotate,.custom-options-panel .co-view-thumb:hover .co-view-annotate{opacity:1}.custom-options-embedded .co-total-animated,.custom-options-panel .co-total-animated{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color .15s ease}.custom-options-embedded .toggle-switch,.custom-options-panel .toggle-switch{background:#ccc;border-radius:10px;cursor:pointer;height:20px;position:relative;transition:background .2s;width:38px}.custom-options-embedded .toggle-switch.on,.custom-options-panel .toggle-switch.on{background:#333}.custom-options-embedded .toggle-switch .toggle-knob,.custom-options-panel .toggle-switch .toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);height:16px;left:2px;position:absolute;top:2px;transition:left .2s;width:16px}.custom-options-embedded .toggle-switch.on .toggle-knob,.custom-options-panel .toggle-switch.on .toggle-knob{left:20px}.design-color-picker{margin-top:8px}.design-color-label{color:#888;display:block;font-size:11px;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.design-color-swatches{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.design-color-swatch{border:2px solid transparent;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);cursor:pointer;height:22px;transition:all .15s;width:22px}.design-color-swatch.active,.design-color-swatch:hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.design-color-swatch.active{border-color:#333}.design-color-more{align-items:center;background:conic-gradient(red,#ff0,lime,aqua,blue,#f0f,red);border:1.5px solid rgba(0,0,0,.15);border-radius:50%;cursor:pointer;display:flex;height:24px;justify-content:center;position:relative;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;width:24px}.design-color-more:hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.design-color-more .design-color-more-icon{color:#fff;font-size:14px;font-weight:700;line-height:1;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.6)}.design-color-more .design-color-hidden-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.annotation-overlay{align-items:center;-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease;background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.annotation-modal{background:#fff;border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;width:680px}.annotation-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.08);display:flex;justify-content:space-between;padding:12px 16px}.annotation-title{color:#222;font-size:15px;font-weight:600}.annotation-close{align-items:center;background:none;border:none;border-radius:6px;color:#888;cursor:pointer;display:flex;padding:4px;transition:all .2s}.annotation-close:hover{background:rgba(0,0,0,.06);color:#333}.annotation-canvas-wrap{align-items:center;background:#f5f5f5;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:8px}.annotation-canvas{border-radius:6px;cursor:crosshair;max-height:55vh;max-width:100%;touch-action:none}.annotation-tools{border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:10px;padding:12px 16px}.annotation-colors{display:flex;gap:6px}.annotation-color-swatch{border:2px solid transparent;border-radius:50%;cursor:pointer;height:24px;transition:all .15s;width:24px}.annotation-color-swatch.active,.annotation-color-swatch:hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.annotation-color-swatch.active{border-color:#333}.annotation-controls{align-items:center;display:flex;gap:10px}.annotation-tool-btn{align-items:center;background:transparent;border:1.5px solid rgba(0,0,0,.12);border-radius:6px;color:#555;cursor:pointer;display:flex;font-family:inherit;font-size:12px;gap:4px;padding:5px 10px;transition:all .2s}.annotation-tool-btn:hover{background:rgba(0,0,0,.05)}.annotation-tool-btn.active{background:#333;border-color:#333;color:#fff}.annotation-size-label{align-items:center;color:#555;display:flex;font-size:12px;gap:6px}.annotation-size-slider{accent-color:#333;width:80px}.annotation-actions{display:flex;gap:8px;justify-content:flex-end}.annotation-cancel-btn{background:transparent;border:1.5px solid rgba(0,0,0,.15);border-radius:8px;color:#555;cursor:pointer;font-family:inherit;font-size:12px;padding:7px 16px;transition:all .2s}.annotation-cancel-btn:hover{background:rgba(0,0,0,.05)}.annotation-save-btn{align-items:center;background:#333;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:12px;font-weight:600;gap:5px;padding:7px 16px;transition:background .2s}.annotation-save-btn:hover{background:#555}.annotation-tool-row{display:flex;gap:6px}.annotation-text-input-wrap{position:absolute;-webkit-transform:translateY(-100%);transform:translateY(-100%);z-index:10}.annotation-text-input{background:hsla(0,0%,100%,.9);border:1.5px solid rgba(0,0,0,.25);border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-family:inherit;font-size:14px;font-weight:600;min-width:120px;outline:none;padding:4px 8px}.annotation-text-input:focus{border-color:#333}
/*# sourceMappingURL=main.d69e4c1d.css.map*/