.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--surface);border-top:1px solid var(--outline);box-shadow:0 -4px 16px var(--shadow);padding:16px 24px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;animation:consent-slide-up .3s ease-out}@keyframes consent-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.consent-banner__text{color:var(--on-surface);font-size:14px;line-height:1.5;flex:1 1 300px}.consent-banner__link{color:var(--primary);text-decoration:underline;margin-inline-start:4px}.consent-banner__actions{display:flex;gap:8px;flex-shrink:0}.consent-banner__btn{border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.consent-banner__btn:hover{opacity:.85}.consent-banner__btn--accept{background:var(--primary);color:#fff}.consent-banner__btn--decline{background:var(--surface-variant, var(--outline));color:var(--on-surface)}.app-footer{text-align:center;padding:24px 16px 16px;font-size:13px}.app-footer a{color:var(--on-surface-variant, var(--on-surface));opacity:.6;text-decoration:none}.app-footer a:hover{opacity:1;text-decoration:underline}.app-footer__sep{margin:0 6px;opacity:.4}.home-page{flex:1;padding:16px;max-width:960px;margin:0 auto;width:100%}.home-page h1{text-align:center;font-size:1.8rem;margin-bottom:20px;color:var(--on-surface)}.home-header{display:flex;align-items:center;padding:12px 20px;gap:8px;background:var(--surface);border-bottom:1px solid var(--outline);flex-shrink:0;position:sticky;top:0;z-index:50}.home-header-auth{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:1}.home-header-avatar{width:36px;height:36px;border-radius:50%}.home-header-name{font-size:.95rem;font-weight:500;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.home-header-btn{padding:6px 14px;border-radius:8px;border:1px solid var(--outline);background:var(--surface-variant);font-size:.85rem;cursor:pointer;transition:background .15s ease}.home-header-btn:hover{background:var(--outline)}.home-header-btn.sign-out{color:var(--error)}.home-header-error{font-size:.8rem;color:var(--error, #d93025)}.home-subtitle{text-align:center;font-size:1rem;color:var(--on-surface-variant);margin:-12px 0 16px;line-height:1.5}.expand-collapse-all-btn{background:none;border:none;color:var(--primary, #1a73e8);font-size:.85rem;cursor:pointer;padding:2px 0;margin-bottom:4px}.expand-collapse-all-btn:hover{text-decoration:underline}.size-section{background:var(--surface);border-radius:16px;border:1px solid var(--outline);margin-bottom:16px;overflow:hidden}.size-section-header{display:flex;justify-content:space-between;align-items:center;padding:14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.size-section-header:hover{background:var(--surface-variant)}.size-section-header h2{font-size:1.2rem;color:var(--on-surface);margin:0}.size-section-header .arrow{font-size:1.4rem;color:var(--on-surface-variant);transition:transform .2s ease}.size-section-header .arrow.expanded{transform:rotate(-90deg)}.size-section-content{padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.puzzle-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface-variant);border-radius:10px;padding:12px;cursor:pointer;transition:background .15s ease,transform .1s ease}.puzzle-card:hover{background:var(--outline);transform:translateY(-2px)}.puzzle-card:active{transform:scale(.98)}.puzzle-card-info{display:flex;align-items:center;justify-content:center;gap:6px}.puzzle-card-info .check-icon{color:var(--green);font-size:1.1rem}.puzzle-card-info .puzzle-title{font-size:.95rem;font-weight:600;color:var(--on-surface);text-align:center}.puzzle-card-progress{width:100%;height:4px;background:var(--outline);border-radius:2px;overflow:hidden}.puzzle-card-progress-fill{height:100%;background:var(--green);border-radius:2px;transition:width .3s ease}.shape-preview{width:80px;height:80px;border-radius:8px;background:var(--surface-variant);border:1px solid var(--outline);overflow:hidden;flex-shrink:0}.shape-preview canvas{width:100%;height:100%}.home-loading,.home-error{display:flex;align-items:center;justify-content:center;min-height:300px;text-align:center}.home-error{color:var(--error)}.empty-message{font-size:.85rem;color:var(--on-surface-variant)}.my-puzzles-section{background:var(--surface);border-radius:16px;border:1px solid var(--outline);margin-bottom:16px;overflow:visible}.my-puzzles-header{display:flex;justify-content:space-between;align-items:center;padding:14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.my-puzzles-header:hover{background:var(--surface-variant)}.my-puzzles-header h2{font-size:1.2rem;color:var(--on-surface);margin:0}.my-puzzles-count{font-weight:400;color:var(--on-surface-variant)}.my-puzzles-header .arrow{font-size:1.4rem;color:var(--on-surface-variant);transition:transform .2s ease}.my-puzzles-header .arrow.expanded{transform:rotate(-90deg)}.my-puzzles-content{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}.create-puzzle-btn{padding:10px 16px;border-radius:10px;border:2px dashed var(--outline);background:transparent;color:var(--primary, #1a73e8);font-size:.95rem;font-weight:600;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.create-puzzle-btn:hover{background:var(--surface-variant);border-color:var(--primary, #1a73e8)}.my-puzzle-card{display:flex;align-items:center;gap:10px;background:var(--surface-variant);border-radius:10px;padding:10px 12px;transition:background .15s ease}.my-puzzle-card:hover{background:var(--outline)}.my-puzzle-card--draft{border:2px dashed var(--primary, #1a73e8);background:transparent}.my-puzzle-card--draft:hover{background:var(--surface-variant)}.draft-badge{display:inline-block;margin-inline-start:6px;padding:1px 8px;border-radius:10px;background:var(--primary, #1a73e8);color:#fff;font-size:.7rem;font-weight:600;vertical-align:middle}.draft-discard-btn{padding:4px 8px;border:none;background:transparent;cursor:pointer;font-size:1.1rem;font-weight:700;border-radius:6px;color:var(--error, #d93025);transition:background .15s;flex-shrink:0}.draft-discard-btn:hover{background:#d930251a}.my-puzzle-info{flex:1;display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0}.my-puzzle-title{font-size:1rem;font-weight:600;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-puzzle-meta{font-size:.8rem;color:var(--on-surface-variant)}.my-puzzle-actions{position:relative;flex-shrink:0}.my-puzzle-menu-btn{padding:4px 8px;border:none;background:transparent;cursor:pointer;font-size:1.3rem;font-weight:700;border-radius:6px;color:var(--on-surface-variant);transition:background .15s;line-height:1}.my-puzzle-menu-btn:hover{background:var(--surface)}.my-puzzle-menu{position:absolute;left:0;top:100%;min-width:110px;background:var(--surface);border:1px solid var(--outline);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:20;overflow:hidden}.my-puzzle-menu-item{display:block;width:100%;padding:10px 14px;border:none;background:transparent;cursor:pointer;font-size:.9rem;color:var(--on-surface);text-align:start;transition:background .15s}.my-puzzle-menu-item:hover{background:var(--surface-variant)}.my-puzzle-menu-item.delete{color:var(--error, #d93025)}.delete-confirm{display:flex;gap:4px;padding:6px 10px}.my-puzzle-action-btn{padding:4px 8px;border:none;background:transparent;cursor:pointer;font-size:.8rem;border-radius:6px;transition:background .15s}.my-puzzle-action-btn.delete-yes{color:#fff;background:var(--error, #d93025);padding:4px 8px}.my-puzzle-action-btn.delete-no{padding:4px 8px;color:var(--on-surface-variant)}@media(max-width:400px){.size-section-content{grid-template-columns:repeat(2,1fr)}}:root{--cell-selected: #FFD54F;--cell-highlighted: #D7CCC8;--cell-completed: #E8F5E9;--cell-hint-text: #8D6E63;--cell-border: #A1887F;--cell-text-on-active: #1C1410;--bg: #FFFBF5;--surface: #FFF8F0;--surface-variant: #F0E6D9;--on-surface: #1C1410;--on-surface-variant: #6D5D4E;--green: #2E7D32;--green-light: #E8F5E9;--error: #d32f2f;--outline: #C4B5A3;--primary: #6D4C41;--primary-light: #EFEBE9;--shadow: rgba(62, 39, 22, .08)}[data-theme=dark]{--cell-selected: #FF8F00;--cell-highlighted: #5D4037;--cell-completed: #1B5E20;--cell-hint-text: #A1887F;--cell-border: #5D4F44;--cell-text-on-active: #EDE0D4;--bg: #1A1410;--surface: #231C17;--surface-variant: #332A22;--on-surface: #EDE0D4;--on-surface-variant: #C4B5A3;--green: #66BB6A;--green-light: #1B5E20;--error: #ef5350;--outline: #4A3F35;--primary: #BCAAA4;--primary-light: #5D4037;--shadow: rgba(0, 0, 0, .35)}@font-face{font-family:Playpen Sans Hebrew;src:url(/fonts/playpen_sans_hebrew.ttf) format("truetype");font-display:swap}@font-face{font-family:David Libre Medium;src:url(/fonts/david_lib_med.ttf) format("truetype");font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{direction:rtl;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg);color:var(--on-surface);min-height:100dvh;transition:background-color .2s ease,color .2s ease}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}:focus-visible{outline:2px solid var(--cell-selected);outline-offset:2px}.spinner{width:40px;height:40px;border:3px solid var(--outline);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--cell-border);border-radius:3px}
