  @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700&family=Overpass:wght@500;700&display=swap');
  :root{
    --scale:0.8; /* 全体スケール係数（ここを変えるだけで倍率調整できる） */

    --font-base:calc(15px * var(--scale));
    --bg:#f5f7fb; --panel:#ffffff; --text:#172033; --muted:#64748b; --accent:#365cff;
    --accent-ink:#1637d6; --accent-bg:#eef2ff; --accent-soft:#dce6ff; --danger:#ef4444; --danger-soft:#fee2e2;
    --border:#e6eaf2;
    --shadow:0 calc(20px * var(--scale)) calc(60px * var(--scale)) rgba(15,30,60,.08);
    --radius:calc(16px * var(--scale));
    --gap:calc(12px * var(--scale));
    --grid:calc(620px * var(--scale));
    --thumb:calc(320px * var(--scale));
    --focus:0 0 0 calc(3px * var(--scale)) rgba(54,92,255,.25);
    --toolbar-blur:calc(14px * var(--scale));
	    --transition:all .18s ease;
	    --lightbox-zoom:1.5;
	    --lightbox-max-width:calc(1200px * var(--scale));
	    --lightbox-max-height:86vh;
	    --badge-bg:#eef2ff; --badge-text:#1f3b8a; --warning:#f59e0b; --success:#16a34a;
	  }
  *{box-sizing:border-box;}
  html,body{height:100%;}
  body{
    margin:0;
    font-size:var(--font-base);
    background:linear-gradient(180deg,#f5f7fb 0%,#f8faff 46%,#eef2ff 100%);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    font-family:"Noto Sans JP","Overpass","Helvetica Neue","Segoe UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-variant-numeric:tabular-nums;
    line-height:1.6;
    letter-spacing:.08px;
    overflow-x:hidden;
  }
  a{color:var(--accent); text-decoration:none;}
  a:hover{text-decoration:underline;}
  a:focus-visible{outline:none; box-shadow:var(--focus); border-radius:10px;}
  .app-shell{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }
  .container{width:100%; max-width:100%; padding:0 clamp(8px,2vw,12px) 24px;}
  .page-header{position:sticky; top:0; z-index:50; background:var(--panel); border:0; border-bottom:0.5px solid var(--border); padding:10px 0 12px; margin:0 0 16px; transform:translate3d(0,0,0); transition:transform .22s ease; will-change:transform;}
  .page-header.is-hidden{transform:translate3d(0,-120%,0);}
  .header_inner{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; max-width:1080px; width:100%; margin:0; padding:0 16px; flex-wrap:wrap;}
  .site-logo{display:inline-flex; align-items:center; justify-content:center;}
  .site-logo img{height:62px; max-height:66px; width:auto; display:block;}
  .header-actions{display:flex; align-items:center; gap:10px; padding:8px 12px; margin-left:auto; background:linear-gradient(120deg,#f8faff,#eef2ff); border:1px solid var(--border); border-radius:14px; box-shadow:0 10px 26px rgba(15,30,60,.08);}
  .header-actions .btn{white-space:nowrap;}
  .page-subtitle{margin:10px 0 0; color:var(--muted); font-size:1rem; max-width:100%; padding:0 16px; line-height:1.6;}
  .toolbar{
    position:static;
    z-index:20;
    margin:14px 0 16px;
    background:rgba(255,255,255,.9);
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:14px;
    backdrop-filter:blur(var(--toolbar-blur));
    transition:box-shadow .2s ease, transform .2s ease;
  }
  .toolbar.is-stuck{box-shadow:var(--shadow);}
  .toolbar-head{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px;}
  .toolbar-head-left{display:flex; flex-direction:column; gap:6px; min-width:220px;}
  .toolbar-meta{display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:var(--muted); font-size:.86rem;}
  .toolbar-meta strong{color:var(--text); font-weight:700;}
  .condition-summary{font-size:.92rem; color:var(--text); font-weight:700;}
  .toolbar-head-right{display:flex; align-items:center; flex-wrap:wrap; gap:12px;}
  .active-filters{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-height:32px;}
  .filter-badge{display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; border:1px solid var(--border); background:var(--badge-bg); color:var(--badge-text); font-weight:700; font-size:.9rem;}
  .filter-badge button{border:none; background:transparent; cursor:pointer; font-size:1rem; line-height:1; color:#0f172a; padding:2px 4px; border-radius:6px;}
  .filter-badge button:hover{background:rgba(15,23,42,.06);}
  .filter-empty{color:var(--muted); font-size:.88rem;}
  .filter-clear{border:1px dashed var(--border); background:#fff; padding:6px 10px; border-radius:10px; cursor:pointer; color:var(--muted); font-weight:600;}
  .page-size-toggle,.view-toggle{display:inline-flex; align-items:center; background:var(--accent-bg); border:1px solid var(--border); border-radius:12px; padding:4px;}
  .page-size-toggle button,.view-toggle button{min-width:72px; border:none; background:transparent; padding:8px 12px; border-radius:10px; cursor:pointer; color:var(--muted); font-weight:700; transition:var(--transition);}
  .page-size-toggle button.active,.view-toggle button.active{background:#fff; color:var(--accent-ink); box-shadow:0 6px 18px rgba(15,30,60,.12);}
  .page-size-toggle button:focus-visible,.view-toggle button:focus-visible{outline:none; box-shadow:var(--focus);}
  .bookmark-filter-btn{min-height:42px; border:1px solid var(--border); background:var(--accent-bg); color:var(--muted); padding:8px 14px; border-radius:12px; cursor:pointer; font-weight:700; transition:var(--transition);}
  .bookmark-filter-btn.active{background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 6px 18px rgba(54,92,255,.22);}
  .bookmark-filter-btn:focus-visible{outline:none; box-shadow:var(--focus);}
  .toolbar-body{display:flex; flex-wrap:wrap; gap:16px 18px; align-items:center;}
  .toolbar .group{display:flex; align-items:center; gap:10px 12px; flex-wrap:wrap;}
  .toolbar .group:not(:first-of-type){position:relative; padding-left:18px; margin-left:14px;}
  .toolbar .group:not(:first-of-type)::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:32px; background:linear-gradient(180deg,rgba(15,30,60,.1),rgba(15,30,60,0));}
  .group-title{font-size:.82rem; font-weight:700; color:#475569; padding:6px 12px; background:#f3f5fb; border:1px solid var(--border); border-radius:999px;}
  .toolbar label:not(.btn){font-size:.92rem; color:var(--muted);}
  .toolbar select{background:var(--panel); border:1px solid var(--border); border-radius:12px; min-height:42px; padding:10px 14px; font-size:.95rem; transition:var(--transition);}
  .toolbar select:focus{border-color:var(--accent-soft); box-shadow:var(--focus);}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:12px; border:1px solid transparent; font-weight:600; cursor:pointer; line-height:1; padding:10px 18px; font-size:.95rem; transition:var(--transition);}
  .btn.primary{background:var(--accent); color:#fff; box-shadow:0 6px 20px rgba(54,92,255,.25);}
  .btn.primary:hover{background:var(--accent-ink);}
  .btn.ghost{background:rgba(54,92,255,.08); color:var(--accent-ink); border-color:rgba(54,92,255,.15);}
  .btn.ghost:hover{background:rgba(54,92,255,.14);}
  .btn:focus-visible{outline:none; box-shadow:var(--focus);}
  .visually-hidden{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
  .status-stack{display:grid; gap:8px; margin:12px 0 18px;}
  .count-row{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px;}
  .count-row #countDisplay{text-align:left;}
  .count-row .pagination{margin:0; justify-content:center;}
  .count-row .pagination-spacer{min-width:1px;}
  #countDisplay{margin:0; font-weight:800; font-size:1.05rem; color:var(--accent-ink);}
  #status{font-size:.95rem; color:#334155; background:linear-gradient(120deg,#f8faff,#eef4ff); border:1px solid var(--border); padding:12px 14px; border-radius:14px; display:flex; align-items:center; gap:10px;}
  #status:empty{display:none;}
  #status:not(:empty)::before{content:"ℹ️"; font-size:1.1rem;}
  .progress{display:flex; align-items:center; gap:12px; background:rgba(54,92,255,.08); border:1px solid rgba(54,92,255,.15); border-radius:12px; padding:10px 14px; color:var(--accent-ink); font-size:.92rem;}
  .progress[hidden]{display:none;}
  .progress-track{flex:1; position:relative; height:8px; border-radius:999px; background:rgba(54,92,255,.18); overflow:hidden;}
  .progress-bar{position:absolute; top:0; left:0; bottom:0; width:0%; background:linear-gradient(90deg,#365cff,#7c9eff); border-radius:inherit; transition:width .2s ease;}
  .progress-label{min-width:64px; text-align:right; font-variant-numeric:tabular-nums;}
  .progress.is-indeterminate .progress-bar{width:40%; animation:progress-indeterminate 1.2s ease-in-out infinite; transform:translateX(-120%);}
  .progress.is-indeterminate .progress-label{font-size:.9rem;}
  @keyframes progress-indeterminate{
    0%{transform:translateX(-120%);}
    50%{transform:translateX(-10%);}
    100%{transform:translateX(120%);}
  }
#works{display:grid; grid-template-columns:repeat(auto-fill,minmax(var(--grid),1fr)); gap:clamp(7px,0.5vw,16px); margin-top:12px;}
#works.list-view{display:flex; flex-direction:column; gap:10px;}
  .card{background:var(--panel); border:1px solid rgba(230,234,242,.9); border-radius:var(--radius); box-shadow:0 12px 32px rgba(15,30,60,.06); display:flex; gap:8px; padding:12px; position:relative; overflow:visible; transition:none; font-size:.85rem;}
  .card::after{content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(54,92,255,.12),rgba(54,92,255,0) 60%); opacity:0; transition:none; pointer-events:none;}
  .card:hover{border-color:#d1daf9;}
  .card:hover::after{opacity:1;}
.meta-wrap,.list-meta-wrap{position:relative;}
.desc-panel{position:absolute; left:0; right:0; top:0; padding:12px 14px; border-radius:14px; background:rgba(15,23,42,.96); color:#e2e8f0; box-shadow:0 16px 38px rgba(15,23,42,.35); opacity:0; pointer-events:none; transform:translateY(-8px); transition:var(--transition); max-height:260px; overflow:auto; font-size:.88rem; line-height:1.5; z-index:15;}
.card .title{position:relative; display:inline-block;}
.card .title:hover + .meta-wrap .desc-panel,
.card .title:focus-within + .meta-wrap .desc-panel{opacity:1; transform:translateY(0); pointer-events:auto;}
.list-item .list-title{position:relative; display:inline-block;}
.list-item .list-title:hover + .list-meta-wrap .desc-panel,
.list-item .list-title:focus-within + .list-meta-wrap .desc-panel{opacity:1; transform:translateY(0); pointer-events:auto;}
 .judgment-badge{position:absolute; bottom:14px; right:14px; background:rgba(56,138,255,.12); color:#1e3a8a; font-size:1.12rem; line-height:1; padding:5px 9px; border-radius:999px; border:1px solid rgba(56,138,255,.35); box-shadow:0 4px 10px rgba(15,30,60,.25); pointer-events:none;}
.list-item{display:grid; grid-template-columns:140px 1fr 160px; align-items:center; gap:12px; padding:12px 14px; background:var(--panel); border:1px solid var(--border); border-radius:14px; box-shadow:0 10px 22px rgba(15,30,60,.08); position:relative; overflow:visible;}
  .list-title{margin:0; font-size:1rem; color:var(--text);}
  .list-title a{color:inherit; text-decoration:none;}
  .list-title a:hover{text-decoration:underline;}
  .list-meta{display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:var(--muted); font-size:.9rem;}
  .pill{padding:4px 8px; border-radius:999px; background:#eef2ff; color:var(--accent-ink); font-weight:700; font-size:.88rem;}
  .pill.success{background:#dcfce7; color:#166534;}
  .pill.danger{background:var(--danger-soft); color:#b91c1c;}
  .pill.neutral{background:#f1f5f9; color:#0f172a;}
  .pill.light{background:#f8fafc; color:var(--muted);}
	  .list-id{font-weight:800; letter-spacing:.4px; color:#0f172a;}
	  .thumb{position:relative; flex:0 0 var(--thumb);}
	  .image-wrap{position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:12px; background:linear-gradient(180deg,#eef1f6,#fafbff);}
	  .image-wrap img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s ease;}
	  .image-wrap:hover img{transform:scale(1.04);}
	  .zoom-btn{position:absolute; right:10px; bottom:10px; padding:5px 10px; font-size:.82rem; border:1px solid rgba(15,30,60,.12); border-radius:999px; background:rgba(255,255,255,.75); cursor:pointer; transition:var(--transition);}
  .zoom-btn:hover{background:rgba(255,255,255,.9);}
  .zoom-btn::before{content:"🔍"; margin-right:6px;}
  .info{flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; font-size:.9em;}
  .title{margin:0; font-size:1.2em; line-height:1.25;}
  .title a{color:var(--accent-ink); text-decoration:none; text-underline-offset:3px; text-decoration-thickness:1px;}
  .title a:hover{text-decoration:underline;}
  .meta-grid{display:grid; grid-template-columns:70px 100fr; gap:6px 10px; align-items:center; font-size:0.95em;}
  .card .meta-grid{margin-left:-6px;}
  .meta-label{color:var(--muted); text-align:right; padding-top:0; align-self:center;}
  .meta-content{color:var(--text); display:flex; align-items:center; gap:4px; flex-wrap:wrap;}
  .chips{display:flex; flex-wrap:wrap; gap:4px;}
  .chip{display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border:1px solid var(--border); border-radius:999px; background:#fff; font-size:0.8rem; line-height:1; color:var(--accent);}
  .chip:hover{text-decoration:none; background:#f7f9ff;}
  .chip:focus-visible{outline:none; box-shadow:var(--focus);}
  .muted{color:var(--muted);}
  .count-display{display:flex; align-items:center; gap:8px;}
  .empty{padding:24px; background:var(--panel); border:1px dashed var(--border); border-radius:16px; text-align:center; color:#4b5563;}
  .pagination{display:flex; justify-content:center; align-items:center; gap:8px; margin:18px 0; flex-wrap:nowrap; white-space:nowrap; overflow-x:auto;}
  .pagination button{min-width:44px; min-height:44px; border:1px solid var(--border); border-radius:12px; background:var(--panel); cursor:pointer; padding:0 14px; font-weight:600; transition:var(--transition);}
  .pagination button:focus-visible{outline:none; box-shadow:var(--focus);}
  .pagination button:hover:not(:disabled){border-color:#cfd7ff; background:var(--accent-bg);}
  .pagination .current{font-weight:800; border-color:#cfd8ff; background:var(--accent-bg);}
	  .virtual-sentinel{height:1px; width:100%;}
	  .lightbox{position:fixed; inset:0; background:rgba(15,23,42,.65); display:flex; align-items:center; justify-content:center; padding:24px; z-index:9999;}
	  .lightbox[hidden]{display:none;}
	  .lightbox img{max-width:min(100%,var(--lightbox-max-width)); max-height:var(--lightbox-max-height); border-radius:16px; box-shadow:0 16px 40px rgba(0,0,0,.35); background:#fff; transform:scale(var(--lightbox-zoom)); transition:transform .15s ease;}
	  .lb-close{position:absolute; top:16px; right:16px; padding:10px 14px; border-radius:999px; border:1px solid var(--border); background:#fff; cursor:pointer;}
	  .lb-close:focus-visible{outline:none; box-shadow:var(--focus);}
  .back-to-top{position:fixed; right:16px; bottom:16px; width:54px; height:54px; border-radius:50%; border:1px solid var(--border); background:#fff url('top_icon.png') center/170% no-repeat; box-shadow:0 12px 28px rgba(15,30,60,.15); cursor:pointer; opacity:0; pointer-events:none; transition:var(--transition); z-index:80;}
  .back-to-top.is-visible{opacity:1; pointer-events:auto;}
  .back-to-top:hover{background-color:var(--accent-bg);}
  .back-to-top:focus-visible{outline:none; box-shadow:var(--focus);}
  @media (max-width:1280px){
    :root{
      --grid:calc(460px * var(--scale));
      --thumb:calc(260px * var(--scale));
    }
  }
  @media (max-width:1024px){
    :root{
      --grid:calc(420px * var(--scale));
      --thumb:calc(240px * var(--scale));
    }
    .header_inner{gap:18px;}
  }
  @media (max-width:768px){
    :root{
      --grid:min(100%, calc(340px * var(--scale)));
      --thumb:min(100%, calc(220px * var(--scale)));
      --radius:calc(15px * var(--scale));
    }
    .header_inner{flex-direction:column; align-items:flex-start; gap:12px;}
    .header-actions{width:100%; margin-left:0; padding:12px; gap:12px;}
    .header-actions .btn{width:100%;}
    .site-logo img{height:58px; max-height:62px;}
    .container{padding:28px 16px 32px;}
    .toolbar{position:static; padding:16px;}
    .toolbar-head{flex-direction:column; align-items:flex-start;}
    .toolbar-head-right{width:100%; justify-content:space-between;}
    .toolbar-body{flex-direction:column; align-items:stretch; width:100%;}
    .toolbar .group{width:100%; align-items:stretch;}
    .toolbar .group:not(:first-of-type){padding-left:0; margin-left:0;}
    .toolbar .group:not(:first-of-type)::before{display:none;}
    .toolbar select,.toolbar .btn{width:100%;}
    .toolbar .group-title{width:100%; text-align:left;}
    .status-stack{margin:16px 0 20px;}
    .list-item{grid-template-columns:1fr; align-items:flex-start;}
    .list-meta{justify-content:flex-start;}
  }
  @media (max-width:560px){
    :root{
      --grid:100%;
      --thumb:100%;
    }
    .page-subtitle{font-size:.95rem;}
    .card{flex-direction:column;}
    .thumb{width:100%;}
    .meta-grid{grid-template-columns:70px 1fr;}
    .back-to-top{right:12px; bottom:12px; width:48px; height:48px;}
  }
  @media (prefers-reduced-motion: reduce){
    .page-header{transition:none;}
  }
  .recheck-section{margin:48px auto 32px; max-width:960px;}
  .recheck-section .card{padding:16px; box-shadow:0 20px 40px rgba(15,30,60,.08);}
  .recheck-section h2{margin:0 0 8px; font-size:1.2rem; color:#172033;}
  .recheck-section .progress{margin-top:12px;}
  .recheck-card{display:flex; flex-direction:column; gap:12px;}
  .recheck-card .recheck-header{display:flex; flex-direction:column; gap:6px;}
  .recheck-card h2{margin:0;}
  .recheck-card .small{margin:0; color:var(--muted);}
  .recheck-status .small{display:block;}
  .recheck-card .progress{margin-top:0;}
  .log-panel{border:1px solid var(--border); border-radius:14px; padding:12px 16px; background:#f8fbff;}
  .log-panel summary{font-weight:600; font-size:.9rem; cursor:pointer; display:flex; align-items:center; gap:6px;}
  .log-panel summary::-webkit-details-marker{display:none;}
  .log-panel summary::before{content:"▽"; transition:transform .2s ease;}
  .log-panel[open] summary::before{transform:rotate(-180deg);}
  .log-panel .log{margin:8px 0 0; min-height:80px; max-height:220px; overflow:auto; white-space:pre-wrap; font-family:"SFMono-Regular","Menlo","Consolas",monospace; font-size:.85rem; line-height:1.4; color:#0f172a;}
