body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{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;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:1rem 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 20px #0000001a}.header-content{max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-buttons{display:flex;gap:1rem;align-items:center}.app-title{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#2d3748;margin:0}.title-icon{font-size:1.8rem}.export-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1rem;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.export-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.export-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.clear-btn{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff;border:none;padding:.5rem 1rem;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px #e53e3e66}.clear-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #e53e3e99}.clear-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon{font-size:1.1rem}.main-content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:1400px;margin:0 auto;padding:1rem;width:100%}.form-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:1rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);max-height:calc(100vh - 100px);overflow-y:auto}.form-container{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#2d3748;font-size:1rem}.label-icon{font-size:1.2rem}.title-input{padding:.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff}.title-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.title-input::placeholder{color:#a0aec0}.layout-options{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.layout-option{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.4rem;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s ease;background:#fff;position:relative}.layout-option:hover{border-color:#667eea;transform:translateY(-2px)}.radio-input{position:absolute;opacity:0;width:0;height:0}.radio-custom{width:20px;height:20px;border:2px solid #cbd5e0;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.radio-custom.small{width:16px;height:16px}.radio-dot{width:8px;height:8px;background:#667eea;border-radius:50%;opacity:0;transition:opacity .3s ease}.radio-custom.small .radio-dot{width:6px;height:6px}.radio-input:checked+.radio-custom{border-color:#667eea}.radio-input:checked+.radio-custom .radio-dot{opacity:1}.layout-preview{margin-left:1rem;width:100px;height:60px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#f7fafc}.horizontal-preview{display:flex}.horizontal-preview .preview-item{flex:1;display:flex;flex-direction:column}.vertical-preview .preview-item{display:flex;height:100%}.preview-image{background:#e2e8f0;flex:1}.horizontal-preview .preview-image{height:50%}.vertical-preview .preview-image{width:50%}.preview-text{background:#c6f6d5;flex:1}.horizontal-preview .preview-text{height:50%}.vertical-preview .preview-text{width:50%}.layout-label{font-weight:500;color:#4a5568}.tasks-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.add-task-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px #48bb7866}.add-task-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #48bb7899}.add-task-container{display:flex;justify-content:center;margin-top:1rem}.add-task-wrapper{display:flex;align-items:center;gap:1rem;background:#ffffffe6;padding:1rem 1.5rem;border-radius:12px;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px #0000000d}.task-counter{font-weight:600;color:#4a5568;font-size:.9rem;padding:.5rem 1rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.add-task-btn-end{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px #48bb7866;font-size:1rem}.add-task-btn-end:hover{transform:translateY(-2px);box-shadow:0 6px 20px #48bb7899}.tasks-container{display:flex;flex-direction:column;gap:1.5rem}.tasks-list{display:flex;flex-direction:column;gap:.75rem}.task-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:.75rem;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.task-card:hover{border-color:#667eea;box-shadow:0 4px 16px #0000001a}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;cursor:grab}.task-header:active{cursor:grabbing}.task-header-buttons{display:flex;align-items:center;gap:.5rem}.mobile-reorder-buttons{display:none;align-items:center;gap:.25rem}.reorder-btn{background:#edf2f7;color:#4a5568;border:none;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:.8rem;font-weight:700}.reorder-btn:hover:not(:disabled){background:#e2e8f0;color:#2d3748;transform:scale(1.05)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.reorder-btn.up-btn{color:#38a169}.reorder-btn.down-btn{color:#3182ce}.task-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:20px;font-weight:600;font-size:.9rem}.remove-task-btn{background:#fed7d7;color:#c53030;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1.2rem;font-weight:700}.remove-task-btn:hover{background:#feb2b2;transform:scale(1.1)}.collapse-btn{background:#e6fffa;color:#319795;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1rem}.collapse-btn:hover{background:#b2f5ea;transform:scale(1.1)}.task-collapsed-view{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0;transition:all .3s ease}.task-collapsed-view:hover{background:#edf2f7;border-color:#cbd5e0}.collapsed-thumbnail{width:40px;height:40px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e2e8f0;flex-shrink:0}.collapsed-thumbnail img{width:100%;height:100%;object-fit:cover}.collapsed-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#e2e8f0;border-radius:8px}.collapsed-text{flex:1;min-width:0}.collapsed-task-text{font-size:.85rem;color:#4a5568;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.task-card{transition:all .3s ease}.task-card.dragging{opacity:.5;transform:rotate(5deg)}.task-card.drag-over{border-color:#667eea;box-shadow:0 0 0 2px #667eea4d;transform:scale(1.02)}.task-card.drag-over:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;z-index:-1}.task-content{display:flex;flex-direction:column;gap:.5rem}.image-type-selector{display:flex;gap:.5rem;flex-wrap:wrap}.image-type-option{display:flex;align-items:center;gap:.3rem;cursor:pointer;padding:.3rem;border-radius:8px;transition:background-color .3s ease}.image-type-option:hover{background:#f7fafc}.option-label{font-size:.9rem;font-weight:500;color:#4a5568}.image-input-container{display:flex;flex-direction:column;gap:.3rem}.file-upload-area{position:relative}.file-upload-area.drag-over .file-upload-label{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a);transform:scale(1.02);box-shadow:0 8px 25px #667eea4d}.file-input{position:absolute;opacity:0;width:0;height:0}.file-upload-label{display:block;cursor:pointer;border:2px dashed #cbd5e0;border-radius:12px;padding:2rem;text-align:center;transition:all .3s ease;background:#f7fafc}.file-upload-label:hover{border-color:#667eea;background:#edf2f7}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{font-size:2rem}.upload-text{color:#718096;font-weight:500}.image-preview{width:100%;height:120px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-preview img{max-width:100%;max-height:100%;object-fit:contain}.url-input{padding:.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;transition:all .3s ease}.url-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.url-input::placeholder{color:#a0aec0}.task-description-container{display:flex;flex-direction:column;gap:.3rem}.task-description{padding:.5rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:60px;transition:all .3s ease}.task-description:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.task-description::placeholder{color:#a0aec0}.preview-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:1rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);max-height:calc(100vh - 100px);overflow-y:auto}.preview-container{display:flex;flex-direction:column;gap:1.5rem}.preview-header{display:flex;justify-content:space-between;align-items:center}.preview-title{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:600;color:#2d3748;margin:0}.preview-content{display:flex;flex-direction:column;gap:1.5rem}.routine-title-display{text-align:center;padding:1rem}.title-text{background:linear-gradient(135deg,#ffdbe7,#ffb3d9);padding:1rem 2rem;border-radius:16px;font-size:2.5rem;font-weight:700;font-style:italic;color:#2d3748;box-shadow:0 4px 16px #ffdbe766;display:inline-block}.routine-grid{border:2px solid #e2e8f0;border-radius:0;overflow:hidden;background:#fff;box-shadow:none}.routine-grid.horizontal{display:flex;height:500px;width:100%;max-width:1300px;margin:0 auto}.routine-grid.vertical{display:flex;flex-direction:column;width:100%;max-width:1300px;margin:0 auto}.routine-item{display:flex;flex:1;border-right:1px solid #e2e8f0}.routine-item:last-child{border-right:none}.routine-item.vertical{flex-direction:row;height:200px;border-bottom:1px solid #e2e8f0}.routine-item.vertical:last-child{border-bottom:none}.routine-item.horizontal{flex-direction:column;flex:1;display:flex;height:100%}.item-image-container{display:flex;align-items:center;justify-content:center;background:#f7fafc;overflow:hidden;min-height:120px;padding:8px}.routine-item.horizontal .item-image-container{height:50%;flex:1;display:flex;align-items:flex-start;justify-content:flex-start;padding-top:20px}.routine-item.vertical .item-image-container{width:50%}.item-image{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto;display:block;margin:0 auto}.image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#f7fafc}.placeholder-icon{font-size:2rem;color:#cbd5e0}.item-text-container{display:flex;align-items:center;justify-content:center;background:#c6f6d5;padding:1rem;text-align:center;font-style:italic;font-weight:500;color:#2d3748}.routine-item.horizontal .item-text-container{height:50%;flex:1;display:flex;align-items:center;justify-content:center}.routine-item.vertical .item-text-container{width:50%;text-align:center;justify-content:center}.item-text{font-size:1.5rem;line-height:1.4;font-family:Comic Sans MS,Chalkboard SE,Marker Felt,Arial Rounded MT Bold,cursive;font-weight:600}@media(max-width:1024px){.main-content{grid-template-columns:1fr;gap:1.5rem}.form-section,.preview-section{max-height:none}}@media(max-width:768px){.app-header{position:static}.header-content{flex-direction:column;text-align:center}.header-buttons{flex-direction:column;width:100%}.export-btn,.clear-btn{width:100%;justify-content:center}.app-title{font-size:1.3rem}.main-content{padding:1rem;gap:1rem}.form-section,.preview-section{padding:1.5rem}.layout-options{grid-template-columns:1fr}.image-type-selector{flex-direction:column}.tasks-header{flex-direction:column;align-items:stretch}.add-task-btn{justify-content:center}.add-task-wrapper{flex-direction:column;gap:.75rem;width:100%}.add-task-btn-end{width:100%;justify-content:center}.routine-grid.horizontal{height:300px;width:90%;max-width:900px;margin:0 auto}.routine-item.vertical{height:150px}.title-text{font-size:2rem;padding:.75rem 1.5rem}.mobile-reorder-buttons{display:flex}.task-header,.task-header:active,.task-card{cursor:default}.task-card.dragging,.task-card.drag-over{transform:none;opacity:1}.task-card.drag-over:before{display:none}}@media(max-width:480px){.app-header{padding:.75rem 0}.main-content{padding:.5rem}.form-section,.preview-section,.task-card{padding:1rem}.routine-grid.horizontal{height:250px;width:90%;max-width:600px;margin:0 auto}.routine-item.vertical{height:120px}.item-text{font-size:1rem}.title-text{font-size:1.5rem;padding:.5rem 1rem}}.form-section::-webkit-scrollbar,.preview-section::-webkit-scrollbar{width:8px}.form-section::-webkit-scrollbar-track,.preview-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.form-section::-webkit-scrollbar-thumb,.preview-section::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.form-section::-webkit-scrollbar-thumb:hover,.preview-section::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.task-card{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}button:focus,input:focus,textarea:focus{outline:2px solid #667eea;outline-offset:2px}.export-btn:disabled{position:relative}.export-btn:disabled:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media print{img.item-image{width:auto!important;height:auto!important;max-width:100%!important;max-height:2in!important;object-fit:contain!important;display:inline-block!important;object-position:center!important;aspect-ratio:auto!important;transform:none!important;min-width:auto!important;min-height:auto!important;flex-shrink:0!important;flex-grow:0!important;box-sizing:content-box!important}body{background:#fff;margin:0;padding:0;font-family:Comic Sans MS,Chalkboard SE,Marker Felt,Arial Rounded MT Bold,cursive!important}.app-header,.form-section,.preview-header{display:none!important}.main-content{display:block!important;grid-template-columns:none!important;max-width:none!important;margin:0!important;padding:.5in!important;gap:0!important}.preview-section{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important;border:none!important;max-height:none!important;overflow:visible!important}.preview-container{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important;border:none!important}.routine-title-display{text-align:center;padding:.2in 0 .3in;margin-bottom:.3in}.title-text{background:#fff!important;padding:.2in .4in!important;border-radius:0!important;font-size:36pt!important;font-weight:700!important;font-style:normal!important;color:#2d3748!important;box-shadow:none!important;border:3px solid #ff6b6b!important;display:inline-block!important;font-family:Comic Sans MS,Chalkboard SE,Marker Felt,Arial Rounded MT Bold,cursive!important;text-shadow:2px 2px 4px rgba(0,0,0,.1)!important}.routine-grid{border:2px solid #2d3748!important;border-radius:0!important;overflow:hidden!important;background:#fff!important;box-shadow:none!important;width:100%!important;table-layout:fixed!important;display:table!important;border-collapse:collapse!important}.routine-grid.horizontal{display:table!important;height:3in!important;table-layout:fixed!important;width:100%!important;max-width:none!important;margin:0 auto!important}.routine-grid.vertical{display:table!important;table-layout:fixed!important;width:90%!important;max-width:none!important;margin:0!important;padding:0!important;border:2px solid #2d3748!important;border-collapse:collapse!important}.routine-grid.horizontal .routine-item{display:table-cell!important;border:1px solid #2d3748!important;vertical-align:top!important;padding:.2in!important;width:50%!important;height:3in!important;min-height:3in!important;max-height:3in!important}.routine-grid.horizontal .routine-item:last-child{border-right:1px solid #2d3748!important}.routine-grid.vertical td{border:1px solid #2d3748!important;vertical-align:top!important;padding:.2in!important;width:50%!important;height:1.5in!important;min-height:1.5in!important;max-height:1.5in!important}.routine-grid.vertical tr{border:1px solid #2d3748!important}.item-image-container{display:block!important;align-items:center!important;justify-content:center!important;background:#fff!important;overflow:visible!important;margin-bottom:.15in!important;text-align:center!important;height:auto!important;width:100%!important;min-height:auto!important;max-height:none!important;flex:none!important;flex-basis:auto!important;box-sizing:content-box!important;padding:.1in!important}.routine-grid.horizontal .item-image-container{height:1in!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.routine-grid.vertical .item-image-container{width:100%!important;height:1in!important;display:flex!important;align-items:center!important;justify-content:center!important}.item-image{max-width:100%!important;max-height:2in!important;object-fit:contain!important;width:auto!important;height:auto!important;display:block!important;margin:0 auto!important;object-position:center!important;aspect-ratio:auto!important;transform:none!important;min-width:auto!important;min-height:auto!important;flex-shrink:0!important;flex-grow:0!important;box-sizing:content-box!important}.image-placeholder{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:1.5in!important;background:#f7fafc!important;border:1px dashed #cbd5e0!important}.placeholder-icon{font-size:32pt!important;color:#cbd5e0!important}.item-text-container{display:block!important;align-items:flex-start!important;justify-content:flex-start!important;background:#fff!important;padding:.15in 0!important;text-align:left!important;font-style:normal!important;font-weight:400!important;color:#2d3748!important;height:auto!important;width:100%!important}.routine-grid.horizontal .item-text-container{height:1in!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.routine-grid.vertical .item-text-container{width:100%!important;height:.5in!important;text-align:center!important;justify-content:center!important;display:flex!important;align-items:center!important}.item-text{font-size:18pt!important;line-height:1.4!important;color:#2d3748!important;word-wrap:break-word!important;overflow-wrap:break-word!important;font-family:Comic Sans MS,Chalkboard SE,Marker Felt,Arial Rounded MT Bold,cursive!important;font-weight:600!important}.routine-grid,.routine-item{page-break-inside:avoid!important}}@media screen{.preview-content{max-width:9.5in;margin:0 auto}}.drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;margin-right:.5rem;padding:.25rem .2rem;border-radius:6px;-webkit-user-select:none;user-select:none;background:transparent;transition:background .2s}.drag-handle:active{cursor:grabbing;background:#e2e8f0}.drag-handle:focus{outline:2px solid #667eea;outline-offset:2px}.grip-icon{font-size:1.3rem;color:#a0aec0;letter-spacing:-2px;line-height:1}.mobile-reorder-buttons{display:none!important}.task-card[draggable=true]{cursor:grab}.task-card[draggable=true]:active{cursor:grabbing}@media(max-width:768px){.task-card[draggable=true]{cursor:default}.drag-handle{cursor:grab}.drag-handle:active{cursor:grabbing}.grip-icon{font-size:1.6rem}}
