.check-tabs{
    display:flex;
    gap:10px;
    margin:20px 0;
}

.check-tab-btn{
    flex:1;
    padding:12px 16px;
    border:none;
    border-radius:999px;
    background:rgba(255,255,255,0.10);
    color:white;
    font-weight:bold;
    cursor:pointer;
}

.check-tab-btn.active{
    background:linear-gradient(135deg, #f59e0b, #0ea5e9);
    box-shadow:0 0 16px rgba(14,165,233,0.35);
}

.check-tab-panel.hidden{
    display:none;
}

.daily-panel{
	margin-top:22px;
	padding:20px;
	border-radius:22px;
	background:rgba(255,255,255,0.09);
	border:1px solid rgba(255,255,255,0.16);
	backdrop-filter:blur(16px);
	position:relative;
	z-index:10;
}

.daily-status{
	margin-top:16px;
	padding:12px 14px;
	border-radius:14px;
	background:rgba(255,255,255,0.08);
	font-size:14px;
	opacity:0.9;
}

.daily-main-card{
	margin-top:18px;
	padding:22px;
	border-radius:22px;
	background:linear-gradient(
		135deg,
		rgba(245,158,11,0.20),
		rgba(14,165,233,0.12)
	);
	border:1px solid rgba(255,255,255,0.16);
}

.daily-label,
.daily-card-label{
	display:inline-block;
	padding:5px 12px;
	border-radius:999px;
	font-size:12px;
	font-weight:bold;
	background:rgba(14,165,233,0.22);
	color:#bae6fd;
	margin-bottom:10px;
}

.daily-main-card h3{
	margin:0 0 12px;
	font-size:26px;
	line-height:1.35;
}

.daily-main-text{
	line-height:1.9;
	font-size:15px;
}

.daily-score-grid{
	display:grid;
	grid-template-columns:repeat(5, minmax(0, 1fr));
	gap:12px;
	margin-top:18px;
}

.daily-score-card{
	padding:16px;
	border-radius:18px;
	background:rgba(255,255,255,0.10);
	border:1px solid rgba(255,255,255,0.14);
	text-align:center;
}

.daily-score-label{
	font-size:13px;
	opacity:0.75;
	margin-bottom:8px;
}

.daily-score-value{
	font-size:30px;
	font-weight:bold;
}

.daily-advice-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:14px;
	margin-top:18px;
}

.daily-advice-card{
	padding:18px;
	border-radius:18px;
	background:rgba(255,255,255,0.10);
	border:1px solid rgba(255,255,255,0.14);
	min-height:180px;
	line-height:1.8;
}

.daily-advice-card h3{
	margin:0 0 10px;
	font-size:20px;
}

.daily-mini-link{
	margin-top:18px;
	padding:18px;
	border-radius:18px;
	background:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.12);
	text-align:center;
}

.daily-mini-link p{
	margin:0 0 10px;
	opacity:0.8;
}

