@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;700&family=M+PLUS+Rounded+1c:wght@400;700&family=M+PLUS+1p:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;700&family=Zen+Kaku+Gothic+Antique:wght@400;700&family=Zen+Maru+Gothic:wght@400;700&family=BIZ+UDGothic:wght@400;700&family=BIZ+UDPGothic:wght@400;700&family=Kosugi+Maru&family=DotGothic16&family=Zen+Old+Mincho:wght@400;700&family=Shippori+Mincho:wght@400;700&family=Shippori+Mincho+B1:wght@400;700&family=BIZ+UDMincho:wght@400;700&family=Shippori+Antique&family=Shippori+Antique+B1&family=Klee+One:wght@400;600&family=Yuji+Syuku&family=Yuji+Mai&family=Yuji+Boku&family=Zen+Kurenaido&family=RocknRoll+One&family=Reggae+One&family=Kaisei+Decol&family=Rampart+One&family=Hachi+Maru+Pop&family=Dela+Gothic+One&family=Murecho:wght@400;700&family=Kaisei+Tokumin:wght@400;700&family=Kaisei+Opti:wght@400;700&family=Kaisei+HarunoUmi:wght@400;700&family=Stick&family=Train+One&family=Potta+One&family=Yomogi&family=New+Tegomin&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Merriweather:wght@400;700&family=Lora:wght@400;700&family=EB+Garamond:wght@400;700&family=Cormorant+Garamond:wght@400;700&family=Libre+Baskerville:wght@400;700&family=Crimson+Text:wght@400;700&family=DM+Serif+Display&family=Montserrat:wght@400;600;700&family=Raleway:wght@400;600;700&family=Poppins:wght@400;600;700&family=Inter:wght@400;600;700&family=Outfit:wght@400;600;700&family=Nunito:wght@400;600;700&family=Quicksand:wght@400;600;700&family=Comfortaa:wght@400;700&family=Josefin+Sans:wght@400;700&family=Archivo:wght@400;700&family=Space+Grotesk:wght@400;700&family=Bebas+Neue&family=Oswald:wght@400;700&family=Pacifico&family=Dancing+Script:wght@400;700&family=Caveat:wght@400;700&family=Great+Vibes&family=Sacramento&family=Satisfy&family=Indie+Flower&family=Patrick+Hand&family=Shadows+Into+Light&family=Amatic+SC:wght@400;700&family=Abril+Fatface&family=Righteous&family=Fredoka:wght@400;600&family=Bungee&family=Lobster&family=Press+Start+2P&family=Permanent+Marker&family=Bangers&family=Pixelify+Sans:wght@400;700&display=swap";.app-header{display:flex;justify-content:space-between;align-items:center;background:#fff;height:56px;padding:0 20px;flex-shrink:0;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000f;position:relative;z-index:100}.header-left{display:flex;align-items:center;gap:20px}.header-right{display:flex;align-items:center;gap:6px}.logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.logo-img{height:32px;width:auto;object-fit:contain}.logo-product-hint{display:none}.header-nav{display:flex;align-items:center;gap:4px}.header-nav-link{padding:6px 12px;background-color:#ff6b35;color:#fff;text-decoration:none;font-size:14px;font-weight:600;border-radius:6px;transition:background-color .2s,color .2s}.header-nav-link:hover{background-color:#e85d04;color:#fff}.header-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;cursor:pointer;border-radius:6px;background-color:#f5f5f5;color:#333;border:1px solid #ddd;font-size:14px;font-weight:500;transition:background-color .2s,border-color .2s,box-shadow .2s;text-decoration:none;white-space:nowrap;line-height:1.4}.header-btn:hover{background-color:#e8e8e8;border-color:#ccc}.header-btn:active{background-color:#ddd}.header-btn:disabled{opacity:.35;cursor:default}.header-btn:disabled:hover{background-color:#f5f5f5;border-color:#ddd}.capture-btn{background-color:#e85d04;color:#fff;border-color:#e85d04;font-weight:600}.capture-btn:hover{background-color:#d45203;border-color:#d45203}.capture-btn:active{background-color:#c04800}.header-separator{width:1px;height:24px;background-color:#ddd;margin:0 2px;flex-shrink:0}.simulator-layout{display:flex;width:100%;height:calc(100vh - 80px);overflow:hidden}.sidebar{width:90px;min-width:90px;background-color:#333;color:#fff;flex-shrink:0;display:flex;flex-direction:column;padding-top:16px}.sidebar-menu{display:flex;flex-direction:column;align-items:center;padding:12px;text-align:center;cursor:pointer;border-bottom:1px solid #444;font-size:13px;color:#fff;transition:background-color .2s}.sidebar-menu:hover{background-color:#444}.sidebar-menu.active{background-color:#555}.sidebar-icon{width:40px;height:40px;margin-bottom:5px;object-fit:contain}.menu-panel{width:400px;min-width:400px;background-color:#f9f9f9;border-left:1px solid #ccc;overflow-y:auto;flex-shrink:0;padding:16px}.close-panel-btn{display:none}.menu-group{margin-bottom:16px}.menu-group-label{font-weight:700;margin-bottom:8px;font-size:15px;color:#4e4e4e}.menu-note{font-size:13px;color:#888;margin:0 0 8px}.free-color-section{display:flex;flex-direction:column;gap:8px}.color-picker{width:48px;height:36px;padding:0;border:1px solid #ccc;border-radius:4px;cursor:pointer}.color-buttons,.position-buttons,.size-buttons{display:flex;flex-wrap:wrap;gap:0}.color-btn,.position-btn,.size-btn{margin:4px;padding:6px 10px;font-size:12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;color:#333;transition:background-color .3s ease}.color-btn:hover,.position-btn:hover,.size-btn:hover{background-color:#f4f4f4}.color-btn.selected,.position-btn.selected,.size-btn.selected{border-color:#ff9f00;background-color:#ff9f00;color:#fff}.stage-wrapper{flex:1;position:relative;background-color:#fafafa;overflow:hidden;display:flex;justify-content:center;align-items:center}.layer-img-checker{background-image:linear-gradient(45deg,#d8d8d8 25%,transparent 25%),linear-gradient(-45deg,#d8d8d8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d8d8d8 75%),linear-gradient(-45deg,transparent 75%,#d8d8d8 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;background-color:#f0f0f0}.menu-placeholder{display:flex;align-items:center;justify-content:center;height:120px;color:#aaa;font-size:13px}.text-menu .text-input-area{display:block;width:100%;min-height:2em;padding:8px;margin:4px 0;font-size:1rem;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.text-menu .text-size-input{width:70px;padding:6px 8px;font-size:14px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.text-menu .text-action-btn{display:inline-block;padding:6px 14px;font-size:13px;background-color:#333;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.text-menu .text-action-btn:hover{background-color:#555}.color-palette-container{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.color-circle{width:24px;height:24px;min-width:24px;border-radius:50%;margin:2px;padding:0;border:2px solid #b4b4b4;box-sizing:border-box;cursor:pointer;transition:border-color .2s}.color-circle:hover{filter:brightness(90%)}.transform-buttons{display:flex;flex-wrap:wrap;gap:8px}.transform-buttons button{padding:6px 12px;font-size:12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;color:#333;transition:background-color .3s ease}.transform-buttons button:hover{background-color:#f4f4f4}.transform-buttons button.selected{background-color:#ff9f00;color:#fff;border-color:#ff9f00}.transform-buttons button:disabled{opacity:.4;cursor:default}.font-switch-buttons{display:flex;gap:8px;margin-bottom:8px}.font-switch-buttons button{padding:6px 14px;font-size:13px;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;color:#333;transition:background-color .3s ease}.font-switch-buttons button:hover{background-color:#f4f4f4}.font-switch-buttons button.selected{background-color:#ff9f00;color:#fff;border-color:#ff9f00}.font-list-container{border:1px solid #ccc;border-radius:4px;max-height:300px;overflow-y:auto;background-color:#fff}.font-list-item{padding:6px 8px;cursor:pointer;border-bottom:1px solid #eee;position:relative;min-height:36px;line-height:1.3}.font-list-item:hover{background-color:#f0f0f0}.font-list-item.font-selected{background-color:#fff7e6;border-left:3px solid #ff9f00}.font-list-label{font-size:11px;color:#888;position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:notsanjp,system-ui,sans-serif!important}.upload-drop-area{border:2px dashed #ccc;border-radius:4px;padding:24px;text-align:center;cursor:pointer;margin:8px 0;transition:border-color .3s,background-color .3s}.upload-drop-area:hover{border-color:#999}.upload-drop-area.dragover{border-color:#ff9f00;background-color:#ff9f000d}.upload-drop-icon{font-size:32px;margin-bottom:8px}.upload-drop-text{font-size:14px;line-height:1.5;color:#545454;margin:8px 0 0}.upload-preview-wrapper{margin:8px 0;text-align:center}.upload-preview-img{max-width:100%;max-height:200px;border:1px solid #ccc;border-radius:4px;object-fit:contain}.upload-preview-msg{color:#666;font-size:12px;margin:4px 0 0;word-break:break-all}.upload-remove-bg-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:10px;padding:12px 0;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,#e67e22,#f39c12);border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 2px 8px #e67e2259;letter-spacing:.5px}.upload-remove-bg-btn:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#e67e22);transform:translateY(-1px);box-shadow:0 4px 12px #e67e2273}.upload-remove-bg-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #e67e224d}.upload-remove-bg-btn:disabled{color:#fff;background:linear-gradient(135deg,#bbb,#ccc);cursor:wait;box-shadow:none}.upload-remove-bg-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:upload-spin .7s linear infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}.upload-note{font-size:13px;color:#555;margin-top:8px;background-color:#fff8e1;padding:8px;border-radius:4px}.upload-note .note-title{font-weight:700;margin:0 0 4px;color:#333}.upload-note .note-text{margin:0;line-height:1.6}.cutline-menu{display:flex;flex-direction:column}.cutline-empty{text-align:center;padding:32px 16px}.cutline-empty-icon{font-size:40px;margin-bottom:12px}.cutline-empty-text{font-size:15px;font-weight:600;color:#555;margin:0 0 8px}.cutline-empty-hint{font-size:12px;color:#999;margin:0;line-height:1.6}.cutline-preview-wrapper{margin:8px 0;text-align:center}.cutline-preview-checker{display:inline-block;position:relative;max-width:100%;border:1px solid #ccc;border-radius:4px;overflow:hidden;background-image:linear-gradient(45deg,#e0e0e0 25%,transparent 25%),linear-gradient(-45deg,#e0e0e0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e0e0e0 75%),linear-gradient(-45deg,transparent 75%,#e0e0e0 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.cutline-preview-img{display:block;max-width:100%;max-height:200px;object-fit:contain}.cutline-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:10px 0;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s}.cutline-action-btn:disabled{cursor:wait;opacity:.6}.cutline-action-btn-primary{color:#fff;background:linear-gradient(135deg,#e67e22,#f39c12);box-shadow:0 2px 8px #e67e2259}.cutline-action-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#e67e22);transform:translateY(-1px);box-shadow:0 4px 12px #e67e2273}.cutline-action-btn-secondary{color:#333;background:#f0f0f0;border:1px solid #ddd}.cutline-action-btn-secondary:hover:not(:disabled){background:#e4e4e4}.cutline-action-btn-danger{color:#c0392b;background:#fff;border:1px solid #e0b4b4;font-size:13px;padding:8px 0}.cutline-action-btn-danger:hover:not(:disabled){background:#fdf0ef;border-color:#c0392b}.cutline-offset-group{display:flex;align-items:center;gap:8px;margin:8px 0}.cutline-offset-label{font-size:12px;color:#666;white-space:nowrap;min-width:80px}.cutline-offset-slider{flex:1;accent-color:#e67e22;cursor:pointer}.cutline-offset-value{font-size:13px;font-weight:600;color:#333;min-width:24px;text-align:right}.cutline-info{margin-top:12px}.cutline-info-badge{font-size:13px;font-weight:600;color:#27ae60;margin-bottom:8px}.cutline-info-detail{font-weight:400;color:#888;font-size:12px}.cutline-svg-preview{margin:8px 0;border:1px solid #eee;border-radius:4px;background:#fafafa;padding:8px;text-align:center}.cutline-svg-preview-svg{width:100%;max-height:180px}.cutline-editor-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:20;cursor:default}.cutline-edit-point{transition:r .1s ease}.cutline-edit-point:hover{filter:brightness(.9)}.clipart-category-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.clipart-category-tab{padding:4px 10px;border:1px solid #d0d0d0;border-radius:14px;background:#f5f5f5;color:#555;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.clipart-category-tab:hover{background:#e8e8e8;border-color:#bbb}.clipart-category-tab.active{background:#00bcd4;color:#fff;border-color:#00bcd4}.clipart-list{display:flex;flex-wrap:wrap;gap:8px}.clipart-item{border:1px solid #ccc;padding:4px;cursor:pointer;border-radius:4px;text-align:center;transition:border-color .2s,background-color .2s}.clipart-item:hover{border-color:#999;background-color:#f8f8f8}.clipart-thumb{width:64px;height:64px;object-fit:contain;display:block}.clipart-label{display:block;font-size:10px;color:#888;margin-top:2px}.capture-btn{background-color:#e74c3c!important;font-weight:700}.capture-btn:hover{background-color:#c0392b!important}.final-design-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:2000}.final-design-modal{background:#fff;border-radius:8px;padding:24px;max-width:900px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 24px #0000004d}.final-design-modal h2{margin:0 0 16px;font-size:1.2rem;color:#333}.preview-images{display:flex;gap:16px;margin-bottom:16px}.preview-side{flex:1;text-align:center}.preview-side h3{margin:0 0 8px;font-size:.9rem;color:#666}.preview-side>img{width:100%;border:1px solid #ddd;border-radius:4px}.modal-notes{background-color:#fff8e1;padding:12px;border-radius:4px;margin-bottom:12px}.modal-notes p{margin:0 0 4px;font-size:14px;color:#555}.confirm-checkbox{display:flex;align-items:center;gap:8px;margin:16px 0;font-size:15px;color:#333;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button{padding:10px 20px;font-size:15px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.modal-actions button:first-child{background-color:#ccc;color:#333}.modal-actions button:last-child{background-color:#e74c3c;color:#fff}.modal-actions button:last-child:disabled{background-color:#f5a0a0;cursor:not-allowed}.modal-actions button:hover:not(:disabled){filter:brightness(.9)}.modal-loader{text-align:center;padding:40px}.modal-loader p{color:#888;font-size:16px;margin:0 0 8px}.modal-loader-sub{font-size:13px!important;color:#aaa!important}.complete-message,.error-message{text-align:center;padding:24px}.complete-title{font-size:18px;font-weight:700;color:#27ae60;margin-bottom:8px}.error-title{font-size:18px;font-weight:700;color:#e74c3c;margin-bottom:8px}.design-key-display{font-family:monospace;font-size:16px;background:#f5f5f5;padding:8px 16px;border-radius:4px;display:inline-block;margin:8px 0;-webkit-user-select:all;user-select:all}.complete-hint{font-size:13px;color:#888;margin-top:8px}.design-list-modal{max-width:640px}.design-list-empty{text-align:center;color:#888;padding:40px 0;font-size:14px}.design-list-error{text-align:center;color:#e74c3c;padding:12px;font-size:14px}.design-list-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:400px;overflow-y:auto}.design-list-card{display:flex;align-items:center;gap:12px;padding:8px;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:background-color .2s,border-color .2s}.design-list-card:hover{background-color:#f8f8f8;border-color:#bbb}.design-list-thumb{width:80px;height:60px;object-fit:contain;border:1px solid #eee;border-radius:4px;background:#fafafa;flex-shrink:0}.design-list-info{display:flex;flex-direction:column;gap:4px}.design-list-date{font-size:13px;color:#333}.design-list-key{font-size:11px;color:#888;font-family:monospace;word-break:break-all}.design-list-checkbox{flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:#333}.design-list-select-all{display:flex;justify-content:flex-end;margin-bottom:8px}.design-list-toggle-btn{background:none;border:none;color:#555;font-size:13px;cursor:pointer;text-decoration:underline;padding:2px 4px}.design-list-toggle-btn:hover{color:#111}.copy-btn{display:inline-block;margin-left:8px;padding:4px 12px;font-size:12px;background-color:#333;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease;vertical-align:middle}.copy-btn:hover{background-color:#555}.save-result-modal{max-width:480px;text-align:center}.save-result-title{font-size:18px;font-weight:700;color:#27ae60;margin-bottom:16px}.unsaved-confirm-modal{background:#fff;border-radius:12px;padding:32px;max-width:420px;width:90%;box-shadow:0 8px 32px #0000004d;text-align:center}.unsaved-confirm-icon{font-size:48px;margin-bottom:12px}.unsaved-confirm-title{font-size:18px;font-weight:700;color:#333;margin:0 0 8px}.unsaved-confirm-text{font-size:14px;color:#666;margin:0 0 24px;line-height:1.6}.unsaved-confirm-actions{display:flex;flex-direction:column;gap:10px}.unsaved-confirm-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;min-height:44px;transition:background .2s,transform .1s}.unsaved-confirm-btn:active{transform:scale(.98)}.unsaved-confirm-btn-cancel{background:#4caf50;color:#fff}.unsaved-confirm-btn-cancel:hover{background:#43a047}.unsaved-confirm-btn-leave{background:#f5f5f5;color:#d32f2f;border:1px solid #e0e0e0}.unsaved-confirm-btn-leave:hover{background:#ffebee}@media(min-width:769px)and (max-width:1024px){.app-header{padding:0 12px}.header-btn{padding:6px 10px;font-size:12px}.header-separator{margin:0 2px;height:20px}.header-btn-label{display:none}.sidebar{width:56px;min-width:56px}.sidebar-menu{padding:10px 4px;font-size:0}.sidebar-menu .sidebar-icon{width:32px;height:32px;margin-bottom:0}.menu-panel{width:320px;min-width:320px}.simulator-layout{height:calc(100vh - 56px)}.final-design-modal{width:92%;max-width:800px}.admin-page{padding:20px 24px}.admin-detail-preview-item img{max-width:220px;max-height:220px}.admin-batch-actions{flex-wrap:wrap}}@media(max-width:768px){.app-header{position:fixed;top:0;left:0;width:100%;height:auto;padding:6px 12px;border-bottom:1px solid #e0e0e0;z-index:1000;box-sizing:border-box;flex-wrap:wrap}.logo-img{height:18px}.header-nav{display:none}.header-left{gap:0;width:100%;height:32px}.logo-product-hint{display:inline;font-size:12px;color:#fff;background-color:#ff6b35;border-radius:6px;margin-left:8px;font-weight:600;white-space:nowrap;padding:6px 12px}.header-right{gap:3px;width:100%;justify-content:center;padding-top:4px}.header-btn{padding:8px 16px!important;font-size:12px;border-radius:5px;min-height:32px}.header-separator{height:18px;margin:0 1px}.capture-btn{padding:5px 12px;min-height:32px}.sidebar{display:none}.simulator-layout{margin-top:80px;height:calc(100vh - 80px);flex-direction:column;padding-bottom:80px}.menu-panel{position:fixed;top:0;left:0;width:100vw;height:100vh;min-width:unset;z-index:9999;padding:80px 16px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;border-left:none}.close-panel-btn{display:block;position:absolute;top:12px;right:12px;background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:4px 8px;line-height:1;z-index:10000}.menu-panel-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;z-index:9998}.stage-wrapper{flex:1;min-height:0;touch-action:none;-webkit-user-select:none;user-select:none}.mobile-bottom-menu{position:fixed;bottom:0;left:0;width:100%;height:80px;background:#333;display:flex;justify-content:space-around;align-items:center;z-index:100;border-top:1px solid #ddd;box-shadow:0 -2px 8px #0000001a;padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-bottom-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:#888;cursor:pointer;padding:8px 6px;transition:color .2s,background-color .15s;flex:1;min-height:44px;border-radius:8px;margin:0 2px}.mobile-bottom-item.active{color:#e85d04;background:#e85d0414}.mobile-bottom-icon{width:32px;height:32px;margin-bottom:4px;object-fit:contain;opacity:.5;transition:opacity .2s}.mobile-bottom-item.active .mobile-bottom-icon{opacity:1;filter:none}.mobile-bottom-label{font-size:12px;white-space:nowrap;font-weight:600;letter-spacing:.02em}.mobile-cutline-toolbar{position:fixed;bottom:0;left:0;width:100%;background:#fff;border-top:2px solid #00bcd4;z-index:200;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 16px #00000026;box-sizing:border-box}.mct-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mct-title{font-size:13px;font-weight:700;color:#ff9800;flex:1}.mct-info{font-size:11px;color:#888}.mct-expand-btn{font-size:11px;color:#666;background:#f0f0f0;border:1px solid #ddd;border-radius:12px;padding:2px 10px;cursor:pointer;min-height:28px}.mct-warnings{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.mct-warn-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px}.mct-warn-sharp,.mct-warn-tab{background:#fff3e0;color:#e65100;border:1px solid #ff9800}.mct-warn-margin{background:#fce4ec;color:#c62828;border:1px solid #e91e63}.mct-expanded{border-top:1px solid #eee;padding-top:8px;margin-bottom:6px}.mct-section{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mct-section-label{font-size:13px;color:#666;font-weight:600;min-width:60px}.mct-guide{flex-direction:column;align-items:flex-start;gap:2px;font-size:12px;color:#999}.mct-guide p{margin:0}.mct-btn{font-size:13px;padding:6px 12px;border-radius:6px;border:1px solid #ddd;cursor:pointer;min-height:36px;white-space:nowrap}.mct-btn-secondary{background:#f5f5f5;color:#555}.mct-btn-accent{background:#ff9800;color:#fff;border-color:#e65100}.mct-btn-danger{background:#f44336;color:#fff;border-color:#c62828}.mct-actions{display:flex;gap:8px}.mct-btn-cancel{flex:1;background:#f5f5f5;color:#666;font-weight:600}.mct-btn-confirm{flex:2;background:#4caf50;color:#fff;border-color:#388e3c;font-weight:700}.mct-btn-confirm:disabled{background:#bdbdbd;border-color:#999;cursor:not-allowed}.final-design-modal{display:flex;flex-direction:column;width:100%;max-width:100%;max-height:100vh;max-height:100dvh;height:100vh;height:100dvh;border-radius:0;overflow:hidden}.modal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;min-height:0}.preview-images{flex-direction:column;gap:12px}.modal-footer{flex-shrink:0;background:#fff;border-top:1px solid #eee;padding:12px 16px calc(16px + env(safe-area-inset-bottom,20px));margin:0;box-shadow:0 -2px 10px #0000001a}.modal-footer .confirm-checkbox{margin:0 0 12px}.modal-actions{flex-direction:column;gap:8px}.modal-actions button{width:100%;padding:14px;min-height:44px;font-size:14px}.design-list-modal{max-width:95%}.design-list-grid{max-height:50vh}.disclaimer-modal{width:92%!important;max-width:600px!important;height:auto!important;max-height:85vh!important;max-height:85dvh!important;padding:20px!important;border-radius:12px!important;overflow-y:auto!important}input,textarea,select,button{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox]{-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox;width:20px;height:20px;min-width:20px;min-height:20px;margin:0;cursor:pointer;accent-color:#e74c3c}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.font-list-item{padding:12px 8px;min-height:48px}.color-circle{width:32px;height:32px;min-width:32px}.clipart-category-tab{padding:5px 8px;font-size:11px;min-height:32px}.clipart-item{padding:8px}.clipart-thumb{width:56px;height:56px}.help-btn{padding:5px 8px;font-size:11px}.tutorial-modal{max-width:95%;width:95%;max-height:85vh}.tutorial-header{padding:14px 16px 10px}.tutorial-header h2{font-size:15px}.tutorial-progress{gap:16px;padding:14px 16px 6px}.tutorial-progress-dot{width:28px;height:28px}.tutorial-progress-num{font-size:11px}.tutorial-content{padding:12px 16px}.tutorial-step-icon{font-size:24px}.tutorial-step-title{font-size:15px}.tutorial-illustration{max-width:220px}.tutorial-nav{padding:12px 16px}.tutorial-nav-btn{padding:7px 14px;font-size:12px}.tutorial-glossary{padding:12px 16px 20px;max-height:300px}.help-tip-popup{width:200px;left:-60px;padding:10px}.help-tip-text{font-size:12px}.help-tip-details li{font-size:11px}}.admin-login-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 56px);background:#f5f5f5}.admin-login-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;padding:40px;width:100%;max-width:380px;text-align:center}.admin-login-title{font-size:22px;font-weight:700;color:#222;margin:0 0 8px}.admin-login-desc{font-size:14px;color:#888;margin:0 0 24px}.admin-login-form{display:flex;flex-direction:column;gap:12px}.admin-login-input{text-align:center;font-size:16px;padding:12px 16px}.admin-login-error{color:#e53935;font-size:13px;margin:0}.admin-login-btn{padding:12px;font-size:15px}.admin-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.admin-header-bar .admin-title{margin:0}.admin-page{max-width:none;margin:0;padding:24px 40px}.admin-title{font-size:22px;font-weight:700;margin:0 0 20px;color:#222}.admin-password-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#856404}.admin-password-warning p{margin:0;font-size:14px}.admin-btn-link{background:none;border:none;color:#06c;text-decoration:underline;cursor:pointer;font-size:14px;padding:0 2px}.admin-btn-link:hover{color:#049}.admin-tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:24px}.admin-tab{padding:10px 24px;font-size:14px;font-weight:600;color:#666;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s}.admin-tab:hover{color:#333}.admin-tab.active{color:#e67e22;border-bottom-color:#e67e22}.admin-loading,.admin-empty{text-align:center;padding:40px 20px;color:#888;font-size:14px}.admin-error{text-align:center;padding:40px 20px;color:#c0392b;font-size:14px}.admin-error .admin-btn{margin-top:12px}.admin-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:500;border:1px solid #d0d0d0;border-radius:4px;background:#f8f8f8;color:#333;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.admin-btn:hover{background:#eee;border-color:#bbb}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-sm{padding:3px 8px;font-size:12px}.admin-btn-primary{background:#e67e22;color:#fff;border-color:#d35400}.admin-btn-primary:hover{background:#d35400}.admin-btn-danger{background:#fff;color:#c0392b;border-color:#e0b4b4}.admin-btn-danger:hover{background:#fdf0ef;border-color:#c0392b}.admin-btn-outline{background:transparent;border-color:#ccc}.admin-btn-outline:hover{background:#f5f5f5}.admin-select{padding:6px 10px;font-size:13px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;color:#333;cursor:pointer}.admin-input{padding:6px 10px;font-size:13px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;color:#333;outline:none;transition:border-color .15s;min-width:0}.admin-input:focus{border-color:#e67e22}.admin-input-sm{width:80px}.admin-badge{display:inline-block;padding:1px 7px;font-size:11px;font-weight:600;border-radius:3px;background:#eaf4fc;color:#2980b9}.admin-design-list-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.admin-design-list-count{font-size:14px;color:#666;font-weight:600}.admin-batch-controls{display:flex;gap:6px}.admin-batch-actions{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f0f7ff;border:1px solid #4a90d9;border-radius:6px}.admin-batch-count{font-size:13px;font-weight:600;color:#2c6fbb;white-space:nowrap}.admin-design-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e8e8e8;border-radius:6px;margin-bottom:6px;cursor:pointer;transition:background .15s,border-color .15s;background:#fff}.admin-design-card:hover{background:#fafafa;border-color:#d0d0d0}.admin-design-card.selected{background:#fff8f0;border-color:#e67e22}.admin-design-card.checked{background:#f0f7ff;border-color:#4a90d9}.admin-design-card.checked.selected{background:#fff5e6;border-color:#e67e22}.admin-design-card-checkbox{flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:#4a90d9}.admin-design-card-thumbs{display:flex;gap:4px;flex-shrink:0}.admin-design-card-thumb{width:56px;height:56px;flex-shrink:0;border-radius:4px;overflow:hidden;background:#f0f0f0}.admin-design-card-thumb img{width:100%;height:100%;object-fit:cover}.admin-design-card-no-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#aaa}.admin-design-card-info{flex:1;min-width:0}.admin-design-card-key{font-size:13px;font-weight:600;color:#333;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-design-card-meta{display:flex;gap:12px;font-size:12px;color:#888;margin-top:2px}.admin-design-card-product{font-weight:500;color:#555}.admin-design-card-stats{display:flex;gap:8px;font-size:12px;color:#999;margin-top:3px;align-items:center}.admin-design-card-downloads{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.admin-design-card-arrow{flex-shrink:0;font-size:12px;color:#aaa}.admin-detail{padding:16px 20px;background:#fcfcfc;border:1px solid #e8e8e8;border-top:none;border-radius:0 0 6px 6px;margin-bottom:6px}.admin-detail-loading,.admin-detail-error{padding:20px;text-align:center;font-size:13px;color:#888;background:#fcfcfc;border:1px solid #e8e8e8;border-top:none;margin-bottom:6px}.admin-detail-error{color:#c0392b}.admin-detail-previews{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.admin-detail-preview-item{text-align:center}.admin-detail-preview-item h4{font-size:13px;font-weight:600;margin:0 0 6px;color:#555}.admin-detail-preview-item img{max-width:300px;max-height:300px;border:1px solid #e0e0e0;border-radius:4px;background:#fff}.admin-detail-svgs{margin-bottom:16px}.admin-detail-svgs h4{font-size:13px;font-weight:600;margin:0 0 8px;color:#555}.admin-detail-svgs .admin-btn{margin-right:8px}.admin-detail-meta{margin-bottom:16px}.admin-detail-table{width:100%;max-width:400px;border-collapse:collapse;font-size:13px}.admin-detail-table th{text-align:left;padding:4px 12px 4px 0;color:#888;font-weight:500;white-space:nowrap}.admin-detail-table td{padding:4px 0;color:#333}.admin-detail-json-toggle{margin-bottom:8px}.admin-detail-json{background:#1e1e2e;color:#cdd6f4;padding:16px;border-radius:6px;font-size:12px;line-height:1.5;overflow-x:auto;max-height:400px;margin-bottom:16px}.admin-detail-actions{padding-top:12px;border-top:1px solid #e8e8e8}.admin-confirm-bar{display:flex;align-items:center;gap:10px;font-size:13px;color:#c0392b;flex-wrap:wrap}.admin-product-manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.admin-product-manager-header>span{font-size:14px;font-weight:600;color:#666}.admin-product-manager-actions{display:flex;align-items:center;gap:8px}.admin-save-msg{font-size:13px;font-weight:500}.admin-save-msg.success{color:#27ae60}.admin-save-msg.error{color:#c0392b}.admin-product-grid{display:flex;flex-direction:column;gap:8px}.admin-product-card{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.admin-product-card:hover{background:#fafafa;border-color:#d0d0d0;box-shadow:0 1px 4px #0000000d}.admin-product-card.selected{background:#fff8f0;border-color:#e67e22;border-radius:8px 8px 0 0}.admin-product-card-thumb{width:64px;height:64px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#f5f5f5;border:1px solid #eee}.admin-product-card-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}.admin-product-card-no-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#ccc;background:#f0f0f0}.admin-product-card-body{flex:1;min-width:0}.admin-product-card-name{font-size:15px;font-weight:600;color:#222;margin-bottom:2px}.admin-product-card-id{display:inline-block;font-size:11px;color:#999;background:#f0f0f0;padding:1px 6px;border-radius:3px;margin-bottom:6px}.admin-product-card-tags{display:flex;gap:5px;flex-wrap:wrap}.admin-tag{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:10px;background:#f0f4f8;color:#556}.admin-tag.accent{background:#fff3e0;color:#e67e22}.admin-product-card-arrow{flex-shrink:0;font-size:12px;color:#aaa;padding:0 4px}.admin-product-card-wrap.expanded{margin-bottom:4px}.admin-product-editor{background:#fcfcfc;border:1px solid #e8e8e8;border-top:none;border-radius:0 0 6px 6px;margin-bottom:8px;overflow:hidden}.admin-product-editor-header{padding:10px 14px;background:#f5f5f5;border-bottom:1px solid #e8e8e8}.admin-product-editor-title{font-size:14px;font-weight:600;color:#333}.admin-product-id{font-size:12px;color:#888;background:#f0f0f0;padding:1px 6px;border-radius:3px;margin-left:4px}.admin-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:13px;font-weight:600;color:#555;background:#f9f9f9;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;text-align:left;transition:background .15s}.admin-section-header:hover{background:#f0f0f0}.admin-section-body{padding:14px;border-bottom:1px solid #f0f0f0}.admin-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.admin-field>span{font-size:12px;font-weight:500;color:#666}.admin-field-compact{flex-direction:row;align-items:center;gap:8px}.admin-field-compact>span{min-width:80px;flex-shrink:0}.admin-field-compact .admin-input{flex:1}.admin-field-inline{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;color:#444;cursor:pointer}.admin-field-inline input[type=checkbox]{width:16px;height:16px;accent-color:#e67e22}.admin-lv-editor{display:flex;flex-direction:column;gap:6px}.admin-lv-row{display:flex;align-items:center;gap:6px}.admin-lv-row .admin-input{flex:1}.admin-print-area-group{margin-bottom:14px}.admin-print-area-group h4{font-size:13px;font-weight:600;margin:0 0 8px;color:#555}.admin-print-area-rect{display:flex;gap:10px;flex-wrap:wrap}.admin-inline-label{display:flex;align-items:center;gap:4px;font-size:12px;color:#666;font-weight:500}.admin-print-area-size{display:flex;align-items:center;gap:8px;margin-bottom:6px}.admin-print-area-size-label{min-width:50px;font-size:12px;font-weight:500;color:#666}.admin-print-area-size-block{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #eee}.admin-print-area-size-block:last-child{border-bottom:none}.admin-print-area-no-image{font-size:12px;color:#999;margin-bottom:8px;font-style:italic}.admin-print-area-extras{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:8px 0}.admin-print-area-slider-row{display:flex;align-items:center;gap:8px;font-size:13px;cursor:default}.admin-print-area-slider-row>span:first-child{min-width:64px;color:#666;flex-shrink:0}.admin-print-area-slider-row>input[type=range]{flex:1;min-width:80px}.admin-print-area-slider-row>input[type=number]{width:60px;padding:2px 4px;border:1px solid #d0d0d0;border-radius:4px;font-size:13px;text-align:right}.admin-print-area-slider-row>span:last-child{min-width:20px;color:#888;flex-shrink:0}.pa-visual-editor{display:flex;gap:16px;margin-top:8px}.pa-visual-canvas-wrapper{flex:1;min-width:0}.pa-visual-canvas{position:relative;display:inline-block;border:1px solid #ddd;border-radius:4px;overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none}.pa-visual-image{display:block;width:100%;max-width:500px;height:auto;pointer-events:none}.pa-visual-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000059;pointer-events:none}.pa-visual-move-area{background:#00bcd40d;box-sizing:border-box}.pa-visual-shape-outline{z-index:1}.pa-visual-shape-selector{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pa-visual-shape-selector select{flex:1}.pa-visual-handle{position:absolute;background:#fff;border:2px solid #00bcd4;border-radius:2px;z-index:2}.pa-visual-hint{font-size:11px;color:#999;margin-top:4px}.pa-visual-inputs{width:160px;flex-shrink:0}.pa-visual-inputs h4{font-size:13px;font-weight:600;color:#555;margin:0 0 8px}.pa-visual-input-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.pa-visual-input-label{width:42px;font-size:12px;font-weight:500;color:#666;text-align:right}.pa-visual-input-unit{font-size:11px;color:#aaa}.pa-visual-image-info{font-size:11px;color:#999;margin-top:12px;padding-top:8px;border-top:1px solid #eee}.admin-images-group{margin-bottom:16px}.admin-images-group h4{font-size:13px;font-weight:600;margin:0 0 8px;color:#555}.admin-image-color-group{margin-bottom:10px;padding-left:8px;border-left:2px solid #e8e8e8}.admin-image-color-group strong{font-size:12px;color:#555;display:block;margin-bottom:6px}.admin-image-path-input{flex:1;min-width:0}.admin-image-path-row{display:flex;gap:4px;align-items:center}.admin-image-path-row .admin-input{flex:1;min-width:0}.admin-btn-browse{font-size:16px;padding:4px 8px;line-height:1;min-width:34px;text-align:center}.admin-image-path-preview{width:48px;height:48px;margin-top:4px;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;background:#f9f9f9}.admin-image-path-preview img{width:100%;height:100%;object-fit:contain}.admin-image-path-error{font-size:11px;color:#c0392b;margin:2px 0 0}.admin-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:6px;max-height:320px;overflow-y:auto;padding:2px}.admin-thumb-item{aspect-ratio:1;border:2px solid #ddd;border-radius:4px;cursor:pointer;overflow:hidden;background:#f9f9f9;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.admin-thumb-item:hover{border-color:#999}.admin-thumb-item.selected{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d94d}.admin-thumb-item img{width:100%;height:100%;object-fit:contain;padding:4px}.admin-thumb-current{margin:6px 0;font-size:12px;color:#666;display:flex;align-items:center;gap:8px;padding:6px;background:#f0f7ff;border:1px solid #c0d8f0;border-radius:4px}.admin-thumb-current-img{width:48px;height:48px;object-fit:contain;border-radius:3px;background:#fff}.admin-hint{font-size:12px;color:#999;margin-top:4px}.admin-imgpick-browser{margin-top:6px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;padding:8px}.admin-imgpick-filter{width:100%;margin-bottom:6px;box-sizing:border-box}.admin-imgpick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px;max-height:240px;overflow-y:auto;padding:2px}.admin-imgpick-item{aspect-ratio:1;border:2px solid #ddd;border-radius:4px;cursor:pointer;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.admin-imgpick-item:hover{border-color:#999}.admin-imgpick-item.selected{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d94d}.admin-imgpick-item img{width:100%;height:100%;object-fit:contain;padding:3px}.admin-imgpick-actions{display:flex;gap:3px;flex-shrink:0}.admin-btn-browse-active{background:#e67e22;color:#fff;border-color:#d35400}.admin-imgpick-uploading{font-size:12px;color:#e67e22;margin:2px 0 0}.admin-zoom-device{margin-bottom:14px}.admin-zoom-device h4{font-size:13px;font-weight:600;margin:0 0 8px;color:#555}.admin-zoom-fields{display:flex;gap:12px;flex-wrap:wrap}.admin-product-editor-footer{padding:12px 14px;border-top:1px solid #e8e8e8}.admin-unsaved-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-top:16px;font-size:13px;font-weight:500;color:#856404}.admin-settings{max-width:480px}.admin-settings-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.admin-settings-heading{margin:0 0 4px;font-size:18px;font-weight:600;color:#333}.admin-settings-desc{margin:0 0 20px;font-size:13px;color:#888}.admin-settings-form{display:flex;flex-direction:column;gap:14px}.admin-settings-form .admin-btn-primary{margin-top:8px;align-self:flex-start;padding:10px 28px;font-size:14px}.margin-violation-pulse{animation:margin-pulse 1.5s ease-in-out infinite}@keyframes margin-pulse{0%,to{opacity:.6}50%{opacity:.15}}.pedestal-shape-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pedestal-shape-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:10px;color:#666;transition:border-color .15s,background .15s;min-width:0}.pedestal-shape-btn:hover{border-color:#b2dfdb;background:#f5f5f5}.pedestal-shape-btn.active{border-color:#00bcd4;background:#e0f7fa;color:#00695c;font-weight:600}.pedestal-shape-btn svg{width:32px;height:22px}.help-btn{background-color:#e3f2fd;border-color:#90caf9;color:#1565c0;font-size:12px}.help-btn:hover{background-color:#bbdefb;border-color:#64b5f6}.tutorial-modal{max-width:560px;padding:0;overflow:hidden}.tutorial-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 12px;border-bottom:1px solid #eee}.tutorial-header h2{margin:0;font-size:17px;color:#333}.tutorial-close-btn{background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.tutorial-close-btn:hover{background:#f5f5f5;color:#333}.tutorial-tabs{display:flex;border-bottom:1px solid #eee;background:#fafafa}.tutorial-tab{flex:1;padding:10px 16px;border:none;background:none;font-size:13px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.tutorial-tab:hover{color:#555}.tutorial-tab.active{color:#1565c0;border-bottom-color:#1565c0;background:#fff}.tutorial-progress{display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 24px 8px;position:relative}.tutorial-progress-line{position:absolute;top:50%;left:48px;right:48px;height:3px;background:#e0e0e0;border-radius:2px;z-index:0;transform:translateY(-50%);margin-top:-4px}.tutorial-progress-fill{height:100%;background:#4caf50;border-radius:2px;transition:width .3s ease}.tutorial-progress-dot{width:32px;height:32px;border-radius:50%;border:2px solid #e0e0e0;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#bbb;cursor:pointer;z-index:1;transition:all .2s}.tutorial-progress-dot.active{border-color:#1565c0;background:#1565c0;color:#fff;transform:scale(1.1)}.tutorial-progress-dot.done{border-color:#4caf50;background:#4caf50;color:#fff}.tutorial-progress-dot:hover:not(.active){border-color:#90caf9;background:#e3f2fd;color:#1565c0}.tutorial-progress-num{font-size:12px;line-height:1}.tutorial-content{padding:16px 24px}.tutorial-step-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tutorial-step-icon{font-size:28px;line-height:1}.tutorial-step-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px}.tutorial-step-title{margin:0;font-size:17px;color:#333;font-weight:600}.tutorial-illust-area{display:flex;justify-content:center;padding:12px 0;margin-bottom:8px}.tutorial-illustration{width:100%;max-width:280px;height:auto;border-radius:8px;background:#fafafa;border:1px solid #eee;padding:4px}.tutorial-step-desc{font-size:14px;color:#555;margin:0 0 10px;line-height:1.6}.tutorial-step-details{margin:0 0 4px;padding-left:20px;list-style:none}.tutorial-step-details li{position:relative;font-size:13px;color:#666;line-height:1.8;padding-left:4px}.tutorial-step-details li:before{content:"•";position:absolute;left:-14px;color:#4caf50;font-weight:700}.tutorial-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid #eee;background:#fafafa}.tutorial-nav-btn{padding:8px 20px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.tutorial-nav-btn:disabled{opacity:.3;cursor:default}.tutorial-nav-prev:hover:not(:disabled){background:#f5f5f5}.tutorial-nav-next{background:#1565c0;color:#fff;border-color:#1565c0}.tutorial-nav-next:hover{background:#0d47a1}.tutorial-nav-count{font-size:12px;color:#999}.tutorial-glossary{padding:16px 24px 24px;max-height:400px;overflow-y:auto}.glossary-item{padding:12px 0;border-bottom:1px solid #f0f0f0}.glossary-item:last-child{border-bottom:none}.glossary-term{display:flex;align-items:center;gap:6px;margin-bottom:4px}.glossary-icon{font-size:16px}.glossary-term strong{font-size:14px;color:#333}.glossary-def{margin:0;font-size:13px;color:#666;line-height:1.6;padding-left:26px}.tutorial-skip{padding:0 24px 16px;text-align:center}.tutorial-skip-btn{background:none;border:none;color:#999;font-size:12px;cursor:pointer;text-decoration:underline;padding:4px 8px}.tutorial-skip-btn:hover{color:#666}.help-tip-wrapper{display:inline-flex;align-items:center;margin-left:6px;position:relative;vertical-align:middle}.help-tip-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid #bbb;background:#fff;color:#999;font-size:11px;font-weight:700;cursor:pointer;padding:0;line-height:1;transition:all .15s}.help-tip-btn:hover{border-color:#1565c0;color:#1565c0;background:#e3f2fd}.help-tip-btn.active{border-color:#1565c0;background:#1565c0;color:#fff}.help-tip-popup{position:absolute;top:calc(100% + 6px);left:-8px;width:240px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px;box-shadow:0 4px 16px #0000001f;z-index:100;animation:helpTipFadeIn .15s ease}@keyframes helpTipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.help-tip-text{margin:0 0 6px;font-size:12.5px;color:#444;line-height:1.6;font-weight:400}.help-tip-details{margin:0 0 8px;padding-left:16px;list-style:none}.help-tip-details li{font-size:11.5px;color:#666;line-height:1.7;position:relative;padding-left:2px}.help-tip-details li:before{content:"•";position:absolute;left:-12px;color:#90caf9}.help-tip-close{display:block;width:100%;background:none;border:1px solid #eee;border-radius:4px;padding:4px;font-size:11px;color:#999;cursor:pointer;text-align:center}.help-tip-close:hover{background:#f5f5f5;color:#666}.color-category-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.color-category-tabs button{padding:2px 7px;font-size:11px;background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;color:#333;transition:background-color .2s ease}.color-category-tabs button:hover{background-color:#f4f4f4}.color-category-tabs button.selected{background-color:#ff9f00;color:#fff;border-color:#ff9f00}.effect-toggle-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.effect-toggle-buttons button{padding:6px 12px;font-size:12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;color:#333;transition:background-color .3s ease}.effect-toggle-buttons button:hover{background-color:#f4f4f4}.effect-toggle-buttons button.selected{background-color:#ff9f00;color:#fff;border-color:#ff9f00}.effect-toggle-buttons button:disabled{opacity:.4;cursor:default}.transform-params{margin-top:8px;padding:8px;background:#f9f9f9;border-radius:4px}.transform-param-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.transform-param-row label{font-size:11px;color:#666;min-width:50px}.transform-param-row input[type=range]{flex:1}.transform-param-row span{font-size:11px;color:#888;min-width:35px;text-align:right}.error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:40px 20px;text-align:center;background:#fafafa}.error-fallback-icon{font-size:56px;margin-bottom:16px}.error-fallback-title{font-size:22px;font-weight:700;color:#333;margin:0 0 12px}.error-fallback-message{font-size:15px;color:#666;line-height:1.7;margin:0 0 24px;max-width:480px}.error-fallback-details{margin-bottom:24px;max-width:600px;width:100%;text-align:left}.error-fallback-details summary{font-size:13px;color:#888;cursor:pointer;margin-bottom:8px}.error-fallback-details pre{background:#1e1e2e;color:#f38ba8;padding:12px 16px;border-radius:6px;font-size:12px;line-height:1.5;overflow-x:auto;max-height:200px;margin:0}.error-fallback-stack{margin-top:8px!important;color:#a6adc8!important;font-size:11px!important}.error-fallback-actions{display:flex;gap:12px}.error-fallback-btn{padding:10px 24px;font-size:14px;font-weight:500;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;cursor:pointer;transition:background .15s,border-color .15s}.error-fallback-btn:hover{background:#f5f5f5;border-color:#bbb}.error-fallback-btn-primary{background:#e67e22;color:#fff;border-color:#d35400}.error-fallback-btn-primary:hover{background:#d35400}.admin-header-actions{display:flex;align-items:center;gap:8px}.toast-container{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;min-width:240px;max-width:400px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;border-left:4px solid #888;cursor:pointer;pointer-events:auto;animation:toastSlideIn .3s ease-out;font-size:14px;line-height:1.4}.toast-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:#888}.toast-message{flex:1;color:#333;word-break:break-word}.toast-success{border-left-color:#27ae60}.toast-success .toast-icon{background:#27ae60}.toast-error{border-left-color:#e74c3c}.toast-error .toast-icon{background:#e74c3c}.toast-info{border-left-color:#3498db}.toast-info .toast-icon{background:#3498db}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.bug-report-fab{position:fixed;bottom:16px;right:16px;z-index:1500;background:#666;color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0003;opacity:.7;transition:opacity .2s,background .2s}.bug-report-fab:hover{opacity:1;background:#555}@media(max-width:768px){.bug-report-fab{bottom:96px;right:8px;padding:6px 12px;font-size:11px}}.bug-report-modal{text-align:left;padding:24px!important;max-height:90vh!important;max-height:90dvh!important;height:auto!important;border-radius:8px!important;width:90%!important;max-width:500px!important}.bug-report-label{display:block;font-size:13px;font-weight:600;color:#555;margin:12px 0 4px}.bug-report-input,.bug-report-textarea{width:100%;padding:8px 10px;font-size:14px;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit}.bug-report-input:focus,.bug-report-textarea:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 2px #ff980026}.bug-report-textarea{min-height:120px;resize:vertical}.bug-report-submit-btn{background:#ff9800;color:#fff;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.bug-report-submit-btn:hover:not(:disabled){background:#f57c00}.bug-report-submit-btn:disabled{opacity:.5;cursor:not-allowed}.bug-report-cancel-btn{background:#eee;color:#555;border:none;border-radius:6px;padding:10px 20px;font-size:14px;cursor:pointer;transition:background .2s}.bug-report-cancel-btn:hover{background:#ddd}.design-list-tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:16px}.design-list-tab{flex:1;padding:10px 16px;border:none;background:none;font-size:14px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s;position:relative}.design-list-tab:hover{color:#555}.design-list-tab.active{color:#333;font-weight:700;border-bottom-color:#ff9800}.design-list-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;font-size:11px;font-weight:700;color:#fff;background:#999;border-radius:9px;line-height:1}.design-list-tab.active .design-list-tab-badge{background:#ff9800}.design-list-delete-btn{flex-shrink:0;width:28px;height:28px;border:none;background:#f0f0f0;color:#999;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;margin-left:auto}.design-list-delete-btn:hover{background:#ffe0e0;color:#e53935}.design-list-bykey{padding:16px 0}.design-list-bykey-desc{font-size:13px;color:#666;margin-bottom:12px}.design-list-bykey-form{display:flex;gap:8px;align-items:center}.design-list-bykey-input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:monospace}.design-list-bykey-input:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 2px #ff980033}.resume-banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:9200;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:12px 16px;box-shadow:0 4px 20px #00000026;max-width:560px;width:calc(100% - 32px);animation:resumeBannerSlideUp .3s ease}@keyframes resumeBannerSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.resume-banner-thumb{width:56px;height:42px;object-fit:contain;border:1px solid #eee;border-radius:4px;background:#fafafa;flex-shrink:0}.resume-banner-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.resume-banner-title{font-size:13px;font-weight:600;color:#333}.resume-banner-key{font-size:11px;color:#888;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-banner-actions{display:flex;gap:8px;flex-shrink:0}.resume-banner-btn{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;white-space:nowrap;transition:background .2s}.resume-banner-btn-resume{background:#ff9800;color:#fff}.resume-banner-btn-resume:hover:not(:disabled){background:#f57c00}.resume-banner-btn-resume:disabled{opacity:.5;cursor:not-allowed}.resume-banner-btn-dismiss{background:#f5f5f5;color:#666}.resume-banner-btn-dismiss:hover{background:#e8e8e8}@media(max-width:768px){.resume-banner{bottom:72px;flex-wrap:wrap;padding:10px 12px;gap:8px}.resume-banner-thumb{width:44px;height:33px}.resume-banner-actions{width:100%;justify-content:stretch}.resume-banner-btn{flex:1;text-align:center;padding:10px 8px}}.admin-key-input-area{display:flex;gap:8px;align-items:flex-start;margin-bottom:12px}.admin-key-textarea{flex:1;padding:8px;border:1px solid #ccc;border-radius:6px;font-size:13px;font-family:monospace;resize:vertical;min-height:60px}*{box-sizing:border-box;font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,system-ui,-apple-system,Segoe UI,Helvetica Neue,Arial,Meiryo,sans-serif;margin:0;padding:0}body{display:flex;flex-direction:column;height:100vh;color:#4e4e4e;background-color:#fff;font-size:15px;line-height:1.6}#root{width:100%;height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}a:hover{opacity:.8}h1{font-size:1.2rem;line-height:1.3;margin:0 0 12px}.home-page{padding:24px 32px;max-width:1200px;margin:0 auto}.home-title{font-size:1.3rem;font-weight:700;color:#333;margin:0 0 20px}.home-section{margin-bottom:28px}.home-section-title{font-size:1.05rem;font-weight:700;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:8px;margin:0 0 12px}.home-section-body{font-size:14px;line-height:1.8;color:#555}.home-section-body p{margin:0}.home-section-body ul{list-style:disc;padding-left:1.5em;margin:0}.home-section-body li{margin-bottom:6px}.home-section-body li:last-child{margin-bottom:0}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;opacity:1}.product-card-img-wrapper{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#f9f9f9;overflow:hidden}.product-card-img{width:100%;height:100%;object-fit:contain;padding:12px;transition:transform .2s ease}.product-card:hover .product-card-img{transform:scale(1.05)}.product-card-no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);font-size:40px;font-weight:700;color:#ccc}.product-card-name{padding:12px 14px;font-size:14px;font-weight:500;color:#333;text-align:center;border-top:1px solid #f0f0f0;line-height:1.4}@media(max-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media(max-width:768px){.home-page{padding:16px}.home-title{font-size:1.1rem;margin:0 0 14px}.home-section{margin-bottom:20px}.home-section-title{font-size:.95rem}.home-section-body{font-size:13px}.product-grid{grid-template-columns:repeat(2,1fr);gap:12px}.product-card-img{padding:8px}.product-card-name{padding:10px;font-size:13px}}@font-face{font-family:KsoHakuryu;src:url(/simulator/fonts/KsoHakuryu.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:KsoTouryu;src:url(/simulator/fonts/KsoTouryu.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:KozMinPro-Bold;src:url(/simulator/fonts/KozMinPro-Bold.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:HGRSGU;src:url(/simulator/fonts/HGRSGU.TTC) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:KsoGokubutokaisho;src:url(/simulator/fonts/KsoGokubutokaisho.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:nicoca_v1;src:url(/simulator/fonts/nicoca_v1.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:APJAPANESEFONTF;src:url(/simulator/fonts/APJAPANESEFONTF.TTF) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:jkan00h4;src:url(/simulator/fonts/jkan00h4.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:High_Tide_-_Demo;src:url(/simulator/fonts/High_Tide_-_Demo.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Housegrind_Personal_Use_Only;src:url(/simulator/fonts/Housegrind_Personal_Use_Only.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:nether;src:url(/simulator/fonts/nether.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:GOTHICB;src:url(/simulator/fonts/GOTHICB.TTF) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:High_School_USA_San;src:url(/simulator/fonts/High_School_USA_Sans.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Ginchiest;src:url(/simulator/fonts/Ginchiest.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:CENTAUR;src:url(/simulator/fonts/CENTAUR.TTF) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:CALIFB;src:url(/simulator/fonts/CALIFB.TTF) format("truetype");font-weight:400;font-style:normal}
