:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}}*{padding:0;margin:0;box-sizing:border-box}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}img,button{-webkit-user-select:none;user-select:none}h1{font-size:3.2em;line-height:1.1}#root{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;text-align:center}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){animation:slide-out-to-left .4s cubic-bezier(.4,0,.2,1) forwards}::view-transition-new(root){animation:slide-in-from-right .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes slide-out-to-left{0%{transform:translate(0);opacity:1}to{transform:translate(-20%);opacity:0}}@keyframes slide-in-from-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}main{overflow-y:auto;overflow-x:hidden;width:100%;padding:50px 10px 20px;color:#fff;background-color:#f6f7f9;display:flex;flex-direction:column;align-items:center;gap:20px;flex:1}.dialog-confirm-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center}.dialog-confirm-modal{background-color:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:24px;width:400px;max-width:90%;position:relative;z-index:10000}.dialog-confirm-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.dialog-confirm-content{margin-top:12px;color:#4b5563;font-size:1rem;line-height:1.5}.dialog-confirm-actions{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.dialog-confirm-btn{padding:8px 16px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.dialog-confirm-btn-cancel{background-color:#f3f4f6;color:#374151}.dialog-confirm-btn-cancel:hover{background-color:#e5e7eb}.dialog-confirm-btn-ok{background-color:#ef4444;color:#fff}.dialog-confirm-btn-ok:hover{background-color:#dc2626}.header{width:100%;position:relative;padding:75px 22px;background:linear-gradient(to bottom,#db7093,#ec97b3);color:#fff;transition:all .2s ease;z-index:9998}.header.shrink{padding:15px 22px}.header-nav{display:flex;justify-content:space-between;align-items:center;width:100%}.nav-logo-small{height:50px;width:auto}.header-nav button{width:100px;height:50px;padding:15px;background:pink;color:#000;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;opacity:.85}.header-nav button:hover{opacity:1}.header-nav .header-create-button{width:165px;background-color:#fff}.header-nav-buttons{display:flex;gap:20px}.header>h1{text-overflow:ellipsis;overflow:hidden}.header>p{font-size:1.2rem;text-overflow:ellipsis;overflow:hidden}.header-logo{width:100px;transition:all .2s ease}.header-logo.shrink{width:50px}.header-curve-svg{width:100%;height:40px;position:absolute;top:100%;left:0;z-index:1;margin-top:-1px}.base-modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;display:flex;align-items:center;justify-content:center}.base-modal-container{background-color:#fff;border-radius:10px;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:90vh;position:relative;z-index:9999}.base-modal-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.base-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.base-modal-close-btn{background:transparent;border:none;font-size:1.5rem;line-height:1;color:#9ca3af;cursor:pointer;padding:0;transition:color .2s}.base-modal-close-btn:hover{color:#ef4444}.base-modal-body{padding:20px;overflow-y:auto;flex:1}.create-presentation-form{display:flex;flex-direction:column;gap:16px}.create-presentation-label{font-weight:500}.create-presentation-input{width:100%;padding:10px;border-radius:10px;border:1px solid #d1d5db;outline:none;transition:border-color .3s}.create-presentation-input:focus{border-color:#667eea}.image-upload-container{width:100%;height:180px;border:2px dashed #d1d5db;border-radius:12px;background-color:#f9fafb;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.image-upload-container:hover{border-color:#3b82f6;background-color:#eff6ff}.image-upload-container.has-image{border-style:solid}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#9ca3af}.upload-placeholder .plus-icon{font-size:2.5rem;margin-bottom:8px;line-height:1}.upload-placeholder span{font-size:.95rem}.image-preview{width:100%;height:100%;object-fit:cover;display:block}.upload-overlay{position:absolute;inset:0;background-color:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:500;opacity:0;transition:opacity .2s ease}.image-upload-container.has-image:hover .upload-overlay{opacity:1}.create-presentation-buttons{display:flex;justify-content:flex-end;gap:12px}.create-presentation-buttons button{padding:8px 16px;color:#fff;border-radius:10px;border:none;cursor:pointer}.create-presentation-buttons .submit-button{background:#10b981}.create-presentation-buttons .cancel-button{background:#f87171}.create-presentation-buttons .submit-button:hover{background:#198a65}.create-presentation-buttons .cancel-button:hover{background:#ef4444}.home-presentation-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden;display:flex;flex-direction:row;transition:all .2s;cursor:pointer;width:100%;min-width:100px;aspect-ratio:2 / 1;-webkit-user-select:none;user-select:none}.home-presentation-card .thumbnail-preview{flex:2;background-color:#f3f4f6;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #e5e7eb}.home-presentation-card .thumbnail-preview img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.home-presentation-card .thumbnail-preview p{color:gray}.home-presentation-card .card-footer{flex:1;width:100px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:5px;background-color:#fff}.home-presentation-card .card-name{font-size:1rem;font-weight:500;color:#111827;text-align:left;text-overflow:ellipsis;overflow:hidden}.home-presentation-card .card-description{height:100px;font-size:.8rem;color:gray;text-align:left;overflow-y:auto;overflow-wrap:break-word}.home-presentation-card .thumbnail-preview-btn-container{display:flex;justify-content:space-between;align-items:center}.home-presentation-card .thumbnail-preview-btn-container p{color:#db7093;font-size:.75rem;font-weight:500;text-overflow:ellipsis;overflow:hidden}.home-presentation-card .thumbnail-preview-btn{min-width:72px;padding:5px 7px;background-color:#f6f7f9;border:1px solid transparent;border-radius:6px;font-size:.8rem;color:#374151;font-weight:500;cursor:pointer;transition:background-color .2s}.home-presentation-card .thumbnail-preview-btn:hover{background-color:#cfd4dd;border-color:#e5e7eb}.home-presentation-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:#d1d5db}.home-presentation-card:hover .thumbnail-preview img{transform:scale(1.2)}.home-presentation-card:hover .thumbnail-preview-btn{background-color:#cfd4dd;border-color:#e5e7eb}.welcome-section-buttons{display:flex;justify-content:center;gap:20px;width:100%}.welcome-login-button,.welcome-register-button,.welcome-form button{width:200px;height:50px;padding:15px;background:#e5637c;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;opacity:.9}.welcome-register-button{background-color:#0e7b75}.welcome-login-button:hover,.welcome-register-button:hover,button[type=submit]:hover{opacity:1}.welcome-section-inputs{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:450px;width:100%}.welcome-form{background-color:#fff;padding:30px;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:20px;box-shadow:0 15px 35px #0000001a;transition:all .3s}.welcome-form input{width:100%;padding:12px 15px;border:none;border-bottom:2px solid #e2e8f0;border-radius:5px;box-sizing:border-box;font-size:1rem;transition:border-color .3s;outline:none}.welcome-form input:focus{border-color:#667eea}.welcome-form input::placeholder{font-size:.8rem}.welcome-form button[type=submit]{background-color:#667eea;width:100%}.home-div{width:100%;flex:1}.presentation-container{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#000;width:100%;height:100%}.presentation-container .presentation-header{width:100%;height:60px;display:flex;align-items:center;justify-content:space-between;background-color:#fff;border-radius:10px;padding:0 20px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.presentation-container .presentation-header .presentation-header-left{display:flex;align-items:center;gap:10px}.presentation-container .presentation-header .presentation-header-right{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:gray;font-weight:500;font-size:.8rem}.presentation-container .presentation-header .presentation-header-right span{font-weight:bolder}.presentation-container .presentation-header .presentation-header-left button{padding:8px 16px;color:#fff;border-radius:10px;border:none;cursor:pointer;width:70px}.presentation-container .presentation-header .presentation-header-left .back-button{background:gray;width:80px}.presentation-container .presentation-header .presentation-header-left .edit-button{background:#10b981}.presentation-container .presentation-header .presentation-header-left .delete-button{background:#f87171}.presentation-container .presentation-header .presentation-header-left .back-button:hover{background:#595757}.presentation-container .presentation-header .presentation-header-left .edit-button:hover{background:#198a65}.presentation-container .presentation-header .presentation-header-left .delete-button:hover{background:#f34646}.presentation-container .presentation-main{width:100%}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.home-presentation-grid-container{background-color:#f6f7f9;display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;width:100%}.loading-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:40px;gap:16px}.loading-wrapper.full-screen{height:100vh;position:fixed;inset:0;background-color:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.spinner-ring{width:40px;height:40px;border-radius:50%;border:4px solid #f3f4f6;border-top-color:pink;animation:spinner-spin .8s linear infinite}.loading-text{font-size:.9rem;color:#6b7280;font-weight:500;letter-spacing:1px;animation:spinner-pulse 1.5s ease-in-out infinite}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-pulse{0%,to{opacity:.6}50%{opacity:1}}