.daily-mini-link a{
	display:inline-block;
	padding:10px 18px;
	border-radius:999px;
	background:linear-gradient(135deg, #f59e0b, #0ea5e9);
	color:white;
	text-decoration:none;
	font-weight:bold;
	box-shadow:0 0 16px rgba(14,165,233,0.30);
}

.daily-note{
	margin-top:18px;
	padding:12px 14px;
	border-radius:14px;
	background:rgba(255,255,255,0.07);
	border:1px solid rgba(255,255,255,0.10);
	font-size:13px;
	opacity:0.85;
	line-height:1.7;
}

@media (max-width:900px){

	.daily-score-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.daily-advice-grid{
		grid-template-columns:1fr;
	}
}

@media (max-width:520px){

	.daily-score-grid{
		grid-template-columns:1fr;
	}

	.daily-main-card{
		padding:18px;
	}

	.daily-main-card h3{
		font-size:22px;
	}
}

.daily-diff-card{
	margin-top:18px;
	padding:18px;
	border-radius:18px;
	background:rgba(255,255,255,0.10);
	border:1px solid rgba(255,255,255,0.14);
	line-height:1.8;
}

.daily-diff-card h3{
	margin:0 0 10px;
	font-size:20px;
}

.daily-mail-card{
	margin-top:18px;
	padding:18px;
	border-radius:18px;
	background:rgba(255,255,255,0.10);
	border:1px solid rgba(255,255,255,0.14);
	line-height:1.8;
}

.daily-mail-card h3{
	margin:0 0 10px;
	font-size:20px;
}

.daily-mail-card pre{
	margin:12px 0;
	padding:14px;
	border-radius:14px;
	background:rgba(0,0,0,0.20);
	border:1px solid rgba(255,255,255,0.10);
	color:#fff;
	white-space:pre-wrap;
	word-break:break-word;
	font-family:inherit;
	line-height:1.8;
}

.daily-mail-button{
	margin-top:8px;
	padding:10px 18px;
	border:none;
	border-radius:999px;
	background:linear-gradient(135deg, #f59e0b, #0ea5e9);
	color:white;
	font-weight:bold;
	cursor:pointer;
	box-shadow:0 0 16px rgba(14,165,233,0.30);
}

.daily-mail-button:hover{
	opacity:0.9;
}

.daily-mail-subject-box{
	margin:12px 0;
	padding:12px 14px;
	border-radius:14px;
	background:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.10);
}

.daily-mail-subject-label{
	font-size:12px;
	opacity:0.7;
	margin-bottom:4px;
}

#dailyMailSubject{
	font-weight:bold;
	line-height:1.6;
}

.daily-mail-toggle{
    display:flex;
    align-items:center;
    gap:10px;
    margin:14px 0 10px;
    padding:12px 14px;
    border-radius:14px;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.12);
    font-weight:bold;
}

.daily-mail-toggle input{
    width:18px;
    height:18px;
}

.daily-mail-off-note{
    margin:10px 0;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(245,158,11,0.16);
    border:1px solid rgba(245,158,11,0.28);
    font-size:13px;
    line-height:1.7;
}

.daily-mail-off-note.hidden{
    display:none;
}

.daily-mail-button.disabled,
.daily-mail-button:disabled{
    opacity:0.45;
    cursor:not-allowed;
    filter:grayscale(0.3);
}

.compass-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin-top:18px;
}

.compass-card{
    padding:18px;
    border-radius:18px;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.14);
    text-align:center;
    opacity:0.72;
    transition:0.25s;
}

.compass-card.active{
    opacity:1;
    transform:translateY(-3px);
    background:linear-gradient(
        135deg,
        rgba(245,158,11,0.30),
        rgba(14,165,233,0.22)
    );
    box-shadow:0 0 20px rgba(14,165,233,0.35);
}

.compass-icon{
    font-size:34px;
    margin-bottom:8px;
}

.compass-card h3{
    margin:0 0 6px;
    font-size:20px;
}

.compass-card p{
    margin:0;
    opacity:0.8;
    font-size:13px;
}

@media (max-width:900px){

    .compass-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:520px){

    .compass-grid{
        grid-template-columns:1fr;
    }
}

.aura-card-section{
    margin-top:22px;
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.14);
}

.aura-card-section h3{
    margin:0 0 14px;
    font-size:22px;
}

.aura-card{
    padding:22px;
    border-radius:24px;
    background:
        radial-gradient(
            circle at top left,
            rgba(245,158,11,0.28),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(15,23,42,0.96),
            rgba(30,64,175,0.40)
        );
    border:1px solid rgba(255,255,255,0.20);
    box-shadow:0 0 24px rgba(14,165,233,0.18);
}

.aura-card-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    font-size:13px;
    opacity:0.85;
}

.aura-card-brand{
    font-weight:bold;
    letter-spacing:0.04em;
}

.aura-card-date{
    opacity:0.75;
}

.aura-card-main{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}

.aura-card-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.18);
}

.aura-card-label{
    font-size:13px;
    opacity:0.75;
    margin-bottom:4px;
}

