/* ===== DASHBOARD ===== */
.band--dashboard{
    background:var(--bg-panel);
    border-bottom:1px solid var(--border)
}
.band--dashboard .band-inner{
    padding-top:32px;padding-bottom:32px
}
.dashboard-columns{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:32px
}
.dashboard-col{
    border:1px solid var(--border);
    background:var(--bg-page);
    padding:20px;
    position:relative
}
.dashboard-col::before,.dashboard-col::after{
    content:'';position:absolute;width:10px;height:10px;
    border-color:var(--border-ornament);border-style:solid;
    opacity:var(--ornament-opacity);pointer-events:none
}
.dashboard-col::before{
    top:6px;left:6px;border-width:1px 0 0 1px
}
.dashboard-col::after{
    top:6px;right:6px;border-width:1px 1px 0 0
}
.dashboard-col__corners{
    position:absolute;inset:0;pointer-events:none
}
.dashboard-col__corners::before,
.dashboard-col__corners::after{
    content:'';position:absolute;width:10px;height:10px;
    border-color:var(--border-ornament);border-style:solid;
    opacity:var(--ornament-opacity)
}
.dashboard-col__corners::before{
    bottom:6px;left:6px;border-width:0 0 1px 1px
}
.dashboard-col__corners::after{
    bottom:6px;right:6px;border-width:0 1px 1px 0
}
.dashboard-col__header{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:14px;font-weight:600;letter-spacing:2px;
    text-transform:uppercase;color:var(--text-dim);
    padding-bottom:14px;
    border-bottom:1px solid var(--border);
    margin-bottom:16px;
    display:flex;align-items:center;gap:8px
}
.dashboard-col__header .diamond{
    font-size:8px;color:var(--accent);opacity:.5
}
.dashboard-col__empty{
    font-family:system-ui,-apple-system,sans-serif;
    font-size:13px;color:var(--text-faint);
    padding:16px 0
}

/* Latest chapters with preview */
.chapter-item{
    display:block;text-decoration:none;
    padding:12px 0;
    border-bottom:1px solid var(--border-subtle);
    color:inherit
}
.chapter-item:last-child{border-bottom:none}
.chapter-item:hover .chapter-item__title{
    color:var(--accent)
}
.chapter-item__meta{
    display:flex;align-items:baseline;gap:8px;
    margin-bottom:4px
}
.chapter-item__number{
    font-size:12px;color:var(--accent);font-weight:600;
    letter-spacing:.5px;white-space:nowrap
}
.chapter-item__title{
    font-size:14px;color:var(--text-primary);
    transition:color .2s;
    white-space:nowrap;overflow:hidden;
    text-overflow:ellipsis
}
.chapter-item__preview{
    font-size:13px;color:var(--text-faint);
    line-height:1.5;
    display:-webkit-box;-webkit-line-clamp:2;
    -webkit-box-orient:vertical;overflow:hidden
}
.chapter-item__time{
    font-size:11px;color:var(--text-muted);margin-top:4px
}

/* Recent comments */
.recent-comments{
    display:flex;flex-direction:column
}
.recent-comment{
    display:flex;gap:12px;
    padding:14px 10px;height:88px;
    text-decoration:none;color:inherit;
    border-bottom:1px solid var(--border-subtle);
    transition:background .15s;overflow:hidden
}
.recent-comment:last-child{border-bottom:none}
.recent-comment:hover{
    background:rgba(var(--accent-rgb),.04);color:inherit
}
.recent-comment__avatar{
    width:48px;height:48px;flex-shrink:0;
    background:linear-gradient(
        135deg,var(--bg-inset) 0%,var(--bg-deep) 100%
    );
    border:1px solid var(--border-accent);
    display:flex;align-items:center;
    justify-content:center;overflow:hidden
}
.recent-comment__avatar img{
    width:100%;height:100%;object-fit:cover
}
.recent-comment__initial{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:22px;font-weight:600;
    color:var(--accent);text-transform:uppercase
}
.recent-comment__body{min-width:0;flex:1}
.recent-comment__meta{
    font-family:system-ui,-apple-system,sans-serif;
    font-size:13px;display:flex;gap:8px;
    align-items:baseline;margin-bottom:2px
}
.recent-comment__author{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:15px;font-weight:600;
    color:var(--text-primary)
}
.recent-comment__ref{
    color:var(--text-faint);font-size:12px;
    overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap
}
.recent-comment__text{
    font-family:system-ui,-apple-system,sans-serif;
    font-size:13px;color:var(--text-dim);
    line-height:1.3;word-break:break-all;
    display:-webkit-box;-webkit-line-clamp:2;
    -webkit-box-orient:vertical;overflow:hidden
}
.recent-comment__time{
    font-family:system-ui,-apple-system,sans-serif;
    font-size:11px;color:var(--text-faint);
    margin-top:2px
}

