.plasaga-archive{
    background:#f8fafc;
    min-height:70vh;
    padding:34px 16px 56px;
}
.plasaga-archive-inner{
    width:min(1180px,100%);
    margin:0 auto;
}
.plasaga-archive-header{
    margin-bottom:22px;
    padding:28px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:20px;
}
.plasaga-eyebrow{
    margin-bottom:8px;
    color:#64748b;
    font-size:13px;
    font-weight:800;
}
.plasaga-archive-header h1{
    margin:0;
    color:#0f172a;
    font-size:clamp(26px,4vw,40px);
    line-height:1.25;
}
.plasaga-archive-lead{
    margin:12px 0 0;
    color:#475569;
    font-size:15px;
    line-height:1.8;
}
.plasaga-archive-count{
    display:inline-flex;
    margin-top:14px;
    padding:6px 10px;
    background:#f1f5f9;
    border-radius:999px;
    color:#475569;
    font-size:13px;
    font-weight:700;
}
.plasaga-draft-hint{
    margin-top:10px;
    padding:10px 12px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    border-radius:10px;
    color:#9a3412;
    font-size:13px;
    font-weight:700;
}
.plasaga-parent-work{
    display:block;
    margin-top:14px;
    color:#0284c7;
    text-decoration:none;
    font-weight:700;
}

.plasaga-character-filter{
    margin-bottom:18px;
    padding:20px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
}
.plasaga-section-label{
    margin-bottom:10px;
    color:#334155;
    font-size:14px;
    font-weight:800;
}
.plasaga-character-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.plasaga-character-links a{
    display:inline-flex;
    padding:8px 12px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:999px;
    color:#0f172a;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
}

.plasaga-status-tabs{
    display:flex;
    gap:8px;
    margin:0 0 18px;
    overflow-x:auto;
}
.plasaga-status-tabs a{
    flex:0 0 auto;
    padding:9px 15px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:10px;
    color:#475569;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
}
.plasaga-status-tabs a.is-active{
    background:#0f172a;
    border-color:#0f172a;
    color:#fff;
}

.plasaga-card-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.plasaga-card{
    overflow:hidden;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    box-shadow:0 4px 18px rgba(15,23,42,.04);
    transition:.15s ease;
}
.plasaga-card:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 25px rgba(15,23,42,.08);
}
.plasaga-card-image-link{
    display:block;
    aspect-ratio:1/1;
    background:#f1f5f9;
    overflow:hidden;
}
.plasaga-card-img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.plasaga-card-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px;
    color:#64748b;
    text-align:center;
    font-size:13px;
    font-weight:700;
}
.plasaga-card-body{
    padding:14px;
}
.plasaga-card-release{
    margin-bottom:7px;
    color:#4338ca;
    font-size:12px;
    font-weight:800;
}
.plasaga-card-title{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.55 !important;
}
.plasaga-card-title a{
    color:#0f172a;
    text-decoration:none;
}
.plasaga-card-maker{
    margin-top:9px;
    color:#64748b;
    font-size:12px;
}

.plasaga-empty{
    padding:42px 20px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    text-align:center;
    color:#475569;
}
.plasaga-empty strong{
    color:#0f172a;
}
.plasaga-pagination{
    margin-top:28px;
}
.plasaga-pagination ul{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:0;
    list-style:none;
}
.plasaga-pagination a,
.plasaga-pagination span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 10px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:9px;
    color:#334155;
    text-decoration:none;
    font-weight:700;
}
.plasaga-pagination .current{
    background:#0f172a;
    border-color:#0f172a;
    color:#fff;
}

@media(max-width:980px){
    .plasaga-card-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .plasaga-archive{
        padding:18px 10px 40px;
    }
    .plasaga-archive-header{
        padding:20px 17px;
        border-radius:15px;
    }
    .plasaga-character-filter{
        padding:16px;
    }
    .plasaga-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .plasaga-card{
        border-radius:12px;
    }
    .plasaga-card-body{
        padding:11px;
    }
    .plasaga-card-title{
        font-size:13px !important;
    }
    .plasaga-card-maker{
        font-size:11px;
    }
    .plasaga-card-release{
        font-size:11px;
    }
}