.aura-card-main h2{
    margin:0;
    font-size:30px;
}

.aura-card-scores{
    display:grid;
    grid-template-columns:repeat(5, 96px);
    justify-content:center;
    gap:10px;
    margin:18px auto;
}

.aura-card-scores div{
    width:96px;
    padding:10px 8px;
    border-radius:14px;
    text-align:center;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.12);
}

.aura-card-scores span{
    display:block;
    font-size:12px;
    opacity:0.7;
    margin-bottom:4px;
}

.aura-card-scores b{
    font-size:22px;
}

.aura-card-message{
    margin-top:14px;
    padding:14px;
    border-radius:16px;
    background:rgba(255,255,255,0.10);
    line-height:1.8;
}

.aura-card-note{
    margin-top:12px;
    font-size:12px;
    opacity:0.72;
    line-height:1.6;
}

@media (max-width:700px){

    .aura-card-scores{
        grid-template-columns:repeat(2, 140px);
        justify-content:center;
    }

    .aura-card-scores div{
        width:140px;
    }

    .aura-card-main h2{
        font-size:24px;
    }
}

@media (max-width:420px){

    .aura-card-scores{
        grid-template-columns:repeat(2, 1fr);
    }

    .aura-card-scores div{
        width:auto;
    }
}

/* =========================
   Compass Mobile Compact
   スマホ用：余白とカードを圧縮
========================= */
@media (max-width: 520px){

    /* Compass全体 */
    #compassTabPanel .daily-panel{
        padding:14px;
        border-radius:20px;
    }

    #compassTabPanel .section-head h2{
        font-size:26px;
    }

    #compassTabPanel .section-head p{
        font-size:15px;
        line-height:1.7;
    }

    #compassTabPanel .daily-status{
        padding:10px 12px;
        margin-top:12px;
        font-size:14px;
    }

    /* メインカード */
    #compassTabPanel .compass-main-card{
        padding:16px;
        margin-top:14px;
        border-radius:20px;
    }

    #compassTabPanel .compass-main-card h3{
        font-size:27px;
        line-height:1.45;
    }

    #compassTabPanel .daily-main-text{
        font-size:16px;
        line-height:1.75;
    }

    /* 5方向カード：1列 → 2列 */
    #compassTabPanel .compass-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:10px;
        margin-top:14px;
    }

    #compassTabPanel .compass-card{
        padding:12px 8px;
        min-height:106px;
        border-radius:16px;
    }

    #compassTabPanel .compass-icon{
        font-size:30px;
        margin-bottom:4px;
    }

    #compassTabPanel .compass-card h3{
        font-size:20px;
        margin-bottom:2px;
    }

    #compassTabPanel .compass-card p{
        font-size:13px;
    }

    /* Balanceだけ横幅いっぱい */
    #compassTabPanel #compassBalance{
        grid-column:1 / -1;
    }

    /* スコア：縦1列 → 横5個 */
    #compassTabPanel .compass-score-grid{
        display:grid;
        grid-template-columns:repeat(5, minmax(0, 1fr));
        gap:6px;
        margin-top:14px;
    }

    #compassTabPanel .compass-score-grid .daily-score-card{
        padding:9px 4px;
        border-radius:14px;
    }

    #compassTabPanel .compass-score-grid .daily-score-label{
        font-size:10px;
        margin-bottom:4px;
    }

    #compassTabPanel .compass-score-grid .daily-score-value{
        font-size:22px;
    }

    /* Action / Care を圧縮 */
    #compassTabPanel .daily-advice-grid{
        grid-template-columns:1fr;
        gap:10px;
        margin-top:14px;
    }

    #compassTabPanel .daily-advice-card{
        min-height:auto;
        padding:14px;
        border-radius:16px;
        line-height:1.7;
    }

    #compassTabPanel .daily-advice-card h3{
        font-size:22px;
        margin-bottom:8px;
    }

    /* Aura Card全体 */
    #compassTabPanel .aura-card-section{
        margin-top:16px;
        padding:14px;
        border-radius:20px;
    }

    #compassTabPanel .aura-card-section h3{
        font-size:26px;
        margin-bottom:12px;
    }

    #compassTabPanel .aura-card{
        padding:16px;
        border-radius:22px;
    }

    #compassTabPanel .aura-card-head{
        margin-bottom:14px;
    }

    #compassTabPanel .aura-card-main{
        gap:12px;
        margin-bottom:14px;
    }

    #compassTabPanel .aura-card-icon{
        width:52px;
        height:52px;
        font-size:30px;
        border-radius:16px;
    }

    #compassTabPanel .aura-card-main h2{
        font-size:28px;
    }

    #compassTabPanel .aura-card-scores{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:8px;
        margin:14px 0;
    }

    #compassTabPanel .aura-card-scores div{
        width:auto;
        padding:10px 6px;
    }

    #compassTabPanel .aura-card-message{
        padding:12px;
        font-size:15px;
        line-height:1.75;
    }

    #compassTabPanel .aura-card-note{
        font-size:11px;
    }
}