/* Translation progress spotlight */
.progress-spotlight{
    text-align:center;padding:8px 0
}
.spotlight-title{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:22px;font-weight:600;
    color:var(--text-primary);margin-bottom:4px
}
.spotlight-subtitle{
    font-size:13px;color:var(--text-dim);
    margin-bottom:28px
}
.progress-fraction{
    margin:0 auto 8px;
    display:flex;align-items:baseline;
    justify-content:center;gap:8px
}
.progress-fraction__current{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:56px;font-weight:700;
    color:var(--text-primary);line-height:1
}
.progress-fraction__sep{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:32px;font-weight:400;
    color:var(--text-faint);line-height:1
}
.progress-fraction__total{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:32px;font-weight:400;
    color:var(--text-dim);line-height:1
}
.progress-fraction__label{
    font-size:11px;letter-spacing:2px;
    text-transform:uppercase;
    color:var(--text-faint);margin-bottom:20px
}
.progress-bar-wide{
    height:3px;background:var(--border);
    position:relative;margin:0 16px 24px
}
.progress-bar-wide__fill{
    position:absolute;left:0;top:0;height:100%;
    background:var(--accent)
}
.progress-stats{
    display:grid;grid-template-columns:1fr 1fr;
    gap:12px;margin-top:16px
}
.progress-stat{
    text-align:center;padding:12px 8px;
    background:var(--bg-inset);
    border:1px solid var(--border-subtle)
}
.progress-stat__value{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:20px;font-weight:600;
    color:var(--text-primary)
}
.progress-stat__label{
    font-size:10px;color:var(--text-faint);
    letter-spacing:.5px;text-transform:uppercase;
    margin-top:2px
}

/* ===== HERO (homepage continue reading) ===== */
.band--hero{
    background:var(--bg-panel);
    border-bottom:1px solid var(--border)
}
.band--hero .band-inner{
    padding-top:40px;padding-bottom:40px
}
.hero-frame{
    position:relative;padding:32px 40px
}
.hero-layout{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:40px;align-items:center
}
.hero-cover{
    width:120px;height:168px;
    background:var(--bg-inset);
    border:1px solid var(--border);
    overflow:hidden;flex-shrink:0
}
.hero-cover img{
    width:100%;height:100%;object-fit:cover
}
.hero-cover__placeholder{
    width:100%;height:100%;
    display:flex;align-items:center;
    justify-content:center;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:48px;color:var(--text-faint);
    font-weight:600
}
.hero-body{min-width:0}
.hero-label{
    font-size:11px;letter-spacing:3px;
    text-transform:uppercase;
    color:var(--accent);margin-bottom:8px;
    font-weight:600
}
.hero-title{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:28px;font-weight:600;
    color:var(--text-primary);
    line-height:1.3;margin-bottom:4px
}
.hero-chapter{
    font-size:15px;color:var(--text-dim);
    margin-bottom:20px
}
.hero-progress{margin-bottom:20px}
.hero-progress-bar{
    height:3px;background:var(--border);
    position:relative;margin-bottom:8px
}
.hero-progress-fill{
    position:absolute;left:0;top:0;height:100%;
    background:var(--accent);
    transition:width .6s ease
}
.hero-progress-text{
    font-size:12px;color:var(--text-faint);
    letter-spacing:.5px
}
.hero-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 32px;
    background:transparent;
    border:1px solid var(--accent);
    color:var(--accent);
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:16px;font-weight:600;letter-spacing:2px;
    text-transform:uppercase;cursor:pointer;
    transition:all .2s ease;text-decoration:none
}
.hero-btn:hover{
    background:var(--accent);color:var(--bg-deep)
}
.hero-btn svg{width:16px;height:16px}
.hero-stats{
    display:flex;flex-direction:column;gap:20px;
    padding-left:40px;
    border-left:1px solid var(--border)
}
.hero-stat{text-align:center}
.hero-stat__value{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:32px;font-weight:600;
    color:var(--text-primary);line-height:1
}
.hero-stat__label{
    font-size:11px;letter-spacing:1px;
    text-transform:uppercase;
    color:var(--text-faint);margin-top:4px
}

/* ===== SEARCH ===== */
.search-wrap{
    width:240px;position:relative
}
input.search-input{
    width:100%;padding:5px 12px 5px 30px;
    background:var(--bg-inset);
    border:1px solid var(--border);
    color:var(--text);
    font-family:system-ui,-apple-system,sans-serif;
    font-size:13px;outline:none;
    transition:border-color .2s
}
.search-input::placeholder{color:var(--text-faint)}
.search-input:focus{border-color:var(--accent)}
.search-icon{
    position:absolute;left:9px;top:50%;
    transform:translateY(-50%);
    color:var(--text-faint);
    width:13px;height:13px;
    pointer-events:none
}

