:root{--bg:#f5f6f8;--panel:#fff;--text:#191b20;--muted:#6f7480;--line:#e4e7ec;--accent:#1d4ed8;--danger:#b42318}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.header{background:var(--panel);border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;font-weight:800}.header nav{gap:16px;font-size:14px;display:flex}.container{max-width:1000px;margin:0 auto;padding:26px 18px 60px}.hero{gap:18px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 30px #1419230f}.thumb-wrap{aspect-ratio:4/3;background:#e8ebf0;display:block;overflow:hidden}.thumb{object-fit:cover;width:100%;height:100%;display:block}.no-thumb{width:100%;height:100%;color:var(--muted);place-items:center;font-weight:700;display:grid}.card-body{padding:20px}.card-title{margin:0 0 8px;font-size:clamp(22px,4vw,34px);line-height:1.25}.meta{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:11px 16px;font-weight:700;display:inline-flex}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{color:var(--danger)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}h1{margin-top:0}.form{gap:14px;display:grid}label{gap:7px;font-weight:700;display:grid}input,select{background:#fff;border:1px solid #cfd4dc;border-radius:10px;width:100%;padding:11px 12px}input[type=checkbox]{width:auto}.notice{background:#eef4ff;border-radius:10px;padding:12px 14px}.error{color:#8f1d14;background:#fff0ee;border-radius:10px;padding:12px 14px}.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.genre{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:20px;font-weight:800}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 9px}.mini-thumb{aspect-ratio:16/9;object-fit:cover;background:#eee;border-radius:8px;width:110px}.admin-row-title{max-width:270px}.empty{text-align:center;color:var(--muted);padding:50px 20px}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.image-choice{aspect-ratio:1;cursor:pointer;background:#eee;border:1px solid #ddd;border-radius:12px;width:100%;padding:0;overflow:hidden}.image-choice img{object-fit:cover;aspect-ratio:16/9;object-fit:cover;background:#eee;border-radius:8px;width:100%;height:100%;display:block}.small{color:var(--muted);font-size:13px}@media (max-width:620px){.header{padding:0 14px}.header nav{gap:11px}.container{padding:18px 12px 50px}.card{border-radius:16px}.card-body{padding:16px}}.image-choice.selected{border:3px solid #2563eb;box-shadow:0 0 0 2px #2563eb33}.card-title{font-size:21px}.header{z-index:100;background:#fff;border-bottom:1px solid #ddd;align-items:center;height:56px;padding:0 16px;display:flex;position:relative}.brand{color:#222;margin-left:14px;font-size:20px;font-weight:700;text-decoration:none}.menu{position:relative}.menuButton{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:28px;list-style:none;display:flex}.menuButton::-webkit-details-marker{display:none}.menuPanel{z-index:200;background:#fff;border:1px solid #ddd;border-radius:12px;width:220px;padding:8px;position:fixed;top:56px;left:14px;box-shadow:0 8px 24px #00000026}.menuPanel a{color:#222;border-radius:8px;padding:14px 12px;text-decoration:none;display:block}.menuPanel a:hover{background:#f2f2f2}.menuPanel{flex-direction:column;width:180px;display:flex}.menuPanel a{white-space:nowrap;width:100%;padding:12px 14px;display:block}.genreTabs{scrollbar-width:none;white-space:nowrap;background:#fff;border-bottom:1px solid #ddd;gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.genreTabs::-webkit-scrollbar{display:none}.genreTab{color:#555;background:#f2f2f2;border-radius:999px;flex:none;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none}.genreTab.active{color:#fff;background:#222}.genreSelect{width:100%}.genreSelect summary{cursor:pointer;background:#fff;border:1px solid #cfd4dc;border-radius:10px;padding:12px 14px;font-weight:400;list-style:none}.genreSelect summary::-webkit-details-marker{display:none}.genreSelect summary:after{content:"⌄";float:right}.genreSelect[open] summary:after{content:"⌃"}.genreSelectList{background:#fff;border:1px solid #cfd4dc;border-radius:10px;max-height:220px;margin-top:4px;overflow-y:auto}.genreSelectList button{text-align:left;width:100%;font-size:inherit;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eee;padding:12px 14px;display:block}.genreSelectList button:last-child{border-bottom:0}.randomGrid{align-items:start;gap:8px;width:100%;padding-top:8px;padding-bottom:30px;display:grid}.randomGrid.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.randomGrid.grid9{grid-template-columns:repeat(3,minmax(0,1fr))}.gridCard{box-sizing:border-box;color:#222;background:#fff;border:1px solid #ddd;border-radius:12px;flex-direction:column;width:100%;min-width:0;text-decoration:none;display:flex;overflow:hidden}.gridThumbFrame{background:#eee;width:100%;position:relative;overflow:hidden}.grid4 .gridThumbFrame{aspect-ratio:4/3}.grid9 .gridThumbFrame{aspect-ratio:1}.gridThumb{object-fit:cover;width:100%;height:100%;display:block}.gridNoThumb{color:#888;background:#eee;justify-content:center;align-items:center;width:100%;height:100%;font-size:12px;display:flex}.gridCardBody{min-width:0;padding:8px}.gridTitle{font-weight:700;line-height:1.3;overflow:hidden}.randomStage{align-items:center;width:100%;min-height:calc(100dvh - 240px);display:flex}.randomStage>*{width:100%}.grid4 .gridTitle{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.grid9 .gridTitle{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.gridSwitchButton{right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:1000;color:#fff;cursor:pointer;background:#222;border:none;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;padding:0;display:flex;position:fixed;box-shadow:0 4px 14px #00000038}.gridEditButton{left:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:1000;color:#fff;cursor:pointer;background:#222;border:none;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;padding:0;display:flex;position:fixed;box-shadow:0 4px 14px #00000038}.gridEditButton.active{background:#2563eb}.gridEditButton:active{transform:scale(.94)}.gridRefreshButton{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:1000;color:#222;cursor:pointer;background:#fff;border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;width:190px;height:48px;padding:0 18px;font-size:18px;font-weight:700;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #00000026}.gridRefreshButton:active{transform:translate(-50%)scale(.96)}.gridSwitchButton:active{transform:scale(.94)}.gridSwitchIcon{gap:2px;width:24px;height:24px;display:grid}.gridSwitchIcon span{background:#fff;border-radius:1px;min-width:0;min-height:0}.gridSwitchIcon1{grid-template-columns:1fr}.gridSwitchIcon4{grid-template-columns:repeat(2,1fr)}.gridSwitchIcon9{grid-template-columns:repeat(3,1fr)}.adminMobile{display:none}@media (max-width:700px){.adminDesktop{display:none}.adminMobile{display:block}.adminCard{margin-bottom:14px}.adminCardTop{align-items:flex-start;gap:14px;display:flex}.adminCardThumb{object-fit:cover;background:#eee;border-radius:12px;flex-shrink:0;width:110px;height:82px}.adminCardInfo{flex:1;min-width:0}.adminCardInfo strong{margin-bottom:6px;line-height:1.4;display:block}.adminCardUrl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adminCardMeta{gap:12px;margin:14px 0;font-size:.9rem;display:flex}.adminCardMeta span{background:#f1f1f1;border-radius:999px;padding:5px 10px}.adminCard .actions{gap:10px;display:flex}.adminCard .actions .btn{text-align:center;flex:1}}.adminSearch{gap:8px;margin:16px 0;display:flex}.adminSearch input[type=search]{flex:1;min-width:0}.adminSearch .btn{white-space:nowrap}@media (max-width:700px){.adminSearch{width:100%}.adminSearch input[type=search]{min-width:0}}.adminSort{align-items:flex-end;gap:8px;margin:0 0 16px;display:flex}.adminSort label{flex:1}.adminSort select{width:100%;margin-top:6px}.adminSort .btn{white-space:nowrap}@media (max-width:700px){.adminSort{width:100%}}.adminFilters{grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:10px;margin:0 0 16px;display:grid}.adminFilterItem{min-width:0}.adminFilterItem label{font-weight:700;display:block}.adminFilterItem select{width:100%;margin-top:6px}.adminFilterApply{white-space:nowrap;height:fit-content}@media (max-width:700px){.adminFilters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.adminFilterItem select{font-size:16px}}.adminBulkHeader{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.adminBulkHeader p{margin:0}.adminBulkToggle{white-space:nowrap;width:auto;min-height:0;margin:0;padding:7px 14px}.adminBulkPanel{margin:0 0 16px}.adminBulkRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.adminBulkRow+.adminBulkRow{margin-top:10px}.adminBulkRow select{flex:1;min-width:160px}.adminBulkCheck{cursor:pointer;justify-content:center;align-items:center;margin-bottom:10px;display:inline-flex}.adminBulkCheck input{cursor:pointer;width:22px;height:22px;margin:0}.helpPage{max-width:760px;margin:0 auto}.helpLead{color:var(--muted);margin:0 0 24px;line-height:1.8}.helpSection{background:var(--panel);border:1px solid var(--line);border-radius:18px;margin:0 0 18px;padding:20px}.helpSection h2{margin:0 0 10px;font-size:20px}.helpSection p{margin:0 0 12px;line-height:1.75}.helpSection p:last-child{margin-bottom:0}.helpNote{color:var(--muted);font-size:14px}.helpLink{color:#1677d2;text-underline-offset:3px;margin-top:4px;font-weight:700;text-decoration:underline;display:inline-block}.helpGuideImage{border-radius:14px;width:100%;height:auto;margin:16px 0;display:block}body:has(.slideshowPage){color:#f5f5f5;background:#0b0b0d}body:has(.slideshowPage) .header{color:#fff;background:#141416;border-bottom:1px solid #333}body:has(.slideshowPage) .brand{color:#fff}body:has(.slideshowPage)>.container{max-width:none;margin:0;padding:0}.slideshowPage{color:#f5f5f5;background:#0b0b0d;min-height:calc(100dvh - 56px);padding:20px 16px}.slideshowPage h1{color:#fff}.slideshowPage .genreTabs{background:#0b0b0d;border-bottom:none;padding:10px 0}.slideshowPage .genreTab{appearance:none;color:#e5e5e5;cursor:pointer;background:#29292f;border:none;font-family:inherit;line-height:1.5}.slideshowPage .genreTab.active{color:#151515;background:#e5e5e5}body:has(.slideshowFullscreen) .header{display:none}.slideshowPage:has(.slideshowFullscreen){min-height:100dvh;padding:0}.slideshowFullscreen{width:100%;min-height:100dvh}.slideshowFullscreen>div:first-of-type{width:100%;height:calc(100dvh - 84px)!important;margin-top:0!important}.slideshowFullscreen>div:first-of-type img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 84px)!important}.slideshowFullscreen>div:last-of-type{z-index:100;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:#0b0b0d;justify-content:center;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;margin-top:0!important}.slideshowControls{box-sizing:border-box;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;padding:0 6px;gap:4px!important;display:grid!important}.slideshowControls>button{box-sizing:border-box;border-radius:10px;justify-content:center;align-items:center;min-width:0;display:flex;width:100%!important;height:46px!important;padding:0!important}.slideshowControls>button[aria-label=表示中のカードを編集]{justify-self:center;border-radius:50%!important;width:42px!important;height:42px!important}