/* =========================
   AI Daily+
========================= */
.ai-daily-plus-card{
    margin-top:18px;
    padding:20px;
    border-radius:22px;
    background:
        radial-gradient(
            circle at top left,
            rgba(245,158,11,0.26),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(30,41,59,0.94),
            rgba(14,165,233,0.14)
        );
    border:1px solid rgba(255,255,255,0.16);
    box-shadow:0 0 22px rgba(14,165,233,0.15);
    line-height:1.8;
}

.ai-daily-plus-card.unlocked{
    border-color:rgba(245,158,11,0.45);
    box-shadow:0 0 26px rgba(245,158,11,0.18);
}

.ai-daily-plus-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
}

.ai-daily-plus-head h3{
    margin:0;
    font-size:24px;
    line-height:1.35;
}

.ai-daily-plus-label{
    background:rgba(245,158,11,0.22);
    color:#fde68a;
}

.ai-daily-plus-badge{
    padding:6px 12px;
    border-radius:999px;
    background:rgba(245,158,11,0.22);
    border:1px solid rgba(245,158,11,0.32);
    color:#fde68a;
    font-size:12px;
    font-weight:bold;
    white-space:nowrap;
}

.ai-daily-plus-lead{
    margin:12px 0 14px;
    opacity:0.88;
}

.ai-daily-plus-text{
    padding:14px;
    border-radius:16px;
    background:rgba(0,0,0,0.20);
    border:1px solid rgba(255,255,255,0.12);
    white-space:normal;
}

.ai-daily-plus-card.opened .ai-daily-plus-text{
    background:rgba(255,255,255,0.09);
}

.ai-daily-plus-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}

.ai-daily-plus-button{
    margin-top:0;
}

.ai-daily-plus-sub-button{
    padding:10px 16px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.16);
    background:rgba(255,255,255,0.09);
    color:white;
    font-weight:bold;
    cursor:pointer;
}

.ai-daily-plus-sub-button:hover{
    background:rgba(255,255,255,0.14);
}

.ai-daily-plus-note{
    display:block;
    margin-top:8px;
    font-size:12px;
    opacity:0.78;
}

@media (max-width:520px){

    .ai-daily-plus-card{
        padding:16px;
        border-radius:20px;
    }

    .ai-daily-plus-head{
        flex-direction:column;
        gap:8px;
    }

    .ai-daily-plus-head h3{
        font-size:22px;
    }

    .ai-daily-plus-actions{
        flex-direction:column;
    }

    .ai-daily-plus-actions button{
        width:100%;
    }
}

