:root{--bg-color: #000000;--text-color: #ffffff;--accent-color: #ffffff;--glass-bg: rgba(20, 20, 20, .8);--glass-border: rgba(255, 255, 255, .1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);height:100dvh;overflow:hidden;display:flex;flex-direction:column}#app{display:flex;flex-direction:column;height:100%;width:100%}.canvas-container{flex:1;display:flex;justify-content:center;align-items:center;padding:.5rem;padding-top:max(.5rem,env(safe-area-inset-top));overflow:hidden;background-color:#000}canvas{max-width:100%;max-height:100%;box-shadow:0 0 0 1px #333;background-color:#fff}.mode-tabs{width:100%;display:flex;justify-content:center;background:#14141499;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px;border-radius:20px;border:1px solid rgba(255,255,255,.1)}.tab-btn{background:transparent;border:none;color:#fff9;padding:8px 16px;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:16px;transition:all .3s ease}.tab-btn.active{background:#ffffff26;color:#fff;box-shadow:0 2px 8px #0003}.tab-btn:hover:not(.active){color:#fff}.control-section{display:contents}.control-section.hidden{display:none}.controls{padding:.6rem 1rem;padding-bottom:max(1rem,calc(env(safe-area-inset-bottom) + .5rem));background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem}.control-group{display:flex;align-items:center;gap:.6rem}.scale-buttons{display:flex;align-items:center;gap:.5rem}.scale-btn{width:44px;height:44px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.5rem;font-weight:300;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;-webkit-user-select:none;user-select:none}.scale-btn:hover{background:#ffffff40}.scale-btn:active{background:#ffffff4d}.scale-display{font-size:.9rem;font-weight:500;min-width:50px;text-align:center;opacity:.9}.icon-btn{background:none;border:none;color:var(--text-color);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.icon-btn:hover{background-color:#ffffff1a}.icon-btn:active{background-color:#ffffff26}.icon-btn.active-toggle{background-color:#ffffff38;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff8c}.icon-btn.small svg{width:16px;height:16px}.labeled-btn{flex-direction:column;gap:.2rem;padding:.4rem .6rem;border-radius:8px}.labeled-btn span{font-size:.58rem;opacity:.7;letter-spacing:.05em;text-transform:uppercase}.labeled-btn.active-toggle span{opacity:1}input[type=range]{width:100%;height:4px;background:#fff3;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .1s}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.2)}input[type=color]{width:32px;height:32px;border:2px solid rgba(255,255,255,.2);border-radius:50%;padding:0;overflow:hidden;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:50%}.filter-strip{width:100%;display:flex;gap:.55rem;overflow-x:auto;scrollbar-width:none;padding:.15rem .25rem;-webkit-overflow-scrolling:touch}.filter-strip::-webkit-scrollbar{display:none}.filter-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;cursor:pointer;flex-shrink:0;opacity:.55;transition:opacity .2s ease}.filter-item:hover{opacity:.8}.filter-item.active{opacity:1}.filter-item canvas{width:45px;height:80px;border-radius:6px;border:2px solid transparent;display:block}.filter-item.active canvas{border-color:#fff}.filter-item span{font-size:.58rem;color:#fffc;white-space:nowrap;letter-spacing:.02em}.filter-item.active span{color:#fff}.hidden{display:none!important}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{max-width:90%;max-height:80%;display:flex;flex-direction:column;align-items:center;gap:1rem}.modal-content img{max-width:100%;max-height:70vh;box-shadow:0 0 20px #00000080;border-radius:4px}.modal-msg{color:#fff;text-align:center;font-size:1rem;margin-bottom:1rem}.close-btn{background:#fff3;border:none;color:#fff;padding:.8rem 2rem;border-radius:30px;font-size:1rem;cursor:pointer;margin-top:1rem}.toast{position:fixed;bottom:max(6rem,calc(env(safe-area-inset-bottom) + 5rem));left:50%;transform:translate(-50%) translateY(1rem);background:#282828f2;color:#fff;padding:.65rem 1.25rem;border-radius:20px;font-size:.9rem;white-space:nowrap;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast.toast-visible{opacity:1;transform:translate(-50%) translateY(0)}.toast-update{display:flex;align-items:center;gap:.75rem;pointer-events:auto}.toast-update-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.3rem .8rem;border-radius:12px;font-size:.85rem;cursor:pointer}