/* v0.8.1 プラサガ専用トーン */
body.plasaga-tax-page{
    background:#fffaf8;
}
body.plasaga-tax-page header,
body.plasaga-tax-page #header,
body.plasaga-tax-page .header-box{
    background:#ffffff !important;
    box-shadow:none !important;
    border-bottom:1px solid #f0e7e3 !important;
}
body.plasaga-tax-page header a,
body.plasaga-tax-page #header a,
body.plasaga-tax-page .header-box a{
    color:#2f2a2d !important;
}
body.plasaga-tax-page .plasaga-archive{
    background:
        radial-gradient(circle at 8% 0%, rgba(255,225,214,.35), transparent 28%),
        radial-gradient(circle at 92% 4%, rgba(232,226,255,.38), transparent 26%),
        #fffaf8;
}
body.plasaga-tax-page .plasaga-archive-header,
body.plasaga-tax-page .plasaga-character-filter,
body.plasaga-tax-page .plasaga-card,
body.plasaga-tax-page .plasaga-empty{
    border-color:#eee1dc;
}
body.plasaga-tax-page .plasaga-archive-header{
    border-radius:22px;
    box-shadow:0 8px 24px rgba(91,64,72,.05);
}
body.plasaga-tax-page .plasaga-eyebrow{
    color:#b66572;
}
body.plasaga-tax-page .plasaga-status-tabs a.is-active{
    background:linear-gradient(135deg,#d97986,#9b84d6);
    border-color:transparent;
}
body.plasaga-tax-page .plasaga-card{
    border-radius:18px;
}

/* v0.8.4 商品カード完成版 */
.plasaga-card{position:relative;}
.plasaga-card-hit{position:absolute;inset:0;z-index:5;border-radius:inherit;}
.plasaga-card-image-link{position:relative;z-index:1;}
.plasaga-card-body{position:relative;z-index:2;pointer-events:none;}
.plasaga-card-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px;}
.plasaga-card-release,.plasaga-card-status{display:inline-flex;align-items:center;width:max-content;margin:0;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.1;}
.plasaga-card-status{background:#f4f0ff;color:#7051a6;}
.plasaga-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.65em;}
.plasaga-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;}
.plasaga-card-tag{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc;color:#64748b;font-size:10px;font-weight:700;line-height:1.1;}
.plasaga-card-tag.is-exclusive{background:#fff0f3;border-color:#f6d5dc;color:#c65368;}
@media(max-width:700px){.plasaga-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.plasaga-card-badges{gap:4px;margin-bottom:6px}.plasaga-card-release,.plasaga-card-status{padding:4px 6px;font-size:9px}.plasaga-card-tags{gap:4px;margin-top:7px}.plasaga-card-tag{padding:3px 5px;font-size:8px}.plasaga-card-title{min-height:4.5em}}

.plasaga-work-character-all{
 display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;
 border:1px solid #dbe3ee;border-radius:999px;background:#fff;
 font-weight:700;text-decoration:none;
}
.plasaga-work-character-all:hover{opacity:.82}

/* v0.10.110 work character directory */
.plasaga-directory{background:#fff8f5;padding:28px 0 48px}
.plasaga-directory .plasaga-home-inner{width:min(1160px,calc(100% - 32px));margin:0 auto}
.plasaga-directory .plasaga-home-section{background:#fff;border:1px solid #eadfd9;border-radius:18px;padding:24px}
.plasaga-directory .plasaga-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.plasaga-directory .plasaga-section-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;color:#d35b69}
.plasaga-directory h1{margin:4px 0 0;font-size:28px;line-height:1.35;color:#0f172a}
.plasaga-directory .plasaga-section-head>a{font-weight:700;text-decoration:none}
.plasaga-kana-filter,.plasaga-kana-subfilter{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.plasaga-kana-filter a,.plasaga-kana-subfilter a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 12px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#172554;text-decoration:none;font-weight:700}
.plasaga-kana-filter a.is-active,.plasaga-kana-subfilter a.is-active{background:#172554;color:#fff;border-color:#172554}
.plasaga-kana-subfilter{padding:12px 14px;background:#f8fafc;border-radius:14px}
.plasaga-directory-summary{margin:18px 0 12px;color:#64748b;font-size:13px}
.plasaga-character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.plasaga-character-grid>a{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;text-decoration:none;color:#172554}
.plasaga-character-grid>a:hover{box-shadow:0 5px 16px rgba(15,23,42,.08);transform:translateY(-1px)}
.plasaga-character-name{font-weight:800}
.plasaga-character-grid small{color:#64748b}
.plasaga-directory-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}
.plasaga-directory-pagination a{display:inline-flex;padding:8px 14px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;text-decoration:none;font-weight:700}
@media(max-width:800px){
 .plasaga-directory{padding-top:16px}
 .plasaga-directory .plasaga-home-inner{width:min(100% - 20px,1160px)}
 .plasaga-directory .plasaga-home-section{padding:16px}
 .plasaga-directory .plasaga-section-head{display:block}
 .plasaga-directory .plasaga-section-head>a{display:inline-block;margin-top:10px}
 .plasaga-directory h1{font-size:22px}
 .plasaga-character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