@media (max-width: 520px){

    .ai-daily-plus-card{
        padding:22px 18px;
        border-radius:26px;
    }

    .ai-daily-plus-head{
        align-items:flex-start;
        gap:12px;
    }

    .ai-daily-plus-label{
        font-size:14px;
        line-height:1.25;
        padding:8px 14px;
        max-width:210px;
    }

    .ai-daily-plus-badge{
        flex:0 0 auto;
        width:64px;
        height:64px;
        border-radius:999px;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:16px;
        line-height:1.15;
        padding:0;
        text-align:center;
    }

    .ai-daily-plus-card h3{
        font-size:28px;
        line-height:1.35;
        margin-top:22px;
    }

    .ai-daily-plus-lead{
        font-size:17px;
        line-height:1.9;
    }

    .ai-daily-plus-text{
        font-size:18px;
        line-height:1.9;
        padding:20px;
    }

    .ai-daily-plus-actions{
        flex-direction:column;
        gap:12px;
    }

    .ai-daily-plus-button,
    .ai-daily-plus-sub-button{
        width:100%;
        min-height:54px;
        border-radius:999px;
        font-size:16px;
    }
}

@media (max-width:520px){

    .ai-daily-plus-card h3,
    .personality-plus-card h2{
        font-size:32px;
        line-height:1.25;
    }

    .ai-daily-plus-lead{
        font-size:18px;
        line-height:1.8;
    }

    .ai-daily-plus-text,
    #personalityPlusText{
        font-size:18px;
        line-height:1.85;
    }
}

/* =========================
   AI Plus Card - Mobile Adjust
========================= */
@media (max-width:520px){

    .ai-daily-plus-badge{
        width:auto;
        height:auto;
        min-width:82px;
        padding:10px 18px;
        border-radius:999px;

        display:inline-flex;
        align-items:center;
        justify-content:center;

        font-size:18px;
        font-weight:800;
        line-height:1.1;
        text-align:center;

        border:1px solid rgba(245,158,11,.85);
        color:#fde68a;
        background:rgba(120,80,25,.35);
    }

    .ai-daily-plus-card h3{
        font-size:34px;
        line-height:1.25;
        letter-spacing:-0.02em;
    }
}

@media (max-width:520px){

    .ai-daily-plus-card h3,
    .personality-plus-card h2{
        font-size:32px;
        line-height:1.25;
        letter-spacing:-0.02em;
    }
}

/* =========================
   AI Plus Cards - Final Mobile Fix
   Daily+ / Weekly+：有料バッジ右上・タイトル小さめ
========================= */
@media (max-width:520px){

    .ai-daily-plus-head{
        flex-direction:row;
        justify-content:space-between;
        align-items:flex-start;
        gap:12px;
    }

    .ai-daily-plus-head > div:first-child{
        flex:1 1 auto;
        min-width:0;
    }

    .ai-daily-plus-badge{
        flex:0 0 auto;
        width:auto;
        height:auto;
        min-width:82px;
        padding:9px 16px;
        border-radius:999px;

        display:inline-flex;
        align-items:center;
        justify-content:center;

        font-size:16px;
        font-weight:800;
        line-height:1.1;
        text-align:center;
        white-space:nowrap;

        border:1px solid rgba(245,158,11,.85);
        color:#fde68a;
        background:rgba(120,80,25,.28);
    }

    .ai-daily-plus-label{
        font-size:15px;
        line-height:1.25;
        padding:8px 14px;
        max-width:190px;
        white-space:nowrap;
    }

    .ai-daily-plus-card h3{
        font-size:26px;
        line-height:1.28;
        letter-spacing:-0.02em;
        margin-top:18px;
    }

    .ai-daily-plus-lead{
        font-size:16px;
        line-height:1.85;
    }

    .ai-daily-plus-text{
        font-size:16px;
        line-height:1.85;
        padding:18px;
    }

    .ai-daily-plus-button,
    .ai-daily-plus-sub-button{
        width:100%;
        min-height:54px;
        border-radius:999px;
        font-size:16px;
    }
}

.ai-plus-meta{
	margin-bottom:14px;
	padding:10px 14px;
	border-radius:14px;
	background:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.12);
	color:rgba(255,255,255,0.86);
	font-size:13px;
	line-height:1.6;
}