.modal{display:none;position:fixed;z-index:208;top:0;left:0;width:100%;height:100%;background-color:var(--color-overlay)}.modal *{color:var(--color-text);line-height:1.5rem}.modal-content{position:absolute;background-color:var(--color-modal-header);left:50%;top:-100%;transform:translate(-50%,-50%);max-width:calc(100% - 20px);min-width:300px;max-height:calc(100% - 20px);height:auto;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-5);transition:.2s ease-in-out}#modal-contact-failure .modal-content,#modal-bug-failure .modal-content{background-color:var(--color-danger-hover)}@media(min-width:1101px){#modal-settings .modal-content,#modal-calendar .modal-content,#modal-statistics .modal-content{min-width:800px}}@media(max-width:1100px){.modal-content{width:calc(75%)}#modal-contact-failure .modal-content,#modal-bug-failure .modal-content,#modal-contact-success .modal-content,#modal-bug-success .modal-content,#modal-login .modal-content{max-width:450px}}@media(max-width:900px){.modal-content{width:calc(80%)}}@media(max-width:700px){.modal-content{width:calc(100% - 20px)}}.modal-header{padding:var(--space-3);display:flex;align-items:center}.modal-header .modal-title{margin:var(--space-4)auto;font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-on-modal-header);text-align:center;line-height:var(--leading-tight)}.modal-header img{margin:0 var(--space-5);cursor:pointer;transition:.2s ease-in-out}.modal-header img:hover{transform:scale(1.1)}.modal-body{padding:var(--space-5);height:auto;overflow-y:auto;background-clip:padding-box;max-height:60dvh;background:var(--color-bg)}.modal-body .content>div{height:auto;overflow-y:auto;background-clip:padding-box}.modal-bar{display:flex;padding:0 var(--space-3)}.modal-bar div{cursor:pointer;color:var(--color-on-modal-header);font-weight:var(--weight-bold);padding:var(--space-3);border-radius:var(--radius-lg)var(--radius-lg)0 0}.modal-bar div:not(.active):hover{background-color:var(--color-on-dark-divider)}.modal-bar div.active{background-color:var(--color-bg);color:var(--color-heading);margin-bottom:-1px}.modal-content label{margin-left:var(--space-3);margin-right:var(--space-3);font-weight:var(--weight-bold)}.modal-content .disclaimer{padding:0 var(--space-3)}.modal-content .disclaimer *{color:var(--color-text-muted);font-style:italic;font-size:var(--text-sm);margin-bottom:var(--space-1)}.modal-content .disclaimer ul{margin-left:var(--space-1);margin-right:var(--space-1)}.modal-content .disclaimer li{list-style-type:disc;margin-left:var(--space-3);margin-right:var(--space-3)}.modal-content input[type=email],.modal-content input[type=text],.modal-content textarea{display:block;width:100%;min-height:var(--control-md);padding:var(--space-2)var(--space-3);margin:0 0 var(--space-4);border:var(--border-width)solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;box-sizing:border-box;resize:vertical;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.modal-content input[type=email]:focus,.modal-content input[type=text]:focus,.modal-content textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 35%,transparent)}.modal-content input::placeholder,.modal-content textarea::placeholder{color:var(--color-text-faint)}.modal-content textarea{min-height:180px}.modal-content form[name=modalBug] label,.modal-content form[name=modalContact] label{display:block;margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--text-sm)}.modal-content input[type=submit]{min-width:12rem;background:var(--color-game-bar-button);color:var(--color-on-dark);border:var(--border-raised);box-shadow:var(--shadow-raised)}.modal-content input[type=submit]:hover{background:var(--color-game-bar-button-hover);color:var(--color-on-dark)}.modal-content input[type=submit],#reset-color{font-weight:var(--weight-bold);cursor:pointer;display:block;height:auto;width:fit-content;margin:var(--space-5)auto var(--space-3);padding:var(--space-3)var(--space-5);background:var(--color-bg);color:var(--color-link);border:var(--border-width)solid var(--color-link);border-radius:var(--radius-md);box-shadow:var(--shadow-1);transition:.2s ease-in-out}#reset-color{margin-left:var(--space-3);margin-top:auto;vertical-align:middle;margin-bottom:auto;cursor:pointer}#reset-color:hover{background:var(--color-link);color:var(--color-bg)}.modal-content a:not(.game-item){text-decoration:underline;color:var(--color-link)}.modal-content .content form{display:flex;flex-wrap:wrap;padding:var(--space-3)0}.modal-content .content form:not(:last-child){border-bottom:var(--border-width)solid var(--color-text-muted)}.modal-content .content form *,.modal-content .content div{margin:var(--space-1)}.modal-content .content form>span,.modal-content .content p span:first-child,.modal-content .content div{font-weight:var(--weight-bold)}.modal-content .content p{unicode-bidi:bidi-override}.modal-content .color-picker{display:flex}.modal-content input[type=color]{width:80px;height:80px;margin-left:var(--space-3);padding:2px;background:var(--color-surface-sunken);border:var(--border-width)solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer}.modal-content .content form[name=card-back-image] *,.modal-content .content form[name=background-image] *{margin:0}.modal-content .content form[name=card-back-image]>div,.modal-content .content form[name=background-image]>div{display:flex;flex-wrap:wrap;width:100%}.modal-content .content form[name=card-back-image] label,.modal-content .content form[name=background-image] label{display:flex;flex-direction:column;justify-content:center;cursor:pointer;position:relative}.modal-content .content form[name=card-back-image] label{width:calc(25%)}.modal-content .content form[name=background-image] label{width:calc(100%/3)}.modal-content .content form[name=card-back-image] picture img,.modal-content .content form[name=background-image] label>img{display:block;width:90%;height:auto;margin:var(--space-1)auto;border:4px solid transparent;transition:.2s ease-in-out;box-sizing:border-box}.modal-content .content form[name=background-image] label>img{border-radius:var(--radius-xl)}@media(max-width:900px){.modal-content .content form[name=background-image] label>img{border-radius:var(--radius-md)}}.modal-content .content form[name=card-back-image] input,.modal-content .content form[name=background-image] input{display:none}.modal-content .content form[name=card-back-image] input:checked+picture img,.modal-content .content form[name=background-image] input:checked+img{border-color:var(--color-accent);transform:scale(1.05);box-shadow:0 0 0 2px var(--color-accent),var(--shadow-2);border-radius:var(--radius-md)}.modal-content .content form .check-overlay{display:none;position:absolute;border-radius:50%;align-items:center;justify-content:center;box-shadow:var(--shadow-2)}.modal-content .content form[name=card-back-image] .check-overlay{bottom:5%;right:8%}.modal-content .content form[name=background-image] .check-overlay{bottom:8%;right:5%}.modal-content .content form .check-overlay img{width:48px;height:48px;border:0;margin:0;padding:0;border-radius:50%}@media(max-width:900px){.modal-content .content form .check-overlay img{width:32px;height:32px}}@media(max-width:600px){.modal-content .content form .check-overlay img{width:24px;height:24px}}.modal-content .content form[name=card-back-image] input:checked~.check-overlay,.modal-content .content form[name=background-image] input:checked~.check-overlay{display:flex}.modal-content .content form[name=card-back-image] picture source{display:none}#google-login-button{margin:var(--space-3)auto;width:fit-content}#google-login-button *{font-weight:var(--weight-bold);color:var(--color-on-modal-header)}#settings-general form>div{max-width:calc(100% - 80px)}#settings-general form span{font-size:var(--text-lg);margin:0}#settings-general form p{color:var(--color-text-muted);font-weight:var(--weight-normal);font-size:var(--text-sm);margin:0}.modal-content .content form .switch{position:relative;display:inline-block;width:56px;height:30px;margin:auto var(--space-1)}html[dir=ltr] .modal-content .content form .switch{margin-left:auto}html[dir=rtl] .modal-content .content form .switch{margin-right:auto}.modal-content .content form .switch input{opacity:0;width:0;height:0}.modal-content .content form .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border-strong);transition:.4s;border-radius:var(--radius-full);margin:0}.modal-content .content form .slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:var(--color-on-modal-header);transition:.4s;border-radius:50%}.modal-content .content form input:checked+.slider{background-color:var(--color-modal-header)}.modal-content .content form input:focus+.slider{box-shadow:0 0 0 3px var(--color-focus)}.modal-content .content form input:checked+.slider:before{transform:translateX(26px)}#keyboard-shortcuts-button{display:flex}@media(hover:none) and (pointer:coarse){#keyboard-shortcuts-button{display:none!important}}#modal-shortcuts{--kb-draw:#2e9d4a;--kb-undo:#4169e1;--kb-hint:#d99a00;--kb-new_game:#0f9a9a;--kb-restart:#e0662a;--kb-fullscreen:#8a4fd8;--kb-help:#d6417f;--kb-panel:#e6ebe6;--kb-key:#fbfcfb;--kb-key-edge:#c3cbc3;--kb-key-font:#9aa39a}[data-theme=dark] #modal-shortcuts{--kb-panel:#1d1f1d;--kb-key:#3a3d3a;--kb-key-edge:#232523;--kb-key-font:#80867f}#modal-shortcuts .modal-content{width:min(880px,calc(100% - 20px))}#modal-shortcuts .modal-body{max-height:calc(100dvh - 140px);padding:var(--space-5)}#modal-shortcuts .keyboard{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--kb-panel);box-shadow:inset 0 2px 6px var(--color-shade-light)}#modal-shortcuts .kb-row{display:flex;gap:var(--space-2)}#modal-shortcuts .key{position:relative;flex:var(--w,1)1 0;min-width:0;height:clamp(30px,4.4vw,44px);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--kb-key);border-bottom:4px solid var(--kb-key-edge);color:var(--kb-key-font);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1;user-select:none;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}#modal-shortcuts .key small{position:absolute;top:3px;left:6px;font-size:var(--text-xs);opacity:.8;color:inherit}#modal-shortcuts .key.wide{font-size:var(--text-xs);font-weight:var(--weight-normal)}#modal-shortcuts .key[data-action]{background:var(--c);border-bottom-color:color-mix(in srgb,var(--c) 60%,#000);color:var(--color-on-primary);font-size:var(--text-base);cursor:default;box-shadow:0 2px 8px color-mix(in srgb,var(--c) 45%,transparent)}#modal-shortcuts .key.modifier[data-action]{background:color-mix(in srgb,var(--c) 55%,var(--kb-key));font-size:var(--text-xs)}#modal-shortcuts [data-action=draw]{--c:var(--kb-draw)}#modal-shortcuts [data-action=undo]{--c:var(--kb-undo)}#modal-shortcuts [data-action=hint]{--c:var(--kb-hint)}#modal-shortcuts [data-action=new_game]{--c:var(--kb-new_game)}#modal-shortcuts [data-action=restart]{--c:var(--kb-restart)}#modal-shortcuts [data-action=fullscreen]{--c:var(--kb-fullscreen)}#modal-shortcuts [data-action=help]{--c:var(--kb-help)}#modal-shortcuts.focusing .key[data-action]:not(.focus),#modal-shortcuts.focusing .shortcut-legend li:not(.focus){opacity:.35}#modal-shortcuts .key.focus{transform:translateY(-3px)scale(1.06);z-index:1}#modal-shortcuts .shortcut-legend{list-style:none;margin:var(--space-5)0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2)var(--space-4)}#modal-shortcuts .shortcut-legend li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius-lg);border-inline-start:5px solid var(--c);background:color-mix(in srgb,var(--c) 10%,transparent);font-weight:var(--weight-bold);transition:opacity .15s ease}#modal-shortcuts .shortcut-legend .keys{display:flex;align-items:center;gap:var(--space-1);flex:none}#modal-shortcuts .shortcut-legend b{font-weight:var(--weight-normal)}#modal-shortcuts kbd{display:inline-block;min-width:1.8em;padding:2px 7px;border-radius:var(--radius-sm);background:var(--c);border-bottom:3px solid color-mix(in srgb,var(--c) 60%,#000);color:var(--color-on-primary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:center;line-height:1.3rem}.settings-group+.settings-group{margin-top:var(--space-5)}.settings-group-title{margin:0 var(--space-3)var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.settings-preview{display:flex;justify-content:center;align-items:flex-end;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-4)var(--space-3)var(--space-3);border-radius:var(--radius-lg);background-color:var(--color-table);background-size:cover;background-position:50%;box-shadow:inset 0 0 30px hsl(0 0% 0%/.35)}.settings-preview[hidden]{display:none}.settings-preview img{width:clamp(48px,12vw,72px);height:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-2)}.settings-preview img:nth-child(1){transform:rotate(-6deg)translateY(4px)}.settings-preview img:nth-child(2){transform:rotate(-2deg)}.settings-preview img:nth-child(3){transform:rotate(2deg)}.settings-preview img:nth-child(4){transform:rotate(6deg)translateY(4px)}.modal-title-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-inline-end:var(--space-3);border-radius:var(--radius-full);background:var(--color-on-dark-divider);vertical-align:middle}.modal-title-icon .icon{width:1.5rem;height:1.5rem}.modal-title-icon,.modal-title-icon *{color:var(--color-on-modal-header)}.modal-result{display:flex;justify-content:center;margin-bottom:var(--space-3)}.modal-result .icon{width:4rem;height:4rem}.modal-result--ok,.modal-result--ok *{color:var(--color-primary)}.modal-result--error,.modal-result--error *{color:var(--color-danger)}[dir=rtl] .modal-content input[type=submit]{box-shadow:var(--shadow-raised-rtl)}