.drawing-canvas-container{flex:1;display:flex;flex-direction:column;padding:12px;overflow:hidden;min-height:0;position:relative}.drawing-canvas{flex:1;background:#fff;border-radius:12px;box-shadow:0 4px 8px #00000026;cursor:crosshair;touch-action:none;min-height:0}.floating-undo-redo{position:absolute;right:20px;top:20px;display:flex;flex-direction:column;gap:12px;z-index:10;pointer-events:none}.floating-undo-redo .floating-button{pointer-events:auto}.floating-button{width:54px;height:54px;font-size:28px;padding:0;border:3px solid;border-radius:50%;font-weight:700;cursor:pointer;box-shadow:0 4px 8px #0003;transition:all .2s;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.floating-button .button-icon{font-size:26px;line-height:1}.floating-button:active:not(:disabled){transform:scale(.95);box-shadow:0 2px 4px #0000001a}.floating-button:disabled{opacity:.3;cursor:not-allowed}.undo-button{border-color:#ff9800;color:#ff9800}.redo-button{border-color:#2196f3;color:#2196f3}.action-tray{position:absolute;bottom:0;left:12px;right:12px;display:flex;gap:8px;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:#fffffff2;border-radius:16px 16px 0 0;box-shadow:0 -2px 12px #0000001a;justify-content:space-around;transition:transform .3s ease-in-out,opacity .3s ease-in-out;z-index:20}.action-tray.visible{transform:translateY(0);opacity:1}.action-tray.hidden{transform:translateY(100%);opacity:0;pointer-events:none}.tray-button{flex:1;font-size:18px;padding:12px 8px;border:2px solid;border-radius:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #00000026;transition:all .2s;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:70px}.tray-button .button-icon{font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center}.tray-button .button-icon svg{display:block}.tray-button .button-label{font-size:13px;font-weight:600;line-height:1}.tray-button:active{transform:scale(.95);box-shadow:0 1px 3px #0000001a}.clear-button{border-color:#f44336;color:#f44336}.save-button{border-color:#4caf50;color:#4caf50}.share-button{border-color:#9c27b0;color:#9c27b0}@media(max-width:600px){.drawing-canvas-container{padding:6px}.drawing-canvas{border-radius:8px}.floating-undo-redo{right:12px;top:12px;gap:8px}.floating-button{width:48px;height:48px;font-size:24px;border-width:2px}.floating-button .button-icon{font-size:22px}.action-tray{left:6px;right:6px;gap:6px;padding:6px;padding-bottom:max(6px,env(safe-area-inset-bottom));border-radius:12px 12px 0 0}.tray-button{padding:10px 6px;min-height:65px;gap:4px}.tray-button .button-icon{font-size:24px}.tray-button .button-label{font-size:12px}}@media(orientation:landscape){.drawing-canvas-container{padding:6px}.floating-undo-redo{right:16px;top:16px;gap:8px}.floating-button{width:50px;height:50px;font-size:26px}.floating-button .button-icon{font-size:24px}.action-tray{left:6px;right:6px;gap:6px;padding:6px;padding-bottom:max(6px,env(safe-area-inset-bottom));border-radius:12px 12px 0 0}.tray-button{padding:8px 6px;min-height:60px;gap:4px}.tray-button .button-icon{font-size:22px}.tray-button .button-label{font-size:11px}}.color-picker{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.color-picker-label{font-size:18px;font-weight:700;color:#333}.color-grid{display:flex;gap:10px;padding:4px;min-width:min-content}.color-swatch{width:50px;height:50px;min-width:50px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0003;position:relative;display:flex;align-items:center;justify-content:center}.color-swatch:active{transform:scale(.9)}.color-swatch.selected{border-color:#333;box-shadow:0 6px 12px #0000004d;transform:scale(1.1)}.check-mark{font-size:28px;font-weight:700;color:#333;text-shadow:1px 1px 2px rgba(255,255,255,.8)}.color-swatch[style*="#FFFFFF"]{border:4px solid #DDD}.color-swatch[style*="#FFFFFF"].selected{border-color:#333}@media(max-width:600px){.color-grid{gap:8px}.color-swatch{width:45px;height:45px;min-width:45px}.check-mark{font-size:20px}.color-picker-label{font-size:16px}}@media(orientation:landscape){.color-picker-label{font-size:14px}.color-grid{gap:6px}.color-swatch{width:40px;height:40px;min-width:40px}.check-mark{font-size:18px}}.brush-size-picker{display:flex;flex-direction:column;gap:4px;align-items:center}.brush-size-label{font-size:18px;font-weight:700;color:#333}.brush-size-options{display:flex;gap:6px}.brush-size-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;background:#fff;border:2px solid #DDD;border-radius:8px;cursor:pointer;transition:all .2s;min-width:70px;min-height:40px;box-shadow:0 1px 2px #0000001a}.brush-size-button:active{transform:scale(.95)}.brush-size-button.selected{border-color:#4b5563;background:#f3f4f6;box-shadow:0 2px 4px #4b55634d;transform:scale(1.05)}.brush-preview-line{background:#333;border-radius:2px;width:40px;transition:all .2s}.brush-preview{background:#333;border-radius:50%;transition:all .2s}.brush-size-name{font-size:14px;font-weight:700;color:#333}@media(max-width:600px){.brush-size-options{gap:4px}.brush-size-button{min-width:70px;min-height:40px;padding:6px 10px}.brush-preview-line{width:50px}.brush-size-label{font-size:16px}.brush-size-name{font-size:12px}}@media(orientation:landscape){.brush-size-picker{flex-direction:row;gap:8px}.brush-size-label{font-size:14px}.brush-size-options{gap:4px}.brush-size-button{min-width:60px;min-height:35px;padding:4px 8px}.brush-preview-line{width:35px}.brush-size-name{font-size:11px}}.gallery{width:100vw;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);overflow:hidden}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:max(12px,calc(env(safe-area-inset-top) + 12px));background:linear-gradient(135deg,#ff6b6b,#4d96ff,#6bcf7f);box-shadow:0 4px 8px #0000001a;flex-shrink:0}.gallery-title{font-size:28px;font-weight:800;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.gallery-logo{max-height:70px;height:auto;object-fit:contain}.back-button{font-size:18px;padding:12px 20px;background:#fffffff2;border:3px solid rgba(255,255,255,.8);border-radius:20px;font-weight:700;color:#333;cursor:pointer;box-shadow:0 4px 6px #0003;transition:all .2s;min-width:100px;min-height:60px}.back-button:active{transform:scale(.95)}.drawing-actions{display:flex;gap:12px;justify-content:center;padding:16px;background:#ffffff80;flex-shrink:0}.share-button,.delete-button{font-size:18px;padding:14px 24px;background:#fff;border:3px solid;border-radius:12px;cursor:pointer;box-shadow:0 4px 6px #0000001a;transition:all .2s;min-width:140px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.share-button{border-color:#2196f3;color:#2196f3}.delete-button{border-color:#f44336;color:#f44336}.share-button:active,.delete-button:active{transform:scale(.95)}.gallery-content{flex:1;overflow-y:auto;padding:20px}.empty-gallery{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px}.empty-message{font-size:32px;font-weight:700;color:#999;margin-bottom:12px}.empty-hint{font-size:20px;color:#bbb}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.gallery-item{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 8px #0000001a;cursor:pointer;transition:all .2s}.gallery-item:active{transform:scale(.95)}.gallery-thumbnail{width:100%;aspect-ratio:1;object-fit:cover;display:block}.gallery-item-date{padding:8px;background:#f5f5f5;text-align:center;font-size:12px;color:#666;font-weight:600}.drawing-viewer{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;overflow:auto}.full-drawing{max-width:100%;max-height:70vh;border-radius:15px;box-shadow:0 8px 16px #0003;background:#fff}.drawing-info{margin-top:20px;text-align:center;font-size:16px;color:#666}@media(max-width:600px){.gallery-title{font-size:22px}.gallery-logo{max-height:55px}.back-button{font-size:16px;padding:10px 16px;min-width:80px;min-height:50px}.drawing-actions{padding:12px;gap:8px}.share-button,.delete-button{font-size:16px;padding:12px 16px;min-width:120px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.empty-message{font-size:24px}.empty-hint{font-size:16px}}@media(orientation:landscape){.gallery-header{padding:8px 12px;padding-top:max(8px,calc(env(safe-area-inset-top) + 8px))}.gallery-title{font-size:20px}.gallery-logo{max-height:50px}.back-button{font-size:16px;padding:8px 14px;min-width:80px;min-height:45px}.drawing-actions{padding:10px;gap:10px}.share-button,.delete-button{font-size:15px;padding:10px 18px;min-width:120px}.full-drawing{max-height:60vh}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.welcome-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;overflow-y:auto}.welcome-dialog{background:#fff;border-radius:24px;box-shadow:0 12px 48px #0006;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;will-change:transform;-webkit-overflow-scrolling:touch}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-header{background:linear-gradient(135deg,#ff6b6b,#4d96ff,#6bcf7f);padding:32px 24px;text-align:center;border-radius:24px 24px 0 0}.welcome-logo{max-width:250px;width:100%;height:auto}.welcome-content{padding:32px 24px}.welcome-title{margin:0 0 16px;color:#333;font-size:32px;font-weight:800;text-align:center}.welcome-description{margin:0 0 32px;color:#666;font-size:18px;text-align:center;line-height:1.5}.tutorial-section{margin-bottom:32px}.tutorial-section h2{margin:0 0 20px;color:#333;font-size:24px;font-weight:700;text-align:center}.tutorial-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:12px;transition:background .2s}.tutorial-item:hover{background:#e9ecef}.tutorial-icon{font-size:32px;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a}.tutorial-icon.color-icon{background:linear-gradient(135deg,#ff6b6b,#4d96ff,#6bcf7f);padding:4px}.color-sample{width:32px;height:32px;border-radius:8px;border:3px solid white;box-shadow:0 2px 4px #0003}.tutorial-icon.brush-icon{background:#fff}.brush-sample{width:24px;height:24px;border-radius:50%;background:#333}.tutorial-text{flex:1;color:#333;font-size:16px;line-height:1.6}.tutorial-text strong{color:#000;display:block;margin-bottom:4px}.welcome-checkbox{margin-bottom:24px;text-align:center}.welcome-checkbox label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:16px;color:#555;padding:8px 16px;border-radius:8px;transition:background .2s}.welcome-checkbox label:hover{background:#f8f9fa}.welcome-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#4D96FF}.welcome-cta-button{width:100%;padding:18px 32px;background:linear-gradient(135deg,#ff6b6b,#4d96ff,#6bcf7f);color:#fff;border:none;border-radius:16px;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #4d96ff66;transition:all .2s}.welcome-cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4d96ff80}.welcome-cta-button:active{transform:translateY(0);box-shadow:0 2px 8px #4d96ff4d}@media(max-width:600px){.welcome-dialog{max-height:95vh;border-radius:20px}.welcome-header{padding:24px 16px;border-radius:20px 20px 0 0}.welcome-logo{max-width:200px}.welcome-content{padding:24px 16px}.welcome-title{font-size:26px}.welcome-description{font-size:16px;margin-bottom:24px}.tutorial-section h2{font-size:20px;margin-bottom:16px}.tutorial-item{padding:12px;margin-bottom:12px}.tutorial-icon{font-size:28px;width:44px;height:44px}.tutorial-text,.welcome-checkbox label{font-size:15px}.welcome-cta-button{font-size:18px;padding:16px 24px}}.app{width:100vw;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);overflow:hidden}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:max(12px,calc(env(safe-area-inset-top) + 12px));background:linear-gradient(135deg,#ff6b6b,#4d96ff,#6bcf7f);box-shadow:0 4px 8px #0000001a;flex-shrink:0}.header-buttons{display:flex;gap:8px;align-items:center}.app-title{font-size:28px;font-weight:800;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2);letter-spacing:1px}.app-logo{max-height:70px;height:auto;object-fit:contain}.help-button,.lock-button,.gallery-button{font-size:18px;padding:12px 20px;background:#fffffff2;border:3px solid rgba(255,255,255,.8);border-radius:20px;font-weight:700;color:#333;cursor:pointer;box-shadow:0 4px 6px #0003;transition:all .2s;min-width:60px;min-height:60px}.help-button,.lock-button{min-width:50px;font-size:22px}.help-button:active,.lock-button:active,.gallery-button:active{transform:scale(.95);box-shadow:0 2px 4px #0000001a}.top-controls{display:flex;flex-direction:column;gap:8px;padding:8px 12px;background:#fffffff2;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.unlock-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.unlock-dialog{background:#fff;padding:32px;border-radius:20px;box-shadow:0 8px 32px #0000004d;text-align:center;max-width:400px;margin:20px}.unlock-dialog h2{margin:0 0 16px;color:#333;font-size:24px}.unlock-dialog p{margin:0 0 24px;color:#666;font-size:16px}.unlock-confirm-button,.unlock-cancel-button{padding:12px 24px;margin:8px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;min-width:120px}.unlock-confirm-button{background:#4b5563;color:#fff;border:none}.unlock-cancel-button{background:#fff;color:#4b5563;border:2px solid #4B5563}.unlock-confirm-button:active,.unlock-cancel-button:active{transform:scale(.95)}@media(max-width:600px){.app-title{font-size:20px}.app-logo{max-height:55px}.help-button,.lock-button,.gallery-button{font-size:18px;padding:8px 12px;min-width:50px;min-height:50px}.help-button,.lock-button{font-size:20px}.top-controls{padding:6px 8px;gap:6px}.unlock-dialog{padding:24px;margin:16px}.unlock-dialog h2{font-size:20px}.unlock-confirm-button,.unlock-cancel-button{display:block;width:100%;margin:8px 0}}@media(orientation:landscape){.app-header{padding:8px 12px;padding-top:max(8px,calc(env(safe-area-inset-top) + 8px))}.app-title{font-size:20px}.app-logo{max-height:50px}.help-button,.lock-button,.gallery-button{font-size:16px;padding:6px 12px;min-width:50px;min-height:45px}.help-button,.lock-button{font-size:18px}.top-controls{flex-direction:row;justify-content:space-around;padding:6px 12px;gap:12px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background:linear-gradient(135deg,#ff6b6b,#4d96ff,#6bcf7f);touch-action:none;user-select:none;-webkit-user-select:none}#root{width:100vw;height:100vh;overflow:hidden}body{overscroll-behavior:none;position:fixed;width:100%;height:100%}
