:root{color:#27232d;font-synthesis:none;text-rendering:optimizelegibility;--ink:#27232d;--muted:#77717b;--paper:#fffdfb;--accent:#d84a68;--accent-dark:#a82d4c;--line:#e9e1dc;background:#f7f3ef;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:#f7f3ef;min-width:320px}body{background:radial-gradient(circle at 80% 0,#f9e7e6 0,#0000 28rem),#f7f3ef;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.app-shell{min-height:100vh;background:0 0!important}.app-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-items:center;gap:48px;height:72px;padding:0 max(24px,50vw - 640px);display:flex;position:sticky;top:0;background:#fffdfbe0!important}.brand{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark{background:var(--ink);color:#fff;letter-spacing:.12em;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,Times New Roman,serif;font-size:18px}.brand small{color:var(--muted);letter-spacing:.2em;font-size:8px}.main-nav{flex:1;justify-content:flex-end;background:0 0!important}.quick-search-trigger{flex:none}.quick-search-trigger kbd{color:var(--muted);margin-left:7px;font-size:10px}.app-content{background:0 0!important}.page{width:min(1280px,100% - 48px);margin:0 auto;padding:48px 0 80px}.page-heading,.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-heading h1,.section-heading h2,.content-card h2{margin:4px 0 0;font-family:Georgia,Times New Roman,serif}.page-heading h1{font-size:clamp(38px,5vw,64px);line-height:1}.page-heading>p{color:var(--muted)}.page-heading-actions{align-items:center;gap:14px;display:flex}.page-heading-actions p{color:var(--muted);margin:0}.eyebrow{color:var(--accent-dark);letter-spacing:.18em;margin:0;font-size:11px;font-weight:800}.hero-panel{color:#fff;background:linear-gradient(130deg,#29242f 0%,#3b2b3c 58%,#713449 100%);border-radius:28px;grid-template-columns:1.25fr .75fr;align-items:center;min-height:430px;margin-bottom:48px;padding:clamp(38px,7vw,84px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #38232e2e}.hero-panel .eyebrow{color:#f6a9ba}.hero-panel h1{letter-spacing:-.035em;max-width:740px;margin:12px 0 20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,78px);line-height:1.04}.hero-panel h1 em{color:#ffc0cd;font-weight:400}.hero-copy{color:#d9ccd5;max-width:530px;margin:0 0 28px;font-size:16px;line-height:1.8}.hero-orbit{min-height:280px;position:relative}.orbit-core{z-index:2;width:110px;height:110px;color:var(--accent-dark);background:#f7e8e6;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:30px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 60px #ffc0cd47}.orbit-ring{border:1px solid #ffffff38;border-radius:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.orbit-ring-one{width:230px;height:230px}.orbit-ring-two{width:360px;height:360px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:64px;display:grid}.stat-card{border:1px solid var(--line);background:#fffdfbd1;border-radius:18px;padding:26px}.stat-card strong,.stat-card span{display:block}.stat-card strong{color:var(--ink);margin-bottom:5px;font-family:Georgia,serif;font-size:42px}.stat-card span{color:var(--muted);font-size:13px}.section-block{margin-top:24px}.section-heading h2{font-size:34px}.game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;transition:opacity .2s;display:grid}.game-grid.is-loading{opacity:.45;pointer-events:none}.game-card{cursor:pointer;overflow:hidden;background:var(--paper)!important;border-radius:18px!important}.game-card .n-card__content{padding:0!important}.game-cover-wrap{background:#e8dfdb;height:300px;position:relative;overflow:hidden}.game-cover,.game-cover .n-image,.game-cover img{width:100%;height:100%}.game-cover img{object-fit:contain}.cover-placeholder{color:#a79ca1;letter-spacing:.2em;background:linear-gradient(145deg,#eee8e3,#ddd1d0);place-items:center;width:100%;height:100%;font-size:11px;display:grid}.status-badge{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#231e26c7;border-radius:999px;padding:6px 10px;font-size:11px;position:absolute;top:14px;right:14px}.game-card-body{padding:18px}.game-company,.game-alias{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.game-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px;margin:5px 0 2px;font-family:Georgia,Microsoft YaHei,serif;font-size:18px;line-height:1.35;display:-webkit-box;overflow:hidden}.game-tags,.detail-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.filter-panel{border:1px solid var(--line);background:#fffdfbd1;border-radius:18px;grid-template-columns:minmax(240px,2fr) repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:32px;padding:20px;display:grid}.switch-filter{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.filter-actions{grid-column:-3/-1;justify-content:flex-end;gap:10px;display:flex}.filter-warning{grid-column:1/-1}.page-state{place-items:center;min-height:280px;display:grid}.page-pagination{justify-content:center;margin-top:36px}.entity-toolbar{grid-template-columns:minmax(260px,520px) 180px;gap:12px;margin-bottom:28px;display:grid}.entity-search{width:100%}.entity-sort{width:180px}.entity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.entity-grid.is-loading{opacity:.45;pointer-events:none}.entity-card{border-radius:16px!important}.entity-card-link{cursor:pointer}.entity-card-link:focus-visible{outline-offset:3px;outline:3px solid #d84a684d}.entity-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.entity-card h2{margin:0;font-family:Georgia,Microsoft YaHei,serif;font-size:20px}.entity-card p{color:var(--muted);margin:12px 0 0;line-height:1.65}.entity-detail-back{margin-bottom:24px}.entity-detail-heading{align-items:center}.entity-detail-actions{align-items:center;gap:10px;display:flex}.entity-detail-aliases{color:var(--muted);margin:12px 0 0}.entity-detail-filters{grid-template-columns:minmax(260px,520px) 180px;gap:12px;margin-bottom:28px;display:grid}.entity-game-grid{transition:opacity .2s}.entity-game-grid.is-loading{opacity:.45;pointer-events:none}.entity-games-empty{justify-content:center;min-height:280px}.tag-link{text-decoration:none}.detail-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.detail-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.back-button{flex:none}.detail-hero{grid-template-columns:minmax(260px,380px) 1fr;align-items:center;gap:clamp(36px,6vw,84px);margin-bottom:56px;display:grid}.detail-cover-wrap{aspect-ratio:3/4;border-radius:22px;overflow:hidden;box-shadow:0 28px 60px #442c3533}.detail-cover,.detail-cover .n-image,.detail-cover img{width:100%;height:100%}.detail-cover img{object-fit:contain}.detail-intro h1{letter-spacing:-.035em;margin:10px 0 14px;font-family:Georgia,Microsoft YaHei,serif;font-size:clamp(40px,6vw,72px);line-height:1.08}.detail-aliases{color:var(--muted);line-height:1.7}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:30px 0;display:grid}.detail-facts div{border-top:1px solid var(--line);padding-top:12px}.detail-facts dt{color:var(--muted);letter-spacing:.08em;margin-bottom:5px;font-size:11px}.detail-facts dd{margin:0;line-height:1.55}.text-link{color:var(--accent-dark);font-weight:700;text-decoration:none}.detail-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.detail-main{gap:20px;display:grid}.content-card{border:1px solid var(--line);background:#fffdfbe0;border-radius:20px;padding:clamp(24px,4vw,38px)}.content-card h2{margin-bottom:18px;font-size:28px}.long-copy{white-space:pre-wrap;color:#514b53;margin:0;line-height:1.9}.source-copy{font-size:14px}.sticky-card{position:sticky;top:96px}.storage-list{gap:12px;display:grid}.storage-item{background:#f5efeb;border-radius:12px;padding:14px}.storage-item>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.storage-item code,.storage-item small{word-break:break-all;margin-top:8px;display:block}.storage-item code{color:#554c53;font-size:12px}.storage-item small,.muted-copy{color:var(--muted)}.content-card-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.content-card-heading h2{margin:0}.storage-actions{justify-content:flex-end;gap:4px;display:flex}.storage-form{gap:16px;display:grid}.storage-form label{gap:7px;display:grid}.storage-form label>span{color:var(--muted);font-size:12px}.storage-form .n-input-number,.storage-form .n-date-picker{width:100%}.storage-form .storage-switch{justify-content:space-between;align-items:center;display:flex}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.media-item,.media-item .n-image,.media-item img{object-fit:cover;border-radius:12px;width:100%;height:260px}.managed-media{min-width:0;position:relative}.media-cover-badge{position:absolute;top:8px;left:8px}.media-cover-button{position:absolute;bottom:8px;left:8px}.media-heading-actions,.last-played-value{align-items:center;gap:8px;display:flex}.media-delete-button{z-index:2;position:absolute;top:8px;right:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.telegram-view{background:linear-gradient(155deg,#dbeaf3,#eef5f8);border:1px solid #d9e5ec;border-radius:22px;width:min(820px,100%);margin:18px auto 0;padding:clamp(16px,4vw,30px);box-shadow:0 24px 60px #3652621f}.telegram-view-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.telegram-view-header strong,.telegram-view-header span{display:block}.telegram-view-header strong{color:#244a60;font-size:15px}.telegram-view-header span{color:#6c8491;margin-top:2px;font-size:11px}.telegram-avatar{color:#fff;letter-spacing:.08em;background:#2aabee;border-radius:50%;place-items:center;width:42px;height:42px;font-size:12px;font-weight:800;display:grid}.telegram-media-grid{border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-bottom:4px;display:grid;overflow:hidden}.telegram-media-single{grid-template-columns:1fr}.telegram-media-item,.telegram-media-item .n-image,.telegram-media-item img{object-fit:cover;width:100%;height:330px}.telegram-bubble{background:#fff;border-radius:6px 18px 18px;padding:18px 20px 34px;position:relative;box-shadow:0 5px 18px #324f5f14}.telegram-bubble time{color:#8b9da7;font-size:10px;position:absolute;bottom:10px;right:14px}.telegram-message-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#202b33;font-size:15px;line-height:1.65}.telegram-message-text a{color:#168acd;text-decoration:none}.telegram-message-text a:hover{text-decoration:underline}.telegram-entity-bold{font-weight:700}.telegram-entity-italic{font-style:italic}.telegram-entity-underline{text-decoration:underline}.telegram-entity-strikethrough{text-decoration:line-through}.telegram-entity-underline.telegram-entity-strikethrough{text-decoration:underline line-through}.telegram-entity-code,.telegram-entity-pre{color:#b63d55;background:#f2f4f5;border-radius:4px;padding:2px 5px;font-family:Consolas,Courier New,monospace}.telegram-entity-spoiler{color:#0000;cursor:pointer;background:#6f7d84;border-radius:3px}.telegram-entity-spoiler:hover{color:inherit;background:#dbe3e7}.telegram-entity-blockquote,.telegram-entity-expandable-blockquote{color:#526873;border-left:3px solid #2aabee;padding-left:8px}.delete-game-modal,.delete-company-modal{width:min(540px,100vw - 32px)}.create-company-modal{width:min(620px,100vw - 32px)}.create-company-name-list{gap:10px;margin:18px 0 12px;display:grid}.create-company-name-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.create-company-vndb{margin:16px 0}.merge-game-modal{width:min(640px,100vw - 32px)}.merge-source-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:20px;display:grid}.identity-form{gap:22px;display:grid}.identity-form section+section{border-top:1px solid var(--line);padding-top:22px}.identity-form .muted-copy{margin:8px 0 0}.identity-form .merge-source-row{margin-top:10px}.identity-list{gap:8px;margin-top:10px;display:grid}.identity-current-row{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.company-select-row{margin-top:20px}.game-state-form{gap:16px;display:grid}.game-state-form label{gap:7px;display:grid}.game-state-form label>span{color:var(--muted);font-size:12px}.game-state-form .n-input-number,.game-state-form .n-date-picker{width:100%}.status-tag-button{cursor:pointer;background:0 0;border:0;padding:0}.status-tag-button:disabled{cursor:wait;opacity:.65}.state-note-editor{gap:10px;display:grid}.state-note-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.state-note-heading>span{color:var(--muted);font-size:12px}.state-note-list{gap:9px;display:grid}.state-note-row{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr) auto;align-items:center;gap:8px;display:grid}.game-note-display{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.game-note-display h2{margin:4px 0 12px}.game-note-display dl{gap:9px;margin:0;display:grid}.game-note-display dl>div{grid-template-columns:minmax(72px,.65fr) minmax(0,1.35fr);gap:10px;display:grid}.game-note-display dt{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.game-note-display dd{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.entity-description-card{margin-bottom:24px}.merge-game-preview{border:1px solid var(--line);background:#ffffff8c;border-radius:12px;margin:16px 0;padding:16px}.merge-game-preview p{color:var(--muted);margin:6px 0;line-height:1.6}.merge-game-preview strong{color:var(--ink)}.delete-game-name{color:var(--ink);margin:22px 0 12px}.delete-confirmation-label{color:var(--muted);margin:0 0 10px;line-height:1.6}.delete-confirmation-label code{color:var(--accent-dark);-webkit-user-select:all;user-select:all}.delete-error{margin-top:14px}.delete-modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.name-editor{gap:18px;display:grid}.name-editor-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.name-editor-heading h2{margin:4px 0 0}.name-editor-list{gap:10px;display:grid}.name-editor-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.name-editor-order{gap:6px;display:flex}.name-editor-add{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.name-editor-actions{justify-content:flex-end;gap:10px;display:flex}.entity-id{color:var(--muted);margin:10px 0 0}.quick-search-input{margin:18px 0}.quick-search-results{gap:10px;display:grid}.quick-search-item{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px;display:grid}.quick-search-item.has-cover-slot{grid-template-columns:auto minmax(0,1fr) auto auto}.quick-search-cover{object-fit:cover;background:var(--surface-soft);border-radius:7px;width:46px;height:58px}.quick-search-cover-empty{color:var(--muted);text-align:center;place-items:center;font-size:8px;display:grid}.quick-search-item>button{cursor:pointer;text-align:left;background:0 0;border:0;min-width:0;padding:0}.quick-search-item strong,.quick-search-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.quick-search-item small{color:var(--muted);margin-top:4px}.quick-search-item code{max-width:120px;color:var(--accent-dark);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-search-actions{align-items:center;gap:2px;display:flex}.quick-search-external{gap:8px;margin:18px 0 14px;display:grid}.quick-search-external-actions{flex-wrap:wrap;gap:6px;display:flex}.quick-search-detail-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.quick-search-detail{gap:12px;display:grid}.quick-search-detail-heading{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.quick-search-detail-heading.has-cover{grid-template-columns:72px minmax(0,1fr)}.quick-search-detail-cover{object-fit:cover;background:var(--surface-soft);border-radius:8px;width:72px;height:94px}.quick-search-detail-heading h3{overflow-wrap:anywhere;margin:0 0 8px}.quick-search-detail-heading p,.quick-search-detail-section p{overflow-wrap:anywhere;margin:5px 0 0}.quick-search-detail-section{border:1px solid var(--line);border-radius:10px;padding:11px}.quick-search-detail-description{white-space:pre-wrap;max-height:240px;overflow:auto}.quick-search-detail-games{gap:6px;margin-top:8px;display:grid}.quick-search-detail-game{border:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.quick-search-detail-game span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.quick-search-detail-game code{color:var(--accent-dark);flex:none}.add-game-modal{width:min(680px,92vw)}.add-game-search-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px;display:grid}.add-game-results{gap:10px;max-height:55vh;margin-top:12px;display:grid;overflow:auto}.add-game-result{border:1px solid var(--line);border-radius:12px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.add-game-result img,.add-game-cover-empty{object-fit:cover;background:var(--surface-soft);border-radius:8px;width:52px;height:66px}.add-game-cover-empty{color:var(--muted);text-align:center;place-items:center;font-size:8px;display:grid}.add-game-copy{min-width:0}.add-game-copy strong,.add-game-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.add-game-copy small{color:var(--muted);margin-top:3px}.quick-search-error{color:var(--accent-dark)}@media (width<=1050px){.game-grid,.filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.search-input{grid-column:span 2}.detail-layout{grid-template-columns:1fr}.sticky-card{position:static}}@media (width<=760px){.app-header{gap:10px;height:auto;min-height:64px;padding:8px 16px}.brand small{display:none}.brand strong{font-size:15px}.main-nav{min-width:0}.quick-search-trigger kbd{display:none}.page{width:min(100% - 28px,1280px);padding-top:30px}.game-list-heading{flex-direction:column;align-items:flex-start}.game-list-heading .page-heading-actions{justify-content:space-between;width:100%}.hero-panel{grid-template-columns:1fr;min-height:450px;padding:34px 26px}.hero-orbit{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-cover-wrap{height:250px}.filter-panel{grid-template-columns:1fr 1fr;padding:14px}.search-input,.filter-actions{grid-column:1/-1}.entity-grid,.entity-toolbar,.entity-detail-filters{grid-template-columns:1fr}.entity-sort{width:100%}.name-editor-row{grid-template-columns:minmax(0,1fr)}.name-editor-order{justify-content:flex-end}.name-editor-add,.create-company-name-row,.merge-source-row,.state-note-row{grid-template-columns:minmax(0,1fr)}.state-note-row .n-button{justify-self:end}.detail-hero{grid-template-columns:1fr;gap:28px}.detail-cover-wrap{width:min(100%,390px)}.detail-toolbar{align-items:flex-start}.detail-toolbar-actions{flex-direction:column;align-items:flex-end}}@media (width<=480px){.brand-mark{width:34px;height:34px}.brand>span:last-child{display:none}.quick-search-trigger{padding:0 10px}.hero-panel h1{font-size:38px}.stats-grid{gap:10px}.stat-card{padding:18px}.stat-card strong{font-size:32px}.game-grid{grid-template-columns:1fr}.game-cover-wrap{height:410px}.filter-panel{grid-template-columns:1fr}.search-input,.filter-actions{grid-column:auto}.detail-facts,.media-grid{grid-template-columns:1fr}.detail-toolbar{flex-direction:column}.detail-toolbar-actions{align-items:stretch;width:100%}.detail-toolbar-actions .n-radio-group{display:flex}.detail-toolbar-actions .n-radio-button{text-align:center;flex:1}.telegram-media-grid{grid-template-columns:1fr}.telegram-media-item,.telegram-media-item .n-image,.telegram-media-item img{height:280px}}
