:root{--color-bg: #ffffff;--color-bg-elevated: #f5f5f7;--color-text: #1a1a1a;--color-text-muted: #666666;--color-border: #e0e0e0;--color-accent: #4a4de7;--color-accent-hover: #3639c9;--color-danger: #c0392b;color-scheme:light dark;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #17171a;--color-bg-elevated: #222226;--color-text: rgba(255, 255, 255, .87);--color-text-muted: #9a9aa2;--color-border: #34343a;--color-accent: #7b7ef5;--color-accent-hover: #9294f7;--color-danger: #ff6b5e}}:root[data-theme=dark]{--color-bg: #17171a;--color-bg-elevated: #222226;--color-text: rgba(255, 255, 255, .87);--color-text-muted: #9a9aa2;--color-border: #34343a;--color-accent: #7b7ef5;--color-accent-hover: #9294f7;--color-danger: #ff6b5e}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--color-bg);color:var(--color-text)}a{color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}button{border-radius:8px;border:1px solid var(--color-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;transition:border-color .15s,background-color .15s}button:hover{border-color:var(--color-accent)}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.site-header__logo{font-weight:700;font-size:1.25rem;color:var(--color-text)}.site-header__cta{display:inline-block;padding:.5em 1em;border-radius:8px;background-color:var(--color-accent);color:#fff}.site-header__cta:hover{background-color:var(--color-accent-hover);color:#fff}.profile-menu{position:relative}.profile-menu__trigger{padding:0;border:none;background:none;border-radius:999px;cursor:pointer}.profile-menu__avatar{width:36px;height:36px;border-radius:999px;display:block;object-fit:cover}.profile-menu__avatar--placeholder{background-color:var(--color-bg-elevated);border:1px solid var(--color-border)}.profile-menu__dropdown{position:absolute;right:0;top:calc(100% + .5rem);min-width:200px;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:10}.profile-menu__section{padding:.5rem}.profile-menu__label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.4rem}.profile-menu__theme-options{display:flex;gap:.25rem}.profile-menu__theme-option{flex:1;padding:.3em .5em;font-size:.8rem;text-transform:capitalize}.profile-menu__theme-option--active{border-color:var(--color-accent);color:var(--color-accent)}.profile-menu__item{display:block;padding:.5rem;border-radius:6px;color:var(--color-text)}.profile-menu__item:hover{background-color:var(--color-bg);color:var(--color-text)}.games-page{padding:1.5rem}.games-page__toolbar{display:flex;gap:1rem;margin-bottom:1.5rem}.games-page__search{flex:1;padding:.6em 1em;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg-elevated);color:var(--color-text);font-size:1em}.games-page__view-toggle{display:flex;gap:.25rem}.games-page__add{display:inline-flex;align-items:center;padding:.5em 1em;border-radius:8px;background-color:var(--color-accent);color:#fff;white-space:nowrap}.games-page__add:hover{background-color:var(--color-accent-hover);color:#fff}.games-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.game-card{color:var(--color-text);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;display:block}.game-card:hover{border-color:var(--color-accent);color:var(--color-text)}.game-card__art{position:relative;aspect-ratio:3 / 4;background-color:var(--color-bg-elevated)}.game-card__art-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.game-card__corner{position:absolute;font-size:.7rem;padding:.2em .4em;border-radius:4px;background-color:#0009;color:#fff}.game-card__corner--tl{top:.4em;left:.4em}.game-card__corner--tr{top:.4em;right:.4em}.game-card__corner--bl{bottom:.4em;left:.4em}.game-card__corner--br{bottom:.4em;right:.4em}.game-card__name{padding:.6em;font-size:.9rem}.games-list{width:100%;border-collapse:collapse}.games-list td{padding:.6em;border-bottom:1px solid var(--color-border)}.games-list__label{color:var(--color-text-muted)}.combobox{position:relative}.combobox input{width:100%;padding:.5em .7em;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg-elevated);color:var(--color-text);font-size:1em}.combobox__list{position:absolute;top:calc(100% + .25rem);left:0;right:0;max-height:220px;overflow-y:auto;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:.25rem;margin:0;list-style:none;z-index:10}.combobox__list button{display:block;width:100%;text-align:left;padding:.4em .6em;border:none;background:none;border-radius:6px;color:var(--color-text)}.combobox__list button:hover{background-color:var(--color-bg);border-color:transparent}.new-game{padding:1.5rem;max-width:420px}.new-game form{display:flex;flex-direction:column;gap:1rem}.new-game label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--color-text-muted)}.new-game__hint{margin:.3rem 0 0;font-size:.8rem;color:var(--color-accent)}.new-game__text-input{width:100%;padding:.5em .7em;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg-elevated);color:var(--color-text);font-size:1em}.new-game__error{color:var(--color-danger)}.game-detail{padding:1.5rem}.game-detail__header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.game-detail__icon{width:48px;height:48px;border-radius:8px;object-fit:cover;background-color:var(--color-bg-elevated)}.game-detail__edit-name{background:none;border:none;font-size:1rem;color:var(--color-text-muted);padding:.2em}.game-detail__edit-name:hover{color:var(--color-accent)}.game-detail__name-form{display:flex;align-items:center;gap:.5em}.game-detail__name-form input{padding:.4em .6em;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg-elevated);color:var(--color-text);font-size:1.2rem}.game-detail__upload{margin:1rem 0}.game-detail__error{color:var(--color-danger)}.game-detail__saves{width:100%;border-collapse:collapse}.game-detail__saves th{text-align:left;color:var(--color-text-muted);font-weight:500;font-size:.85rem;padding:.5em;border-bottom:1px solid var(--color-border)}.game-detail__saves td{padding:.5em;border-bottom:1px solid var(--color-border)}.game-detail__star{background:none;border:none;font-size:1.1rem;padding:.2em;color:var(--color-text-muted)}.game-detail__star--active{color:var(--color-accent)}.settings-page{display:flex;min-height:calc(100vh - 65px)}.settings-page__sidebar{width:220px;border-right:1px solid var(--color-border);padding:1rem;display:flex;flex-direction:column;gap:.25rem}.settings-page__nav-item{text-align:left;background:none;border:none;padding:.6em .8em;border-radius:6px;color:var(--color-text)}.settings-page__nav-item:hover{background-color:var(--color-bg-elevated)}.settings-page__nav-item--active{background-color:var(--color-bg-elevated);color:var(--color-accent)}.settings-page__content{flex:1;padding:1.5rem}.settings-sessions{list-style:none;padding:0;margin:0}.settings-sessions__item{display:flex;align-items:center;justify-content:space-between;padding:.75em 0;border-bottom:1px solid var(--color-border)}.settings-sessions__current,.settings-sessions__meta{color:var(--color-text-muted);font-size:.85rem}.dev-admin{padding:1.5rem;max-width:700px}.dev-admin__warning{color:var(--color-danger);font-weight:500}.dev-admin__actions{display:flex;gap:.75rem;margin:1rem 0}.dev-admin__status{font-family:monospace;font-size:.85rem;background-color:var(--color-bg-elevated);padding:.5em;border-radius:6px;word-break:break-all}.dev-admin form{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.dev-admin input,.dev-admin select{padding:.4em .6em;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg-elevated);color:var(--color-text)}.dev-admin ul{padding-left:1.2rem}