/* ===== NOVEL CATALOG ===== */
.band--catalog{background:var(--bg-panel)}
.band--catalog .band-inner{padding-top:28px;padding-bottom:36px}
.catalog-subtitle{
    color:var(--text-dim);font-size:12px;
    letter-spacing:.5px;margin:-16px 0 20px;
    opacity:.6
}
.catalog-header{
    display:flex;align-items:center;
    justify-content:space-between;margin-bottom:24px
}
.novel-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:20px
}
.novel-card{
    border:1px solid var(--border);background:var(--bg-surface);
    text-decoration:none;color:inherit;display:flex;
    flex-direction:column;transition:border-color .2s,box-shadow .2s;
    position:relative
}
.novel-card:hover{
    border-color:var(--accent);
    box-shadow:0 0 16px var(--accent-glow);color:inherit
}
.novel-card::before,.novel-card::after{
    content:'';position:absolute;width:12px;height:12px;
    opacity:var(--ornament-opacity);pointer-events:none
}
.novel-card::before{
    top:-1px;left:-1px;
    border-top:2px solid var(--accent);
    border-left:2px solid var(--accent)
}
.novel-card::after{
    bottom:-1px;right:-1px;
    border-bottom:2px solid var(--accent);
    border-right:2px solid var(--accent)
}
.novel-card__corners{position:absolute;inset:0;pointer-events:none}
.novel-card__corners::before,.novel-card__corners::after{
    content:'';position:absolute;width:12px;height:12px;
    opacity:var(--ornament-opacity)
}
.novel-card__corners::before{
    top:-1px;right:-1px;
    border-top:2px solid var(--accent);
    border-right:2px solid var(--accent)
}
.novel-card__corners::after{
    bottom:-1px;left:-1px;
    border-bottom:2px solid var(--accent);
    border-left:2px solid var(--accent)
}
.novel-card__cover{
    width:100%;aspect-ratio:3/4;background:var(--bg-inset);
    display:flex;align-items:center;justify-content:center;
    border-bottom:1px solid var(--border-subtle);overflow:hidden
}
.novel-card__cover img{width:100%;height:100%;object-fit:cover}
.novel-card__glyph{
    font-size:56px;color:var(--accent);opacity:.2;
    font-family:'Cormorant Garamond',Georgia,serif
}
.novel-card__body{
    padding:16px;flex:1;display:flex;flex-direction:column
}
.novel-card__title{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:18px;font-weight:600;color:var(--text-primary);
    line-height:1.3;margin-bottom:8px
}
.novel-card__meta{
    font-family:system-ui,-apple-system,sans-serif;
    font-size:12px;color:var(--text-muted);margin-bottom:10px;
    display:flex;align-items:center;gap:8px
}
.novel-card__tag{
    display:inline-block;padding:1px 6px;
    border:1px solid var(--border);background:var(--bg-inset);
    font-size:10px;font-weight:600;letter-spacing:.5px;
    text-transform:uppercase;color:var(--text-dim)
}
.novel-card__desc{
    font-family:'EB Garamond',Georgia,serif;
    font-size:14px;line-height:1.6;color:var(--text-dim);flex:1;
    display:-webkit-box;-webkit-line-clamp:3;
    -webkit-box-orient:vertical;overflow:hidden
}
.novel-card__progress{margin-top:12px}
.novel-card__progress-bar{width:100%;height:2px;background:var(--bg-deep)}
.novel-card__progress-fill{
    height:100%;
    background:linear-gradient(90deg,var(--accent-dim),var(--accent))
}
.novel-card__progress-label{
    font-family:system-ui,-apple-system,sans-serif;
    font-size:11px;color:var(--text-faint);margin-top:4px
}

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){
    .hero-stats{display:none}
    .hero-layout{
        grid-template-columns:auto 1fr
    }
    .dashboard-columns{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){
    .novel-grid{
        grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px
    }
    .dashboard-columns{grid-template-columns:1fr}
    .hero-frame{padding:16px}
    .hero-layout{gap:24px}
}

@media(max-width:600px){
    .novel-grid{
        grid-template-columns:1fr 1fr;gap:10px;
        overflow:hidden
    }
    .novel-card{overflow:hidden}
    .novel-card__cover{aspect-ratio:2/3}
    .novel-card__body{padding:10px}
    .novel-card__title{font-size:15px}
    .novel-card__desc{display:none}
    .novel-card::before,.novel-card::after,
    .novel-card__corners::before,.novel-card__corners::after,
    .dashboard-col::before,.dashboard-col::after,
    .dashboard-col__corners::before,
    .dashboard-col__corners::after{display:none}
    .hero-cover{width:80px;height:112px}
    .hero-title{font-size:20px}
    .hero-frame{padding:12px}
    .search-wrap{width:160px}
}
