:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18212f;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.app-shell,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.dashboard-shell{min-height:100vh;padding:32px}.topbar{max-width:960px;margin:0 auto 24px;display:flex;justify-content:space-between;gap:16px;align-items:center}.panel{width:min(100%,960px);margin:0 auto;border:1px solid #d8dee9;border-radius:8px;background:#fff;padding:32px;box-shadow:0 18px 48px #18212f14}.auth-panel{width:min(100%,520px)}.eyebrow{margin:0 0 8px;color:#35699a;font-size:.85rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0 0 12px;line-height:1.05}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:1.5rem}.lead,p{margin:0 0 20px;color:#4c5b6d;line-height:1.6}.stack-form{display:grid;gap:16px}label{display:grid;gap:7px;color:#233146;font-weight:700}input{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:11px 12px;color:#18212f;background:#fff}input:read-only{background:#f1f5f9}small{color:#64748b;font-weight:500}.primary-button,.secondary-button,.text-button{border:0;cursor:pointer;font-weight:800}.primary-button,.secondary-button{border-radius:6px;padding:11px 16px}.primary-button{background:#0f766e;color:#fff}.secondary-button{border:1px solid #cbd5e1;background:#fff;color:#233146}.text-button{margin-top:16px;padding:0;background:transparent;color:#0f766e}.form-message{margin:0;border-radius:6px;padding:10px 12px;font-weight:700}.form-message.error{color:#991b1b;background:#fee2e2}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.status-grid div{border:1px solid #e2e8f0;border-radius:8px;padding:16px}.status-grid span,.status-grid strong{display:block}.status-grid span{margin-bottom:6px;color:#64748b;font-size:.85rem}.status-grid strong{overflow-wrap:anywhere}@media(max-width:720px){.dashboard-shell{padding:20px}.topbar,.status-grid{grid-template-columns:1fr}.topbar{display:grid}}select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:11px 12px;color:#18212f;background:#fff;font:inherit}textarea{resize:vertical}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.section-header h2,.section-header p{margin-bottom:0}.form-panel{margin-bottom:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.checks-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.check-row{min-height:44px;display:flex;align-items:center;gap:10px;border:1px solid #d8dee9;border-radius:6px;padding:10px 12px;background:#f8fafc}.check-row input{width:18px;height:18px}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.form-message.success{color:#166534;background:#dcfce7}.empty-state{border:1px dashed #b6c5d8;border-radius:8px;padding:28px;background:#f8fafc;text-align:center}.empty-state h3,.platform-block h3,.subsection h3{margin:0 0 10px}.platform-list{display:grid;gap:16px}.platform-block{border:1px solid #e2e8f0;border-radius:8px;padding:18px}.platform-block h3{display:flex;justify-content:space-between;gap:12px}.platform-block h3 span{min-width:32px;border-radius:999px;padding:2px 8px;background:#e0f2fe;color:#075985;font-size:.9rem;text-align:center}.item-list{display:grid;gap:8px}.item-row{display:flex;justify-content:space-between;gap:12px;border:1px solid #edf2f7;border-radius:6px;padding:10px 12px;background:#fff}.item-row span{color:#64748b;white-space:nowrap}.subsection{margin-top:28px;padding-top:24px;border-top:1px solid #e2e8f0}@media(max-width:720px){.section-header,.item-row{display:grid}.form-grid,.form-grid.two-cols,.checks-grid{grid-template-columns:1fr}.button-row>button{width:100%}}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.module-grid.two-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card,.platform-card{display:grid;gap:8px;width:100%;border:1px solid #d8dee9;border-radius:8px;padding:20px;background:#fff;color:#18212f;text-align:left;cursor:pointer;box-shadow:0 8px 22px #18212f0d}.module-card:hover,.platform-card:hover{border-color:#0f766e}.module-card strong,.platform-card strong{font-size:1.15rem}.module-card span,.platform-card span{color:#64748b;line-height:1.4}.platform-card{grid-template-columns:1fr auto;align-items:center}.tab-row{display:inline-flex;gap:4px;border:1px solid #cbd5e1;border-radius:8px;padding:4px;margin-bottom:18px;background:#f8fafc}.tab-button{border:0;border-radius:6px;padding:9px 12px;background:transparent;color:#334155;cursor:pointer;font-weight:800}.tab-button.active{background:#0f766e;color:#fff}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.game-card{display:grid;grid-template-columns:82px 1fr;gap:14px;min-height:124px;border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff}.game-card img,.cover-placeholder{width:82px;aspect-ratio:3 / 4;border-radius:6px;object-fit:cover;background:#e2e8f0}.cover-placeholder{display:grid;place-items:center;padding:8px;color:#64748b;font-size:.8rem;text-align:center}.game-card h3{margin:0 0 6px;font-size:1rem;line-height:1.25}.game-card p{margin-bottom:10px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip-row span{border-radius:999px;padding:3px 8px;background:#eef6ff;color:#24557a;font-size:.78rem;font-weight:800}@media(max-width:720px){.module-grid.two-cards,.platform-card,.game-card{grid-template-columns:1fr}.tab-row{display:grid}.game-card img,.cover-placeholder{width:100%;max-width:180px}}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.small-button{border:1px solid #cbd5e1;border-radius:6px;padding:6px 9px;background:#fff;color:#233146;cursor:pointer;font-size:.85rem;font-weight:800}.small-button.danger{border-color:#fecaca;color:#991b1b;background:#fff7f7}.search-panel{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:end;margin-bottom:20px;border:1px solid #e2e8f0;border-radius:8px;padding:14px;background:#f8fafc}.filter-options{display:flex;flex-wrap:wrap;gap:10px}.filter-options .check-row{min-width:120px;background:#fff}.platform-badge{display:inline-flex;width:fit-content;margin:0 0 8px;border-radius:999px;padding:3px 8px;background:#e0f2fe;color:#075985;font-size:.8rem;font-weight:800}.search-results{margin-top:4px}@media(max-width:720px){.search-panel{grid-template-columns:1fr}}.settings-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.public-url{margin:0;border:1px solid #dbeafe;border-radius:8px;padding:12px;background:#eff6ff;color:#1e3a8a}.public-url strong{overflow-wrap:anywhere}@media(max-width:720px){.settings-checks{grid-template-columns:1fr}}.cover-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.selected-cover{width:72px;aspect-ratio:3 / 4;border-radius:6px;object-fit:cover;border:2px solid #0f766e}.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.cover-option{display:grid;gap:8px;border:2px solid #d8dee9;border-radius:8px;padding:8px;background:#fff;color:#233146;cursor:pointer;text-align:left}.cover-option.active{border-color:#0f766e;background:#f0fdfa}.cover-option img{width:100%;aspect-ratio:3 / 4;border-radius:6px;object-fit:cover;background:#e2e8f0}.cover-option span{color:#475569;font-size:.82rem;font-weight:800;line-height:1.25}.cover-search-input{min-width:min(100%,280px);flex:1}.public-shell .topbar{margin-bottom:18px}.parts-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.part-icon{position:relative;width:32px;height:32px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid #cbd5e1;background:#fff}.part-icon.present{border-color:#bfdbfe;background:#dbeafe;color:#1d4ed8}.part-icon.missing{border-color:#fecaca;background:#fee2e2;color:#b91c1c}.part-icon svg{width:20px;height:20px;display:block}.part-icon>span{position:relative;display:block;color:currentColor}.part-icon.game>span{width:18px;height:18px;border:3px solid currentColor;border-radius:999px}.part-icon.game>span:after{content:"";position:absolute;inset:4px;border-radius:999px;background:currentColor}.part-icon.box>span{width:18px;height:22px;border:2px solid currentColor;border-radius:3px}.part-icon.box>span:before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:currentColor;opacity:.7}.part-icon.manual>span{width:18px;height:20px;border:2px solid currentColor;border-radius:2px 5px 5px 2px}.part-icon.manual>span:before{content:"";position:absolute;left:4px;top:3px;bottom:3px;width:2px;background:currentColor}.part-icon.manual>span:after{content:"";position:absolute;left:8px;right:3px;top:6px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor;opacity:.65}.part-icon.missing:after{content:"";position:absolute;width:27px;height:2px;border-radius:999px;background:#b91c1c;transform:rotate(-28deg)}.console-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.console-card{display:grid;gap:12px;border:1px solid #e2e8f0;border-radius:8px;padding:14px;background:#fff}.console-card h3{margin:0 0 6px;font-size:1rem}.console-card p{margin-bottom:10px}.item-info{margin-top:12px;white-space:pre-wrap}.manga-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.manga-card{display:grid;grid-template-columns:82px 1fr;gap:14px;min-height:132px;border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff}.manga-card img{width:82px;aspect-ratio:3 / 4;border-radius:6px;object-fit:cover;background:#e2e8f0}.manga-card h3{margin:0 0 6px;font-size:1rem;line-height:1.25}.manga-card p{margin-bottom:10px}.volume-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.volume-list span{min-width:28px;border-radius:999px;padding:3px 8px;background:#f1f5f9;color:#334155;font-size:.78rem;font-weight:800;text-align:center}@media(max-width:720px){.manga-card{grid-template-columns:1fr}.manga-card img{width:100%;max-width:180px}}.cover-volume-input{width:120px}.manga-volume-actions{display:grid;gap:8px;margin-top:12px}.inline-volume-form{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:8px;align-items:center}.inline-volume-form input{min-width:0;padding:7px 9px}.manga-volume-actions .form-message{padding:8px 10px;font-size:.85rem}@media(max-width:720px){.cover-volume-input,.inline-volume-form{width:100%}.inline-volume-form{grid-template-columns:1fr}}.manga-card-clickable{cursor:pointer}.manga-card-clickable:hover{border-color:#0f766e}.manga-detail-actions{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(180px,auto);gap:12px;align-items:center;margin-bottom:22px}.manga-volume-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.manga-volume-card{display:grid;gap:10px;border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff}.manga-volume-card img,.manga-volume-card .cover-placeholder{width:100%;aspect-ratio:3 / 4;border-radius:6px;object-fit:cover;background:#e2e8f0}.manga-volume-card strong{font-size:.95rem}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0f172a7f}.cover-editor-panel{max-height:calc(100vh - 48px);overflow:auto}@media(max-width:720px){.manga-detail-actions{grid-template-columns:1fr}}.title-edit-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center}.title-edit-row input{font-size:1.25rem;font-weight:800}@media(max-width:720px){.title-edit-row{grid-template-columns:1fr}}@media(max-width:720px){.cover-editor-panel .cover-tools{grid-template-columns:1fr}.cover-editor-panel .cover-tools>button{width:100%}}.cover-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.cover-editor-row .cover-search-input{min-width:0}.cover-editor-action{height:45px;align-self:end;white-space:nowrap}@media(max-width:720px){.cover-editor-row{grid-template-columns:1fr}.cover-editor-action{width:100%}}@media(max-width:640px){:root{font-size:14px}.app-shell,.auth-shell{min-height:100svh;padding:12px;place-items:start stretch}.dashboard-shell{min-height:100svh;padding:12px}.topbar{margin-bottom:12px;gap:10px;align-items:start}.topbar h1{font-size:1.7rem;line-height:1.12}.panel{padding:14px;border-radius:7px;box-shadow:0 8px 24px #18212f0f}.auth-panel{margin-top:24px}.eyebrow{margin-bottom:5px;font-size:.72rem}h1,h2{margin-bottom:8px}h2{font-size:1.22rem}.lead,p{margin-bottom:12px;line-height:1.45}.section-header{gap:10px;margin-bottom:14px}.stack-form{gap:12px}label{gap:5px}input,select,textarea{min-height:38px;padding:8px 10px}textarea{min-height:92px}.primary-button,.secondary-button{min-height:38px;padding:8px 11px}.button-row{gap:8px}.button-row>button{width:auto}.section-header .button-row{justify-content:flex-start}.form-grid,.form-grid.two-cols,.checks-grid,.settings-checks,.status-grid,.search-panel,.manga-detail-actions,.title-edit-row{grid-template-columns:1fr}.check-row{min-height:38px;padding:8px 10px}.check-row input{width:16px;height:16px}.empty-state{padding:16px}.module-grid,.module-grid.two-cards,.platform-list,.game-grid,.console-grid,.manga-grid,.manga-volume-grid,.cover-grid{grid-template-columns:1fr;gap:10px}.module-card,.platform-card,.platform-block,.console-card,.manga-volume-card{padding:11px}.module-card strong,.platform-card strong{font-size:1rem}.platform-card{grid-template-columns:1fr auto}.game-card,.manga-card{grid-template-columns:64px minmax(0,1fr);gap:10px;min-height:0;padding:10px}.game-card img,.game-card .cover-placeholder,.manga-card img,.manga-card .cover-placeholder{width:64px;max-width:64px}.game-card h3,.manga-card h3,.console-card h3{font-size:.95rem;line-height:1.2}.chip-row{gap:5px}.chip-row span,.platform-badge,.volume-list span{padding:2px 7px;font-size:.72rem}.part-icon{width:28px;height:28px}.part-icon svg{width:17px;height:17px}.tab-row{display:flex;width:100%}.tab-button{flex:1;padding:8px 9px}.small-button{padding:5px 8px;font-size:.8rem}.search-panel{gap:10px;margin-bottom:14px;padding:10px}.filter-options{gap:8px}.filter-options .check-row{min-width:0}.inline-volume-form{grid-template-columns:minmax(0,1fr) auto}.manga-detail-actions{gap:9px;margin-bottom:14px}.manga-volume-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manga-volume-card{gap:8px}.manga-volume-card strong{font-size:.86rem}.card-actions{gap:6px;margin-top:8px}.modal-backdrop{align-items:start;padding:10px;overflow:auto}.cover-editor-panel{width:100%;max-height:none}.cover-editor-row{gap:8px}.cover-editor-action{height:38px}.selected-cover{width:56px}.cover-option{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;padding:8px}.cover-option img{width:56px}}@media(max-width:380px){.dashboard-shell{padding:8px}.panel{padding:12px}.topbar h1{font-size:1.5rem}.game-card,.manga-card{grid-template-columns:56px minmax(0,1fr)}.game-card img,.game-card .cover-placeholder,.manga-card img,.manga-card .cover-placeholder{width:56px;max-width:56px}.manga-volume-grid{gap:8px}}.bottom-nav{position:fixed;left:50%;bottom:16px;z-index:30;display:grid;grid-template-columns:repeat(3,48px);gap:8px;transform:translate(-50%);border:1px solid #d8dee9;border-radius:999px;padding:8px;background:#fffffff0;box-shadow:0 18px 48px #18212f2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-nav-button{width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:#334155;cursor:pointer}.bottom-nav-button svg{width:22px;height:22px}.bottom-nav-button.active,.bottom-nav-button:hover{background:#e0f2fe;color:#075985}@media(max-width:640px){.dashboard-shell:not(.public-shell){padding-bottom:calc(86px + env(safe-area-inset-bottom))}.bottom-nav{bottom:calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(3,44px);gap:6px;padding:7px}.bottom-nav-button{width:44px;height:44px}.bottom-nav-button svg{width:20px;height:20px}}.game-cover-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end}.game-cover-tools .cover-search-input{min-width:0}.game-cover-tools>button{height:45px;align-self:end;white-space:nowrap}.game-cover-tools .selected-cover{align-self:end}@media(max-width:640px){.game-cover-tools{grid-template-columns:1fr}.game-cover-tools>button{width:100%;height:38px}}
