/* Mahiru BBS: theme CSS isolation */
body .mahiru-bbs, body .mahiru-bbs * { box-sizing: border-box !important; }
body .mahiru-bbs { max-width: 980px !important; width: 100% !important; margin: 20px auto !important; padding: 0 !important; font-family: system-ui,-apple-system,"Segoe UI",sans-serif !important; color: #233445 !important; line-height: 1.6 !important; text-align: left !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
body .mahiru-bbs div, body .mahiru-bbs form, body .mahiru-bbs article, body .mahiru-bbs label, body .mahiru-bbs p { font-family: inherit !important; color: inherit !important; }
body .mahiru-bbs a, body .mahiru-bbs span, body .mahiru-bbs strong, body .mahiru-bbs small, body .mahiru-bbs em { font-family: inherit !important; }
body .mahiru-bbs .mbbs-header { background: linear-gradient(90deg,#ffd3dc,#f2a8ad) !important; padding: 18px 24px !important; border-radius: 8px 8px 0 0 !important; margin: 0 0 24px 0 !important; border: 0 !important; box-shadow: none !important; }
body .mahiru-bbs .mbbs-header > h2 { margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 0 !important; border-bottom: 0 !important; background: transparent !important; box-shadow: none !important; color: #233445 !important; font-size: 28px !important; font-weight: 700 !important; line-height: 1.35 !important; letter-spacing: .04em !important; text-align: left !important; }
body .mahiru-bbs .mbbs-header > h2::before, body .mahiru-bbs .mbbs-header > h2::after, body .mahiru-bbs h3::before, body .mahiru-bbs h3::after { content: none !important; display: none !important; }
body .mahiru-bbs .mbbs-message { padding: 12px 16px !important; border-radius: 6px !important; margin: 12px 0 !important; }
body .mahiru-bbs .mbbs-success { background: #e9f8ec !important; border: 1px solid #8bd09a !important; }
body .mahiru-bbs .mbbs-error { background: #fff0f0 !important; border: 1px solid #e38a8a !important; }
body .mahiru-bbs .mbbs-form { display: block !important; background: #fff !important; padding: 24px !important; border: 1px solid #eee !important; border-radius: 8px !important; box-shadow: 0 2px 12px rgba(0,0,0,.04) !important; margin: 0 0 28px 0 !important; }
body .mahiru-bbs .mbbs-form label { display: block !important; margin: 12px 0 !important; padding: 0 !important; font-weight: 700 !important; color: #233445 !important; background: transparent !important; border: 0 !important; }
body .mahiru-bbs input[type=text], body .mahiru-bbs input[type=password], body .mahiru-bbs input[type=number], body .mahiru-bbs input[type=search], body .mahiru-bbs select, body .mahiru-bbs textarea { appearance: auto !important; -webkit-appearance: auto !important; border: 2px solid #ffc2f4 !important; border-radius: 5px !important; padding: 8px 10px !important; font-size: 16px !important; line-height: 1.4 !important; background: #fff !important; color: #233445 !important; box-shadow: none !important; outline: none !important; max-width: 100% !important; min-height: auto !important; }
body .mahiru-bbs input[type=text], body .mahiru-bbs input[type=password] { width: min(430px,100%) !important; }
body .mahiru-bbs textarea { display: block !important; width: 100% !important; max-width: 620px !important; margin-top: 8px !important; min-height: 110px !important; }
body .mahiru-bbs input[type=radio] { appearance: auto !important; -webkit-appearance: radio !important; width: auto !important; height: auto !important; margin: 0 4px 0 0 !important; padding: 0 !important; border: initial !important; box-shadow: none !important; }
body .mahiru-bbs .mbbs-radios { margin: 14px 0 !important; padding: 0 !important; }
body .mahiru-bbs .mbbs-radios strong { color: #233445 !important; }
body .mahiru-bbs .mbbs-radios label { font-weight: 400 !important; margin: 6px 20px 6px 0 !important; display: inline-block !important; }
body .mahiru-bbs .mbbs-count { display: block !important; font-weight: 400 !important; margin-top: 6px !important; }
body .mahiru-bbs .mbbs-count-fields { border-left: 10px solid #ffc2f4 !important; margin: 28px 0 !important; padding: 0 0 0 24px !important; display: grid !important; grid-template-columns: repeat(2,minmax(220px,1fr)) !important; gap: 12px 28px !important; background: transparent !important; box-shadow: none !important; }
body .mahiru-bbs .mbbs-count-fields h3 { grid-column: 1/-1 !important; margin: 0 0 16px 0 !important; padding: 0 !important; font-size: 24px !important; color: #233445 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
body .mahiru-bbs .mbbs-count-fields label { display: grid !important; grid-template-columns: 1fr 130px 30px !important; gap: 8px !important; align-items: center !important; margin: 0 !important; }
body .mahiru-bbs .mbbs-submit { appearance: none !important; -webkit-appearance: none !important; background: #d85a00 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 14px 54px !important; font-size: 22px !important; line-height: 1.2 !important; font-weight: 700 !important; box-shadow: 0 4px 10px rgba(0,0,0,.15) !important; cursor: pointer !important; text-decoration: none !important; }
body .mahiru-bbs .mbbs-list-head { display: flex !important; justify-content: space-between !important; gap: 16px !important; align-items: center !important; margin: 20px 0 !important; flex-wrap: wrap !important; }
body .mahiru-bbs .mbbs-total { font-weight: 700 !important; color: #233445 !important; }
body .mahiru-bbs .mbbs-tools { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
body .mahiru-bbs .mbbs-tools button, body .mahiru-bbs .mbbs-edit button { appearance: none !important; padding: 8px 14px !important; border: 1px solid #999 !important; background: #f7f7f7 !important; color: #233445 !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: none !important; }
body .mahiru-bbs .mbbs-post { border: 1px solid #eee !important; border-radius: 8px !important; padding: 16px !important; margin: 12px 0 !important; background: #fff !important; box-shadow: none !important; }
body .mahiru-bbs .mbbs-post-meta { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; align-items: center !important; }
body .mahiru-bbs .mbbs-post-meta em { background: #f8eef8 !important; color: #654099 !important; border-radius: 999px !important; padding: 2px 10px !important; font-style: normal !important; }
body .mahiru-bbs .mbbs-post-comment { margin: 12px 0 !important; line-height: 1.7 !important; }
body .mahiru-bbs .mbbs-post-counts { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }
body .mahiru-bbs .mbbs-post-counts span { background: #f6f6f6 !important; border-radius: 4px !important; padding: 4px 8px !important; }
body .mahiru-bbs .mbbs-edit { margin-top: 12px !important; }
body .mahiru-bbs .mbbs-edit form { border-top: 1px dashed #ddd !important; margin-top: 10px !important; padding-top: 10px !important; }
body .mahiru-bbs .mbbs-empty { color: #777 !important; }
@media(max-width:700px){body .mahiru-bbs .mbbs-header > h2{font-size:22px !important}body .mahiru-bbs .mbbs-form{padding:16px !important}body .mahiru-bbs .mbbs-count-fields{grid-template-columns:1fr !important}body .mahiru-bbs .mbbs-count-fields label{grid-template-columns:1fr 100px 28px !important}body .mahiru-bbs .mbbs-list-head{display:block !important}body .mahiru-bbs .mbbs-tools{margin-top:10px !important}body .mahiru-bbs .mbbs-submit{width:100% !important}}

.mahiru-bbs .mbbs-count{display:block;margin-top:6px;font-size:13px;line-height:1.5;color:#0b2b3f!important;}
.mahiru-bbs .mbbs-count em{font-style:normal;}
.mahiru-bbs .mbbs-count.mbbs-over{color:#d00!important;font-weight:700;}
.mahiru-bbs .mbbs-submit:disabled,
.mahiru-bbs .mbbs-submit.mbbs-disabled{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(1);}

/* v5: initial list view / form switch */
body .mahiru-bbs .mbbs-topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0 0 22px 0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
body .mahiru-bbs .mbbs-intro{font-size:20px!important;font-weight:700!important;line-height:1.6!important;color:#555!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
body .mahiru-bbs .mbbs-open-form{appearance:none!important;-webkit-appearance:none!important;background:#d85a00!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:16px 34px!important;font-size:22px!important;line-height:1.2!important;font-weight:700!important;box-shadow:0 4px 10px rgba(0,0,0,.18)!important;cursor:pointer!important;text-decoration:none!important;white-space:nowrap!important;}
body .mahiru-bbs .mbbs-is-hidden{display:none!important;}
body .mahiru-bbs.mbbs-form-mode .mbbs-list-area{display:none!important;}
body .mahiru-bbs.mbbs-form-mode .mbbs-form{display:block!important;}
body .mahiru-bbs .mbbs-form-actions{display:flex!important;gap:12px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:16px!important;}
body .mahiru-bbs .mbbs-back-list{appearance:none!important;-webkit-appearance:none!important;background:#f7f7f7!important;color:#233445!important;border:1px solid #999!important;border-radius:8px!important;padding:12px 22px!important;font-size:16px!important;font-weight:700!important;box-shadow:none!important;cursor:pointer!important;}
@media(max-width:700px){body .mahiru-bbs .mbbs-topbar{display:block!important}body .mahiru-bbs .mbbs-intro{font-size:16px!important;margin-bottom:12px!important}body .mahiru-bbs .mbbs-open-form{width:100%!important;font-size:18px!important}body .mahiru-bbs .mbbs-form-actions{display:block!important}body .mahiru-bbs .mbbs-back-list{width:100%!important;margin-top:10px!important}}


/* v6: summary panel */
body .mahiru-bbs .mbbs-summary{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:stretch!important;margin:0 0 22px 0!important;padding:12px!important;background:#fff!important;border:1px solid #eee!important;border-radius:8px!important;box-shadow:none!important;}
body .mahiru-bbs .mbbs-summary-item{display:flex!important;align-items:baseline!important;gap:5px!important;min-width:150px!important;padding:10px 14px!important;background:#fff7fb!important;border:1px solid #ffc2f4!important;border-radius:8px!important;color:#233445!important;}
body .mahiru-bbs .mbbs-summary-item span{font-weight:700!important;color:#233445!important;}
body .mahiru-bbs .mbbs-summary-item strong{font-size:24px!important;line-height:1!important;color:#d85a00!important;}
body .mahiru-bbs .mbbs-summary-item em{font-style:normal!important;color:#555!important;}
body .mahiru-bbs .mbbs-summary-total{background:#fff!important;border-color:#ddd!important;}
@media(max-width:700px){body .mahiru-bbs .mbbs-summary{display:grid!important;grid-template-columns:1fr 1fr!important}body .mahiru-bbs .mbbs-summary-item{min-width:0!important;padding:9px!important}body .mahiru-bbs .mbbs-summary-item strong{font-size:20px!important}}

/* v7: project type and multi simple comments */
body .mahiru-bbs input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;width:auto!important;height:auto!important;margin:0 5px 0 0!important;padding:0!important;border:initial!important;box-shadow:none!important;vertical-align:middle!important;}
body .mahiru-bbs .mbbs-project-label{background:#fff2e8!important;color:#d85a00!important;border:1px solid #ffd3b5!important;border-radius:999px!important;padding:2px 10px!important;font-weight:700!important;}
body .mahiru-bbs .mbbs-summary-project{background:#f7fbff!important;border-color:#cfe3ff!important;}

/* v8: Mahiru reply */
body .mahiru-bbs .mbbs-reply-card{margin:16px 0 0 28px!important;padding:16px 18px!important;background:#f8ebe5!important;border:1px solid #f2d8cf!important;border-radius:8px!important;box-shadow:none!important;color:#233445!important;}
body .mahiru-bbs .mbbs-reply-title{font-weight:700!important;font-size:17px!important;margin:0 0 8px 0!important;color:#d85a00!important;background:transparent!important;border:0!important;padding:0!important;}
body .mahiru-bbs .mbbs-reply-body{font-size:16px!important;line-height:1.7!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;}
body .mahiru-bbs .mbbs-reply-date{font-size:12px!important;color:#777!important;margin-top:8px!important;text-align:right!important;}
body .mahiru-bbs .mbbs-admin-reply{margin-top:12px!important;padding:10px!important;border:1px dashed #f2b7d8!important;border-radius:8px!important;background:#fffafd!important;}
body .mahiru-bbs .mbbs-admin-reply summary{cursor:pointer!important;font-weight:700!important;color:#233445!important;}
body .mahiru-bbs .mbbs-admin-reply form{margin-top:10px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
body .mahiru-bbs .mbbs-admin-reply textarea{max-width:100%!important;width:100%!important;}
body .mahiru-bbs .mbbs-admin-reply button{appearance:none!important;-webkit-appearance:none!important;background:#d85a00!important;color:#fff!important;border:0!important;border-radius:6px!important;padding:9px 18px!important;font-weight:700!important;cursor:pointer!important;box-shadow:none!important;}
body .mahiru-bbs .mbbs-badge-unanswered,body .mahiru-bbs .mbbs-badge-answered{display:inline-block!important;margin-left:8px!important;padding:2px 8px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important;}
body .mahiru-bbs .mbbs-badge-unanswered{background:#fff2e8!important;color:#d85a00!important;border:1px solid #ffd3b5!important;}
body .mahiru-bbs .mbbs-badge-answered{background:#e9f8ec!important;color:#008000!important;border:1px solid #8bd09a!important;}
@media(max-width:700px){body .mahiru-bbs .mbbs-reply-card{margin-left:0!important;padding:14px!important}}

/* v9: grouped summary panel and header copy */
body .mahiru-bbs .mbbs-intro strong{display:block!important;font-size:26px!important;line-height:1.4!important;margin:0 0 8px!important;color:#233445!important;font-weight:800!important;}
body .mahiru-bbs .mbbs-intro span{display:block!important;font-size:17px!important;line-height:1.7!important;color:#555!important;}
body .mahiru-bbs .mbbs-summary{display:block!important;margin:0 0 24px 0!important;padding:16px 18px!important;background:#fff!important;border:1px solid #e8e8e8!important;border-radius:12px!important;box-shadow:none!important;}
body .mahiru-bbs .mbbs-summary-main,body .mahiru-bbs .mbbs-summary-group{display:block!important;margin:0 0 18px 0!important;padding:0!important;background:transparent!important;border:0!important;}
body .mahiru-bbs .mbbs-summary-group:last-child{margin-bottom:0!important;}
body .mahiru-bbs .mbbs-summary-heading{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 10px 0!important;padding:0!important;font-size:15px!important;font-weight:800!important;line-height:1.4!important;color:#233445!important;background:transparent!important;border:0!important;}
body .mahiru-bbs .mbbs-summary-heading:before{content:""!important;display:block!important;width:8px!important;height:24px!important;border-radius:99px!important;background:#ffb4ef!important;}
body .mahiru-bbs .mbbs-summary-group-project .mbbs-summary-heading:before{background:#cfe3ff!important;}
body .mahiru-bbs .mbbs-summary-items{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:stretch!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;}
body .mahiru-bbs .mbbs-summary-item{display:flex!important;align-items:baseline!important;gap:5px!important;min-width:150px!important;padding:12px 16px!important;background:#fff7fb!important;border:1px solid #ffc2f4!important;border-radius:10px!important;color:#233445!important;box-shadow:none!important;}
body .mahiru-bbs .mbbs-summary-project{background:#f7fbff!important;border-color:#cfe3ff!important;}
body .mahiru-bbs .mbbs-summary-total{background:#fff!important;border-color:#ddd!important;}
body .mahiru-bbs .mbbs-summary-comment{background:#fff7fb!important;border-color:#ffc2f4!important;}
@media(max-width:700px){body .mahiru-bbs .mbbs-summary{padding:12px!important}body .mahiru-bbs .mbbs-summary-items{display:grid!important;grid-template-columns:1fr 1fr!important}body .mahiru-bbs .mbbs-summary-item{min-width:0!important;padding:9px!important}body .mahiru-bbs .mbbs-summary-item strong{font-size:20px!important}body .mahiru-bbs .mbbs-intro strong{font-size:22px!important}}

/* v12: likes and ranking */
body .mahiru-bbs .mbbs-like-area{margin:14px 0 0 0!important;padding:0!important;background:transparent!important;border:0!important;}
body .mahiru-bbs .mbbs-reply-like{margin-top:12px!important;text-align:right!important;}
body .mahiru-bbs .mbbs-like-button{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;gap:6px!important;background:#fff7fb!important;color:#233445!important;border:1px solid #ffc2f4!important;border-radius:999px!important;padding:7px 14px!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;box-shadow:none!important;cursor:pointer!important;transition:transform .12s ease, background .12s ease!important;}
body .mahiru-bbs .mbbs-like-button:hover{transform:translateY(-1px)!important;background:#fff0fa!important;}
body .mahiru-bbs .mbbs-like-button:disabled{opacity:.75!important;cursor:wait!important;}
body .mahiru-bbs .mbbs-like-button.mbbs-liked{background:#ffeaf7!important;border-color:#ff9fe8!important;color:#d85a00!important;}
body .mahiru-bbs .mbbs-like-button.mbbs-like-denied{background:#f7f7f7!important;border-color:#ddd!important;color:#777!important;}
body .mahiru-bbs .mbbs-like-count{font-size:16px!important;color:#d85a00!important;}
body .mahiru-bbs .mbbs-top-likes{margin:0 0 24px 0!important;padding:16px 18px!important;background:#fffaf0!important;border:1px solid #ffd9a8!important;border-radius:12px!important;box-shadow:none!important;color:#233445!important;}
body .mahiru-bbs .mbbs-top-likes h3{margin:0 0 12px 0!important;padding:0!important;background:transparent!important;border:0!important;color:#233445!important;font-size:18px!important;font-weight:800!important;line-height:1.4!important;}
body .mahiru-bbs .mbbs-top-likes ol{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:10px!important;}
body .mahiru-bbs .mbbs-top-likes li{margin:0!important;padding:12px 14px!important;background:#fff!important;border:1px solid #ffe2bd!important;border-radius:10px!important;line-height:1.6!important;}
body .mahiru-bbs .mbbs-top-likes .mbbs-rank{font-size:18px!important;margin-right:6px!important;}
body .mahiru-bbs .mbbs-top-likes strong{color:#d85a00!important;font-weight:800!important;}
body .mahiru-bbs .mbbs-top-likes em{font-style:normal!important;color:#555!important;}
body .mahiru-bbs .mbbs-top-likes b{float:right!important;color:#d85a00!important;font-size:16px!important;}
body .mahiru-bbs .mbbs-top-likes div{clear:both!important;margin-top:6px!important;color:#555!important;font-size:14px!important;}
@media(max-width:700px){body .mahiru-bbs .mbbs-top-likes{padding:12px!important}body .mahiru-bbs .mbbs-top-likes b{float:none!important;display:inline-block!important;margin-left:6px!important}body .mahiru-bbs .mbbs-reply-like{text-align:left!important}}


.mbbs-video-fields{margin:4px 0 14px;padding:14px 16px;border-left:4px solid #ff9eea;background:#fff8fd;border-radius:6px}.mbbs-video-fields[hidden]{display:none!important}.mbbs-video-fields label{display:block;margin:0 0 10px}.mbbs-video-fields label:last-child{margin-bottom:0}.mbbs-video-info{margin:10px 0;padding:10px 12px;background:#fff8fd;border-radius:6px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.mbbs-video-info a{font-weight:700;text-decoration:none}
