@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;700&family=EB+Garamond:wght@400;500;700&family=Alegreya:wght@400;500;700&family=Crimson+Text:wght@400;600;700&display=swap);:root{--spacing-unit:8px;--font-size-base:16px;--font-size-sm:14px;--font-size-lg:18px;--font-size-xl:24px;--h1-size:2rem;--h2-size:1.5rem;--h3-size:1.25rem;--h4-size:1rem;--container-max-width:1200px;--container-width-sm:100%;--container-width-md:540px;--container-width-lg:720px;--container-width-xl:960px;--container-width-xxl:1140px;--space-1:calc(var(--spacing-unit)*1);--space-2:calc(var(--spacing-unit)*2);--space-3:calc(var(--spacing-unit)*3);--space-4:calc(var(--spacing-unit)*4);--space-5:calc(var(--spacing-unit)*6);--space-6:calc(var(--spacing-unit)*8);--z-index-base:1;--z-index-dropdown:1000;--z-index-modal:2000;--z-index-tooltip:3000}body,html{box-sizing:border-box;font-size:16px;font-size:var(--font-size-base);margin:0;padding:0}*,:after,:before{box-sizing:inherit}body{line-height:1.5;overflow-x:hidden}img{display:block;height:auto;max-width:100%}.container{margin-left:auto;margin-right:auto;padding-left:16px;padding-left:var(--space-2);padding-right:16px;padding-right:var(--space-2);width:100%}@media (min-width:576px){.container{max-width:540px;max-width:var(--container-width-md)}}@media (min-width:768px){.container{max-width:720px;max-width:var(--container-width-lg)}}@media (min-width:992px){.container{max-width:960px;max-width:var(--container-width-xl)}}@media (min-width:1200px){.container{max-width:1140px;max-width:var(--container-width-xxl)}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:16px;padding-left:var(--space-2);padding-right:16px;padding-right:var(--space-2);width:100%}.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-grid{display:grid!important}@media (max-width:575.98px){.d-sm-none{display:none!important}.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}}@media (min-width:576px) and (max-width:767.98px){.d-md-none{display:none!important}.d-md-block{display:block!important}.d-md-flex{display:flex!important}}@media (min-width:768px) and (max-width:991.98px){.d-lg-none{display:none!important}.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}}@media (min-width:992px){.d-xl-none{display:none!important}.d-xl-block{display:block!important}.d-xl-flex{display:flex!important}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-stretch{align-items:stretch!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-bottom:0!important;margin-top:0!important}.m-1{margin:8px!important;margin:var(--space-1)!important}.mt-1{margin-top:8px!important;margin-top:var(--space-1)!important}.mr-1{margin-right:8px!important;margin-right:var(--space-1)!important}.mb-1{margin-bottom:8px!important;margin-bottom:var(--space-1)!important}.ml-1,.mx-1{margin-left:8px!important;margin-left:var(--space-1)!important}.mx-1{margin-right:8px!important;margin-right:var(--space-1)!important}.my-1{margin-bottom:8px!important;margin-bottom:var(--space-1)!important;margin-top:8px!important;margin-top:var(--space-1)!important}.m-2{margin:16px!important;margin:var(--space-2)!important}.mt-2{margin-top:16px!important;margin-top:var(--space-2)!important}.mr-2{margin-right:16px!important;margin-right:var(--space-2)!important}.mb-2{margin-bottom:16px!important;margin-bottom:var(--space-2)!important}.ml-2,.mx-2{margin-left:16px!important;margin-left:var(--space-2)!important}.mx-2{margin-right:16px!important;margin-right:var(--space-2)!important}.my-2{margin-bottom:16px!important;margin-bottom:var(--space-2)!important;margin-top:16px!important;margin-top:var(--space-2)!important}.m-3{margin:24px!important;margin:var(--space-3)!important}.mt-3{margin-top:24px!important;margin-top:var(--space-3)!important}.mr-3{margin-right:24px!important;margin-right:var(--space-3)!important}.mb-3{margin-bottom:24px!important;margin-bottom:var(--space-3)!important}.ml-3,.mx-3{margin-left:24px!important;margin-left:var(--space-3)!important}.mx-3{margin-right:24px!important;margin-right:var(--space-3)!important}.my-3{margin-bottom:24px!important;margin-bottom:var(--space-3)!important;margin-top:24px!important;margin-top:var(--space-3)!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-bottom:0!important;padding-top:0!important}.p-1{padding:8px!important;padding:var(--space-1)!important}.pt-1{padding-top:8px!important;padding-top:var(--space-1)!important}.pr-1{padding-right:8px!important;padding-right:var(--space-1)!important}.pb-1{padding-bottom:8px!important;padding-bottom:var(--space-1)!important}.pl-1,.px-1{padding-left:8px!important;padding-left:var(--space-1)!important}.px-1{padding-right:8px!important;padding-right:var(--space-1)!important}.py-1{padding-bottom:8px!important;padding-bottom:var(--space-1)!important;padding-top:8px!important;padding-top:var(--space-1)!important}.p-2{padding:16px!important;padding:var(--space-2)!important}.pt-2{padding-top:16px!important;padding-top:var(--space-2)!important}.pr-2{padding-right:16px!important;padding-right:var(--space-2)!important}.pb-2{padding-bottom:16px!important;padding-bottom:var(--space-2)!important}.pl-2,.px-2{padding-left:16px!important;padding-left:var(--space-2)!important}.px-2{padding-right:16px!important;padding-right:var(--space-2)!important}.py-2{padding-bottom:16px!important;padding-bottom:var(--space-2)!important;padding-top:16px!important;padding-top:var(--space-2)!important}.p-3{padding:24px!important;padding:var(--space-3)!important}.pt-3{padding-top:24px!important;padding-top:var(--space-3)!important}.pr-3{padding-right:24px!important;padding-right:var(--space-3)!important}.pb-3{padding-bottom:24px!important;padding-bottom:var(--space-3)!important}.pl-3,.px-3{padding-left:24px!important;padding-left:var(--space-3)!important}.px-3{padding-right:24px!important;padding-right:var(--space-3)!important}.py-3{padding-bottom:24px!important;padding-bottom:var(--space-3)!important;padding-top:24px!important;padding-top:var(--space-3)!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-center{text-align:center!important}.text-sm-right{text-align:right!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-center{text-align:center!important}.text-md-right{text-align:right!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-center{text-align:center!important}.text-lg-right{text-align:right!important}}html{font-size:16px;font-size:var(--font-size-base)}@media (max-width:768px){html{font-size:15px;font-size:calc(var(--font-size-base) - 1px)}.h1,h1{font-size:1.7rem;font-size:calc(var(--h1-size)*.85)}.h2,h2{font-size:1.275rem;font-size:calc(var(--h2-size)*.85)}.h3,h3{font-size:1.125rem;font-size:calc(var(--h3-size)*.9)}}@media (max-width:576px){html{font-size:14px;font-size:calc(var(--font-size-base) - 2px)}.h1,h1{font-size:1.5rem;font-size:calc(var(--h1-size)*.75)}.h2,h2{font-size:1.125rem;font-size:calc(var(--h2-size)*.75)}.h3,h3{font-size:1rem;font-size:calc(var(--h3-size)*.8)}}button,input,select,textarea{font-size:16px;max-width:100%}@media (max-width:576px){input,select,textarea{font-size:16px;padding:16px 8px;padding:var(--space-2) var(--space-1)}button{padding:8px 16px;padding:var(--space-1) var(--space-2)}[role=button],[type=button],[type=reset],[type=submit],button{min-height:48px;min-width:48px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;margin:0;max-width:100vw;padding:0;width:100vw}#root,body{overflow:hidden}#root{height:100%;width:100%}*,:after,:before{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{align-items:center;background-color:var(--primary-color);color:var(--text-color);display:flex;justify-content:space-between;padding:0}.header,.header-logo{font-family:var(--font-primary)}.header-logo{color:var(--accent-color);font-size:1.5rem;font-weight:700;letter-spacing:.5px;line-height:1em;margin:0;text-shadow:2px 2px 4px #00000080;text-transform:uppercase;white-space:nowrap}.header-logo,.header-logo:hover,.logo a{text-decoration:none}.logo a{color:var(--text-color);font-size:1.3rem;font-weight:var(--font-weight-bold)}.nav{align-items:center;display:flex;gap:1rem;padding:0 30px}.nav a{color:var(--text-color);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);padding:.2rem .5rem}.nav a,.nav a:hover{text-decoration:none}.nav a:hover{color:var(--accent-color)}.logout-btn{background-color:initial;border:1px solid var(--text-color);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-bold);height:var(--button-height-sm);padding:0 .8rem}.logout-btn:hover{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--background-color)}.footer{background-color:var(--primary-color);color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:auto;padding:.5rem 1.5rem;text-align:center}.gallery-page,.login-page,.map-editor-page{margin:0 auto;max-width:1200px;padding:2rem}.login-container{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:450px;padding:2rem}.login-page h2{color:#2c3e50;margin-bottom:1.5rem;text-align:center}.login-button{border:none;font-family:var(--font-primary);transition:background-color .2s}.login-button:hover{background-color:#1a2530}.register-link{margin-top:1.5rem;text-align:center}.register-link p{color:#2c3e50;display:block;font-weight:500;margin-bottom:.5rem}.register-button{background-color:#2c3e50;border:1px solid #2c3e50;border-radius:4px;color:#fff;display:block;font-family:var(--font-primary);font-weight:600;margin-top:.5rem;padding:.8rem 1.5rem;text-decoration:none;transition:all .2s ease;width:100%}.register-button:hover{background-color:var(--primary-color);border:1px solid var(--accent-color);color:#fff;text-decoration:none}.editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.title-area{display:flex;flex-direction:column}.shared-game-banner{align-items:center;display:flex;margin-top:.5rem}.shared-badge{background-color:#e74c3c;border-radius:4px;color:#fff;font-size:.8rem;font-weight:500;margin-right:.8rem;padding:.3rem .6rem}.save-copy-btn{background-color:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.3rem .8rem;transition:background-color .2s}.save-copy-btn:hover{background-color:#219653}.editor-controls{display:flex;gap:1rem}.mode-toggle-btn,.save-game-btn{border:2px solid var(--primary-color);border-radius:6px;box-shadow:0 2px 4px #a02c2c4d;cursor:pointer;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.5px;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;transition:all .2s ease}.mode-toggle-btn.edit-mode{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--text-color);text-shadow:1px 1px 2px #0000004d}.mode-toggle-btn.edit-mode:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.mode-toggle-btn.play-mode{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--background-color);text-shadow:1px 1px 2px #00000080}.mode-toggle-btn.play-mode:hover{box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.mode-toggle-btn.play-mode:hover,.save-game-btn{background-color:var(--secondary-color);border-color:var(--secondary-color);color:var(--text-color)}.save-game-btn{text-shadow:1px 1px 2px #0000004d}.save-game-btn:hover{background-color:var(--accent-color);border-color:var(--accent-color);box-shadow:0 4px 8px #f9d27666;color:var(--background-color);transform:translateY(-1px)}.play-mode-panel{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:1.5rem}.play-mode-panel h3{color:#2c3e50;margin-bottom:1rem;margin-top:0}.play-mode-panel p{color:#34495e;line-height:1.5;margin-bottom:1rem}.editor-layout{display:flex;flex-direction:row;height:calc(100vh - 180px);margin-top:1rem;overflow:hidden}.editor-sidebar{display:flex;flex-direction:column;gap:1rem;margin-right:1rem;overflow-y:auto;width:300px}.editor-main{border:1px solid #ddd;border-radius:4px;display:flex;flex:1 1;overflow:hidden;position:relative}.side-panel{background-color:#f5f5f5;border-left:1px solid #ddd;display:flex;flex-direction:column;height:100%;position:absolute;right:0;top:0;width:200px;z-index:10}.map-editor-page .editor-main{position:relative}.layer-manager{background-color:#f5f5f5;border-left:1px solid #ddd;height:100%;overflow-y:auto;position:absolute;right:0;top:0;z-index:10}.map-display:not(.edit-mode) .layer-manager{display:none}.stage-container{width:calc(100% - 200px)}.map-display:not(.edit-mode) .stage-container{width:100%}.profile-content{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr}.profile-section{background:var(--surface-color);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 4px 8px #0000004d;padding:var(--spacing-xl)}.profile-section h3{border-bottom:2px solid var(--border-color);color:var(--text-color);font-family:var(--font-primary);font-weight:600;letter-spacing:.5px;margin-bottom:var(--spacing-lg);margin-top:0;padding-bottom:var(--spacing-md);text-transform:uppercase}.games-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto}.game-item{border-left:4px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0003;justify-content:space-between;transition:all .2s ease}.game-item:hover{border-left-color:var(--accent-color);box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.game-item.selected{background:var(--surface-color);border-left-color:var(--primary-color);border-color:var(--primary-color)}.game-info h4{color:var(--text-color);font-family:var(--font-primary);font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-xs);text-transform:uppercase}.game-date{color:var(--text-muted);font-family:var(--font-secondary);font-size:var(--font-size-sm);margin:0}.game-actions{gap:.5rem}.create-game-btn,.delete-game-btn,.load-game-btn,.share-game-btn{border:2px solid #0000;border-radius:6px;cursor:pointer;font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;padding:var(--spacing-sm) var(--spacing-md);text-shadow:1px 1px 2px #0000004d;text-transform:uppercase;transition:all .2s ease}.load-game-btn{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 2px 4px #d9963b4d;color:var(--text-color)}.load-game-btn:hover{background-color:var(--accent-color);border-color:var(--accent-color);box-shadow:0 4px 8px #f9d27666;color:var(--background-color);transform:translateY(-1px)}.share-game-btn{background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color)}.share-game-btn:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.delete-game-btn{background-color:#dc3545;border-color:#dc3545;box-shadow:0 2px 4px #dc35454d;color:#fff}.delete-game-btn:hover{background-color:#c82333;border-color:#c82333;box-shadow:0 4px 8px #c8233366;transform:translateY(-1px)}.create-game-btn{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 2px 4px #d9963b4d;color:var(--text-color);font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg)}.create-game-btn:hover{background-color:var(--accent-color);border-color:var(--accent-color);box-shadow:0 4px 8px #f9d27666;color:var(--background-color);transform:translateY(-1px)}.gallery-filters{margin-bottom:var(--spacing-xl)}.gallery-search{background:var(--background-color);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-base);padding:var(--spacing-lg);transition:border-color .2s;width:100%}.gallery-search:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #f9d27633;outline:none}.gallery-content{background:var(--surface-color);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 4px 8px #0000004d;min-height:300px;padding:var(--spacing-xxl)}.shared-games-list{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.shared-game-item{background:var(--surface-color);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 4px 8px #0000004d;display:flex;flex-direction:column;padding:var(--spacing-xl);transition:all .3s ease}.shared-game-item:hover{border-color:var(--accent-color);box-shadow:0 8px 16px #0006;transform:translateY(-5px)}.shared-game-info{flex:1 1}.shared-game-info h3{color:var(--text-color);font-family:var(--font-primary);font-weight:600;letter-spacing:.5px;margin-top:0;text-transform:uppercase}.shared-game-description{color:var(--text-color);font-family:var(--font-secondary);line-height:1.6;margin-bottom:var(--spacing-xl)}.shared-game-date{color:var(--text-muted);font-family:var(--font-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.shared-game-actions{margin-top:auto}.map-editor-page-override{background-color:#f9f9f9;display:flex;flex-direction:column;height:100vh;max-width:none!important;padding:0!important}.header-strip-v1{background-color:#f5f5f5;border-bottom:1px solid #ddd;flex-wrap:nowrap;gap:10px;justify-content:space-between;max-height:45px;min-height:40px;overflow:visible;padding:0;position:relative;width:100%}.header-group,.header-strip-v1{align-items:center;display:flex}.header-group{flex-shrink:0;gap:8px}.logo-title{gap:5px}.game-title-header{font-size:1em;margin:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-game-banner-header{gap:4px}.shared-badge-header{font-size:.65rem;padding:2px 4px}.save-copy-btn-header{font-size:.65rem;padding:2px 5px}.drawing-tools-header{flex-shrink:1;justify-content:flex-start;min-width:150px;overflow:hidden}.game-controls-header{gap:8px;overflow:visible;position:relative}.header-button,.mode-toggle-btn-header,.save-game-btn-header{padding:4px 8px}.main-content-v1{flex:1 1;width:100%}.canvas-column-v1,.main-content-v1{display:flex;overflow:hidden;position:relative}.canvas-column-v1{align-items:center;background-color:#eaeaea;border-right:1px solid #ddd;flex-grow:1;justify-content:center}.side-panel-column-v1{background-color:var(--light-cream-color);display:flex;flex-direction:column;flex-shrink:0;gap:15px;overflow-y:auto;padding:10px;width:250px}.editor-layout,.editor-main,.editor-sidebar{display:none!important}.loading-placeholder{align-items:center;color:#777;display:flex;font-size:1.2em;height:100%;justify-content:center}.info-message{background-color:#3498db;border-radius:4px;color:#fff;margin-bottom:1rem;padding:.8rem;text-align:center}.sso-loading{padding:2rem;text-align:center}.sso-loading .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;display:inline-block;height:40px;margin-bottom:1rem;width:40px}.sso-loading p{color:#2c3e50;font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.sso-info{margin-top:1rem}.sso-info small{color:#7f8c8d;font-size:.9rem}:root{--font-primary:"Cinzel","Eczar","Alegreya",serif;--font-secondary:"EB Garamond","Crimson Text","Lora",serif;--font-mono:"Courier New","Monaco","Menlo",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-xxl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--dnd-dark-primary:#a02c2c;--dnd-dark-secondary:#d9963b;--dnd-dark-accent:#f9d276;--dnd-dark-background:#141414;--dnd-dark-surface:#222;--dnd-dark-border:#3a3a3a;--dnd-dark-text:#f0f0f0;--dnd-dark-text-secondary:#bbb;--dnd-dark-text-muted:#888;--dnd-light-primary:#6c2e94;--dnd-light-secondary:#2c90b8;--dnd-light-accent:#0ccfdd;--dnd-light-background:#f5f5f5;--dnd-light-surface:#fff;--dnd-light-border:#d9d9d9;--dnd-light-text:#222;--dnd-light-text-secondary:#555;--dnd-light-text-muted:#777;--primary-color:var(--dnd-dark-primary);--secondary-color:var(--dnd-dark-secondary);--accent-color:var(--dnd-dark-accent);--background-color:var(--dnd-dark-background);--surface-color:var(--dnd-dark-surface);--border-color:var(--dnd-dark-border);--text-color:var(--dnd-dark-text);--text-secondary:var(--dnd-dark-text-secondary);--text-secondary-color:var(--dnd-dark-text-secondary);--text-muted:var(--dnd-dark-text-muted);--success-color:#4caf50;--warning-color:#ff9800;--error-color:#dc3545;--info-color:#2196f3;--light-cream-color:#fef9e6;--primary-hover:#8f2727;--secondary-hover:#c8853a;--accent-hover:#f7c961;--error-hover:#c82333;--primary-bg:#a02c2c33;--primary-color-70:#a02c2cb3;--secondary-bg:#d9963b1a;--primary-glow:#a02c2c80;--disabled-bg:#666;--disabled-text:#999;--wall-layer-bg-dark:#5a1f1f;--wall-layer-bg:var(--wall-layer-bg-dark);--wall-layer-border:#d9963bcc;--border-radius-sm:2px;--border-radius:4px;--border-radius-lg:8px;--spacing-xs:2px;--spacing-sm:4px;--spacing-md:8px;--spacing-lg:16px;--spacing-xl:24px;--spacing-xxl:32px;--button-height-sm:24px;--button-height-md:32px;--button-height-lg:44px;--transition-speed:0.2s}.light-mode{--primary-color:var(--dnd-light-primary);--secondary-color:var(--dnd-light-secondary);--accent-color:var(--dnd-light-accent);--background-color:var(--dnd-light-background);--surface-color:var(--dnd-light-surface);--border-color:var(--dnd-light-border);--text-color:var(--dnd-light-text);--text-secondary:var(--dnd-light-text-secondary);--text-secondary-color:var(--dnd-light-text-secondary);--text-muted:var(--dnd-light-text-muted);--primary-hover:#5a2678;--secondary-hover:#267a9a;--accent-hover:#0ab8c5;--primary-bg:#6c2e9433;--secondary-bg:#2c90b81a;--primary-glow:#6c2e9480;--wall-layer-bg-light:#1a2e3a;--wall-layer-bg:var(--wall-layer-bg-light);--wall-layer-border:#2c90b8cc}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#141414;background:var(--background-color);border-radius:4px}::-webkit-scrollbar-thumb{background:#a02c2c;background:var(--primary-color);border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:#d9963b;background:var(--secondary-color)}::-webkit-scrollbar-corner{background:#141414;background:var(--background-color)}input{font-weight:900}.map-display{background-color:initial;border-radius:0;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}@media (max-width:768px){.map-display{height:400px}}@media (max-width:576px){.map-display{height:350px}}.map-tools{background-color:var(--primary-color);padding:var(--spacing-sm)}.fog-tools{background-color:initial;padding:0;position:absolute;right:10px;top:10px;z-index:10}@media (max-width:576px){.map-tools{flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}}.file-input{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.upload-btn{background-color:var(--secondary-color);border:none;border-radius:var(--border-radius-sm);color:var(--text-color);cursor:pointer;display:inline-block;font-weight:var(--font-weight-bold);padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-speed)}.upload-btn:hover{background-color:var(--accent-color);color:var(--background-color)}@media (max-width:576px){.upload-btn{padding:var(--spacing-md);text-align:center;width:100%}}.zoom-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);left:10px;position:absolute;top:10px;z-index:10}@media (max-width:576px){.zoom-controls{top:70px}}.zoom-btn{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);cursor:pointer;display:flex;font-size:.7rem;font-weight:var(--font-weight-bold);height:var(--button-height-sm);justify-content:center;opacity:.8;transition:background-color var(--transition-speed);width:var(--button-height-sm)}.zoom-btn:hover{background-color:var(--primary-color);opacity:1}.zoom-btn i,.zoom-btn:hover,.zoom-btn:hover i{color:var(--text-color)}@media (max-width:576px){.zoom-btn{font-size:.8rem;height:32px;width:32px}}.stage-container{background-color:var(--background-color);flex:1 1;height:100%;overflow:hidden;position:relative;touch-action:none;width:100%}.stage-container canvas{cursor:grab}.stage-container canvas:active{cursor:grabbing}.stage-container canvas[data-tool=pencil],.stage-container canvas[data-tool=wall]{cursor:crosshair}.stage-container canvas[data-tool=eraser]{cursor:none}.stage-container canvas[data-tool=circle],.stage-container canvas[data-tool=polygon],.stage-container canvas[data-tool=rectangle],.stage-container canvas[data-tool=token]{cursor:crosshair}.stage-container canvas[data-tool=select]{cursor:default}.upload-prompt{color:var(--text-secondary-color);font-size:1.2rem;height:100%;justify-content:center;left:0;padding:var(--spacing-md);pointer-events:none;position:absolute;text-align:center;top:0;width:100%}.drawing-tools,.upload-prompt{align-items:center;display:flex}.drawing-tools{background-color:initial;border:none;border-radius:0;box-shadow:none;gap:var(--spacing-md);margin-bottom:0;padding:0 var(--spacing-sm)}@media (max-width:768px){.drawing-tools{padding:var(--spacing-sm)}}.tool-group h3{display:none}.tool-buttons{display:flex;gap:var(--spacing-sm);margin-bottom:0}.tool-button{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:1rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;line-height:1;min-height:28px;padding:var(--spacing-xs);transition:all .2s ease;width:40px}.tool-button .tool-icon{font-size:1.2rem;line-height:1}.tool-button.active,.tool-button.active:hover{background-color:var(--primary-color);border-color:var(--accent-color);color:var(--text-color)}.tool-button:hover{background-color:var(--accent-color);color:var(--background-color)}.tool-button.locked{opacity:.6;position:relative}.tool-button.locked:hover{background-color:var(--error-color);color:var(--text-color)}.lock-icon{background-color:#ffffffe6;border-radius:2px;color:var(--error-color);font-size:.7em;left:0;padding:1px;position:absolute;top:0}.tool-icon{font-size:.9em;font-style:normal;justify-content:center;margin-right:0}.tool-button span,.tool-icon{align-items:center;display:inline-flex}.tool-button span{font-size:.85em}.tool-options{align-items:center;background-color:initial;border-radius:0;display:flex;gap:var(--spacing-md);padding:0}.tool-options input[type=color]{border:1px solid var(--border-color);height:25px;padding:0;width:30px}.tool-options input[type=range]{accent-color:var(--secondary-color);width:80px}.tool-options label{align-items:center;color:var(--text-color);display:flex;font-size:.85em;font-weight:var(--font-weight-bold);gap:var(--spacing-xs)}.pencil-options,.token-options,.wall-options{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-md)}.token-manager{background-color:initial;border-radius:0;box-shadow:none;color:var(--text-color);margin-bottom:0;padding:0}.token-manager h3{color:var(--text-color);font-size:.95em;font-weight:700;margin-bottom:var(--spacing-sm);margin-top:var(--spacing-sm)}.token-form-group{margin-bottom:var(--spacing-md)}.token-form-group label{color:var(--text-color);display:block;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.token-form-group input[type=text]{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);font-size:.9rem;padding:var(--spacing-sm);width:100%}.token-form-group input[type=range]{accent-color:var(--secondary-color);vertical-align:middle;width:80%}@media (max-width:576px){.token-form-group input[type=range]{width:100%}}.range-value{color:var(--text-color);display:inline-block;font-weight:var(--font-weight-bold);margin-left:var(--spacing-sm);min-width:2rem;text-align:right}@media (max-width:576px){.range-value{display:block;margin-left:0;margin-top:var(--spacing-sm);text-align:left}}.token-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}@media (max-width:576px){.token-actions{flex-direction:column;gap:var(--spacing-sm)}}.token-delete-btn,.token-update-btn{align-items:center;border:none;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:.85rem;font-weight:var(--font-weight-bold);height:var(--button-height-sm);line-height:1;padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-speed)}@media (max-width:576px){.token-delete-btn,.token-update-btn{min-height:44px;width:100%}}.token-update-btn{background-color:var(--secondary-color);color:var(--text-color)}.token-update-btn:hover{background-color:var(--accent-color);color:var(--background-color)}.token-delete-btn{background-color:var(--error-color);color:var(--text-color)}.token-delete-btn:hover{background-color:var(--error-color);opacity:.9}.no-token-selected{padding:var(--spacing-md) 0;text-align:center}.no-token-selected,.token-count{color:var(--text-secondary-color)}.token-count{font-size:.9rem;margin-top:var(--spacing-sm)}.layer-manager{background-color:initial;border-left:none;border-radius:0;height:auto;max-height:none;padding:0;position:static;width:100%}.layers-title,.tokens-title{align-items:center;color:#000;display:flex;font-family:var(--font-primary);font-size:.95em;font-weight:700;justify-content:space-between;margin-bottom:var(--spacing-sm);margin-top:var(--spacing-sm)}.layer-actions,.token-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.layer-actions button,.token-actions button{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:.75rem;font-weight:var(--font-weight-bold);gap:var(--spacing-xs);height:var(--button-height-sm);line-height:1;min-height:var(--button-height-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:background-color var(--transition-speed)}.layer-actions button:hover,.token-actions button:hover{background-color:var(--accent-color);color:var(--background-color)}.layer-actions button:disabled,.token-actions button:disabled{cursor:not-allowed;opacity:.5}.create-layer-btn{background-color:var(--secondary-color)!important;border:none!important;color:var(--text-color)!important}.create-layer-btn:hover{background-color:var(--accent-color)!important;color:var(--background-color)!important}.delete-layer-btn{border:none!important;color:var(--text-color)!important}.delete-layer-btn,.delete-layer-btn:hover{background-color:var(--error-color)!important}.delete-layer-btn:hover{opacity:.9!important}.upload-map-btn{align-items:center!important;background-color:var(--secondary-color)!important;border:none!important;color:var(--text-color)!important;display:flex!important;height:var(--button-height-sm)!important;justify-content:center!important;padding:0!important;width:22px!important}.upload-map-btn:hover{background-color:var(--accent-color)!important;color:var(--background-color)!important}.upload-map-btn:disabled{cursor:not-allowed!important;opacity:.5!important}.upload-map-btn:disabled:hover{background-color:var(--secondary-color)!important;color:var(--text-color)!important}.upload-map-btn.remove-mode:hover{background-color:var(--error-color)!important;color:var(--background-color)!important}.upload-map-btn.active{background-color:var(--accent-color)!important;border-color:var(--accent-color)!important;color:var(--background-color)!important}.upload-map-btn.active:hover{background-color:var(--secondary-color)!important;color:var(--text-color)!important}.token-size-control,.token-vision-control{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;flex-shrink:0;font-size:.8rem;gap:0;height:var(--button-height-sm);padding:var(--spacing-xs);z-index:2}.token-size-input,.token-vision-input{-moz-appearance:textfield;background:#0000;border:none;color:var(--text-color);font-family:var(--font-primary);font-size:.7rem;height:18px;outline:none;padding:1px 2px;position:relative;text-align:center;width:24px;z-index:3}.token-size-input::-webkit-inner-spin-button,.token-size-input::-webkit-outer-spin-button,.token-vision-input::-webkit-inner-spin-button,.token-vision-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.token-size-input:disabled,.token-vision-input:disabled{cursor:not-allowed;opacity:.5}.icon-group{align-items:center;display:inline-flex;width:auto}.icon-group i{font-size:.9em}.layers-list{max-height:200px;overflow-x:hidden}.layers-list,.tokens-list{display:flex;flex-direction:column;flex-grow:1;gap:var(--spacing-xs);list-style:none;margin:0;overflow-y:auto;padding:0}.tokens-list{max-height:300px}.layer-item{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;flex-direction:row;height:28px;margin-bottom:3px;overflow:hidden;padding:var(--spacing-xs) var(--spacing-xs);transition:background-color var(--transition-speed);-webkit-user-select:none;user-select:none}.layer-item:hover{background-color:var(--accent-color);color:var(--background-color)}.layer-item.active{background-color:var(--primary-color);border-color:var(--accent-color);color:var(--text-color)}.layer-item.wall-layer{background-color:var(--wall-layer-bg);border-color:var(--wall-layer-border)}.layer-item.is-dragging{border-style:dashed;opacity:.5}.layer-item.dragging{box-shadow:0 2px 4px #0000004d;opacity:.5}.layer-top-row{align-items:center;display:flex;flex-grow:0;flex-shrink:0;gap:var(--spacing-xs)}.layer-visibility{cursor:pointer;display:flex;margin-right:3px;padding:0}.layer-visibility i{color:var(--secondary-color);font-size:.85rem}.layer-item.wall-layer .layer-visibility i{color:var(--primary-color)}.layer-item.wall-layer.active .layer-visibility i{color:var(--secondary-color)}.layer-visibility i.fa-eye-slash{color:var(--error-color)}.layer-move{display:flex;gap:1px;margin-left:auto}.layer-move button{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-size:.65rem;height:14px;justify-content:center;padding:0;width:14px}.layer-move button i{color:var(--text-color)}.layer-move button:hover{background-color:var(--primary-color);color:var(--background-color)}.layer-move button:hover i{color:var(--text-color)}.layer-move button:disabled{cursor:not-allowed;opacity:.5}.layer-name{color:inherit;flex-grow:1;font-size:.8rem;font-weight:var(--font-weight-medium);overflow:hidden;padding:0 var(--spacing-xs);text-overflow:ellipsis;white-space:nowrap}.layer-name-text{border-radius:2px;cursor:pointer;outline:none;padding:1px 2px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.layer-name-text:hover{background-color:#ffffff1a}.layer-name-text[contenteditable=true]{cursor:text;-webkit-user-select:text;user-select:text}.layer-name-text:focus,.layer-name-text[contenteditable=true]{background-color:var(--background-color);box-shadow:0 0 0 1px var(--accent-color)}.wall-label{background-color:var(--primary-color);border-radius:var(--border-radius-sm);color:var(--text-color);font-size:.6rem;margin-left:var(--spacing-xs);padding:0 var(--spacing-xs);text-transform:uppercase;vertical-align:middle}.layer-controls{display:flex;gap:var(--spacing-xs);margin-left:var(--spacing-sm)}.layer-controls button{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-size:.7rem;height:16px;justify-content:center;padding:0;width:16px}.layer-controls button i{color:var(--text-color)}.layer-controls button:hover{background-color:var(--primary-color);color:var(--background-color)}.layer-controls button:hover i,.wall-btn.active{color:var(--text-color)}.wall-btn.active{background-color:var(--primary-color)}.wall-btn.active i{color:var(--text-color)}.layer-manager.loading{align-items:center;color:var(--text-secondary-color);display:flex;height:100px;justify-content:center}.layer-manager.error{border:1px solid var(--error-color);border-radius:var(--border-radius-sm);color:var(--error-color);margin:var(--spacing-md) 0;padding:var(--spacing-md);text-align:center}.layer-manager .error{color:var(--error-color);font-size:.85rem;margin:var(--spacing-sm) 0}.header-button,.mode-toggle-btn-header,.save-game-btn-header{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:.85rem;font-weight:600;height:var(--button-height-sm);letter-spacing:.5px;line-height:1;min-height:var(--button-height-sm);padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;text-shadow:1px 1px 2px #0000004d;text-transform:uppercase;transition:all .2s ease}.header-button:hover,.mode-toggle-btn-header:hover,.save-game-btn-header:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.header-button{background-color:var(--secondary-color);border-color:var(--secondary-color)}.immediate-fog-cover{background-color:#000;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:100}.map-display.play-mode{position:relative}.token-color-container{align-items:center;display:flex}.token-color{border:1px solid #ccc;border-radius:50%;cursor:pointer;flex-shrink:0;height:14px;width:14px}.vision-label{color:var(--text-color);font-size:.75rem;height:16px;justify-content:center;pointer-events:none;white-space:nowrap;width:16px}.token-item,.vision-label{align-items:center;display:flex}.token-item{background:linear-gradient(to right,var(--surface-color) 75%,rgba(var(--token-color-rgb),1) 85%);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;flex-direction:row;flex-shrink:0;gap:3px;height:28px;margin-bottom:3px;min-height:28px;overflow:hidden;padding:3px 5px;position:relative}.token-item.grouped{border-left:4px solid #007bff;border-left:4px solid var(--group-color,#007bff);padding-left:1px}.token-item.pc-token{border-right:4px solid #dc3545;padding-right:1px}.token-item.npc-token{border-right:4px solid silver;padding-right:1px}.token-item.grouped,.token-item.grouped.active,.token-item.grouped.active:hover,.token-item.grouped:hover{border-bottom:2px solid;border-bottom-color:var(--group-color);border-left:4px solid;border-left-color:var(--group-color);border-top:2px solid;border-top-color:var(--group-color)}.token-item:hover{background:linear-gradient(to right,var(--accent-color) 75%,rgba(var(--token-color-rgb),1) 85%);color:var(--background-color)}.token-item.active{background:linear-gradient(to right,var(--primary-color) 75%,rgba(var(--token-color-rgb),1) 85%);border-color:var(--accent-color)}.token-item.active.pc-token{border-right:4px solid #dc3545}.token-item.active.npc-token{border-right:4px solid silver}.token-item.active:hover{background-color:var(--primary-color);color:var(--text-color)}.token-item:hover.pc-token{border-right:4px solid #dc3545}.token-item:hover.npc-token{border-right:4px solid silver}.token-item.active:hover.pc-token{border-right:4px solid #dc3545}.token-item.active:hover.npc-token{border-right:4px solid silver}.token-name{z-index:2}.token-move{align-items:center;display:flex;flex-direction:row;gap:2px;margin-left:auto;z-index:5}.token-initiative-input{-moz-appearance:textfield;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);font-family:var(--font-primary);font-size:.7rem;height:18px;outline:none;padding:1px 2px;text-align:center;width:22px}.token-initiative-input::-webkit-inner-spin-button,.token-initiative-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.token-move-buttons{display:flex;flex-direction:column;gap:1px}.token-move-buttons button{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-size:.65rem;height:14px;justify-content:center;min-height:14px;padding:0;position:relative;width:14px;z-index:5}.token-move-buttons button i{color:var(--text-color);font-size:.65rem;pointer-events:none}.token-move-buttons button:hover{background-color:var(--primary-color)}.add-token-btn.active{background-color:var(--primary-color)!important;border-color:var(--accent-color)!important;box-shadow:0 0 5px var(--accent-color);color:var(--text-color-inverted)!important}.add-token-btn{gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap}.add-token-btn .icon-group i.fa-street-view{color:var(--text-color)}.token-item.is-dragging{background-color:#e6f7ff;background-color:var(--accent-color-light,#e6f7ff);border-style:dashed;box-shadow:0 2px 8px #0003;opacity:.5;position:relative;z-index:100}.token-item.drag-over{border-top:2px solid var(--primary-color)}.konvajs-content{cursor:default}.konvajs-content[data-tool=eraser]{cursor:none}.token-manager.layer-manager{background-color:initial;border-radius:0;padding:0}.layer-item.active,.token-item.active{background-color:var(--primary-color);border-color:var(--accent-color)}.token-name{color:inherit;flex-grow:1;font-size:.8rem;overflow:hidden;padding:0 var(--spacing-xs);text-overflow:ellipsis;white-space:nowrap}.size-label{align-items:center;color:var(--text-color);display:flex;font-size:.75rem;height:16px;justify-content:center;pointer-events:none;white-space:nowrap;width:14px}.confirmation-dialog{animation:dialogSlideIn .3s ease-out;background:var(--background-color);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0006;max-width:400px}.confirmation-header{background:#f8f9fa;background:var(--surface-color,#f8f9fa);border-bottom:1px solid var(--border-color);border-radius:6px 6px 0 0;padding:16px 20px}.confirmation-header h3{color:var(--text-color);font-family:var(--font-primary);font-size:18px;font-weight:600}.confirmation-header .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.confirmation-header .close-btn:hover{background:#e9ecef;background:var(--accent-color-light,#e9ecef)}.confirmation-body{color:var(--text-color);line-height:1.5;padding:20px}.confirmation-body p{font-size:16px;margin:0 0 12px}.confirmation-body .warning-text{align-items:flex-start;color:#fff;display:flex;font-size:14px;font-weight:900;gap:8px;margin-top:12px}.confirmation-body .warning-text i{flex-shrink:0;margin-top:2px}.confirmation-actions{background:#f8f9fa;background:var(--surface-color,#f8f9fa);border-radius:0 0 6px 6px;border-top:1px solid var(--border-color);gap:12px;padding:16px 20px}.confirmation-actions button{border:1px solid;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:8px 16px;transition:all .2s ease}.confirmation-actions .cancel-btn{background:var(--background-color);border-color:var(--border-color);color:var(--text-color)}.confirmation-actions .cancel-btn:hover{background:#e9ecef;background:var(--accent-color-light,#e9ecef)}.confirmation-actions .confirm-btn{background:var(--primary-color);border-color:var(--primary-color);color:var(--text-color-inverted)}.confirmation-actions .confirm-btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.confirmation-actions .delete-btn{background:#dc3545;background:var(--error-color,#dc3545);border-color:#dc3545;border-color:var(--error-color,#dc3545)}.confirmation-actions .create-btn,.confirmation-actions .delete-btn{text-wrap-mode:nowrap;color:#fff;height:44px;width:-webkit-max-content;width:max-content}.confirmation-actions .create-btn{background:#4caf50;background:var(--success-color,#4caf50);border-color:#4caf50;border-color:var(--success-color,#4caf50)}.confirmation-actions .create-btn:hover{background:#45a049;border-color:#45a049}.confirmation-actions .create-btn:disabled{background:#666;background:var(--disabled-bg,#666);border-color:#666;border-color:var(--disabled-bg,#666);color:#999;color:var(--disabled-text,#999);cursor:not-allowed}.confirmation-body .layer-name-input{background:var(--surface-color);border:2px solid var(--border-color);border-radius:4px;color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-base);margin-top:8px;padding:12px;transition:border-color .3s ease;width:100%}.confirmation-body .layer-name-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #a02c2c33;outline:none}.confirmation-body label{color:var(--text-color);display:block;font-family:var(--font-primary);font-weight:600;margin-bottom:4px}.confirmation-actions .delete-btn:hover{background:#c82333;background:var(--error-hover,#c82333);border-color:#c82333;border-color:var(--error-hover,#c82333)}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.color-picker-popup{animation:colorPickerFadeIn .2s ease-out;background:#fff;border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:Arial,sans-serif;font-family:var(--font-primary,Arial,sans-serif);max-width:280px;min-width:220px;pointer-events:auto;position:fixed!important;will-change:transform,opacity;z-index:10000!important}.color-picker-content{padding:0}.color-picker-header{align-items:center;background:#f8f9fa;background:var(--surface-color,#f8f9fa);border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);border-radius:6px 6px 0 0;color:#333;color:var(--text-color,#333);display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 16px}.color-picker-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;color:var(--text-color,#666);cursor:pointer;display:flex;font-size:18px;height:20px;justify-content:center;padding:0;width:20px}.color-picker-close:hover{background:#e9ecef;background:var(--accent-color-light,#e9ecef);color:#333;color:var(--text-color,#333)}.color-picker-body{padding:16px}.color-input-section{align-items:center;display:flex;gap:8px;margin-bottom:16px}.color-input-native{background:none;border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;cursor:pointer;height:40px;padding:0;width:50px}.color-input-native::-webkit-color-swatch-wrapper{border:none;padding:0}.color-input-native::-webkit-color-swatch{border:none;border-radius:3px}.color-input-text{background:#fff;background:var(--background-color,#fff);border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;color:#333;color:var(--text-color,#333);flex:1 1;font-family:monospace;font-size:14px;height:40px;padding:0 12px}.color-input-text:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px #007bff40;outline:none}.color-presets{margin-top:16px}.color-presets-label{color:#666;color:var(--text-color-secondary,#666);font-size:12px;font-weight:500;margin-bottom:8px}.color-presets-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(10,1fr)}.color-preset{border:2px solid #0000;border-radius:4px;cursor:pointer;height:20px;position:relative;transition:all .2s ease;width:20px}.color-preset:hover{border-color:#333;border-color:var(--text-color,#333);transform:scale(1.1)}.color-preset.active{transform:scale(1.1)}.color-preset.active,.color-preset:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px #007bff4d}.color-preset:focus{outline:none}.color-preset[style*=ced4da],.color-preset[style*=dee2e6],.color-preset[style*=e9ecef],.color-preset[style*=f8f9fa],.color-preset[style*=ffffff]{border:2px solid #ddd;border:2px solid var(--border-color,#ddd)}.color-preset[style*=ced4da]:hover,.color-preset[style*=dee2e6]:hover,.color-preset[style*=e9ecef]:hover,.color-preset[style*=f8f9fa]:hover,.color-preset[style*=ffffff]:hover{border-color:#333;border-color:var(--text-color,#333)}.color-preset[style*=ced4da].active,.color-preset[style*=dee2e6].active,.color-preset[style*=e9ecef].active,.color-preset[style*=f8f9fa].active,.color-preset[style*=ffffff].active{border-color:#007bff;border-color:var(--primary-color,#007bff)}#color-picker-portal{pointer-events:none;position:relative;z-index:10000}#color-picker-portal>*{pointer-events:auto}@keyframes colorPickerFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.linking-mode-indicator{background:#d9963b1a;background:var(--secondary-bg,#d9963b1a);border-radius:10px;color:#d9963b;color:var(--secondary-color,#d9963b);font-size:11px;font-weight:400;margin-left:8px;padding:2px 6px}.cancel-link-btn,.create-link-btn,.link-layers-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 8px;transition:all .2s ease}.link-layers-btn{background:#f9d276;background:var(--accent-color,#f9d276);color:#141414;color:var(--background-color,#141414);font-weight:600}.link-layers-btn:hover:not(:disabled){background:#f7c961;background:var(--accent-hover,#f7c961)}.link-layers-btn:disabled{background:#666;background:var(--disabled-bg,#666);color:#999;color:var(--disabled-text,#999);cursor:not-allowed}.link-layers-btn.active{background:#a02c2c;background:var(--primary-color,#a02c2c);box-shadow:0 0 10px #a02c2c80;box-shadow:0 0 10px var(--primary-glow,#a02c2c80);color:#f0f0f0;color:var(--text-color,#f0f0f0)}.link-layers-btn.active:hover{background:#8f2727;background:var(--primary-hover,#8f2727)}.layer-item.linked{position:relative}.layer-item.selected-for-linking{background:#a02c2c33;background:var(--primary-bg,#a02c2c33);border:2px solid #a02c2c;border:2px solid var(--primary-color,#a02c2c)}.layer-item.selected-for-linking .layer-name{font-weight:700}.layer-manager.linking-mode{position:relative}@keyframes groupCreated{0%{box-shadow:0 0 0 0 #a02c2cb3;box-shadow:0 0 0 0 var(--primary-glow,#a02c2cb3);transform:scale(1)}50%{box-shadow:0 0 0 10px #a02c2c00;box-shadow:0 0 0 10px var(--primary-glow,#a02c2c00);transform:scale(1.05)}to{box-shadow:0 0 0 0 #a02c2c00;box-shadow:0 0 0 0 var(--primary-glow,#a02c2c00);transform:scale(1)}}.layer-item.newly-linked{animation:groupCreated .6s ease-out}.layer-item.linked:hover{box-shadow:0 2px 8px #00000026}.layer-item[data-group-color=red]{border-left-color:#a02c2c!important;border-left-color:var(--primary-color,#a02c2c)!important}.layer-item[data-group-color=green]{border-left-color:#2d5a2d!important}.layer-item[data-group-color=blue]{border-left-color:#1e3a5f!important}.layer-item[data-group-color=orange]{border-left-color:#d9963b!important;border-left-color:var(--secondary-color,#d9963b)!important}.layer-item[data-group-color=purple]{border-left-color:#5a2d5a!important}.undo-redo-buttons{gap:4px;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm)}.redo-btn,.undo-btn,.undo-redo-buttons{align-items:center;display:flex;justify-content:center}.redo-btn,.undo-btn{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;height:24px;min-height:24px;padding:6px 8px;transition:all .2s ease}.redo-btn:hover:not(:disabled),.undo-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--secondary-color)}.redo-btn:active:not(:disabled),.undo-btn:active:not(:disabled){transform:scale(.95)}.redo-btn:disabled,.undo-btn:disabled{cursor:not-allowed;opacity:.4}.redo-btn svg,.undo-btn svg{height:20px;width:20px}@media (prefers-color-scheme:dark){.redo-btn,.undo-btn{background:#ffffff0d;border-color:#ffffff1a}.redo-btn:hover:not(:disabled),.undo-btn:hover:not(:disabled){background:#ffffff1a}}.history-debug-panel{background:#000000e6;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;font-family:Courier New,monospace;font-size:12px;max-width:350px;min-width:250px;padding:0;position:fixed;z-index:1000}.debug-header,.history-debug-panel{-webkit-user-select:none;user-select:none}.debug-header{align-items:center;background:#ffffff1a;border-radius:8px 8px 0 0;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px}.debug-header:hover{background:#ffffff26}.debug-header h4{font-size:13px;font-weight:700;margin:0}.toggle-icon{color:#ccc;font-size:10px}.debug-content{max-height:400px;overflow-y:auto;padding:12px}.debug-stats{margin-bottom:12px}.stat-item{display:flex;justify-content:space-between;margin-bottom:4px;padding:2px 0}.stat-item label{color:#ccc;font-weight:400}.stat-item span{color:#fff;font-weight:700}.stat-item .enabled{color:#4caf50}.stat-item .disabled{color:#f44336}.debug-actions{display:flex;gap:8px;margin-bottom:12px}.debug-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:11px;padding:6px 8px;transition:background-color .2s}.flush-btn{background:#2196f3;color:#fff}.flush-btn:hover{background:#1976d2}.cleanup-btn{background:#ff9800;font-size:10px}.cleanup-btn:hover{background:#f57c00}.clear-btn{background:#f44336;color:#fff}.clear-btn:hover{background:#d32f2f}.cleanup-result{background:#4caf5033;border:1px solid #4caf50;border-radius:4px;font-size:11px;margin-bottom:12px;padding:8px}.cleanup-result p{color:#a5d6a7;margin:2px 0}.command-list h5{border-bottom:1px solid #fff3;color:#ccc;font-size:12px;margin:0 0 8px;padding-bottom:4px}.commands{max-height:150px;overflow-y:auto}.command-item{grid-gap:8px;border-bottom:1px solid #ffffff1a;display:grid;font-size:10px;gap:8px;grid-template-columns:1fr 80px 60px;padding:3px 0}.command-item.current{background:#4caf5033;border-radius:3px;padding:3px 4px}.command-type{color:#81c784;font-weight:700}.command-target,.command-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-target{color:#ffb74d}.command-time{color:#ccc;text-align:right}@media (max-width:768px){.history-debug-panel{margin:10px;max-width:none;position:relative;right:auto;top:auto;width:calc(100% - 20px)}}.memory-warning{animation:slideIn .3s ease-out;position:fixed;right:20px;top:70px;z-index:1000}.warning-content{align-items:center;background:linear-gradient(135deg,#ff9800,#f57c00);border:2px solid #fff3;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;display:flex;gap:12px;max-width:300px;padding:12px 16px}.warning-icon{flex-shrink:0;font-size:20px}.warning-text{flex:1 1}.warning-text strong{display:block;font-size:14px;margin-bottom:4px}.warning-text p{font-size:12px;margin:0;opacity:.9}.warning-actions{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.cleanup-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s}.cleanup-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.dismiss-btn{align-self:flex-end;background:#0000;border:none;border-radius:2px;color:#fff;cursor:pointer;font-size:16px;padding:2px;transition:background .2s}.dismiss-btn:hover{background:#fff3}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.memory-warning{left:10px;right:10px;top:60px}.warning-content{max-width:none}}.save-game-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.save-game-modal{animation:modalSlideIn .3s ease-out;background:var(--surface-color);border:2px solid var(--primary-color);border-radius:12px;box-shadow:0 20px 40px #0009,0 0 20px #a02c2c4d;font-family:var(--font-secondary);max-height:90vh;max-width:500px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-bottom:1px solid var(--border-color);color:var(--text-color);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;margin:0;text-shadow:1px 1px 2px #00000080}.close-btn{color:var(--text-color);font-size:24px;height:32px;padding:var(--spacing-sm);transition:background-color .2s;width:32px}.close-btn:hover{background:#fff3}.modal-content{background:var(--surface-color);max-height:60vh;overflow-y:auto;padding:var(--spacing-xl)}.form-group label{color:#fff}.form-group input,.form-group textarea{background:var(--background-color);border:2px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-base);padding:var(--spacing-md);transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #f9d27633;outline:none}.form-group textarea{min-height:80px;resize:vertical}.toggle-group{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;padding:var(--spacing-lg)}.toggle-btn{align-items:center;background:var(--surface-color);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;gap:8px;justify-content:center;letter-spacing:.5px;margin-bottom:var(--spacing-sm);min-width:120px;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.toggle-btn:hover{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 4px 8px #0003;color:var(--background-color);transform:translateY(-2px)}.toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 10px #a02c2c4d;color:var(--text-color)}.toggle-btn.active:hover{background:var(--accent-color);border-color:var(--accent-color);color:var(--background-color)}.checkbox-group{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;padding:var(--spacing-lg)}.checkbox-label{align-items:flex-start;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-secondary);font-weight:400;margin-bottom:var(--spacing-sm)}.checkbox-label input[type=checkbox]{accent-color:var(--primary-color);margin:0;margin-left:var(--spacing-md);transform:scale(1.2);width:auto}.help-text{color:#fff;font-size:16px;font-style:italic;line-height:1.4;margin-top:var(--spacing-xs)}.overwrite-notice{align-items:flex-start;background:#d9963b1a;border:1px solid var(--secondary-color);border-radius:6px;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.notice-icon{color:var(--secondary-color);flex-shrink:0;font-size:20px;margin-top:2px}.overwrite-notice p{color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-sm);line-height:1.4;margin:0}.game-info{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.game-info h3{color:#fff;font-family:var(--font-primary);font-size:var(--font-size-lg);letter-spacing:.5px;margin:0 0 var(--spacing-md) 0;text-transform:uppercase}.info-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.info-item{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.info-item .label{color:#fff;font-family:var(--font-primary);font-size:var(--font-size-xs);letter-spacing:.5px;text-transform:uppercase}.info-item .value{color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:600}.save-progress{padding:var(--spacing-xl);text-align:center}.progress-header h3{color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm) 0}.progress-header p{color:var(--text-muted);font-family:var(--font-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-lg) 0}.progress-bar{background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;height:8px;margin-bottom:var(--spacing-md);overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--primary-color) 0,var(--accent-color) 100%);border-radius:3px;height:100%;transition:width .3s ease}.progress-text{color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600}.error-message,.progress-text{margin-bottom:var(--spacing-lg)}.error-message{align-items:flex-start;background:#dc35451a;border:1px solid #dc3545;border-radius:6px;color:#dc3545;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.error-icon{flex-shrink:0;font-size:18px;margin-top:2px}.success-message{align-items:center;background:#28a7451a;border:1px solid #28a745;border-radius:6px;color:#28a745;display:flex;font-family:var(--font-secondary);gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.success-icon{flex-shrink:0;font-size:18px}.modal-actions{background:var(--background-color);border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl)}.btn{align-items:center;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-xs);height:var(--button-height-md);justify-content:center;letter-spacing:.5px;min-width:120px;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#0000;border-color:var(--border-color);color:var(--text-muted)}.btn-secondary:hover:not(:disabled){border-color:var(--text-color);color:var(--text-color)}.btn-primary{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color)}.btn-primary:hover:not(:disabled){background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}@media (max-width:768px){.save-game-modal{margin:var(--spacing-md);width:95%}.modal-content{padding:var(--spacing-lg)}.modal-actions{flex-direction:column;gap:var(--spacing-sm)}.btn{width:100%}.info-grid{grid-template-columns:1fr}.modal-header{padding:var(--spacing-md)}.modal-header h2{font-size:var(--font-size-lg)}}[dir=rtl] .checkbox-label input[type=checkbox]{margin-left:0;margin-right:var(--spacing-md)}[dir=rtl] .error-icon,[dir=rtl] .notice-icon,[dir=rtl] .success-icon{margin-left:var(--spacing-sm);margin-right:0}.load-game-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.load-game-modal{animation:modalSlideIn .3s ease-out;background:var(--surface-color);border:2px solid var(--primary-color);border-radius:12px;box-shadow:0 20px 40px #0009,0 0 20px #a02c2c4d;font-family:var(--font-secondary);max-height:90vh;max-width:800px;overflow:hidden;width:90%}.load-game-modal .modal-header{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-bottom:1px solid var(--border-color);color:var(--text-color);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.load-game-modal .modal-header h2{font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;margin:0;text-shadow:1px 1px 2px #00000080}.load-game-modal .close-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:var(--spacing-sm);transition:background-color .2s;width:32px}.load-game-modal .close-btn:hover{background:#fff3}.load-game-modal .modal-content{background:var(--surface-color);max-height:60vh;overflow-y:auto;padding:var(--spacing-xl)}.search-controls{align-items:center;display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.search-box{flex:1 1;position:relative}.search-input{background:var(--background-color);border:2px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-base);padding:var(--spacing-md) 40px var(--spacing-md) var(--spacing-md);transition:border-color .2s,box-shadow .2s;width:100%}.search-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #f9d27633;outline:none}.search-input::placeholder{color:var(--text-muted);font-style:italic}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%)}.sort-select{background:var(--background-color);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;font-family:var(--font-secondary);font-size:var(--font-size-base);min-width:150px;padding:var(--spacing-md)}.sort-select:focus{border-color:var(--accent-color);outline:none}.games-list{min-height:300px}.loading-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin-bottom:var(--spacing-lg);width:40px}.empty-state{color:var(--text-muted);padding:40px;text-align:center}.empty-icon{color:var(--secondary-color);display:block;font-size:48px;margin-bottom:var(--spacing-lg)}.empty-state h3{color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-lg);letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0;text-transform:uppercase}.empty-state p{font-family:var(--font-secondary);font-size:var(--font-size-sm);line-height:1.5;margin:0}.game-item{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;margin-bottom:var(--spacing-md);padding:var(--spacing-lg);transition:all .2s}.game-item:hover{background:var(--surface-color);border-color:var(--accent-color);box-shadow:0 4px 12px #f9d27633;transform:translateY(-1px)}.game-item:active{transform:translateY(0)}.game-thumbnail{border:1px solid var(--border-color);border-radius:4px;flex-shrink:0;height:60px;margin-right:var(--spacing-lg);overflow:hidden;width:80px}.game-thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail-placeholder{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;color:var(--text-color);display:flex;font-size:24px;height:100%;justify-content:center;opacity:.8;transition:opacity .3s ease;width:100%}.thumbnail-placeholder:not([style*=background-image]){background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:2px dashed #ffffff4d;border-radius:4px}.thumbnail-placeholder:hover{opacity:1}.placeholder-icon{height:32px;opacity:.7;width:32px}.game-info{flex:1 1;min-width:0}.game-name{color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.game-description{font-size:var(--font-size-sm);line-height:1.4;margin:0 0 var(--spacing-sm) 0}.game-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.meta-item{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-secondary);gap:var(--spacing-xs)}.meta-item,.public-badge{font-size:var(--font-size-xs)}.public-badge{background:var(--secondary-color);border-radius:12px;color:var(--background-color);font-family:var(--font-primary);font-weight:600;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.game-actions{gap:var(--spacing-sm);margin-left:var(--spacing-lg)}.delete-btn{background:#0000;border:1px solid #dc3545;border-radius:4px;color:#dc3545;display:flex;font-size:var(--font-size-sm);height:32px;padding:var(--spacing-sm);transition:all .2s;width:32px}.delete-btn:hover{background:#dc3545;color:#fff;transform:scale(1.05)}.load-progress{padding:var(--spacing-xl);text-align:center}.load-progress .progress-header h3{color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm) 0}.load-progress .progress-header p{color:var(--text-muted);font-family:var(--font-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-lg) 0}.load-progress .progress-bar{background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;height:8px;margin-bottom:var(--spacing-md);overflow:hidden;width:100%}.load-progress .progress-fill{background:linear-gradient(90deg,var(--primary-color) 0,var(--accent-color) 100%);border-radius:3px;height:100%;transition:width .3s ease}.load-progress .progress-text{color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-lg)}.load-game-modal .error-message{align-items:flex-start;background:#dc35451a;border:1px solid #dc3545;border-radius:6px;color:#dc3545;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.load-game-modal .error-icon{flex-shrink:0;font-size:18px;margin-top:2px}.load-game-modal .success-message{align-items:center;background:#28a7451a;border:1px solid #28a745;border-radius:6px;color:#28a745;display:flex;font-family:var(--font-secondary);gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.load-game-modal .success-icon{flex-shrink:0;font-size:18px}.load-game-modal .modal-actions{background:var(--background-color);border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl)}.load-game-modal .btn{align-items:center;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-xs);height:var(--button-height-md);justify-content:center;letter-spacing:.5px;min-width:120px;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;transition:all .2s}.load-game-modal .btn:disabled{cursor:not-allowed;opacity:.5}.load-game-modal .btn-secondary{background:#0000;border-color:var(--border-color);color:var(--text-muted)}.load-game-modal .btn-secondary:hover:not(:disabled){border-color:var(--text-color);color:var(--text-color)}.load-game-modal .btn-primary{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color)}.load-game-modal .btn-primary:hover:not(:disabled){background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}@media (max-width:768px){.load-game-modal{margin:var(--spacing-md);width:95%}.load-game-modal .modal-content{padding:var(--spacing-lg)}.search-controls{flex-direction:column;gap:var(--spacing-md)}.sort-select{width:100%}.game-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.game-thumbnail{height:120px;margin-right:0;width:100%}.game-info{width:100%}.game-meta{justify-content:space-between}.game-actions{align-self:flex-end;margin-left:0}.load-game-modal .modal-actions{flex-direction:column;gap:var(--spacing-sm)}.load-game-modal .btn{width:100%}.load-game-modal .modal-header{padding:var(--spacing-md)}.load-game-modal .modal-header h2{font-size:var(--font-size-lg)}}[dir=rtl] .search-icon{left:var(--spacing-md);right:auto}[dir=rtl] .game-thumbnail{margin-left:var(--spacing-lg);margin-right:0}[dir=rtl] .game-actions{margin-left:0;margin-right:var(--spacing-lg)}[dir=rtl] .load-game-modal .error-icon,[dir=rtl] .load-game-modal .success-icon{margin-left:var(--spacing-sm);margin-right:0}@media (prefers-color-scheme:dark){.load-game-modal{color:#e2e8f0}.load-game-modal,.load-game-modal .modal-content{background:#2d3748}.search-input,.sort-select{background:#4a5568;border-color:#4a5568;color:#e2e8f0}.search-input:focus,.sort-select:focus{background:#4a5568;border-color:#4facfe}.game-item{background:#4a5568;border-color:#4a5568}.game-item:hover{background:#4a5568;border-color:#4facfe}.game-name{color:#e2e8f0}.game-description,.meta-item{color:#a0aec0}.thumbnail-placeholder:not([style*=background-image]){background:linear-gradient(135deg,#4a5568,#2d3748);border:2px dashed #fff3}.empty-state h3,.thumbnail-placeholder{color:#e2e8f0}.load-game-modal .modal-actions{background:#4a5568;border-color:#4a5568}.load-game-modal .btn-secondary{background:#4a5568;color:#e2e8f0}.load-game-modal .btn-secondary:hover:not(:disabled){background:#2d3748}}.reauth-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.reauth-modal{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 10px #0000001a;color:#2c3e50;margin:0 auto;max-height:90vh;max-width:400px;overflow-y:auto;padding:2rem;width:90%}.reauth-modal-header{margin-bottom:24px;text-align:center}.reauth-modal-header h2{color:#2c3e50;font-size:1.4em;margin-bottom:1.5rem;text-align:center}.reauth-modal-header p{color:#2c3e50;font-size:.95em;margin:0;text-align:center}.work-preservation-info{background:#e8f5e8;border:1px solid #27ae60;border-radius:8px;margin-bottom:24px;padding:16px}.info-header{align-items:center;color:#27ae60;display:flex;font-weight:600;gap:8px;margin-bottom:12px}.info-header .icon{font-size:1.2em}.work-details p{color:#2c3e50;font-size:.9em;margin:4px 0}.work-stats{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.work-stats span{background:#d5f4e6;border-radius:4px;color:#27ae60;font-size:.8em;padding:4px 8px}.reassurance{color:#27ae60!important;font-weight:500;margin-top:8px!important}.reauth-form{margin-bottom:24px}.form-group{margin-bottom:1.2rem}.form-group label{color:#2c3e50;font-weight:500;margin-bottom:.5rem}.form-group input{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#2c3e50;font-size:1rem;padding:.8rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#2c3e50;box-shadow:none;outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#e74c3c;border-radius:4px;color:#fff;margin-bottom:1rem;padding:.8rem}.form-buttons{margin-bottom:16px}.login-button{align-items:center;background-color:#2c3e50;border:1px solid #2c3e50;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:.8rem;transition:all .2s ease;width:100%}.login-button:hover:not(:disabled){background-color:var(--primary-color);border:1px solid var(--accent-color);color:#fff}.login-button:disabled{background-color:#95a5a6;border-color:#95a5a6;cursor:not-allowed}.spinner{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.backup-options{border-top:1px solid #ddd;margin-bottom:20px;padding-top:20px}.backup-options h4{color:#2c3e50;font-size:1em;margin:0 0 12px}.backup-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.backup-button,.refresh-button{background-color:#2c3e50;border:1px solid #2c3e50;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:.9em;font-weight:600;min-width:140px;padding:.8rem;transition:all .2s ease}.backup-button:hover:not(:disabled){background-color:var(--primary-color);border:1px solid var(--accent-color);color:#fff}.backup-button:disabled{background-color:#95a5a6;border-color:#95a5a6;cursor:not-allowed}.refresh-button:hover{background-color:var(--primary-color);border:1px solid var(--accent-color);color:#fff}.backup-note{color:#7f8c8d;font-size:.85em;font-style:italic;margin:0}.modal-footer{border-top:1px solid #ddd;padding-top:16px}.security-note{color:#7f8c8d;font-size:.85em;line-height:1.4;margin:0;text-align:center}@media (max-width:600px){.reauth-modal{margin:20px;padding:20px}.backup-buttons{flex-direction:column}.backup-button,.refresh-button{min-width:auto}.work-stats{flex-direction:column;gap:6px}}.header-strip-v1{background-color:var(--surface-color);border-bottom:1px solid var(--border-color)}.logo-images{align-items:center;display:flex;gap:var(--spacing-sm);margin-right:0}.header-logo-image{height:40px;object-fit:contain;width:auto}.logo-title{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:0;border-radius:0 5px 5px 0;box-shadow:0 0 6px #000;display:flex;padding:2px 14px}.game-controls-header{align-items:center;display:flex;gap:var(--spacing-sm)}.export-local-btn-header,.header-button,.import-local-btn-header,.load-game-btn-header,.mode-toggle-btn-header,.new-game-btn-header,.quick-save-btn-header,.save-as-btn-header,.save-game-btn-header{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:1.2rem;font-weight:600;height:var(--button-height-sm);justify-content:center;line-height:1;min-height:var(--button-height-sm);min-width:40px;padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all .2s ease}.export-local-btn-header:hover,.header-button:hover,.import-local-btn-header:hover,.load-game-btn-header:hover,.mode-toggle-btn-header:hover,.new-game-btn-header:hover,.quick-save-btn-header:hover,.save-as-btn-header:hover,.save-game-btn-header:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.mode-toggle-btn-header.edit-mode{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--background-color);text-shadow:1px 1px 2px #00000080}.quick-save-btn-header:disabled{background-color:#6c757d;border-color:#6c757d;cursor:not-allowed;opacity:.8;transform:none}.quick-save-btn-header:disabled:hover{background-color:#6c757d;border-color:#6c757d;box-shadow:0 2px 4px #a02c2c4d;transform:none}.save-load-status-message{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:2px solid var(--accent-color);border-radius:8px;box-shadow:0 8px 24px #0006,0 0 20px #a02c2c4d;color:var(--text-color);font-family:var(--font-primary);font-weight:600;letter-spacing:.5px;max-width:300px;padding:var(--spacing-lg);position:fixed;right:20px;text-shadow:1px 1px 2px #00000080;text-transform:uppercase;top:20px;z-index:1000}.confirmation-overlay{align-items:center;animation:fadeIn .3s ease-out;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.confirmation-dialog{animation:slideInScale .3s ease-out;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:3px solid var(--accent-color);border-radius:12px;box-shadow:0 20px 40px #0009,0 0 30px #a02c2c66;color:var(--text-color);font-family:var(--font-primary);max-width:500px;padding:0;width:90%}.confirmation-header{align-items:center;background:#0003;border-bottom:2px solid var(--accent-color);border-radius:9px 9px 0 0;display:flex;justify-content:space-between;padding:var(--spacing-lg)}.confirmation-header h3{color:var(--accent-color);font-size:1.4rem;font-weight:700;letter-spacing:.5px;margin:0;text-shadow:1px 1px 2px #00000080;text-transform:uppercase}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--accent-color);cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.close-btn:hover{background-color:#ffffff1a;transform:scale(1.1)}.confirmation-content{line-height:1.6;padding:var(--spacing-lg)}.confirmation-content p{font-size:1.1rem;margin:0 0 var(--spacing-md) 0;text-shadow:1px 1px 2px #0000004d}.confirmation-content p:last-child{color:var(--accent-color);font-weight:600;margin-bottom:0}.confirmation-body{line-height:1.6;padding:var(--spacing-lg)}.confirmation-body p{font-size:1.1rem;margin:0 0 var(--spacing-md) 0;text-shadow:1px 1px 2px #0000004d}.warning-text{align-items:center;color:#ff6b6b!important;display:flex;font-weight:600!important;gap:var(--spacing-sm)}.warning-text i{font-size:1.2rem}.confirmation-actions,.confirmation-buttons{background:#0000001a;border-radius:0 0 9px 9px;display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg)}.confirmation-btn{border:2px solid;border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-primary);font-size:1rem;font-weight:600;letter-spacing:.5px;min-width:120px;padding:var(--spacing-md) var(--spacing-lg);text-shadow:1px 1px 2px #00000080;text-transform:uppercase;transition:all .2s ease}.cancel-btn{background-color:#6c757d;border-color:#6c757d;color:#fff}.cancel-btn:hover{background-color:#5a6268;border-color:#5a6268;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.confirm-btn{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--background-color)}.confirm-btn:hover{background-color:#e6c875;border-color:#e6c875;box-shadow:0 4px 8px #f9d27666;transform:translateY(-1px)}.delete-btn{background-color:#dc3545;border-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333;border-color:#c82333;box-shadow:0 4px 8px #dc354566;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInScale{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.game-title-header{color:var(--text-color);font-family:var(--font-primary);font-weight:700;letter-spacing:.5px;text-transform:uppercase}.header-logo:hover{color:var(--accent-color)}.shared-game-banner-header{align-items:center;display:flex;gap:var(--spacing-sm)}.shared-badge-header{background-color:var(--primary-color);border:1px solid var(--accent-color);border-radius:var(--border-radius-sm)}.save-copy-btn-header,.shared-badge-header{color:var(--text-color);font-family:var(--font-primary);font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-shadow:1px 1px 2px #0000004d;text-transform:uppercase}.save-copy-btn-header{background-color:var(--secondary-color);border:2px solid var(--secondary-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease}.save-copy-btn-header:hover{background-color:var(--accent-color);border-color:var(--accent-color);box-shadow:0 2px 4px #f9d27666;color:var(--background-color);transform:translateY(-1px)}.quick-save-container{display:inline-block;position:relative}.autosave-progress-bar{background:#a02c2c33;bottom:-2px;height:3px;left:0;overflow:hidden;position:absolute;right:0}.autosave-progress-bar,.autosave-progress-fill{border-radius:0 0 var(--border-radius-sm) var(--border-radius-sm)}.autosave-progress-fill{background:linear-gradient(90deg,var(--primary-color) 0,var(--accent-color) 100%);height:100%;transition:width 1s ease}.autosave-menu{animation:slideDownFade .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--surface-color);border:2px solid var(--primary-color);border-radius:8px;box-shadow:0 8px 24px #0006,0 0 12px #a02c2c4d;font-family:var(--font-secondary);min-width:280px;position:absolute;right:0;top:calc(100% + var(--spacing-xs));z-index:100}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.autosave-menu-content{padding:var(--spacing-md)}.autosave-info{border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.info-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) 0}.info-label{color:#fff;font-family:var(--font-primary);font-weight:700;letter-spacing:.5px;text-transform:uppercase}.info-label,.info-value{font-size:var(--font-size-xs)}.info-value{color:var(--text-color);font-family:var(--font-secondary);font-weight:500}.interval-row{align-items:center;gap:var(--spacing-xs)}.interval-input{background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);text-align:center;transition:border-color .2s ease;width:50px}.interval-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #f9d2764d;outline:none}.interval-input::-webkit-inner-spin-button,.interval-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.interval-input[type=number]{-moz-appearance:textfield}.autosave-controls{margin-bottom:var(--spacing-md)}.autosave-toggle-btn{align-items:center;background:var(--primary-color);border:1px solid var(--primary-color);border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:600;gap:var(--spacing-xs);height:var(--button-height-sm);justify-content:center;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase;transition:all .2s ease;width:100%}.autosave-toggle-btn:hover{background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 2px 4px #d9963b4d;transform:translateY(-1px)}.autosave-toggle-btn:active{transform:translateY(0)}.autosave-restore-btn{align-items:center;background:var(--secondary-color);border:1px solid var(--secondary-color);border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:600;gap:var(--spacing-xs);height:var(--button-height-sm);justify-content:center;letter-spacing:.5px;margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase;transition:all .2s ease;width:100%}.autosave-restore-btn:hover{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 2px 4px #f9d2764d;color:var(--background-color);transform:translateY(-1px)}.autosave-restore-btn:active{transform:translateY(0)}.autosave-tip{align-items:flex-start;background:#f9d2761a;border:1px solid #f9d2764d;border-radius:4px;display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm)}.tip-icon{align-self:center;color:var(--accent-color);flex-shrink:0;font-size:var(--font-size-sm)}.tip-text{color:#fff;font-family:var(--font-secondary);font-size:var(--font-size-xs);font-style:normal;line-height:1.2;padding-left:5px}@media (max-width:768px){.autosave-menu{min-width:250px;right:-50px}.info-row{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}}.drawing-tools-header{flex-grow:1}.profile-page{background:var(--background-color);font-family:var(--font-secondary);height:100vh;margin:0;max-height:calc(100vh - 100px);max-height:calc(100vh - var(--header-footer-height, 100px));min-height:100%;overflow-y:auto;padding:20px;width:100%}.profile-container{background:var(--surface-color);border:2px solid var(--primary-color);border-radius:12px;box-shadow:0 20px 40px #0009,0 0 20px #a02c2c4d;display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100%;overflow:visible}.profile-header{align-items:flex-start;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-bottom:1px solid var(--border-color);border-top-left-radius:10px;border-top-right-radius:10px;color:var(--text-color);display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-xl)}.profile-header h1{font-family:var(--font-primary);font-size:var(--font-size-xxl);font-weight:700;letter-spacing:1px;margin:0;text-shadow:2px 2px 4px #00000080;text-transform:uppercase}.user-info p{font-family:var(--font-secondary);font-size:var(--font-size-base);margin:0;opacity:.9}.logout-btn{align-items:center;background:#0000;border:2px solid #ffffff4d;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;height:var(--button-height-md);justify-content:center;letter-spacing:.5px;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;transition:all .3s ease}.logout-btn:hover{background:#fff3;border-color:#ffffff80;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.profile-content{background:var(--surface-color);border-bottom-left-radius:10px;border-bottom-right-radius:10px;display:flex;flex-direction:column;flex-grow:1;padding:var(--spacing-xl)}.profile-content::-webkit-scrollbar{width:8px}.profile-content::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.profile-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.profile-content::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.profile-page::-webkit-scrollbar{width:8px}.profile-page::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.profile-page::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.profile-page::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.games-section,.images-section{display:flex;flex:1 1;flex-direction:column;height:100%}.close-images-btn,.load-images-btn{align-items:center;background:var(--primary-color);border:2px solid var(--primary-color);border-radius:6px;box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;height:var(--button-height-md);justify-content:center;letter-spacing:.5px;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;transition:all .3s ease}.close-images-btn:hover,.load-images-btn:hover{background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-2px)}.load-images-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.no-games,.no-images{color:var(--text-muted);padding:var(--spacing-xxl);text-align:center}.no-games p,.no-images p{font-family:var(--font-secondary);font-size:var(--font-size-lg);margin:var(--spacing-sm) 0}.games-grid{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-lg);overflow-y:auto;padding-right:var(--spacing-sm)}.games-grid::-webkit-scrollbar{width:8px}.games-grid::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.games-grid::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.games-grid::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.game-card{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;min-height:-webkit-fit-content;min-height:fit-content;overflow:hidden;transition:all .3s ease;width:100%}.game-card,.game-card:hover{box-shadow:0 4px 8px #0000004d}.game-card:hover{border-color:var(--accent-color);transform:none}.game-content{display:flex;min-height:80px}.game-info-column{background:var(--surface-color);display:flex;flex:1 1;flex-direction:column;padding:var(--spacing-md)}.game-image-column{align-items:center;background:var(--background-color);border-left:1px solid var(--border-color);cursor:pointer;display:flex;justify-content:center;position:relative;transition:all .3s ease;width:200px}.game-image-column.expanded{height:auto;max-width:500px;width:500px}.game-image-column:hover{background:var(--surface-color)}.game-image-placeholder{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;color:var(--text-muted);display:flex;flex-direction:column;gap:var(--spacing-xs);height:100%;justify-content:center;padding:0;position:relative;text-align:center;transition:all .3s ease;width:100%}.game-image-placeholder:not([style*=background-image]){background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:2px dashed #ffffff4d;border-radius:8px}.game-image-placeholder:hover .image-overlay{opacity:1}.placeholder-icon{stroke-width:1.5;height:48px;opacity:.5;width:48px}.game-image-column:hover .collapse-hint,.game-image-column:hover .expand-hint{opacity:1}.game-image-column.expanded .game-image-placeholder{background-position:50%;background-repeat:no-repeat;background-size:contain;height:auto;min-height:200px}.game-image-column.expanded .placeholder-icon{height:64px;width:64px}.game-top-row{align-items:center;display:flex;flex-flow:wrap;justify-content:space-between;margin-bottom:var(--spacing-sm)}.game-title{color:var(--text-color);flex:1 1;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.5px;line-height:1.2;margin:0;margin-right:var(--spacing-md);text-transform:uppercase}.game-name-text{border-radius:3px;cursor:pointer;display:inline-block;min-width:50px;padding:2px 4px;transition:background-color .2s ease}.game-name-text:hover{background-color:#f9d2761a}.game-name-text[contenteditable=true]{background-color:var(--accent-color);border:1px solid var(--secondary-color);color:var(--background-color);outline:none}.game-actions{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.game-middle-row{animation:slideDown .3s ease-out;background:var(--surface-color);border-bottom:1px solid var(--border-color);border-radius:6px;border-top:1px solid var(--border-color);margin:var(--spacing-sm) 0;padding:var(--spacing-md) 0}.description-display-area,.description-edit-area{padding:var(--spacing-md)}.game-bottom-row{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm)}.game-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.game-details{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:auto}.change-image-btn,.delete-btn,.edit-description-btn,.load-btn{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:1.2rem;font-weight:600;height:var(--button-height-sm);justify-content:center;line-height:1;min-height:var(--button-height-sm);min-width:40px;padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all .2s ease}.change-image-btn:hover,.delete-btn:hover,.edit-description-btn:hover,.load-btn:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.change-image-btn:disabled,.delete-btn:disabled,.edit-description-btn:disabled,.load-btn:disabled{background-color:#6c757d;border-color:#6c757d;cursor:not-allowed;opacity:.8;transform:none}.change-image-btn:disabled:hover,.delete-btn:disabled:hover,.edit-description-btn:disabled:hover,.load-btn:disabled:hover{background-color:#6c757d;border-color:#6c757d;box-shadow:0 2px 4px #a02c2c4d;transform:none}.privacy-controls{align-items:center;display:flex;gap:var(--spacing-xs)}.privacy-status-btn{border:none!important;border-radius:0;cursor:pointer;font-family:inherit;font-size:var(--font-size-xs)!important;font-weight:inherit;height:auto!important;line-height:inherit;min-height:auto!important;padding:0;text-transform:inherit;transition:none}.privacy-status-btn,.privacy-status-btn:hover{background:#0000!important;color:inherit}.privacy-status-btn.private,.privacy-status-btn.public{background:#0000!important;border:none!important;color:inherit}.public-upload-btn{align-items:center;border:none!important;border-radius:0;cursor:pointer;display:flex;height:16px;justify-content:center;margin-left:var(--spacing-xs);min-height:auto!important;padding:0;transition:all .3s ease;width:16px}.public-upload-btn,.public-upload-btn:hover{background:#0000!important}.globe-icon{stroke-width:2;color:var(--text-color);height:12px;transition:opacity .3s ease;width:12px}.public-upload-btn:hover .globe-icon{opacity:.7}.cloudinary-id{background:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.images-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.image-card{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px #0003;overflow:hidden;transition:all .3s ease}.image-card:hover{border-color:var(--accent-color);box-shadow:0 4px 8px #0000004d;transform:translateY(-3px)}.image-preview{align-items:center;background:var(--surface-color);display:flex;height:200px;justify-content:center;overflow:hidden;width:100%}.image-preview img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.image-card:hover .image-preview img{transform:scale(1.05)}.image-info{padding:var(--spacing-lg)}.image-name{color:var(--text-color);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0;text-transform:uppercase}.image-details{color:var(--text-muted);font-family:var(--font-secondary);font-size:var(--font-size-xs);line-height:1.4}.image-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.tag{background:var(--secondary-color);border-radius:12px;color:var(--background-color);font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}@media (max-width:768px){.profile-page{margin:0;max-height:calc(100vh - 80px);max-height:calc(100vh - var(--header-footer-height, 80px));min-height:100%;overflow-y:auto;padding:20px;width:100%}.profile-container{min-height:500px}.profile-content{overflow-y:auto;padding:var(--spacing-md)}.profile-header{flex-direction:column;flex-shrink:0;gap:var(--spacing-lg);text-align:center}.profile-header h1{font-size:var(--font-size-xl)}.section-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.games-grid{max-height:300px}.game-content{flex-direction:column;height:auto}.game-info-column{order:2}.game-image-column{order:1}.game-image-column,.game-image-column.expanded{border-bottom:1px solid var(--border-color);border-left:none;cursor:pointer;height:auto;width:100%}.game-image-column.expanded{max-height:300px;min-height:200px}.game-top-row{flex-direction:column;gap:var(--spacing-sm);text-align:center}.game-title{margin-right:0;text-align:center}.game-actions,.game-details{justify-content:center}.game-details,.privacy-controls{gap:var(--spacing-xs)}.privacy-controls{align-items:stretch;flex-direction:column}.privacy-status-btn{text-align:center}.public-upload-btn{align-self:center}.images-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}[dir=rtl] .game-header h4{margin-left:var(--spacing-md);margin-right:0}[dir=rtl] .info-row{flex-direction:row-reverse}.game-description{color:var(--text-muted);font-family:var(--font-secondary);font-size:var(--font-size-lg);font-style:italic;line-height:1.5;margin:0;padding:0}.like-btn{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:1.2rem;font-weight:600;gap:6px;height:var(--button-height-sm);justify-content:center;line-height:1;min-height:var(--button-height-sm);min-width:40px;padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all .2s ease}.like-btn:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.like-btn:active{transform:translateY(0)}.like-btn .fa-heart{transition:all .3s ease}.like-btn:hover .fa-heart{animation:heartBeat .6s ease-in-out}.like-btn .like-count{font-size:.9rem;font-weight:600;line-height:1}.like-btn.liked{background-color:var(--secondary-color);border-color:var(--secondary-color)}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.1)}to{transform:scale(1)}}.feedback-page{background:var(--background-color);font-family:var(--font-secondary);height:100vh;margin:0;max-height:calc(100vh - 100px);max-height:calc(100vh - var(--header-footer-height, 100px));min-height:100%;overflow-y:auto;padding:20px;width:100%}.feedback-container{background:var(--surface-color);border:2px solid var(--primary-color);border-radius:12px;box-shadow:0 20px 40px #0009,0 0 20px #a02c2c4d;display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100%;overflow:visible}.feedback-header{align-items:flex-start;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-bottom:1px solid var(--border-color);border-top-left-radius:10px;border-top-right-radius:10px;color:var(--text-color);display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-xl)}.feedback-header h1{font-size:var(--font-size-xxl);font-weight:700;letter-spacing:1px;margin:0;text-shadow:2px 2px 4px #00000080}.feedback-header h1,.user-info h2{font-family:var(--font-primary);text-transform:uppercase}.user-info h2{font-size:var(--font-size-xl);font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0}.feedback-content{background:var(--surface-color);border-bottom-left-radius:10px;border-bottom-right-radius:10px;flex-direction:column;flex-grow:1;padding:var(--spacing-xl)}.feedbacks-section{display:flex;flex:1 1;flex-direction:column;height:100%}.section-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.section-header h3{font-size:var(--font-size-xl);margin:0}.add-feedback-btn,.section-header h3{color:var(--text-color);font-family:var(--font-primary);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.add-feedback-btn{align-items:center;background:var(--primary-color);border:2px solid var(--primary-color);border-radius:6px;box-shadow:0 2px 4px #a02c2c4d;cursor:pointer;display:flex;font-size:var(--font-size-sm);height:var(--button-height-md);justify-content:center;padding:var(--spacing-md) var(--spacing-lg);transition:all .3s ease}.add-feedback-btn:hover{background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-2px)}.new-feedback-form{animation:slideDown .3s ease-out;background:var(--background-color);border:2px solid var(--accent-color);border-radius:12px;box-shadow:0 10px 20px #0006;margin-bottom:var(--spacing-xl)}.form-header{align-items:center;background:linear-gradient(135deg,var(--accent-color) 0,var(--secondary-color) 100%);border-top-left-radius:10px;border-top-right-radius:10px;color:var(--background-color);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.form-header h4{font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.close-form-btn{background:#0000;border:none;border-radius:4px;color:var(--background-color);cursor:pointer;font-size:var(--font-size-lg);padding:var(--spacing-xs);transition:background-color .3s ease}.close-form-btn:hover{background:#0003}.form-content{padding:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--text-color);display:block;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.5px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.feedback-input,.feedback-textarea{background:var(--surface-color);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color);font-family:var(--font-secondary);font-size:var(--font-size-base);padding:var(--spacing-md);resize:vertical;transition:border-color .3s ease;width:100%}.feedback-input:focus,.feedback-textarea:focus{border-color:var(--accent-color);outline:none}.feedback-textarea{line-height:1.5;min-height:120px}.image-upload-area{border:2px dashed var(--border-color);border-radius:6px;padding:var(--spacing-lg);text-align:center;transition:border-color .3s ease}.image-upload-area:hover{border-color:var(--accent-color)}.feedback-file-input{color:var(--text-color);font-family:var(--font-secondary);padding:var(--spacing-sm);width:100%}.selected-image{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.selected-image i{color:var(--accent-color)}.remove-image-btn{background:#0000;border:none;color:var(--text-muted);cursor:pointer;margin-left:auto;padding:var(--spacing-xs);transition:color .3s ease}.remove-image-btn:hover{color:var(--primary-color)}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.cancel-feedback-btn,.submit-feedback-btn{align-items:center;border-radius:6px;box-shadow:0 2px 4px #0000004d;cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-xs);height:var(--button-height-md);justify-content:center;letter-spacing:.5px;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase;transition:all .3s ease}.submit-feedback-btn{background:var(--primary-color);border:2px solid var(--primary-color);color:var(--text-color);flex:1 1}.submit-feedback-btn:hover:not(:disabled){background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-2px)}.submit-feedback-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancel-feedback-btn{background:#0000;border:2px solid var(--text-muted);color:var(--text-muted)}.cancel-feedback-btn:hover:not(:disabled){background:var(--text-muted);color:var(--background-color)}.error,.loading{font-family:var(--font-secondary);font-size:var(--font-size-lg);padding:var(--spacing-lg);text-align:center}.loading{color:var(--text-muted)}.error{background:#dc35451a;border:1px solid #dc3545;border-radius:6px;color:#dc3545}.no-feedbacks{color:var(--text-muted);padding:var(--spacing-xxl);text-align:center}.no-feedbacks p{font-family:var(--font-secondary);font-size:var(--font-size-lg);margin:var(--spacing-sm) 0}.feedbacks-grid{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-lg);overflow-y:auto;padding-right:var(--spacing-sm)}.feedback-card{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 8px #0000004d;min-height:-webkit-fit-content;min-height:fit-content;overflow:hidden;transition:all .3s ease;width:100%}.feedback-card:hover{border-color:var(--accent-color);box-shadow:0 4px 8px #0000004d;transform:none}.feedback-content{display:flex;min-height:80px}.feedback-info-column{background:var(--surface-color);display:flex;flex:1 1;flex-direction:column;padding:var(--spacing-md)}.feedback-image-column{align-items:center;background:var(--background-color);border-left:1px solid var(--border-color);cursor:pointer;display:flex;justify-content:center;position:relative;transition:all .3s ease;width:200px}.feedback-image-column.expanded{height:auto;max-width:500px;width:500px}.feedback-image-column:hover{background:var(--surface-color)}.feedback-image-placeholder{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;color:var(--text-muted);display:flex;flex-direction:column;gap:var(--spacing-xs);height:100%;justify-content:center;min-height:100px;padding:0;position:relative;text-align:center;transition:all .3s ease;width:100%}.feedback-image-column.expanded .feedback-image-placeholder{background-position:50%;background-repeat:no-repeat;background-size:contain;height:auto;min-height:200px}.image-overlay{align-items:center;background:#0009;bottom:0;color:#fff;display:flex;font-size:var(--font-size-sm);font-weight:600;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.feedback-image-placeholder:hover .image-overlay{opacity:1}.collapse-hint,.expand-hint{align-items:center;background:var(--primary-color);border-radius:50%;bottom:var(--spacing-xs);color:var(--text-color);display:flex;font-size:12px;height:24px;justify-content:center;opacity:.8;position:absolute;right:var(--spacing-xs);transition:opacity .3s ease;width:24px}.feedback-image-column:hover .collapse-hint,.feedback-image-column:hover .expand-hint{opacity:1}.collapse-hint{background:var(--accent-color)}.feedback-top-row{align-items:center;display:flex;flex-flow:wrap;justify-content:space-between;margin-bottom:var(--spacing-sm)}.feedback-title{color:var(--text-color);flex:1 1;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.5px;line-height:1.2;margin:0;margin-right:var(--spacing-md);text-transform:uppercase}.feedback-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-sm)}.status-badge{background:var(--primary-color);border-radius:4px;color:var(--text-color);font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.feedback-bottom-row{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm)}.feedback-message{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-color);display:-webkit-box;font-family:var(--font-secondary);font-size:var(--font-size-base);line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis}.feedback-details{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:auto}.info-row{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #a02c2c4d;display:inline-flex;gap:var(--spacing-xs);height:var(--button-height-sm);justify-content:center;min-height:var(--button-height-sm);padding:var(--spacing-xs) var(--spacing-sm)}.info-row,.info-row .value{color:var(--text-color);font-family:var(--font-primary);font-weight:900;line-height:1;text-transform:uppercase}.info-row .value{font-size:var(--font-size-xs);text-align:center}.delete-btn{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #a02c2c4d;color:var(--text-color);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:1.2rem;font-weight:600;height:var(--button-height-sm);justify-content:center;line-height:1;min-height:var(--button-height-sm);min-width:40px;padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all .2s ease}.delete-btn:hover:not(:disabled){background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #d9963b66;transform:translateY(-1px)}.delete-btn:disabled{background-color:#6c757d;border-color:#6c757d;cursor:not-allowed;opacity:.8;transform:none}.info-icon{stroke-width:1.5;color:var(--text-color);height:16px;width:16px}.feedback-content::-webkit-scrollbar,.feedback-page::-webkit-scrollbar,.feedbacks-grid::-webkit-scrollbar{width:8px}.feedback-content::-webkit-scrollbar-track,.feedback-page::-webkit-scrollbar-track,.feedbacks-grid::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.feedback-content::-webkit-scrollbar-thumb,.feedback-page::-webkit-scrollbar-thumb,.feedbacks-grid::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.feedback-content::-webkit-scrollbar-thumb:hover,.feedback-page::-webkit-scrollbar-thumb:hover,.feedbacks-grid::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.status-message{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:2px solid var(--accent-color);border-radius:8px;box-shadow:0 8px 24px #0006,0 0 20px #a02c2c4d;color:var(--text-color);font-family:var(--font-primary);font-weight:600;letter-spacing:.5px;max-width:300px;padding:var(--spacing-lg);position:fixed;right:20px;text-shadow:1px 1px 2px #00000080;text-transform:uppercase;top:20px;z-index:1000}@keyframes slideDown{0%{margin:0;max-height:0;opacity:0;padding:0}to{margin:inherit;max-height:1000px;opacity:1;padding:inherit}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s infinite}@media (max-width:768px){.feedback-page{margin:0;max-height:calc(100vh - 80px);max-height:calc(100vh - var(--header-footer-height, 80px));min-height:100%;overflow-y:auto;padding:20px;width:100%}.feedback-container{min-height:500px}.feedback-content{overflow-y:auto;padding:var(--spacing-md)}.feedback-header{flex-direction:column;flex-shrink:0;gap:var(--spacing-lg);text-align:center}.feedback-header h1{font-size:var(--font-size-xl)}.section-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.feedbacks-grid{max-height:300px}.feedback-content{flex-direction:column;height:auto}.feedback-info-column{order:2}.feedback-image-column{order:1}.feedback-image-column,.feedback-image-column.expanded{border-bottom:1px solid var(--border-color);border-left:none;cursor:pointer;height:auto;width:100%}.feedback-image-column.expanded{max-height:300px;min-height:200px}.feedback-top-row{flex-direction:column;gap:var(--spacing-sm);text-align:center}.feedback-title{margin-right:0;text-align:center}.feedback-actions,.feedback-details{justify-content:center}.feedback-details{gap:var(--spacing-xs)}.form-actions{flex-direction:column}.cancel-feedback-btn,.submit-feedback-btn{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background-color);color:var(--text-color);font-family:var(--font-secondary);line-height:1.6}.btn-primary,.btn-secondary,.header-title,.section-title,.title,h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:var(--font-weight-bold)}.app{background-color:var(--background-color);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;width:100%}.main-content.no-padding{padding:0}button,input[type=submit]{cursor:pointer;font-family:var(--font-primary)}.text-center{text-align:center}.flex-center{align-items:center;display:flex;justify-content:center}@media (max-width:768px){.main-content{padding:1rem}.main-content.no-padding{padding:0}}
/*# sourceMappingURL=main.28f2a661.css.map*/