/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer theme,base,components;@layer utilities{.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}}:root{--bg:#efe3d0;--bg-deep:#d9c2a6;--panel:#fff9f0c7;--surface:#ffffffeb;--soft:#1d27330f;--ink:#1d2733;--text:var(--ink);--muted:#5e645f;--muted-strong:#434b47;--line:#1d27331f;--border:var(--line);--accent:#e66a2c;--accent-strong:#0f3a44;--panel-shadow:0 24px 60px #1d27331a;--card-shadow:0 18px 40px #1d273314;--font-body:"Trebuchet MS", "Lucida Sans Unicode", "Gill Sans", sans-serif;--font-heading:"Georgia", "Times New Roman", serif;--sans:var(--font-body);--heading:var(--font-heading);font:17px/1.5 var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100svh}body{background:radial-gradient(circle at top left, #0f3a442e, transparent 28%), radial-gradient(circle at top right, #e66a2c3d, transparent 32%), linear-gradient(180deg, #f6eee2 0%, var(--bg) 55%, var(--bg-deep) 100%);min-width:320px;margin:0}a,button,input{font:inherit}button,input{color:inherit}#root{min-height:100svh}button,input,textarea,select{font:inherit}h1,h2{font-family:var(--heading);letter-spacing:-.04em;color:var(--text);font-weight:600}h1{font-size:clamp(2.8rem,5vw,4.6rem);line-height:.95}h2{font-size:clamp(1.8rem,2.4vw,2.4rem);line-height:1.05}h3{font-family:var(--heading);color:var(--text);font-size:1.25rem;line-height:1.08}p{margin:0}.page-actions{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:10px;width:min(1360px,100% - 32px);min-height:96px;margin:0 auto;padding-top:10px;display:grid}@media (width<=760px){.page-actions{grid-template-columns:1fr;justify-items:center;min-height:0}}.page-actions__home{grid-column:2;width:clamp(220px,32vw,360px);max-width:100%;line-height:0;text-decoration:none;transition:transform .2s,filter .2s;display:inline-flex}.page-actions__home img{width:100%;height:auto;display:block}.page-actions__home:hover{filter:drop-shadow(0 12px 22px #0e12161f);transform:translateY(-1px)}.page-actions__home:focus-visible{outline-offset:4px;outline:3px solid #e66a2c59}@media (width<=760px){.page-actions__home{grid-column:1;width:min(360px,82vw)}}.page-actions__links{flex-wrap:wrap;grid-column:3;justify-content:flex-end;align-items:center;gap:10px;padding-top:14px;display:flex}@media (width<=760px){.page-actions__links{grid-column:1;justify-content:center;padding-top:0}}.language-switcher{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:42px;color:var(--muted-strong);text-transform:uppercase;background:#ffffffeb;border:1px solid #1d273329;border-radius:999px;align-items:center;gap:4px;padding:4px;font-size:.78rem;font-weight:800;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 18px 42px #0e12162e}.language-switcher button{appearance:none;min-width:42px;min-height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 10px}.language-switcher button.is-active{background:var(--text);color:#f6f1e8}@media (width<=560px){.language-switcher{bottom:14px;right:14px}}.page-actions__link,.panel-utility a{border:1px solid var(--line);min-height:44px;color:var(--accent-strong);background:#ffffffbd;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.page-actions__link:hover,.panel-utility a:hover{background:#ffffffeb;border-color:#e66a2c66;transform:translateY(-1px)}.page-actions__link{border:0}.page-actions__link:hover{transform:translateY(-1px)}.app-shell{box-sizing:border-box;place-items:center;min-height:100svh;padding:32px 20px;display:grid}.auth-scene{grid-template-columns:1fr;align-content:center;justify-items:center;gap:24px;width:min(100%,760px);min-height:calc(100svh - 64px);display:grid}.auth-panel{border:1px solid var(--border);background:linear-gradient(180deg, #fffffff5, #f9f7f2eb), var(--panel);width:min(100%,680px);box-shadow:var(--panel-shadow);border-radius:28px;gap:24px;padding:32px 36px;display:grid;position:relative;overflow:hidden}.auth-panel:before{content:"";pointer-events:none;background:linear-gradient(135deg,#e66a2c14,#0000 40%),linear-gradient(315deg,#0f3a440f,#0000 42%);position:absolute;inset:0}.auth-panel>*{z-index:1;position:relative}.panel-utility{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-bottom:-8px;display:flex}.auth-tabs{background:var(--soft);border-radius:999px;grid-template-columns:repeat(2,1fr);justify-self:center;gap:6px;min-width:min(100%,360px);padding:6px;display:inline-grid}.auth-tabs button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 16px;font-weight:700;transition:background-color .2s,color .2s}.auth-tabs button.is-active{background:var(--surface);color:var(--text);box-shadow:0 8px 18px #0e121614}.panel-header{gap:8px;display:grid}.panel-header h2{margin:0}.panel-header p{color:var(--muted)}.feedback{border-radius:16px;margin:0;padding:14px 16px;font-size:14px;line-height:1.5}.feedback--error{color:#8c2d2d;background:#962f2f14;border:1px solid #962f2f29}.auth-form{gap:16px;display:grid}.auth-form label{gap:8px;display:grid}.auth-form span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong);font-size:13px;font-weight:700}.auth-form input{border:1px solid var(--border);background:#fffc;border-radius:16px;min-height:52px;padding:0 16px;transition:border-color .2s,box-shadow .2s,background-color .2s}.auth-form input:focus{background:#fff;border-color:#e66a2c80;outline:0;box-shadow:0 0 0 4px #e66a2c1f}.auth-form button{margin-top:8px}.auth-form button,.profile-actions button{appearance:none;background:var(--text);color:#f6f1e8;letter-spacing:.01em;cursor:pointer;border:0;border-radius:16px;min-height:52px;padding:0 18px;font-weight:700;transition:transform .2s,opacity .2s,background-color .2s}.auth-form button:hover,.profile-actions button:hover{background:#111;transform:translateY(-1px)}.auth-form button:disabled,.profile-actions button:disabled{cursor:progress;opacity:.7;transform:none}.profile-page{width:min(1040px,100% - 32px);margin:0 auto;padding:28px 0 56px}.profile-header{justify-content:space-between;align-items:center;gap:24px;margin:0 0 22px;display:flex}.profile-header h1{margin:0;font-size:clamp(2.2rem,4vw,3.6rem)}.profile-header p:not(.profile-header__eyebrow){max-width:620px;color:var(--muted);overflow-wrap:anywhere}.profile-header__eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.82rem;font-weight:800}.profile-role{min-height:34px;color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#0f3a441a;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:.78rem;font-weight:800;display:inline-flex}.profile-feedback{margin-bottom:18px}.profile-overview{box-shadow:var(--panel-shadow);background:linear-gradient(135deg,#e66a2c17,#0000 42%),linear-gradient(315deg,#0f3a4414,#0000 46%),#fffaf3f0;border:1px solid #1d27331a;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:14px;padding:20px;display:grid}.profile-avatar{background:var(--accent-strong);color:#fffaf3;text-transform:uppercase;border-radius:18px;place-items:center;width:64px;height:64px;font-size:1.8rem;font-weight:900;line-height:1;display:grid}.profile-overview__content{gap:4px;display:grid}.profile-overview__content h2{margin:0;font-size:clamp(1.5rem,2.2vw,2.1rem)}.profile-overview__content p{color:var(--muted)}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.profile-grid div{min-height:126px;box-shadow:var(--card-shadow);background:#fffaf3f0;border:1px solid #1d27331a;border-radius:18px;align-content:start;gap:8px;padding:18px;display:grid}.profile-grid dt{color:var(--muted-strong);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.profile-grid dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:700}.profile-state{border:1px solid var(--line);background:var(--panel);min-height:180px;box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;justify-items:start;gap:10px;padding:28px;display:grid}.profile-state h2{margin:0}.profile-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.profile-actions button{background:var(--accent-strong);color:#fffaf3;white-space:nowrap;border-radius:999px;min-height:44px;padding:0 16px}.profile-actions button:hover{background:var(--accent)}.games-page{width:min(1360px,100% - 32px);margin:0 auto;padding:16px 0 40px}.toolbar,.empty-state,.error-state{border:1px solid var(--line);background:var(--panel);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toolbar__hint,.game-card__meta,.game-card__footer,.status-message p{color:var(--muted)}.toolbar{border-radius:16px;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;width:min(100%,820px);margin:0 auto 16px;padding:10px 12px;display:grid}@media (width<=820px){.toolbar{grid-template-columns:1fr;gap:10px;width:100%}}.search-field{gap:5px;width:100%;display:grid}.search-field label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.search-field input{box-sizing:border-box;width:100%;min-height:42px;color:var(--ink);background:#ffffffe0;border:1px solid #1d273324;border-radius:12px;padding:8px 12px;font-size:.94rem;transition:border-color .2s,box-shadow .2s,transform .2s}.search-field input:focus{border-color:#e66a2cb3;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #e66a2c29}.toolbar__footer{justify-items:end;gap:5px;display:grid}.toolbar__footer .toolbar__hint{text-align:right;margin:0;font-size:.78rem}@media (width<=820px){.toolbar__footer{justify-content:space-between;align-items:flex-start;gap:10px;width:100%;display:flex}.toolbar__footer .toolbar__hint{text-align:left}}@media (width<=560px){.toolbar__footer{flex-direction:column}}.pagination{align-items:center;gap:6px;display:inline-flex}.pagination__button{color:var(--ink);min-height:36px;font:inherit;cursor:pointer;background:#ffffffdb;border:1px solid #1d27331f;border-radius:999px;padding:7px 12px;font-size:.86rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.pagination__button:hover:not(:disabled){background:#fffffff5;border-color:#e66a2c66;transform:translateY(-1px)}.pagination__button:disabled{opacity:.45;cursor:not-allowed}.pagination__summary{text-align:center;min-width:72px;font-size:.86rem;font-weight:700}.games-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=980px){.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.games-grid{grid-template-columns:minmax(0,1fr)}}.game-card{box-shadow:var(--card-shadow);background:#fffaf3eb;border:1px solid #1d27331a;border-radius:20px;flex-direction:column;min-height:100%;display:flex;overflow:hidden}.game-card__thumbnail{aspect-ratio:16/7.5;object-fit:cover;background:#0f3a441f;width:100%}.game-card__content{flex:1;gap:10px;padding:14px;display:grid}.game-card__header{gap:6px;display:grid}.game-card__header h3{margin:0;font-size:1.12rem;line-height:1.08}.game-card__chips{flex-wrap:wrap;gap:6px;display:flex}.game-card__chip{color:var(--accent-strong);background:#0f3a4414;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:700}.game-card__description{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.92rem;display:-webkit-box;overflow:hidden}.game-card__meta{gap:4px;font-size:.84rem;display:grid}.game-card__footer{gap:10px;margin-top:auto;font-size:.84rem;display:grid}.game-card__release{color:var(--muted-strong);background:#1d27330f;border-radius:999px;justify-self:start;padding:4px 9px;font-size:.72rem;font-weight:800}.game-card__link{background:var(--accent);color:#fffaf3;cursor:pointer;white-space:nowrap;border:1px solid #e66a2c33;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:42px;padding:0 12px;font-size:.82rem;font-weight:800;line-height:1;text-decoration:none;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.game-card__link span{text-overflow:ellipsis;overflow:hidden}.game-card__link:hover{background:var(--accent-strong);border-color:#0f3a4424;transform:translateY(-1px);box-shadow:0 12px 22px #0f3a4424}.game-card__link-icon{flex:none;width:17px;height:17px}.modal-overlay{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1d27339e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.game-modal{background:#fff9f0fa;border:1px solid #ffffff6b;border-radius:24px;width:min(880px,100%);max-height:calc(100svh - 48px);position:relative;overflow:hidden;box-shadow:0 32px 90px #1d273357}.game-modal__body{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100svh - 24px);margin:-12px 0;padding:12px 0;overflow:hidden auto}.game-modal__body::-webkit-scrollbar{width:10px}.game-modal__body::-webkit-scrollbar-track{background:#1d273312;border-radius:999px;margin-block:22px}.game-modal__body::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--accent), #0f3a44b8);border:3px solid #fff9f0f2;border-radius:999px}.game-modal__close{z-index:3;color:#fffaf3;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1d2733bd;border:1px solid #ffffff7a;border-radius:999px;place-items:center;width:44px;height:44px;margin:0;padding:0;font-size:0;line-height:1;transition:transform .2s,background .2s;display:grid;position:absolute;top:14px;right:14px}.game-modal__close:before,.game-modal__close:after{content:"";transform-origin:50%;background:currentColor;border-radius:999px;width:16px;height:2px;position:absolute;top:50%;left:50%}.game-modal__close:before{transform:translate(-50%,-50%)rotate(45deg)}.game-modal__close:after{transform:translate(-50%,-50%)rotate(-45deg)}.game-modal__close:hover{background:#1d2733eb;transform:translateY(-1px)}.game-modal__hero{aspect-ratio:16/9;object-fit:cover;background:#1d2733;width:100%;display:block}.game-modal__content{gap:20px;padding:24px 28px 28px;display:grid}.game-modal__header{gap:10px;display:grid}.game-modal__header h2,.game-modal__requirements h3{margin:0}.game-modal__summary,.game-modal__description,.game-modal__hint,.game-modal__meta,.game-modal__requirements-grid{color:var(--muted)}.game-modal__description{max-width:72ch;line-height:1.7}.game-modal__meta,.game-modal__requirements-grid{gap:8px;display:grid}.game-modal__requirements{background:#ffffff8f;border:1px solid #1d273314;border-radius:16px;gap:12px;padding:18px;display:grid}.game-modal__screenshots{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=720px){.game-modal__screenshots{grid-template-columns:minmax(0,1fr)}}.game-modal__screenshots img{aspect-ratio:16/9;object-fit:cover;border:1px solid #1d273314;border-radius:14px;width:100%}.game-modal__actions{flex-wrap:wrap;gap:12px;display:flex}.game-modal__secondary{color:var(--ink);background:#ffffffbf;border:1px solid #1d273324;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}@media (width<=720px){.modal-overlay{padding:10px}.game-modal{border-radius:20px;max-height:calc(100svh - 20px)}.game-modal__body{max-height:calc(100svh + 4px)}.game-modal__close{width:40px;height:40px;top:10px;right:10px}.game-modal__content{gap:16px;padding:18px}.game-modal__actions a{flex:100%}}.status-message{text-align:center;border-radius:24px;place-items:center;min-height:220px;padding:24px;display:grid}.status-message h2{margin:0 0 8px}.status-message button{background:var(--accent);color:#fffaf3;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font-weight:700}@media (width<=900px){.app-shell{padding:20px}.auth-scene{align-content:center;gap:24px;min-height:calc(100svh - 40px)}.auth-panel{border-radius:24px;width:min(100%,720px);padding:24px 22px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.profile-header{flex-direction:column;align-items:flex-start}.profile-actions,.profile-actions button{align-items:stretch;width:100%}.profile-overview{grid-template-columns:auto minmax(0,1fr)}.profile-overview .profile-role{grid-column:1/-1;justify-self:start}}@media (width<=560px){.profile-page{width:min(100% - 20px,1040px)}.profile-grid{grid-template-columns:minmax(0,1fr)}}.admin-dashboard{gap:18px;width:min(1360px,100% - 32px);margin:0 auto;padding:28px 0 44px;display:grid}.admin-dashboard__header{justify-content:space-between;align-items:end;gap:18px;display:flex}.admin-dashboard__header span{color:var(--muted);font-weight:700}.admin-dashboard__header h1{margin:4px 0 0}.admin-dashboard__stats{flex-wrap:wrap;gap:8px;display:flex}.admin-dashboard__stats span{min-height:34px;color:var(--accent-strong);background:#ffffffb8;border:1px solid #1d27331a;border-radius:999px;align-items:center;padding:0 12px;display:inline-flex}.admin-dashboard__tabs{background:#ffffff9e;border:1px solid #1d273314;border-radius:16px;flex-wrap:wrap;justify-self:start;gap:6px;padding:6px;display:inline-flex}.admin-dashboard__tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0 14px;font-weight:800}.admin-dashboard__tabs button.is-active{background:var(--text);color:#fffaf3}.admin-dashboard__feedback,.admin-dashboard__error,.admin-dashboard__status{border-radius:16px;margin:0;padding:14px 16px}.admin-dashboard__feedback{color:var(--accent-strong);background:#0f3a4414;font-weight:800}.admin-dashboard__error{color:#8c2d2d;background:#962f2f14;border:1px solid #962f2f29}.admin-dashboard__status{background:#ffffffad;border:1px solid #1d273314}.admin-dashboard__status h1,.admin-dashboard__status h2,.admin-dashboard__status p{margin:0}.admin-dashboard__status p{color:var(--muted);margin-top:6px}.admin-section{gap:14px;display:grid}.admin-section__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-section__header h2{margin:0}.admin-section__header span{color:var(--muted);font-weight:700}.admin-list{gap:10px;display:grid}.admin-row,.admin-review-row,.admin-game-form{background:#ffffffc2;border:1px solid #1d273314;border-radius:8px;box-shadow:0 12px 28px #1d27330f}.admin-row{grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(120px,.55fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.admin-list--games .admin-row{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) auto}.admin-row__identity,.admin-row__meta{gap:4px;min-width:0;display:grid}.admin-row__identity strong,.admin-row__identity span,.admin-row__identity small,.admin-row__meta strong,.admin-row__meta span,.admin-row__meta small{overflow-wrap:anywhere}.admin-row__identity span,.admin-row__identity small,.admin-row__meta span,.admin-row__meta small{color:var(--muted)}.admin-row__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-row label,.admin-game-form label,.admin-review-row label{gap:6px;display:grid}.admin-row label span,.admin-game-form label span,.admin-review-row label span{color:var(--muted-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.admin-dashboard input,.admin-dashboard select,.admin-dashboard textarea{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#ffffffe6;border:1px solid #1d273324;border-radius:8px;padding:10px 12px}.admin-dashboard button{background:var(--text);color:#fffaf3;min-height:38px;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:0 14px;font-weight:800}.admin-dashboard button:disabled{cursor:not-allowed;opacity:.55}.admin-dashboard .admin-danger{background:#8c2d2d}.admin-game-form{gap:12px;padding:16px;display:grid}.admin-game-form__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-game-form__title h3{margin:0}.admin-game-form__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-review-row{gap:12px;padding:14px;display:grid}.admin-review-row__header{justify-content:space-between;align-items:start;gap:12px;display:flex}.admin-review-row__header div{gap:4px;display:grid}.admin-review-row__header span{color:var(--muted)}.admin-toggle{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:inline-flex}.admin-toggle input{width:auto}@media (width<=920px){.admin-dashboard__header,.admin-section__header,.admin-review-row__header,.admin-game-form__title{flex-direction:column;align-items:stretch}.admin-row,.admin-list--games .admin-row,.admin-game-form__grid{grid-template-columns:minmax(0,1fr)}.admin-row__actions{justify-content:flex-start}}.library-action-feedback{width:min(100%,920px);color:var(--accent-strong);background:#ffffffbd;border:1px solid #0f3a441f;border-radius:16px;margin:-6px auto 18px;padding:12px 14px;font-weight:700;box-shadow:0 12px 30px #1d273312}.game-card__actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;display:grid}.game-library-button{width:42px;height:42px;min-height:42px;color:var(--accent-strong);font:inherit;cursor:pointer;background:linear-gradient(#ffffffc7,#f7fcfbbd),#0f3a440f;border:1px solid #0f3a4424;border-radius:14px;justify-content:center;align-items:center;padding:0;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s,opacity .2s;display:inline-flex}.game-library-button__icon{width:19px;height:19px}.game-library-button:hover:not(:disabled){background:linear-gradient(#ffffffe6,#eefaf7e6),#0f3a441a;border-color:#0f3a443d;transform:translateY(-1px);box-shadow:0 12px 22px #0f3a441f}.game-library-button:disabled{cursor:default;opacity:.68}.game-library-button--added{color:var(--accent-strong);opacity:1;background:linear-gradient(#ffffffad,#e6f5f1c7),#0f3a441a;border-color:#0f3a442e}.game-library-button--modal{width:44px;height:44px;min-height:44px}.game-library-button__busy{border:2px solid;border-right-color:#0000;border-radius:999px;width:17px;height:17px;animation:.8s linear infinite game-library-spin}@media (width<=720px){.game-card__actions{grid-template-columns:minmax(0,1fr) auto;width:100%}.game-card__link{justify-content:flex-start;width:100%}}@keyframes game-library-spin{to{transform:rotate(360deg)}}.game-modal__reviews{border-top:1px solid #1d27331a;gap:14px;padding-top:6px;display:grid}.game-modal__reviews-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.game-modal__reviews-header h3,.game-modal__reviews-header p{margin:0}.game-modal__reviews-header p{color:var(--muted)}.game-modal__reviews-list{gap:10px;display:grid}.game-review{background:#ffffff94;border:1px solid #1d27331a;border-radius:16px;gap:8px;padding:14px;display:grid}.game-review p{color:var(--muted);margin:0;line-height:1.55}.game-review__header{justify-content:space-between;align-items:start;gap:12px;display:flex}.game-review__header h4{margin:0}.game-review__header span{min-height:34px;color:var(--accent-strong);background:#0f3a441a;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 10px;font-weight:800;display:inline-flex}.game-modal__review-form{background:#e66a2c0f;border:1px solid #e66a2c2e;border-radius:18px;gap:12px;padding:14px;display:grid}.game-modal__review-form label{gap:7px;display:grid}.game-modal__review-form label span{color:var(--muted-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800}.game-modal__review-form input,.game-modal__review-form select,.game-modal__review-form textarea{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#ffffffe0;border:1px solid #1d273324;border-radius:14px;padding:11px 13px}.game-modal__review-form input:focus,.game-modal__review-form select:focus,.game-modal__review-form textarea:focus{border-color:#e66a2ca6;outline:none;box-shadow:0 0 0 4px #e66a2c24}.game-modal__review-form textarea{resize:vertical}.game-modal__review-form button{background:var(--accent);color:#fffaf3;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:10px 16px;font-weight:800}.game-modal__review-form button:disabled{cursor:not-allowed;opacity:.5}.game-modal__review-form-header,.game-modal__review-login{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-modal__review-form-header h4{margin:0}.game-modal__review-form-header span{color:var(--muted);font-size:.9rem}.game-modal__review-grid{grid-template-columns:minmax(0,1fr) 150px;gap:12px;display:grid}.game-modal__review-login{color:var(--muted);background:#ffffff8a;border:1px dashed #1d273329;border-radius:16px;padding:14px}@media (width<=720px){.game-modal__review-grid,.game-modal__review-login,.game-modal__review-form-header{flex-direction:column;grid-template-columns:minmax(0,1fr);align-items:stretch}}.library-delete-feedback{color:#8c2d2d;background:#ffffffbd;border:1px solid #962f2f1f;border-radius:16px;margin:-8px 0 18px;padding:12px 14px;font-weight:800;box-shadow:0 12px 30px #1d273312}.library-remove-button{color:#8c2d2d;width:42px;height:42px;min-height:42px;font:inherit;cursor:pointer;background:linear-gradient(#ffffffc2,#fff5f0bd),#962f2f0f;border:1px solid #962f2f24;border-radius:14px;justify-content:center;align-items:center;padding:0;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s,opacity .2s;display:inline-flex;position:relative}.library-remove-button__icon{width:19px;height:19px}.library-remove-button:hover:not(:disabled){background:linear-gradient(#ffffffe0,#ffebe4e0),#962f2f1a;border-color:#962f2f42;transform:translateY(-1px);box-shadow:0 12px 22px #962f2f1f}.library-remove-button:disabled{cursor:progress;opacity:.62}.library-remove-button__busy{border:2px solid;border-right-color:#0000;border-radius:999px;width:17px;height:17px;animation:.8s linear infinite library-remove-spin}.library-remove-button--detail{width:44px;height:44px;min-height:44px}@keyframes library-remove-spin{to{transform:rotate(360deg)}}.library-detail-page{width:min(1120px,100% - 32px);margin:0 auto;padding:28px 0 48px}.library-detail-page__back{border:1px solid var(--line);min-height:40px;color:var(--accent-strong);background:#ffffffbd;border-radius:999px;align-items:center;margin-bottom:16px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.library-detail,.library-detail-state{box-shadow:var(--panel-shadow);background:#fffaf3f0;border:1px solid #1d27331a;border-radius:20px;overflow:hidden}.library-detail-state{gap:8px;min-height:220px;padding:28px;display:grid}.library-detail-state h1,.library-detail-state p{margin:0}.library-detail-state p{color:var(--muted)}.library-detail-state--error{border-color:#962f2f2e}.library-detail__hero,.library-detail__placeholder{aspect-ratio:16/6.5;object-fit:cover;width:100%}.library-detail__placeholder{background:linear-gradient(135deg,#0f3a442e,#0000 42%),linear-gradient(315deg,#e66a2c2e,#0000 46%),#ffffff9e}.library-detail__content{gap:22px;padding:26px 30px 30px;display:grid}.library-detail__header{gap:10px;display:grid}.library-detail__header h1{margin:0;font-size:clamp(2rem,4vw,3.3rem)}.library-detail__header p{max-width:74ch;color:var(--muted)}.library-detail__chips{flex-wrap:wrap;gap:8px;display:flex}.library-detail__chips span{color:var(--accent-strong);background:#0f3a4414;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800}.library-detail__section{background:#ffffff8f;border:1px solid #1d273314;border-radius:16px;gap:12px;padding:18px;display:grid}.library-detail__section h2{margin:0;font-size:1.45rem}.library-detail__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.library-detail__meta dt{color:var(--muted-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.library-detail__meta dd{color:var(--text);overflow-wrap:anywhere;margin:3px 0 0}.library-detail__actions{flex-wrap:wrap;gap:10px;display:flex}.library-detail__actions a{background:var(--accent);color:#fffaf3;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.library-detail__actions a:last-child{color:var(--accent-strong);background:#ffffffbf;border:1px solid #1d27331f}.library-detail__action-icon{flex:none;width:17px;height:17px}@media (width<=720px){.library-detail-page{width:min(100% - 20px,1120px)}.library-detail__hero,.library-detail__placeholder{aspect-ratio:16/9}.library-detail__content{padding:20px}.library-detail__meta{grid-template-columns:minmax(0,1fr)}}.library-reviews{background:#ffffff8f;border:1px solid #1d273314;border-radius:16px;gap:16px;padding:20px;scroll-margin-top:24px;display:grid}.library-reviews__header h2,.library-reviews__header p{margin:0}.library-reviews__header h2{font-size:1.45rem}.library-reviews__header p{color:var(--muted);margin-top:4px}.library-reviews__feedback{color:var(--muted-strong);background:#1d27330f;border-radius:12px;margin:0;padding:11px 13px}.library-reviews__feedback--error{color:#842f2f;background:#962f2f14}.library-reviews__list{gap:10px;scroll-margin-top:24px;display:grid}.library-reviews__pagination{justify-content:center;align-items:center;gap:12px;display:flex}.library-reviews__pagination span{color:var(--muted-strong);font-size:.9rem;font-weight:800}.library-reviews__pagination button{min-height:38px;color:var(--accent-strong);font:inherit;cursor:pointer;background:#ffffffd1;border:1px solid #1d27331f;border-radius:999px;padding:0 14px;font-weight:800}.library-reviews__pagination button:disabled{cursor:not-allowed;opacity:.45}.library-review{background:#ffffffb8;border:1px solid #1d27331a;border-radius:14px;gap:8px;padding:14px;display:grid}.library-review>p{color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.55}.library-review__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.library-review__header h3,.library-review__header p{margin:0}.library-review__header p{color:var(--muted);margin-top:3px;font-size:.88rem}.library-review__header>span{color:var(--accent-strong);background:#0f3a441a;border-radius:999px;flex:none;padding:7px 10px;font-weight:800}.library-reviews__form{background:#e66a2c0f;border:1px solid #e66a2c2e;border-radius:16px;gap:12px;padding:16px;display:grid}.library-reviews__form h3{margin:0}.library-reviews__form label{gap:7px;display:grid}.library-reviews__form label>span{color:var(--muted-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800}.library-reviews__form input,.library-reviews__form select,.library-reviews__form textarea{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#ffffffe6;border:1px solid #1d273324;border-radius:12px;padding:11px 13px}.library-reviews__form input:focus,.library-reviews__form select:focus,.library-reviews__form textarea:focus{border-color:#e66a2ca6;outline:none;box-shadow:0 0 0 4px #e66a2c24}.library-reviews__form textarea{resize:vertical}.library-reviews__form button{background:var(--accent);color:#fffaf3;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:10px 17px;font-weight:800}.library-reviews__form button:disabled{cursor:not-allowed;opacity:.5}.library-reviews__form-grid{grid-template-columns:minmax(0,1fr) 160px;gap:12px;display:grid}@media (width<=620px){.library-reviews{padding:15px}.library-reviews__form-grid{grid-template-columns:minmax(0,1fr)}.library-review__header{flex-direction:column;align-items:stretch}.library-review__header>span{align-self:flex-start}.library-reviews__pagination{flex-wrap:wrap}}.library-page{width:min(1360px,100% - 32px);margin:0 auto;padding:28px 0 48px}.library-header{justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 22px;display:flex}.library-header h1{margin:0;font-size:clamp(2.2rem,4vw,3.6rem)}.library-header p{max-width:680px;color:var(--muted)}.library-header__eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.82rem;font-weight:800}.library-header__link,.library-state__link,.library-card__footer a{background:var(--accent);color:#fffaf3;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.library-header__link:hover,.library-state__link:hover,.library-card__footer a:hover{background:var(--accent-strong);transform:translateY(-1px)}.library-state{border:1px solid var(--line);background:var(--panel);min-height:220px;box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;justify-items:start;gap:10px;padding:28px;display:grid}.library-state h2{margin:0}.library-state p{color:var(--muted)}.library-state--error{border-color:#962f2f2e}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.library-card{box-shadow:var(--card-shadow);background:#fffaf3f0;border:1px solid #1d27331a;border-radius:18px;flex-direction:column;min-height:100%;display:flex;overflow:hidden}.library-card__thumbnail,.library-card__placeholder{aspect-ratio:16/8;object-fit:cover;width:100%}.library-card__placeholder{background:linear-gradient(135deg,#0f3a442e,#0000 42%),linear-gradient(315deg,#e66a2c2e,#0000 46%),#ffffff9e}.library-card__content{flex:1;gap:12px;padding:14px;display:grid}.library-card__chips{flex-wrap:wrap;gap:6px;display:flex}.library-card__chips span{color:var(--accent-strong);background:#0f3a4414;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:800}.library-card__header{gap:6px;display:grid}.library-card__header h2{margin:0;font-size:1.22rem}.library-card__header p{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.library-card__meta{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;font-size:.84rem;display:grid}.library-card__meta div{min-width:0}.library-card__meta dt{color:var(--muted-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:800}.library-card__meta dd{overflow-wrap:anywhere;margin:2px 0 0}.library-card__footer{color:var(--muted);gap:12px;margin-top:auto;font-size:.84rem;display:grid}.library-card__source{color:var(--muted-strong);letter-spacing:.08em;text-transform:uppercase;background:#1d27330f;border-radius:999px;justify-self:start;padding:4px 9px;font-size:.72rem;font-weight:800}.library-card__actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;display:grid}.library-card__actions .library-remove-button{justify-self:end}.library-card__action{white-space:nowrap;border:1px solid #1d27331a;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:42px;padding:0 12px;font-size:.82rem;font-weight:800;line-height:1;text-decoration:none;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.library-card__action span{text-overflow:ellipsis;overflow:hidden}.library-card__action:hover{transform:translateY(-1px)}.library-card__action-icon{flex:none;width:17px;height:17px}.library-card__action--secondary{color:var(--accent-strong);background:#ffffffb8}.library-card__action--secondary:hover{background:#ffffffeb;border-color:#0f3a4433;box-shadow:0 10px 20px #1d273312}.library-card__action--primary{background:var(--accent);color:#fffaf3;border-color:#e66a2c33}.library-card__action--primary:hover{background:var(--accent-strong);border-color:#0f3a4424;box-shadow:0 12px 22px #0f3a4424}.library-card__action--unavailable{color:var(--muted);cursor:not-allowed;background:#1d27330a;border-style:dashed}@media (width<=980px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.library-header{flex-direction:column;align-items:flex-start}}@media (width<=560px){.library-page{width:min(100% - 20px,1360px)}.library-grid,.library-card__meta{grid-template-columns:minmax(0,1fr)}.library-card__footer,.library-card__actions,.library-card__action{width:100%}.library-card__actions{grid-template-columns:minmax(0,1fr) auto}.library-card__action{justify-content:flex-start}.library-card__action--secondary{grid-area:1/1}.library-card__action--primary,.library-card__action--unavailable{grid-area:2/1/auto/-1}.library-card__actions .library-remove-button{grid-area:1/2}}
