/* Auto-generated: classes merged from duplicate rules across the theme. */
/* Generated by Stage 2 CSS cleanup - do not hand-edit without re-checking source files. */

.admin-container { max-width: 1200px; margin: 0 auto; }
.ana-header { text-align:left; margin-bottom:20px; padding-left:5px; }
.ana-modal-card { display:flex; align-items:center; gap:12px; padding:12px 15px; background:#faf9f5; border:1px solid #e5e9ea; border-radius:12px; text-decoration:none; transition:0.2s; position:relative; min-height:50px; }
.ana-modal-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(47,62,70,0.6); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); z-index:10000; display:none; align-items:center; justify-content:center; padding:15px; }
.arch-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; border-radius: 8px; cursor: pointer; transition: all 0.2s ease; border: none; font-family: inherit; }
.arch-btn-engine { background: #475569; color: #fff; box-shadow: 0 4px 10px rgba(71, 85, 105, 0.3); }
.arch-btn-group { display: flex; gap: 15px; margin-top: 20px; border-top: 1px solid #e5e9ea; padding-top: 25px; flex-wrap: wrap; }
.arch-btn-interface { background: #64748b; color: #fff; box-shadow: 0 4px 10px rgba(100, 116, 139, 0.3); }
.ari-answer-a { color: #1e293b; font-weight: 700; text-align: right; }
.ari-answer-block { background: #f8fafc; border-radius: 8px; padding: 4px 14px; margin-bottom: 18px; }
.ari-answer-q { color: #5a6b72; }
.ari-answer-row { display: flex; justify-content: space-between; gap: 12px; font-size: 0.85rem; padding: 7px 0; border-bottom: 1px solid #eef2f5; }
.ari-attention-block { background: #fff7e0; border: 1px solid #fcd34d; border-radius: 8px; padding: 12px 14px; margin: 4px 0 16px 0; }
.ari-card-amber-bg { background: #fffbeb; }
.ari-card-dial { border-top: 5px solid #cbd5e0; }
.ari-card-extra { font-size: 0.82rem; line-height: 1.5; color: #5a6b72; background: #f8fafc; border-left: 3px solid #cbd5e0; padding: 8px 12px; margin: 10px 0; border-radius: 4px; }
.ari-card-gauge { border-top: 5px solid #cbd5e0; padding-bottom: 14px; }
.ari-card-neutral { border-top: 5px solid #cbd5e0; }
.ari-card-pink { border-top: 5px solid HotPink; }
.ari-color-key { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; padding: 8px 4px 14px 4px; font-size: 0.78rem; color: #5a6b72; font-weight: 700; }
.ari-corner-note { position: absolute; bottom: 6px; right: 10px; font-size: 0.62rem; color: #cbd5e0; font-weight: 600; letter-spacing: 0.3px; }
.ari-dial-head { justify-content: center; text-align: center; }
.ari-dial-needle { stroke-width: 3; stroke-linecap: round; }
.ari-dial-pct { font-size: 1.3rem; font-weight: 800; color: #1e293b; margin-top: -6px; }
.ari-dial-seg { fill: none; stroke-width: 8; stroke-linecap: round; opacity: 0.9; }
.ari-dial-subnote { font-size: 0.62rem; color: #94a3b8; margin-top: 3px; text-align: center; }
.ari-dial-svg { width: 140px; height: 84px; overflow: visible; }
.ari-dial-title { font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; color: #94a3b8; margin-bottom: 2px; }
.ari-dial-wrap { display: flex; flex-direction: column; align-items: center; padding: 4px 0 10px 0; }
.ari-doctor-note { background: #fff7e0; border: 1px solid #fcd34d; border-radius: 8px; padding: 12px 14px; margin: 14px 0 4px 0; text-align: center; font-size: 0.85rem; color: #78350f; font-weight: 600; }
.ari-gauge-marker { position: absolute; top: 50%; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 4px solid #94a3b8; transform: translate(-50%, -50%); box-shadow: 0 1px 5px rgba(0,0,0,0.35); }
.ari-gauge-scale-note { font-size: 0.6rem; color: #cbd5e0; text-align: center; margin-top: 4px; }
.ari-gauge-status { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; margin: 2px 0 12px 0; }
.ari-gauge-ticks { display: flex; justify-content: space-between; margin: 6px 4px 0 4px; font-size: 0.68rem; font-weight: 700; color: #94a3b8; }
.ari-gauge-track { position: relative; height: 10px; border-radius: 6px; margin: 0 4px; box-shadow: inset 0 1px 2px rgba(0,0,0,0.12); }
.ari-gauge-value { font-size: 1.6rem; font-weight: 800; color: #1e293b; line-height: 1.1; }
.ari-gauge-wrap { padding: 4px 4px 8px 4px; text-align: center; }
.ari-key-indicator-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: #d97706; vertical-align: middle; margin-left: 2px; box-shadow: 0 0 0 2px rgba(217,119,6,0.25); }
.ari-key-item { display: inline-flex; align-items: center; gap: 6px; }
.ari-modal-closing-line { font-size: 0.78rem; color: #94a3b8; text-align: center; margin-top: 16px; padding-top: 14px; border-top: 1px dashed #e2e8f0; }
.ari-p2-icon { font-size: 0.9rem; font-weight: 800; flex-shrink: 0; }
.ari-p2-ok { color: #374151; }
.ari-p2-warn { color: #d97706; }
.ari-recap-citation { font-size: 0.68rem; color: #94a3b8; margin: 4px 0 10px 0; }
.ari-recap-divider { font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #94a3b8; margin: 12px 0 4px 0; padding-top: 10px; border-top: 1px dashed #e2e8f0; }
.ari-validated-badge { display: inline-block; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #0f5f5e; background: #e0fbf6; border: 1px solid #50e3c2; padding: 4px 10px; border-radius: 20px; margin-bottom: 16px; }
.assess-hub-bar-bg { width:100%; height:8px; background:#f1f5f9; border-radius:4px; overflow:hidden; }
.assess-hub-bar-fill { height:100%; background:#007cba; border-radius:4px; transition:width 0.6s ease; width:0%; }
.assess-hub-bio-chip { font-size:11px; color:#5a6b72; background:#f0f0eb; border-radius:12px; padding:3px 8px; }
.assess-hub-bio-missing { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; justify-content:flex-end; }
.assess-hub-bio-text { font-size:0.85rem; font-weight:600; color:#64748b; }
.assess-hub-dash-header { text-align:left; margin-bottom:30px; position:relative; }
.assess-hub-demo-btn { display:flex; align-items:center; justify-content:center; text-align:center; background:#f1f5f9; border:1px solid #e2e8f0; border-radius:6px; padding:10px; font-size:0.9rem; font-weight:600; color:#334155; cursor:pointer; transition:all 0.2s; min-height:56px; line-height:1.3; }
.assess-hub-empty-msg { font-size:14px; color:#64748b; font-style:italic; background:transparent; border:none; padding:0; }
.assess-hub-intro-box { background:#faf9f5; border:1px solid #e2e8f0; border-radius:12px; padding:25px; border-left:4px solid #819b81; }
.assess-hub-intro-section { margin-bottom:40px; }
.assess-hub-intro-text { font-size:15px; color:#5a6b72; margin:0 0 20px 0; line-height:1.6; }
.assess-hub-intro-wrapper { position:relative; max-width:100%; text-align:left; }
.assess-hub-lock-warning { width:100%; text-align:center; border:1px solid #fca5a5; padding:10px 15px; border-radius:8px; font-size:14px; margin-bottom:20px; font-weight:600; display:none; }
.assess-hub-panel { background:#fff; border:1px solid #e5e9ea; border-radius:12px; padding:30px; margin-bottom:30px; box-shadow:0 4px 15px rgba(0,0,0,0.03); }
.assess-hub-panel-head { display:flex; justify-content:space-between; align-items:center; margin:0 0 20px 0; border-bottom:2px solid #f0f0f0; padding-bottom:10px; }
.assess-hub-panel-title { font-size:18px; font-weight:800; color:#2F3E46; margin:0 0 20px 0; border-bottom:2px solid #f0f0f0; padding-bottom:10px; }
.assess-hub-prog-name { font-size:14px; font-weight:600; color:#5a6b72; }
.assess-hub-progress-bar-bg { width:80px; height:6px; background:#e5e9ea; border-radius:3px; overflow:hidden; }
.assess-hub-progress-bar-fill { height:100%; background:#819b81; width:0%; transition:width 0.6s ease; }
.assess-hub-progress-count { font-size:13px; font-weight:600; color:#5a6b72; white-space:nowrap; }
.assess-hub-progress-item { display:flex; justify-content:space-between; align-items:center; padding:12px 15px; background:#faf9f5; border-radius:8px; border:1px solid #f0f0f0; border-left:3px solid #819b81; text-decoration:none; }
.assess-hub-progress-list { display:flex; flex-direction:column; gap:8px; }
.assess-hub-progress-summary { display:flex; align-items:center; gap:8px; }
.assess-hub-sandbox-title { font-size:0.85rem; font-weight:700; text-transform:uppercase; color:#64748b; margin:0 0 10px 0; letter-spacing:0.05em; }
.assess-hub-sandbox-wrap { background:#fff; border:1px solid #cbd5e1; border-radius:10px; padding:15px; }
.assess-hub-self-btn { display:none; align-items:center; justify-content:center; text-align:center; background:#10b981; color:#fff; padding:10px; border-radius:8px; font-size:0.9rem; font-weight:700; cursor:pointer; transition:background 0.2s; box-shadow:0 4px 6px rgba(16,185,129,0.2); box-sizing:border-box; min-height:56px; line-height:1.3; }
.assess-hub-top-utility-links { display:flex; gap:20px; margin-bottom:20px; font-size:14px; font-weight:800; letter-spacing:1px; }
.assess-hub-upnext { display:flex; align-items:center; gap:16px; background:#fff; border:1px solid #e5e9ea; border-radius:12px; padding:18px 24px; margin-bottom:20px; box-shadow:0 4px 15px rgba(0,0,0,0.03); }
.assess-hub-upnext-body { flex:1; }
.assess-hub-upnext-icon { width:40px; height:40px; border-radius:50%; background:#e6f0e6; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.assess-hub-upnext-label { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:0.5px; color:#819b81; margin-bottom:2px; }
.assess-hub-upnext-text { font-size:15px; color:#2F3E46; }
.assess-hub-v-badge { align-self:flex-start; font-size:11px; font-weight:800; padding:3px 10px; border-radius:12px; text-transform:uppercase; letter-spacing:0.05em; }
.assess-hub-v-info { display:flex; flex-direction:column; gap:6px; }
.assess-hub-v-item { display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid #e2e8f0; padding:14px 18px; border-radius:10px; box-shadow:0 1px 2px rgba(0,0,0,0.02); transition:border-color 0.2s; }
.assess-hub-v-link { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#f1f5f9; color:#007cba; text-decoration:none; font-weight:bold; transition:all 0.2s; font-size:1.1rem; }
.assess-hub-v-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.assess-hub-v-name { font-size:14px; font-weight:600; color:#2F3E46; }
.assess-hub-verif-col { background:#faf9f5; border:1px solid #e2e8f0; border-radius:12px; padding:25px; }
.aw-label-tight { margin-bottom: 4px; display: block; }
.aw-slider-current { font-size: 0.92rem; color: #004d40; background: #e0fbf6; padding: 2px 12px; border-radius: 12px; font-weight: 700; }
.aw-slider-scale { display: flex; justify-content: space-between; align-items: center; font-size: 0.78rem; color: #5a6b72; margin-top: 4px; }
.aw-slider-unanswered { display: block; font-size: 0.7rem; font-style: italic; font-weight: 600; color: #c62828; margin-top: 2px; }
.aw-slider-wrap { margin-bottom: 28px; }
.aw-sss-intro { font-size: 0.9rem; color: #5a6b72; margin-bottom: 20px; line-height: 1.5; background: #f8fafc; border-left: 4px solid #50e3c2; padding: 10px 14px; border-radius: 6px; }
.aw-tile-content { display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px 5px; background: #fff; border: 1px solid #ccc; border-radius: 6px; transition: all 0.2s; font-size: 0.85rem; color: #666; min-height: 40px; line-height: 1.2; box-sizing: border-box; height: 100%; }
.aw-tile-group { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); margin-bottom: 25px; }
.aw-tile-opt { cursor: pointer; position: relative; display: block; }
.b-card-bottom { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #f1f5f9; padding-top: 12px; }
.b-card-focus-block { font-size: 12px; color: #475569; margin-bottom: 15px; line-height: 1.5; background: #f8fafc; padding: 8px; border-radius: 6px; border: 1px solid #e2e8f0; }
.b-card-note { font-size: 12px; color: #475569; margin-bottom: 10px; line-height: 1.5; background: #fffbeb; padding: 8px; border-radius: 6px; border: 1px solid #fde68a; }
.b-card-title { font-size: 1rem; font-weight: 800; color: #2c3e50; margin-bottom: 10px; line-height: 1.3; }
.b-card-unit { font-size: 0.75rem; color: #64748b; font-weight: 600; margin-left: 2px; }
.b-card-val { font-size: 1.3rem; font-weight: 800; color: #1e293b; }
.back-link { display: inline-flex; align-items: center; gap: 8px; color: #5a6b72; font-weight: 700; font-size: 14px; cursor: pointer; margin-bottom: 20px; transition: color 0.2s; text-decoration: none; }
.badge-active { background: #dcfce7; color: #166534; padding: 4px 8px; border-radius: 4px; font-size: 11px; font-weight: bold; }
.badge-blue { background: var(--blue-light); color: var(--blue); border: 1px solid var(--blue); }
.badge-inactive { background: #fee2e2; color: #b91c1c; padding: 4px 8px; border-radius: 4px; font-size: 11px; font-weight: bold; }
.badge-red { background: var(--red-light); color: var(--red); border: 1px solid var(--red); }
.bc-category { font-size: 10px; text-transform: uppercase; font-weight: 800; color: #64748b; letter-spacing: 0.5px; }
.bc-header-flex { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 5px; }
.bio-bar { background: #fff; padding: 10px 15px; border-radius: 8px; margin-bottom: 10px; display: flex; justify-content: space-between; font-size: 0.85rem; color: #555; border: 1px solid #eee; }
.bio-input-box { display: flex; align-items: center; border: 2px solid #cbd5e1; border-radius: 8px; overflow: hidden; transition: 0.3s; background: #fff; width: 100%; max-width: 250px; }
.bio-input-unit { padding: 15px 20px; background: #f8fafc; border-left: 1px solid #cbd5e1; color: #64748b; font-weight: 600; font-size: 14px; white-space: nowrap; }
.bio-input-wrapper { display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 25px; }
.bio-picker-block { max-width: 500px; margin: 0 auto 20px auto; text-align: left; }
.bio-picker-label { display: block; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #64748b; margin-bottom: 8px; }
.bio-ranges { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; margin-top: 10px; font-size: 13px; color: #475569; max-width: 400px; margin-left: auto; margin-right: auto; text-align: center; }
.bio-report-note { width: 100%; max-width: 500px; margin: 0 auto; display: block; padding: 12px 14px; border: 1px solid #cbd5e1; border-radius: 8px; font-family: inherit; font-size: 14px; box-sizing: border-box; resize: vertical; min-height: 60px; }
.bio-risk-breakdown { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px; margin-bottom: 15px; text-align: left; max-width: 400px; margin-left: auto; margin-right: auto; }
.bio-tab-btn { flex: 1 1 auto; min-width: 80px; padding: 10px 14px; border: 2px solid #cbd5e1; border-radius: 8px; background: #fff; font-weight: 700; font-size: 14px; color: #475569; cursor: pointer; transition: all 0.15s; text-align: center; }
.bio-tab-row { display: flex; gap: 8px; flex-wrap: wrap; }
.bio-unit-other-box { margin-top: 8px; width: 100%; max-width: 500px; padding: 10px 14px; border: 1px solid #cbd5e1; border-radius: 8px; font-family: inherit; font-size: 14px; box-sizing: border-box; }
.biomarker-gateway-box { background: #fff; border: 1px solid #e5e9ea; border-radius: 12px; padding: 40px; text-align: center; margin-top: 30px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
.biomarker-gateway-btn { flex: 1; min-width: 250px; max-width: 350px; background: #f8fafc; border: 2px solid #cbd5e1; border-radius: 10px; padding: 25px 20px; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; align-items: center; }
.biomarker-gateway-desc { font-size: 15px; color: #5a6b72; margin-bottom: 30px; max-width: 600px; margin-left: auto; margin-right: auto; line-height: 1.5; }
.biomarker-gateway-options { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
.biomarker-gateway-title { font-size: 22px; font-weight: 800; color: #2F3E46; margin-bottom: 10px; }
.biomarker-gw-flags { font-size: 24px; letter-spacing: 5px; }
.biomarker-gw-head { font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 5px; }
.biomarker-gw-sub { font-size: 13px; color: #64748b; margin-bottom: 15px; }
.biomarker-wipe-link { display: inline-block; margin-top: 5px; margin-bottom: 15px; font-size: 13px; color: #0073aa; text-decoration: none; cursor: pointer; }
.bo-card-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 58px; background: rgba(255,255,255,0.75); backdrop-filter: blur(4px); z-index: 5; display: none; align-items: center; justify-content: center; }
.bo-card-subtext { color: #666; font-size: 0.9rem; margin-top: 5px; }
.bo-card-top-orange { height: 5px; background: #f2994a; border-top-left-radius: 8px; border-top-right-radius: 8px; }
.bo-card-top-purple { height: 5px; background: #8b5cf6; border-radius: 8px 8px 0 0; }
.bo-card-top-super { height: 5px; background: #f59e0b; border-radius: 8px 8px 0 0; }
.bo-card-unit { font-size: 1rem; color: #888; font-weight: 600; }
.bo-card-value { font-size: 1.4rem; font-weight: 800; color: #2C3E50; }
.bo-footer-green { background: #f4fbf4; color: #1e7a3d; font-weight: 700; }
.bo-footer-grey { background: #fafafa; color: #666; }
.bo-header-adopt { border-left: 6px solid #56ab2f; }
.bo-header-icon { font-size: 1.2rem; margin-right: 10px; }
.bo-header-staple { border-left: 6px solid #3498db; }
.bo-header-title { margin: 0; color: #2C3E50; font-size: 1.1rem; text-transform: uppercase; font-weight: 800; letter-spacing: 0.5px; }
.bo-header-title-wrap { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bp-macro-segment { height: 100%; transition: width 0.5s ease; }
.bp-ml-carb { color: #e07a5f; }
.bp-ml-fat { color: #d97706; }
.bp-ml-pro { color: #819b81; }
.bp-saved-view { display: none; }
.brand-tag { font-family: 'Inter', sans-serif; font-size: 0.85rem; color: var(--icon-diag) !important; margin-bottom: 1.5rem; font-weight: 800; letter-spacing: 0.5em; text-transform: uppercase; }
.bsm-absurd-result { background: rgba(168, 85, 247, 0.1) !important; border: 1px dashed var(--brand-purple) !important; border-radius: 12px !important; padding: 24px !important; margin-top: 24px !important; text-align: center !important; display: none !important; }
.bsm-absurd-text { font-size: 16px !important; font-style: italic !important; font-weight: 600 !important; color: var(--brand-purple) !important; }
.bsm-act-btn { background: var(--brand-pink) !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 8px 16px !important; font-size: 13px !important; font-weight: 600 !important; margin-top: 12px !important; cursor: pointer !important; }
.bsm-act-icon { font-size: 24px !important; margin-right: 16px !important; }
.bsm-act-step { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 20px !important; display: flex !important; align-items: flex-start !important; opacity: 0.4 !important; pointer-events: none !important; transition: all 0.4s ease !important; }
.bsm-act-wrap { display: flex !important; flex-direction: column !important; gap: 16px !important; margin-top: 24px !important; }
.bsm-alert-box { border: 1px solid var(--brand-red) !important; padding: 20px !important; border-radius: 12px !important; margin: 16px 0 !important; background: rgba(239, 68, 68, 0.05) !important; }
.bsm-alert-title { color: var(--brand-red) !important; font-weight: 700 !important; margin-bottom: 12px !important; font-size: 15px !important; }
.bsm-alert-warning { border: 1px solid var(--brand-yellow) !important; background: rgba(234, 179, 8, 0.1) !important; padding: 24px !important; border-radius: 12px !important; margin-bottom: 16px !important; }
.bsm-align-center { align-items: center !important; }
.bsm-answer-explanation { margin-top: 4px !important; margin-bottom: 16px !important; font-size: 14px !important; line-height: 1.6 !important; padding: 14px 16px !important; border-radius: 8px !important; display: none !important; background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; color: var(--diary-text-muted) !important; }
.bsm-arrow-down { color: var(--diary-text-muted) !important; font-size: 24px !important; margin: 8px 0 !important; }
.bsm-audit-check { width: 20px !important; height: 20px !important; border-radius: 5px !important; border: 2px solid var(--diary-text-muted) !important; flex-shrink: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.bsm-audit-content { font-size: 13px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; display: none !important; margin-top: 12px !important; padding-top: 12px !important; border-top: 1px dashed var(--glass-border) !important; }
.bsm-audit-label { font-size: 14px !important; }
.bsm-audit-title { font-size: 15px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.bsm-badge-blue { background: var(--brand-blue) !important; color: #fff !important; }
.bsm-badge-green { background: rgba(34, 197, 94, 0.2) !important; color: var(--brand-green) !important; }
.bsm-bd-fill { height: 100% !important; border-radius: 5px !important; transition: width 0.5s ease !important; }
.bsm-bd-header { display: flex !important; justify-content: space-between !important; font-size: 14px !important; font-weight: 600 !important; margin-bottom: 6px !important; }
.bsm-bd-track { width: 100% !important; height: 10px !important; background: var(--inner-bg) !important; border-radius: 5px !important; overflow: hidden !important; }
.bsm-breakdown-row { margin-bottom: 16px !important; }
.bsm-breathing-circle { width: 140px !important; height: 140px !important; border-radius: 50% !important; background: rgba(59, 130, 246, 0.1) !important; border: 4px solid var(--brand-blue) !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; transition: all linear !important; margin-bottom: 24px !important; }
.bsm-breathing-count { font-size: 32px !important; font-weight: 800 !important; color: var(--brand-blue) !important; line-height: 1 !important; }
.bsm-breathing-phase { font-size: 16px !important; font-weight: 700 !important; color: var(--diary-text) !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 4px !important; }
.bsm-breathing-wrap { display: flex !important; flex-direction: column !important; align-items: center !important; padding: 32px 0 !important; background: var(--inner-bg) !important; border-radius: 12px !important; border: 1px solid var(--glass-border) !important; margin-top: 16px !important; }
.bsm-btn-back { background: transparent !important; color: var(--diary-text-muted) !important; border: 1px solid var(--glass-border) !important; padding: 8px 16px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; margin-bottom: 24px !important; display: inline-block !important; transition: all 0.2s !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
.bsm-btn-disabled { opacity: 0.5 !important; cursor: not-allowed !important; pointer-events: none !important; }
.bsm-btn-grid { gap: 16px !important; justify-content: center !important; }
.bsm-btn-locked { background: transparent !important; color: var(--diary-text-muted) !important; border: 1px dashed var(--glass-border) !important; padding: 8px 20px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: not-allowed !important; }
.bsm-btn-myth { flex: 1 !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 10px !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer !important; color: var(--diary-text-muted) !important; transition: all 0.2s !important; }
.bsm-btn-pledge { background: var(--inner-bg) !important; border: 2px dashed var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; width: 100% !important; font-size: 16px !important; font-weight: 600 !important; color: var(--diary-text) !important; cursor: pointer !important; transition: all 0.3s ease !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; }
.bsm-btn-pulse { animation: bsmPulseBtn 2s infinite !important; box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7) !important; }
.bsm-btn-purple { background: var(--brand-purple) !important; color: #ffffff !important; border: none !important; width: 100% !important; max-width: none !important; }
.bsm-btn-quiz { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; text-align: left !important; font-size: 15px !important; font-weight: 500 !important; cursor: pointer !important; color: var(--diary-text) !important; transition: all 0.2s ease !important; }
.bsm-btn-reveal { background: var(--brand-purple) !important; color: #fff !important; border-radius: 8px !important; padding: 10px 18px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; display: inline-block !important; }
.bsm-btn-scenario { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 10px 14px !important; font-size: 13px !important; text-align: left !important; cursor: pointer !important; color: var(--diary-text-muted) !important; transition: all 0.2s !important; }
.bsm-btn-sort { flex: 1 !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 6px !important; padding: 8px !important; font-size: 12px !important; font-weight: 600 !important; cursor: pointer !important; color: var(--diary-text-muted) !important; transition: all 0.2s !important; }
.bsm-btn-start { background: var(--brand-purple) !important; color: #ffffff !important; border: none !important; padding: 8px 20px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; transition: transform 0.2s !important; }
.bsm-btn-text { background: transparent !important; color: var(--diary-text-muted) !important; border: 1px solid var(--glass-border) !important; }
.bsm-callout-box { background: rgba(168, 85, 247, 0.1) !important; border: 1px solid var(--brand-purple) !important; border-radius: 12px !important; padding: 24px !important; display: flex !important; align-items: flex-start !important; margin-bottom: 24px !important; }
.bsm-callout-icon { margin-right: 16px !important; fill: var(--brand-purple) !important; width: 32px !important; height: 32px !important; flex-shrink: 0 !important; }
.bsm-card-link { font-size: 13px !important; font-weight: 600 !important; margin-top: auto !important; }
.bsm-carousel-dots { gap: 6px !important; }
.bsm-catalog-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 14px !important; }
.bsm-catalog-desc { font-size: 12px !important; line-height: 1.5 !important; color: var(--diary-text-muted) !important; }
.bsm-catalog-name { font-size: 13px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.bsm-catalog-week { font-size: 11px !important; font-weight: 600 !important; color: var(--brand-purple) !important; margin-bottom: 6px !important; text-transform: uppercase !important; letter-spacing: 0.03em !important; }
.bsm-check-item { display: flex !important; align-items: center !important; padding: 16px 20px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; border-radius: 12px !important; margin-bottom: 12px !important; cursor: pointer !important; transition: all 0.2s !important; }
.bsm-check-list-item { align-items: flex-start !important; gap: 12px !important; margin-bottom: 12px !important; font-size: 14px !important; line-height: 1.5 !important; }
.bsm-check-text { font-size: 15px !important; font-weight: 500 !important; }
.bsm-checkbox { width: 24px !important; height: 24px !important; border-radius: 6px !important; border: 2px solid var(--diary-text-muted) !important; margin-right: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; transition: all 0.2s !important; }
.bsm-chip-container { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 16px !important; }
.bsm-chip-grid { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; margin-top: 16px !important; }
.bsm-chip-row { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-top: 16px !important; }
.bsm-chip-suggested { background: var(--brand-purple) !important; color: #ffffff !important; border-color: var(--brand-purple) !important; display: inline-block !important; }
.bsm-closure-box { background: rgba(168, 85, 247, 0.1) !important; border: 2px dashed var(--brand-purple) !important; border-radius: 12px !important; padding: 20px !important; text-align: center !important; margin-top: 16px !important; display: none !important; }
.bsm-commit-check { width: 20px !important; height: 20px !important; border-radius: 5px !important; border: 2px solid var(--diary-text-muted) !important; flex-shrink: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.bsm-commit-chip { display: flex !important; align-items: center !important; gap: 10px !important; padding: 12px 14px !important; border-radius: 10px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.bsm-commit-custom { width: 100% !important; min-height: 44px !important; padding: 12px 14px !important; border-radius: 10px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; font-size: 13px !important; resize: vertical !important; margin-top: 8px !important; }
.bsm-commit-grid { display: flex !important; flex-direction: column !important; gap: 8px !important; margin-top: 16px !important; }
.bsm-commit-label { font-size: 13px !important; }
.bsm-community-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 16px !important; text-align: left !important; }
.bsm-community-desc { display: block !important; font-size: 13px !important; line-height: 1.55 !important; color: var(--diary-text-muted) !important; }
.bsm-community-title { display: block !important; font-size: 14px !important; font-weight: 700 !important; margin-bottom: 6px !important; }
.bsm-compare-card { border-radius: 12px !important; padding: 18px !important; border: 1px solid var(--glass-border) !important; }
.bsm-compare-cbti { border-right: 1px solid var(--glass-border) !important; background: rgba(34, 197, 94, 0.1) !important; border-top-left-radius: 12px !important; }
.bsm-compare-detail { padding: 16px 20px !important; background: rgba(59, 130, 246, 0.05) !important; border-top: 1px solid var(--glass-border) !important; font-size: 14px !important; line-height: 1.5 !important; }
.bsm-compare-half { flex: 1 !important; padding: 20px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.bsm-compare-icon-label { display: flex !important; align-items: center !important; font-size: 13px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.bsm-compare-meds { background: rgba(245, 158, 11, 0.1) !important; border-top-right-radius: 12px !important; }
.bsm-compare-reveal-bar { text-align: center !important; padding: 14px !important; border-top: 1px solid var(--glass-border) !important; background: var(--glass-bg) !important; cursor: pointer !important; font-size: 13px !important; font-weight: 600 !important; transition: background 0.2s !important; }
.bsm-compare-row { border: 1px solid var(--glass-border) !important; border-radius: 12px !important; margin-bottom: 16px !important; overflow: hidden !important; background: var(--inner-bg) !important; transition: border-color 0.3s !important; }
.bsm-compare-title { font-weight: 700 !important; font-size: 15px !important; margin-bottom: 8px !important; }
.bsm-cycle-step { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; padding: 16px 24px !important; border-radius: 8px !important; font-weight: 600 !important; text-align: center !important; width: 100% !important; max-width: 300px !important; }
.bsm-cycle-wrap { display: flex !important; flex-direction: column !important; align-items: center !important; margin: 24px 0 !important; }
.bsm-d-none { display: none !important; }
.bsm-dash-btn-mock { flex: 1 !important; background: rgba(59, 130, 246, 0.15) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; padding: 16px 12px !important; border-radius: 12px !important; font-weight: 600 !important; font-size: 15px !important; color: var(--diary-text) !important; box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important; }
.bsm-dashboard-layout { flex-wrap: wrap !important; gap: 24px !important; align-items: flex-start !important; }
.bsm-day-row-left { display: flex !important; align-items: center !important; }
.bsm-del-btn-ghost { display: block; width: 100%; padding: 14px; background: none; border: 1px solid #e2e8f0; border-radius: 12px; font-size: 15px; font-weight: 600; color: #64748b; cursor: pointer; text-align: center; text-decoration: none; transition: border-color .2s, color .2s; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.bsm-del-btn-primary { display: flex; align-items: center; justify-content: center; width: 100%; padding: 18px 28px; background: linear-gradient(135deg, #0d9488, #0891b2); color: #fff; border: none; border-radius: 12px; font-size: 17px; font-weight: 700; cursor: pointer; transition: opacity .15s; margin-bottom: 12px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.bsm-del-countdown { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 18px 28px; background: #e2e8f0; color: #94a3b8; border: none; border-radius: 12px; font-size: 17px; font-weight: 700; cursor: not-allowed; transition: background .3s, color .3s; margin-bottom: 12px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.bsm-del-error { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 14px 18px; font-size: 14px; color: #dc2626; text-align: center; margin-bottom: 20px; }
.bsm-del-icon { font-size: 44px; text-align: center; margin-bottom: 16px; }
.bsm-del-inner { max-width: 560px; margin: 0 auto; }
.bsm-del-list { margin-bottom: 24px; }
.bsm-del-list-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; margin-bottom: 8px; background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; font-size: 14px; color: #0f172a; }
.bsm-del-list-text { line-height: 1.5; }
.bsm-del-list-x { color: #dc2626; font-weight: 900; font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.bsm-del-progress { display: flex; align-items: center; gap: 0; margin-bottom: 36px; justify-content: center; }
.bsm-del-reason { padding: 16px 14px; border: 2px solid #e2e8f0; border-radius: 12px; cursor: pointer; text-align: center; font-size: 14px; font-weight: 600; color: #475569; transition: border-color .2s, background .2s; user-select: none; }
.bsm-del-reason-icon { font-size: 24px; display: block; margin-bottom: 8px; }
.bsm-del-screen { display: none; }
.bsm-del-step { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; font-size: 13px; font-weight: 700; background: #e2e8f0; color: #94a3b8; transition: background .3s, color .3s; flex-shrink: 0; }
.bsm-del-step-line { flex: 1; height: 2px; background: #e2e8f0; max-width: 60px; transition: background .3s; }
.bsm-del-sub { font-size: 15px; color: #64748b; text-align: center; line-height: 1.7; margin-bottom: 28px; }
.bsm-del-title { font-size: 26px; font-weight: 700; color: #0f172a; text-align: center; margin-bottom: 10px; letter-spacing: -0.3px; }
.bsm-del-type-input { width: 100%; padding: 16px 18px; border: 2px solid #fca5a5; border-radius: 12px; font-size: 18px; font-weight: 700; color: #dc2626; text-align: center; letter-spacing: 3px; outline: none; background: #fff; transition: border-color .2s; box-sizing: border-box; }
.bsm-del-type-label { font-size: 14px; font-weight: 700; color: #0f172a; margin-bottom: 10px; display: block; text-align: center; }
.bsm-del-type-wrap { margin-bottom: 24px; }
.bsm-del-wrap { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f4f1ec; min-height: 100vh; width: 100%; box-sizing: border-box; padding: 80px 20px 60px; }
.bsm-diary-label { font-size: 14px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.bsm-diary-mockup { border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; border-radius: 12px !important; padding: 20px !important; margin-bottom: 24px !important; pointer-events: none !important; }
.bsm-diary-options { display: flex !important; gap: 8px !important; margin-bottom: 16px !important; }
.bsm-diary-pill { flex: 1 !important; text-align: center !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; padding: 12px 8px !important; border-radius: 8px !important; color: var(--diary-text-muted) !important; }
.bsm-diary-value { font-size: 24px !important; font-weight: 800 !important; margin-bottom: 16px !important; color: var(--brand-blue) !important; }
.bsm-evidence-card { background: rgba(34, 197, 94, 0.08) !important; border: 1px solid rgba(34, 197, 94, 0.3) !important; border-radius: 12px !important; padding: 20px !important; margin: 16px 0 !important; text-align: center !important; }
.bsm-evidence-number { font-size: 32px !important; font-weight: 800 !important; color: var(--brand-green) !important; }
.bsm-fact-icon { font-size: 20px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.bsm-fact-row { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 14px !important; }
.bsm-fact-text { font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.bsm-fade-in { animation: bsmFadeIn 0.4s ease forwards !important; }
.bsm-feedback-blue { background: rgba(59, 130, 246, 0.1) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; color: var(--brand-blue) !important; padding: 16px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.5 !important; margin-top: 12px !important; display: none !important; }
.bsm-feedback-box { padding: 16px !important; border-radius: 8px !important; margin-top: 24px !important; text-align: left !important; border: 1px solid transparent !important; }
.bsm-feedback-error { background: rgba(239, 68, 68, 0.1) !important; border-color: rgba(239, 68, 68, 0.3) !important; color: var(--brand-red) !important; }
.bsm-feedback-incorrect { color: var(--brand-orange) !important; background: rgba(245, 158, 11, 0.1) !important; border: 1px solid rgba(245, 158, 11, 0.3) !important; }
.bsm-feedback-pop { margin-top: 20px !important; padding: 16px 20px !important; border-radius: 8px !important; background: rgba(34, 197, 94, 0.1) !important; border: 1px solid var(--brand-green) !important; }
.bsm-feedback-success { background: rgba(34, 197, 94, 0.1) !important; border-color: rgba(34, 197, 94, 0.3) !important; color: var(--brand-green) !important; }
.bsm-flip-back-desc { font-size: 14px !important; line-height: 1.5 !important; margin-bottom: 12px !important; }
.bsm-flip-back-text { font-size: 13px !important; line-height: 1.5 !important; color: var(--diary-text-muted) !important; }
.bsm-flip-back-title { display: flex !important; align-items: center !important; font-size: 18px !important; font-weight: 800 !important; margin-bottom: 12px !important; width: 100% !important; }
.bsm-flip-card { width: 100% !important; height: 100% !important; position: relative !important; transition: transform 0.6s !important; transform-style: preserve-3d !important; border-radius: 12px !important; }
.bsm-flip-example-box { width: 100% !important; border-radius: 8px !important; padding: 12px !important; font-size: 13px !important; line-height: 1.6 !important; margin-bottom: 12px !important; }
.bsm-flip-example-title { font-weight: 700 !important; margin-bottom: 4px !important; }
.bsm-flip-face { position: absolute !important; width: 100% !important; height: 100% !important; backface-visibility: hidden !important; border-radius: 12px !important; padding: 20px !important; border: 2px solid var(--glass-border) !important; background: var(--glass-bg) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; display: flex !important; flex-direction: column !important; }
.bsm-flip-front { justify-content: center !important; align-items: center !important; text-align: center !important; background: var(--inner-bg) !important; transition: background 0.3s !important; }
.bsm-flip-front-hint { font-size: 13px !important; color: var(--diary-text-muted) !important; margin-top: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.bsm-flip-front-title { font-size: 22px !important; font-weight: 800 !important; }
.bsm-flip-grid { gap: 16px !important; flex-wrap: wrap !important; margin-top: 16px !important; }
.bsm-flip-icon { font-size: 24px !important; margin-bottom: 8px !important; }
.bsm-flip-inner { width: 100% !important; height: 100% !important; transition: transform 0.6s !important; transform-style: preserve-3d !important; position: relative !important; }
.bsm-flip-list-item { display: block !important; padding-left: 10px !important; position: relative !important; text-align: left !important; }
.bsm-flip-scene { perspective: 1000px !important; flex: 1 1 calc(33.333% - 16px) !important; min-width: 220px !important; height: 400px !important; cursor: pointer !important; }
.bsm-flip-sub { font-size: 12px !important; color: var(--diary-text-muted) !important; }
.bsm-flip-title { font-size: 15px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.bsm-flip-week-tag { font-size: 11px !important; font-weight: 700 !important; color: var(--brand-purple) !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 6px !important; }
.bsm-form-group { margin-bottom: 15px; }
.bsm-game-statement { font-size: 24px !important; font-weight: bold !important; margin-bottom: 32px !important; text-align: center !important; }
.bsm-grad-badge { font-size: 42px !important; margin-bottom: 8px !important; }
.bsm-grounding-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 32px !important; text-align: center !important; min-height: 200px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; }
.bsm-grounding-number { font-size: 48px !important; font-weight: 800 !important; color: var(--brand-purple) !important; margin-bottom: 8px !important; line-height: 1 !important; }
.bsm-guide-appendix { background: #fffbeb; border: 2px dashed #fde68a; border-radius: 16px; padding: 32px 36px; margin-top: 48px; }
.bsm-guide-appendix-header { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 2px dashed #fde68a; }
.bsm-guide-appendix-icon { font-size: 32px; }
.bsm-guide-appendix-note { background: #fef9c3; border: 1px solid #fde68a; border-radius: 8px; padding: 12px 16px; font-size: 13px; color: #92400e; margin-top: 12px; line-height: 1.6; }
.bsm-guide-appendix-ol { margin: 0; padding-left: 18px; }
.bsm-guide-appendix-section { background: #fff; border: 1px solid #fde68a; border-radius: 12px; padding: 20px 24px; margin-bottom: 16px; }
.bsm-guide-appendix-section-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.bsm-guide-appendix-sub { font-size: 13px; color: #b45309; line-height: 1.5; }
.bsm-guide-appendix-title { font-size: 22px; font-weight: 800; color: #92400e; margin-bottom: 4px; }
.bsm-guide-arch-arrow { color: #334155; font-size: 16px; }
.bsm-guide-arch-label { color: #64748b; font-size: 12px; }
.bsm-guide-arch-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 13px; flex-wrap: wrap; }
.bsm-guide-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.bsm-guide-code { background: #0f172a; border-radius: 10px; padding: 20px 24px; margin: 14px 0; overflow-x: auto; }
.bsm-guide-code-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #64748b; margin-bottom: 8px; }
.bsm-guide-dbtable { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 13px; }
.bsm-guide-event { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 14px; color: #475569; }
.bsm-guide-event-dot { width: 8px; height: 8px; border-radius: 50%; background: #0d9488; flex-shrink: 0; }
.bsm-guide-events { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.bsm-guide-file { display: flex; align-items: flex-start; gap: 14px; padding: 14px 18px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; }
.bsm-guide-file-desc { font-size: 13px; color: #64748b; line-height: 1.5; }
.bsm-guide-file-icon { font-size: 20px; flex-shrink: 0; margin-top: 2px; }
.bsm-guide-file-name { font-family: monospace; font-size: 13px; color: #0891b2; font-weight: 700; margin-bottom: 3px; }
.bsm-guide-file-note { font-size: 12px; color: #94a3b8; margin-top: 4px; font-style: italic; }
.bsm-guide-files { display: flex; flex-direction: column; gap: 8px; margin: 14px 0; }
.bsm-guide-footer { text-align: center; margin-top: 48px; padding-top: 24px; border-top: 1px solid #e2e8f0; font-size: 13px; color: #94a3b8; }
.bsm-guide-index { background: #fff; border: 2px solid #e2e8f0; border-radius: 16px; padding: 24px 28px; margin-bottom: 32px; }
.bsm-guide-index-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 32px; }
.bsm-guide-index-num { background: #0d9488; color: #fff; width: 20px; height: 20px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; flex-shrink: 0; }
.bsm-guide-index-title { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: #94a3b8; margin-bottom: 16px; }
.bsm-guide-info { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; padding: 14px 18px; font-size: 14px; color: #1e40af; margin: 12px 0; line-height: 1.6; display: flex; gap: 10px; align-items: flex-start; }
.bsm-guide-intro { font-size: 15px; color: #475569; line-height: 1.7; margin-bottom: 18px; }
.bsm-guide-meta-field { display: flex; align-items: flex-start; gap: 14px; padding: 12px 16px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; }
.bsm-guide-meta-fields { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.bsm-guide-meta-key { font-family: monospace; font-size: 13px; color: #0891b2; font-weight: 700; min-width: 100px; flex-shrink: 0; }
.bsm-guide-meta-val { font-size: 13px; color: #475569; line-height: 1.5; }
.bsm-guide-ol { margin: 0 0 16px 0; padding-left: 20px; }
.bsm-guide-part-sub { font-size: 12px; color: #64748b; font-weight: 400; letter-spacing: 0; text-transform: none; margin-top: 2px; }
.bsm-guide-product { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 18px 16px; }
.bsm-guide-product-desc { font-size: 13px; color: #64748b; line-height: 1.5; margin-bottom: 10px; }
.bsm-guide-product-field { font-size: 12px; color: #94a3b8; }
.bsm-guide-product-fields { display: flex; flex-direction: column; gap: 4px; }
.bsm-guide-product-name { font-size: 15px; font-weight: 800; color: #0d9488; margin-bottom: 4px; }
.bsm-guide-product-price { font-size: 20px; font-weight: 800; color: #0f172a; margin-bottom: 8px; }
.bsm-guide-result { background: #f0fdfa; border: 2px solid #0d9488; border-radius: 10px; padding: 16px 20px; margin-top: 16px; }
.bsm-guide-result-title { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: #0d9488; margin-bottom: 8px; }
.bsm-guide-rule-num { background: #0d9488; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; color: #fff; flex-shrink: 0; margin-top: 1px; }
.bsm-guide-spec-block { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px 24px; margin: 12px 0; }
.bsm-guide-spec-block-title { font-size: 14px; font-weight: 800; color: #0f172a; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.bsm-guide-spec-list { margin: 0; padding-left: 18px; }
.bsm-guide-status-banner { background: #f0fdfa; border: 2px solid #0d9488; border-radius: 16px; padding: 24px 28px; margin-bottom: 32px; display: flex; align-items: flex-start; gap: 16px; }
.bsm-guide-status-body { font-size: 14px; color: #475569; line-height: 1.6; }
.bsm-guide-status-icon { font-size: 28px; flex-shrink: 0; }
.bsm-guide-status-title { font-size: 16px; font-weight: 800; color: #0d9488; margin-bottom: 6px; }
.bsm-guide-step { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 28px 32px; margin-bottom: 16px; box-shadow: 0 2px 12px rgba(15,23,42,.04); }
.bsm-guide-step-header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; }
.bsm-guide-step-num { width: 36px; height: 36px; background: linear-gradient(135deg, #0d9488, #0891b2); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; color: #fff; flex-shrink: 0; }
.bsm-guide-step-status { font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 20px; flex-shrink: 0; }
.bsm-guide-step-title { font-size: 18px; font-weight: 700; color: #0f172a; flex: 1; }
.bsm-guide-success { background: #f0fdfa; border: 1px solid #99f6e4; border-radius: 10px; padding: 14px 18px; font-size: 14px; color: #0f766e; margin: 12px 0; line-height: 1.6; display: flex; gap: 10px; align-items: flex-start; }
.bsm-guide-table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 14px; }
.bsm-guide-test-desc { color: #64748b; font-size: 13px; }
.bsm-guide-test-icon { font-size: 16px; flex-shrink: 0; }
.bsm-guide-test-label { font-weight: 700; color: #0f172a; }
.bsm-guide-test-pill { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 10px; border: 1px solid #e2e8f0; font-size: 14px; }
.bsm-guide-warn { background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; padding: 14px 18px; font-size: 14px; color: #92400e; margin: 12px 0; line-height: 1.6; display: flex; gap: 10px; align-items: flex-start; }
.bsm-guide-warn-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.bsm-guide-where { background: #f8fafc; border: 1px solid #e2e8f0; border-left: 4px solid #0891b2; border-radius: 8px; padding: 12px 16px; margin: 12px 0; font-size: 13px; color: #475569; line-height: 1.6; }
.bsm-guide-wrap { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; max-width: 900px; margin: 0 auto; padding: 40px 20px 80px; color: #0f172a; box-sizing: border-box; }
.bsm-hidden { display: none !important; }
.bsm-highlight { background: var(--inner-bg) !important; border: 1px solid var(--brand-blue) !important; padding: 16px 20px !important; border-radius: 8px !important; font-size: 15px !important; line-height: 1.5 !important; }
.bsm-info-banner { background: rgba(168, 85, 247, 0.1) !important; border: 1px solid rgba(168, 85, 247, 0.3) !important; border-radius: 8px !important; padding: 16px !important; margin-top: 16px !important; font-size: 14px !important; line-height: 1.5 !important; }
.bsm-input-field { width: 100% !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 12px 16px !important; font-size: 15px !important; margin-bottom: 16px !important; color: var(--diary-text) !important; }
.bsm-input-group { display: flex !important; gap: 12px !important; margin-bottom: 24px !important; }
.bsm-insight-title { font-size: 15px !important; font-weight: 700 !important; color: var(--brand-purple) !important; margin-bottom: 8px !important; display: flex !important; align-items: center !important; }
.bsm-journal-field { margin-bottom: 18px !important; }
.bsm-journal-hint { font-size: 12px !important; color: var(--diary-text-muted) !important; margin-bottom: 8px !important; display: block !important; }
.bsm-journal-label { font-size: 13px !important; font-weight: 700 !important; margin-bottom: 6px !important; display: block !important; }
.bsm-journal-textarea { width: 100% !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 12px 14px !important; font-size: 14px !important; line-height: 1.5 !important; color: var(--diary-text) !important; resize: vertical !important; min-height: 60px !important; }
.bsm-jpp-bio { font-size: 16px; color: #334155; line-height: 1.8; white-space: pre-line; }
.bsm-jpp-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 32px 34px; margin-bottom: 20px; box-shadow: 0 4px 20px rgba(15,23,42,.05); }
.bsm-jpp-card-title { font-size: 14px; font-weight: 800; color: #0f766e; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; }
.bsm-jpp-cta-wrap { text-align: center; padding: 8px 0 32px; }
.bsm-jpp-domain-badge { background: #fff; border: 1px solid #99f6e4; color: #0f766e; border-radius: 999px; padding: 5px 13px; font-size: 12px; font-weight: 700; }
.bsm-jpp-domain-badges { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.bsm-jpp-footer { text-align: center; padding-top: 24px; }
.bsm-jpp-hero { background: linear-gradient(160deg, #fdf6ee 0%, #eaf7f3 100%); padding: 56px 20px 100px; text-align: center; color: #0f172a; margin-bottom: -60px; }
.bsm-jpp-hero-eyebrow { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: #0d9488; margin-bottom: 10px; }
.bsm-jpp-hero-headline { font-size: 18px; font-weight: 500; color: #475569; max-width: 520px; margin: 0 auto; line-height: 1.5; }
.bsm-jpp-hero-logo { font-size: 15px; font-weight: 800; letter-spacing: -0.3px; margin-bottom: 34px; }
.bsm-jpp-hero-name { font-size: 36px; font-weight: 800; letter-spacing: -0.5px; margin-bottom: 10px; color: #0f172a; }
.bsm-jpp-inner { margin: 0 auto; box-sizing: border-box; padding: 0 20px 80px; }
.bsm-jpp-list { list-style: none; margin: 0; padding: 0; }
.bsm-jpp-svc-badge { position: absolute; top: -12px; left: 20px; background: #0d9488; color: #fff; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; padding: 4px 12px; border-radius: 999px; }
.bsm-jpp-svc-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; padding: 26px 26px 22px; display: flex; flex-direction: column; }
.bsm-jpp-svc-desc { font-size: 14px; color: #64748b; line-height: 1.6; margin-bottom: 12px; flex: 1; }
.bsm-jpp-svc-domain { display: inline-block; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; color: #0891b2; background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 999px; padding: 3px 9px; }
.bsm-jpp-svc-domains { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.bsm-jpp-svc-include-chip { background: #f0fdfa; border: 1px solid #99f6e4; color: #0f766e; border-radius: 999px; padding: 4px 11px; font-size: 12px; font-weight: 700; }
.bsm-jpp-svc-includes-label { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: #94a3b8; margin-bottom: 6px; }
.bsm-jpp-svc-name { font-size: 18px; font-weight: 700; color: #0f172a; margin-bottom: 6px; }
.bsm-jpp-svc-price { font-size: 16px; font-weight: 800; color: #0d9488; margin-bottom: 12px; }
.bsm-jpp-svc-summary { font-size: 16px; color: #334155; font-weight: 600; line-height: 1.6; margin-bottom: 4px; }
.bsm-jpp-wrap { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f4f1ec; min-height: 100vh; width: 100%; box-sizing: border-box; }
.bsm-justify-between { justify-content: space-between !important; }
.bsm-justify-center { justify-content: center !important; }
.bsm-label { display: block; font-size: 12px; font-weight: 700; color: #374151; margin-bottom: 5px; }
.bsm-legal-date { color: #94a3b8; font-size: 13px; margin-bottom: 28px; }
.bsm-legal-sub { color: #5a6b72; font-style: italic; margin-top: 0; }
.bsm-legal-toc { background: #faf9f5; border: 1px solid #e5e9ea; border-radius: 10px; padding: 18px 22px; margin: 24px 0 36px; }
.bsm-legal-topbar { background: #fff; border-bottom: 1px solid #e5e9ea; padding: 16px 24px; }
.bsm-legal-wrap { max-width: 860px; margin: 0 auto; padding: 44px 24px 80px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #2F3E46; line-height: 1.65; }
.bsm-legs-dayplan-btn { flex-shrink: 0 !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 12px 22px !important; border-radius: var(--pill-radius, 50px) !important; border: none !important; background: var(--brand-accent, rgba(110,231,183,0.9)) !important; color: #04231a !important; font-size: 0.82rem !important; font-weight: 800 !important; cursor: pointer !important; }
.bsm-legs-dayplan-choice-btn { padding: 9px 16px !important; border-radius: var(--pill-radius, 50px) !important; background: var(--glass-bg, rgba(128,128,128,0.1)) !important; border: 1px solid var(--glass-border, rgba(128,128,128,0.2)) !important; color: var(--diary-text-muted, rgba(255,255,255,0.7)) !important; font-size: 0.76rem !important; font-weight: 700 !important; transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important; cursor: pointer !important; }
.bsm-legs-dayplan-choice-row { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; margin-top: 16px !important; }
.bsm-legs-dayplan-ferritin-box { margin-top: 14px !important; padding-top: 14px !important; border-top: 1px dashed var(--glass-border, rgba(128,128,128,0.2)) !important; }
.bsm-legs-dayplan-inline-note { display: block !important; margin-top: 10px !important; font-size: 0.72rem !important; line-height: 1.55 !important; color: var(--diary-text-muted, rgba(255,255,255,0.7)) !important; font-style: italic !important; }
.bsm-legs-dayplan-input { width: 100% !important; padding: 10px 12px !important; border-radius: 10px !important; border: 1px solid var(--glass-border, rgba(128,128,128,0.2)) !important; background: var(--inner-bg, rgba(128,128,128,0.15)) !important; color: var(--diary-text, #fff) !important; font-size: 0.85rem !important; box-sizing: border-box !important; }
.bsm-legs-dayplan-save-msg { font-size: 0.76rem !important; color: var(--diary-text-muted, rgba(255,255,255,0.7)) !important; }
.bsm-legs-dayplan-slot { padding: 20px 22px !important; background: var(--inner-bg, rgba(128,128,128,0.15)) !important; border: 1px solid var(--glass-border, rgba(128,128,128,0.2)) !important; border-radius: 18px !important; margin-bottom: 14px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.18) !important; transition: opacity 0.15s ease, border-color 0.15s ease !important; }
.bsm-legs-dayplan-slot-desc { display: block !important; font-size: 0.76rem !important; line-height: 1.55 !important; color: var(--diary-text-muted, rgba(255,255,255,0.7)) !important; margin-top: 4px !important; }
.bsm-legs-dayplan-slot-hdr { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important; }
.bsm-legs-dayplan-slot-icon { display: flex !important; align-items: center !important; justify-content: center !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; font-size: 1.2rem !important; line-height: 1 !important; flex-shrink: 0 !important; border: 1px solid rgba(255,255,255,0.14) !important; }
.bsm-legs-dayplan-slot-time { display: inline-block !important; margin-top: 8px !important; padding: 3px 10px !important; border-radius: var(--pill-radius, 50px) !important; background: rgba(110,231,183,0.12) !important; font-size: 0.72rem !important; font-weight: 800 !important; color: var(--brand-accent, rgba(110,231,183,0.9)) !important; }
.bsm-legs-dayplan-slot-title { display: block !important; font-size: 0.92rem !important; font-weight: 800 !important; color: var(--diary-text, #fff) !important; }
.bsm-legs-dayplan-slot-title-wrap { display: flex !important; align-items: center !important; gap: 14px !important; min-width: 0 !important; }
.bsm-legs-dayplan-source-btn { flex: 1 1 220px !important; text-align: left !important; padding: 16px 18px !important; border-radius: 16px !important; background: var(--inner-bg, rgba(128,128,128,0.15)) !important; border: 1.5px solid var(--glass-border, rgba(128,128,128,0.2)) !important; cursor: pointer !important; color: var(--diary-text, #fff) !important; transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease !important; }
.bsm-legs-dayplan-source-row { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; }
.bsm-legs-dayplan-source-sub { display: block !important; font-size: 0.74rem !important; line-height: 1.5 !important; color: var(--diary-text-muted, rgba(255,255,255,0.7)) !important; }
.bsm-legs-dayplan-source-title { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 0.85rem !important; font-weight: 800 !important; margin-bottom: 4px !important; }
.bsm-legs-dayplan-step-label { display: flex !important; align-items: center !important; gap: 10px !important; font-size: 0.72rem !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; color: var(--brand-accent, rgba(110,231,183,0.9)) !important; margin: 26px 0 14px !important; }
.bsm-legs-dayplan-time-field { flex: 1 1 160px !important; }
.bsm-legs-dayplan-time-row { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; margin-top: 12px !important; }
.bsm-legs-dayplan-toggle { flex-shrink: 0 !important; width: 44px !important; height: 26px !important; appearance: none !important; -webkit-appearance: none !important; background: rgba(128,128,128,0.3) !important; border-radius: 20px !important; position: relative !important; cursor: pointer !important; outline: none !important; border: none !important; transition: background 0.15s ease !important; }
.bsm-loading-text { font-size: 14px !important; color: var(--diary-text-muted) !important; text-align: center !important; padding: 20px 0 !important; }
.bsm-main-col { flex: 1 1 60% !important; min-width: 300px !important; }
.bsm-main-header { background: #1f2937; color: #fff; padding: 15px 25px; font-size: 16px; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; }
.bsm-mem-card-title { font-size: 18px; font-weight: 700; color: #0f172a; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; display: flex; align-items: center; gap: 10px; }
.bsm-mem-card-title-icon { font-size: 20px; }
.bsm-mem-empty { text-align: center; padding: 40px 20px; color: #94a3b8; }
.bsm-mem-empty-icon { font-size: 40px; margin-bottom: 14px; }
.bsm-mem-empty-sub { font-size: 14px; line-height: 1.6; }
.bsm-mem-empty-title { font-size: 17px; font-weight: 700; color: #475569; margin-bottom: 8px; }
.bsm-mem-error { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 14px 18px; font-size: 14px; color: #dc2626; font-weight: 600; margin-bottom: 20px; }
.bsm-mem-eyebrow { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #0d9488; margin-bottom: 10px; }
.bsm-mem-header { margin-bottom: 32px; }
.bsm-mem-inner { max-width: 900px; margin: 0 auto; box-sizing: border-box; }
.bsm-mem-input { width: 100%; padding: 13px 16px; border: 2px solid #e2e8f0; border-radius: 10px; font-size: 15px; color: #0f172a; outline: none; transition: border-color .2s; background: #fff; box-sizing: border-box; }
.bsm-mem-invite-btn { padding: 13px 22px; background: linear-gradient(135deg, #0d9488, #0891b2); color: #fff; border: none; border-radius: 10px; font-size: 14px; font-weight: 700; cursor: pointer; transition: opacity .15s; white-space: nowrap; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.bsm-mem-invite-note { font-size: 13px; color: #94a3b8; margin-top: 12px; line-height: 1.6; }
.bsm-mem-remove-btn { background: none; border: 1px solid #fca5a5; color: #dc2626; border-radius: 6px; padding: 6px 12px; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .15s, color .15s; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.bsm-mem-remove-form { display: inline; }
.bsm-mem-seat-bar-fill { height: 100%; border-radius: 4px; background: linear-gradient(90deg, #0d9488, #0891b2); transition: width .4s ease; }
.bsm-mem-seat-bar-label { font-size: 13px; color: #64748b; font-weight: 600; margin-bottom: 8px; display: flex; justify-content: space-between; }
.bsm-mem-seat-bar-track { height: 8px; background: #e2e8f0; border-radius: 4px; overflow: hidden; }
.bsm-mem-seat-bar-wrap { flex: 1; }
.bsm-mem-seat-divider { width: 1px; height: 48px; background: #e2e8f0; flex-shrink: 0; }
.bsm-mem-seat-label { font-size: 12px; color: #94a3b8; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.bsm-mem-seat-num { font-size: 36px; font-weight: 800; color: #0d9488; line-height: 1; margin-bottom: 4px; }
.bsm-mem-seat-stat { text-align: center; }
.bsm-mem-status { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: .3px; }
.bsm-mem-sub { font-size: 16px; color: #64748b; line-height: 1.6; }
.bsm-mem-success { background: #f0fdfa; border: 1px solid #99f6e4; border-radius: 10px; padding: 14px 18px; font-size: 14px; color: #0d9488; font-weight: 600; margin-bottom: 20px; }
.bsm-mem-table { width: 100%; border-collapse: collapse; }
.bsm-mem-wrap { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f4f1ec; min-height: 100vh; width: 100%; box-sizing: border-box; padding: 24px 20px 60px; }
.bsm-metric-badge { font-size: 12px !important; font-weight: 700 !important; padding: 5px 12px !important; border-radius: 20px !important; white-space: nowrap !important; }
.bsm-metric-detail { border-radius: 0 0 10px 10px !important; padding: 12px 16px 14px 16px !important; margin-top: -1px !important; font-size: 13px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.bsm-metric-detail-btn { margin-top: 10px !important; }
.bsm-metric-detail-title { display: block !important; font-size: 12px !important; font-weight: 700 !important; margin-bottom: 4px !important; text-transform: uppercase !important; letter-spacing: 0.03em !important; }
.bsm-metric-explained { margin-top: 16px !important; padding-top: 16px !important; border-top: 1px solid var(--glass-border) !important; font-size: 13px !important; line-height: 1.5 !important; display: none !important; }
.bsm-metric-grid { display: flex !important; flex-direction: column !important; gap: 14px !important; margin-top: 16px !important; }
.bsm-metric-group { display: flex !important; flex-direction: column !important; }
.bsm-metric-header { display: flex !important; align-items: center !important; margin-bottom: 8px !important; font-size: 14px !important; font-weight: 600 !important; }
.bsm-metric-name { font-size: 14px !important; font-weight: 700 !important; margin-bottom: 3px !important; }
.bsm-metric-reveal-btn { margin-top: auto !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; text-align: center !important; padding-top: 12px !important; border-top: 1px solid var(--glass-border) !important; transition: opacity 0.2s !important; }
.bsm-metric-sub { font-size: 13px !important; color: var(--diary-text-muted) !important; margin-bottom: 16px !important; }
.bsm-metric-val { font-size: 32px !important; font-weight: 800 !important; margin-bottom: 4px !important; }
.bsm-metric-value { font-size: 13px !important; color: var(--diary-text-muted) !important; }
.bsm-modal { background: white; width: 90%; max-width: 500px; padding: 25px; border-radius: 12px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); max-height: 90vh; overflow-y: auto; }
.bsm-modal-footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.bsm-module-header { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important; }
.bsm-moon-icon { width: 32px !important; height: 32px !important; stroke: var(--moon-empty) !important; stroke-width: 2 !important; transition: all 0.3s !important; }
.bsm-moon-tab { flex-direction: column !important; align-items: center !important; gap: 8px !important; font-size: 12px !important; font-weight: bold !important; color: var(--diary-text-muted) !important; min-width: 50px !important; cursor: pointer !important; transition: transform 0.2s !important; }
.bsm-moon-tabs { justify-content: space-between !important; padding: 12px 0 !important; overflow-x: auto !important; scrollbar-width: none !important; }
.bsm-myth-btns { display: flex !important; gap: 10px !important; }
.bsm-myth-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 18px !important; margin-bottom: 14px !important; }
.bsm-myth-explain { margin-top: 12px !important; padding: 12px !important; border-radius: 8px !important; font-size: 13px !important; background: rgba(59, 130, 246, 0.1) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; display: none !important; }
.bsm-myth-statement { font-size: 15px !important; font-weight: 600 !important; margin-bottom: 14px !important; }
.bsm-nav-pills { gap: 12px !important; overflow-x: auto !important; padding-bottom: 12px !important; margin-bottom: 24px !important; scrollbar-width: thin !important; }
.bsm-option-circle { width: 20px !important; height: 20px !important; border-radius: 50% !important; border: 2px solid var(--diary-text-muted) !important; margin-right: 12px !important; flex-shrink: 0 !important; }
.bsm-p-letter { width: 32px !important; height: 32px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.2) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 800 !important; flex-shrink: 0 !important; }
.bsm-p-row { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 14px !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 14px !important; }
.bsm-p-text { font-size: 13px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.bsm-p-title { font-size: 14px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.bsm-page-dot { width: 36px !important; height: 36px !important; border-radius: 8px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; transition: all 0.2s !important; }
.bsm-pagination-row { display: flex !important; gap: 8px !important; margin-top: 12px !important; flex-wrap: wrap !important; }
.bsm-picker-chip { padding: 10px 16px !important; border-radius: 20px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; cursor: pointer !important; font-size: 13px !important; font-weight: 600 !important; transition: all 0.2s ease !important; }
.bsm-picker-count { font-size: 13px !important; font-weight: 600 !important; color: var(--diary-text-muted) !important; margin-top: 12px !important; }
.bsm-picker-grid { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-top: 16px !important; }
.bsm-pill { padding: 12px 16px !important; border-radius: 8px !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; cursor: not-allowed !important; min-width: 140px !important; align-items: center !important; gap: 12px !important; transition: all 0.2s !important; color: var(--diary-text-muted) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
.bsm-pillar-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 14px !important; display: flex !important; gap: 12px !important; align-items: flex-start !important; cursor: pointer !important; transition: all 0.3s ease !important; }
.bsm-pillar-check { width: 20px !important; height: 20px !important; border-radius: 50% !important; border: 2px solid var(--diary-text-muted) !important; flex-shrink: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-top: 2px !important; }
.bsm-pillar-grid { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-top: 16px !important; }
.bsm-pillar-icon { font-size: 20px !important; flex-shrink: 0 !important; }
.bsm-pillar-text { font-size: 13px !important; line-height: 1.55 !important; color: var(--diary-text-muted) !important; }
.bsm-pillar-title { font-size: 14px !important; font-weight: 700 !important; margin-bottom: 3px !important; }
.bsm-plan-media-btn { display: inline-block; margin-top: 6px; font-size: 12px; font-weight: 800; color: #3a8281; text-decoration: none; }
.bsm-plan-row-tap { cursor: pointer; background: none; border: none; padding: 0; margin: 0; font: inherit; text-align: left; width: 100%; }
.bsm-plan-tag-preventative { background: #e6f2f2; color: #3a8281; }
.bsm-plan-tag-reactive { background: #fdedeb; color: #b3402a; }
.bsm-preview-badge { display: inline-block !important; font-size: 11px !important; text-transform: uppercase !important; font-weight: 800 !important; color: var(--brand-orange) !important; background: rgba(245, 158, 11, 0.15) !important; border: 1px solid rgba(245, 158, 11, 0.4) !important; padding: 6px 12px !important; border-radius: 16px !important; margin-bottom: 20px !important; letter-spacing: 0.5px !important; }
.bsm-progress-bar-bg { height: 8px !important; background: var(--inner-bg) !important; border-radius: 4px !important; margin-top: 16px !important; overflow: hidden !important; border: 1px solid var(--glass-border) !important; }
.bsm-progress-bar-fill { height: 100% !important; background: var(--brand-purple) !important; width: 0%; transition: width 0.3s ease !important; }
.bsm-progress-fill-main { height: 100% !important; background: var(--brand-purple) !important; border-radius: 4px !important; transition: width 0.5s ease !important; }
.bsm-progress-track-main { width: 100% !important; height: 8px !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 4px !important; overflow: hidden !important; }
.bsm-question-text { font-size: 18px !important; font-weight: 700 !important; margin-bottom: 24px !important; line-height: 1.4 !important; }
.bsm-quiz-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; }
.bsm-quiz-explanation { background: rgba(59, 130, 246, 0.1) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; padding: 16px !important; border-radius: 8px !important; margin-top: 16px !important; display: none !important; }
.bsm-quiz-feedback { margin-top: 12px !important; font-size: 14px !important; font-weight: 600 !important; display: none !important; }
.bsm-quiz-icon { width: 24px !important; height: 24px !important; border-radius: 50% !important; border: 2px solid var(--diary-text-muted) !important; margin-right: 16px !important; flex-shrink: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: all 0.2s ease !important; }
.bsm-quiz-label { font-size: 12px !important; font-weight: 800 !important; color: var(--brand-purple) !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 8px !important; display: block !important; }
.bsm-quiz-option { background: var(--glass-bg) !important; border: 2px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; margin-bottom: 10px !important; cursor: pointer !important; transition: all 0.2s ease !important; display: flex !important; align-items: center !important; }
.bsm-quiz-question { font-size: 18px !important; font-weight: 700 !important; margin-bottom: 16px !important; }
.bsm-quiz-wrap { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 16px !important; }
.bsm-reassurance-banner { background: rgba(59, 130, 246, 0.1) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; border-left: 4px solid var(--brand-blue) !important; }
.bsm-reframe-item { background: var(--inner-bg) !important; border-left: 4px solid var(--brand-purple) !important; padding: 16px !important; border-radius: 8px !important; margin-bottom: 12px !important; }
.bsm-reframe-list { margin-top: 24px !important; }
.bsm-relax-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; cursor: pointer !important; transition: all 0.3s ease !important; }
.bsm-relax-content { font-size: 13px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; display: none !important; margin-top: 14px !important; padding-top: 14px !important; border-top: 1px dashed var(--glass-border) !important; }
.bsm-relax-icon { font-size: 18px !important; }
.bsm-relax-locked { background: var(--inner-bg) !important; border: 1px dashed var(--glass-border) !important; padding: 32px 24px !important; border-radius: 12px !important; text-align: center !important; align-items: center !important; }
.bsm-relax-plan-card { background: rgba(59, 130, 246, 0.05) !important; border: 1px solid var(--brand-blue) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; }
.bsm-relax-plan-title { font-size: 18px !important; font-weight: 800 !important; color: var(--brand-blue) !important; margin-bottom: 16px !important; display: block !important; }
.bsm-relax-step-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; padding: 12px 16px !important; border-radius: 8px !important; margin-bottom: 8px !important; align-items: center !important; gap: 12px !important; }
.bsm-relax-text { font-size: 14px !important; line-height: 1.4 !important; }
.bsm-relax-title { font-size: 16px !important; font-weight: 700 !important; margin-bottom: 8px !important; display: flex !important; align-items: center !important; }
.bsm-reset-icon { font-size: 18px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.bsm-reset-row { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 12px !important; }
.bsm-reset-text { font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.bsm-reveal-action-btn { background: var(--glass-bg) !important; color: var(--brand-purple) !important; border: 1px solid var(--glass-border) !important; padding: 12px 24px !important; border-radius: 8px !important; font-size: 16px !important; font-weight: 700 !important; cursor: pointer !important; margin-left: 12px !important; transition: all 0.2s !important; display: inline-block !important; }
.bsm-reveal-answer-box { border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; margin-bottom: 12px !important; background: var(--glass-bg) !important; }
.bsm-reveal-answer-text { color: var(--brand-purple) !important; font-size: 16px !important; }
.bsm-reveal-answer-title { color: var(--brand-purple) !important; font-weight: 700 !important; font-size: 14px !important; margin-bottom: 8px !important; }
.bsm-reveal-box { background: var(--inner-bg) !important; border: 1px dashed var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; margin-top: 16px !important; display: none !important; font-size: 14px !important; line-height: 1.6 !important; }
.bsm-reveal-btn { background: var(--brand-blue) !important; color: #ffffff !important; border: none !important; padding: 10px 20px !important; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; margin-top: 8px !important; transition: transform 0.2s !important; width: fit-content !important; }
.bsm-reveal-desc { background: rgba(168, 85, 247, 0.05) !important; border-radius: 8px !important; padding: 16px !important; font-size: 15px !important; line-height: 1.6 !important; margin-bottom: 12px !important; }
.bsm-reveal-example { background: var(--inner-bg) !important; border-radius: 8px !important; padding: 16px !important; font-size: 14px !important; font-style: italic !important; }
.bsm-reveal-prompt-box { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; text-align: center !important; margin-bottom: 24px !important; }
.bsm-revealed-content { margin-top: 16px !important; }
.bsm-review-ans-row { font-size: 14px !important; margin-bottom: 6px !important; }
.bsm-review-card { border-radius: 12px !important; padding: 20px !important; margin-bottom: 16px !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; }
.bsm-review-correct-ans { color: var(--brand-green) !important; }
.bsm-review-explanation { margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--glass-border) !important; font-size: 13px !important; color: var(--diary-text-muted) !important; line-height: 1.5 !important; }
.bsm-review-header { font-size: 24px !important; font-weight: 800 !important; margin-bottom: 24px !important; text-align: center !important; }
.bsm-review-icon { width: 20px !important; height: 20px !important; margin-right: 8px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.bsm-review-q-title { font-size: 15px !important; font-weight: 700 !important; margin-bottom: 12px !important; display: flex !important; align-items: flex-start !important; }
.bsm-roadmap-item { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; margin-bottom: 12px !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important; transition: all 0.3s ease !important; }
.bsm-rule-grid { display: flex !important; flex-direction: column !important; gap: 10px !important; margin: 16px 0 !important; }
.bsm-rule-row { display: flex !important; align-items: center !important; justify-content: space-between !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 12px 16px !important; font-size: 14px !important; }
.bsm-rule-tag { font-weight: 700 !important; font-size: 12px !important; padding: 4px 10px !important; border-radius: 20px !important; }
.bsm-sc-icon { font-size: 18px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.bsm-sc-row { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 12px !important; }
.bsm-sc-text { font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.bsm-scenario-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 18px !important; margin-bottom: 16px !important; }
.bsm-scenario-opt { text-align: left !important; padding: 10px 14px !important; border-radius: 8px !important; border: 1px solid var(--glass-border) !important; background: var(--card-bg) !important; cursor: pointer !important; font-size: 13px !important; transition: all 0.2s ease !important; }
.bsm-scenario-options { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.bsm-scenario-opts { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.bsm-scenario-reveal { margin-top: 12px !important; padding: 12px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; background: rgba(34, 197, 94, 0.1) !important; border: 1px solid rgba(34, 197, 94, 0.3) !important; display: none !important; }
.bsm-score-banner { padding: 20px !important; border-radius: 12px !important; text-align: center !important; margin-bottom: 32px !important; }
.bsm-score-fail { background: rgba(239, 68, 68, 0.1) !important; border: 1px solid var(--brand-red) !important; }
.bsm-score-pass { background: rgba(34, 197, 94, 0.1) !important; border: 1px solid var(--brand-green) !important; }
.bsm-scroll-viewport { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; align-items: center; z-index: 1; }
.bsm-sensory-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; cursor: pointer !important; transition: all 0.3s ease !important; }
.bsm-sensory-content { font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; display: none !important; margin-top: 16px !important; padding-top: 16px !important; border-top: 1px dashed var(--glass-border) !important; }
.bsm-sensory-title { font-size: 16px !important; font-weight: 700 !important; margin-bottom: 8px !important; display: flex !important; align-items: center !important; }
.bsm-sidebar-col { flex: 0 0 340px !important; min-width: 300px !important; position: sticky !important; top: 20px !important; }
.bsm-sidebar-header { margin-bottom: 24px !important; }
.bsm-slide-subtitle { font-size: 15px !important; color: var(--brand-blue) !important; font-weight: 600 !important; margin-bottom: 24px !important; }
.bsm-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #e5e7eb; transition: .4s; border-radius: 34px; }
.bsm-sort-btn { flex: 1 !important; text-align: center !important; padding: 10px 8px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; cursor: pointer !important; font-size: 13px !important; font-weight: 500 !important; transition: all 0.2s !important; background: var(--inner-bg) !important; }
.bsm-sort-btns { display: flex !important; gap: 8px !important; transition: opacity 0.3s ease !important; }
.bsm-sort-item { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; display: flex !important; flex-direction: column !important; }
.bsm-sort-quote { font-size: 15px !important; font-style: italic !important; font-weight: 600 !important; margin-bottom: 16px !important; flex-grow: 1 !important; }
.bsm-sort-row { border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; margin-bottom: 16px !important; background: var(--glass-bg) !important; transition: all 0.3s ease !important; }
.bsm-sort-title { font-size: 15px !important; font-weight: 600 !important; margin-bottom: 12px !important; }
.bsm-sound-play-btn { background: var(--brand-blue) !important; color: #ffffff !important; border-radius: 8px !important; padding: 8px 16px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; }
.bsm-sound-player { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; margin-top: 20px !important; }
.bsm-sound-slider { flex-grow: 1 !important; accent-color: var(--brand-blue) !important; }
.bsm-status-green { border-left-color: var(--brand-green) !important; }
.bsm-status-grey { border-left-color: #94a3b8 !important; }
.bsm-status-orange { border-left-color: var(--brand-orange) !important; }
.bsm-status-pill { background: var(--inner-bg) !important; flex: 1; min-width: 300px; padding: 20px 24px !important; border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; border: 1px solid var(--glass-border) !important; border-left-width: 8px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; }
.bsm-status-red { border-left-color: var(--brand-red) !important; }
.bsm-status-yellow { border-left-color: var(--brand-yellow) !important; }
.bsm-step-circle { width: 32px !important; height: 32px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.2) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important; margin-right: 12px !important; flex-shrink: 0 !important; }
.bsm-step-circle-large { width: 48px !important; height: 48px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.15) !important; border: 1px solid rgba(168, 85, 247, 0.3) !important; color: var(--brand-purple) !important; font-size: 20px !important; font-weight: 700 !important; margin-right: 16px !important; flex-shrink: 0 !important; }
.bsm-story-container { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 60px 24px 24px !important; text-align: center !important; min-height: 400px !important; flex-direction: column !important; justify-content: space-between !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important; }
.bsm-story-dots { gap: 8px !important; justify-content: center !important; margin-top: auto !important; padding-top: 24px !important; }
.bsm-sub-header { background: #f3f4f6; padding: 10px 25px; font-size: 12px; font-weight: 800; text-transform: uppercase; color: #6b7280; border-bottom: 1px solid #e5e7eb; border-top: 1px solid #e5e7eb; }
.bsm-success-box { background: rgba(34, 197, 94, 0.1) !important; border: 1px solid rgba(34, 197, 94, 0.3) !important; color: var(--brand-green) !important; padding: 16px !important; border-radius: 8px !important; margin-top: 24px !important; font-weight: 600 !important; font-size: 14px !important; }
.bsm-success-icon { width: 64px !important; height: 64px !important; margin: 0 auto 16px auto !important; }
.bsm-success-subtitle { font-size: 16px !important; color: var(--diary-text-muted) !important; }
.bsm-success-title { font-size: 24px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.bsm-suggestion-box { background: rgba(168, 85, 247, 0.08) !important; border: 1px solid rgba(168, 85, 247, 0.3) !important; border-radius: 12px !important; padding: 16px !important; margin-top: 16px !important; }
.bsm-tags-wrap { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.bsm-takeaway-card { background: rgba(168, 85, 247, 0.05) !important; border: 1px solid rgba(168, 85, 247, 0.2) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; }
.bsm-tap-hint { font-size: 12px !important; font-weight: 600 !important; color: var(--diary-text-muted) !important; margin: -6px 0 12px 0 !important; display: block !important; }
.bsm-text-highlight { color: var(--brand-purple) !important; font-weight: 600 !important; }
.bsm-text-input { flex-grow: 1 !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 12px 16px !important; font-size: 15px !important; }
.bsm-text-italic { font-style: italic !important; color: var(--diary-text-muted) !important; font-size: 14px !important; margin-bottom: 8px !important; }
.bsm-text-p { font-size: 15px !important; line-height: 1.6 !important; margin-bottom: 16px !important; color: var(--diary-text-muted) !important; }
.bsm-textarea-field { width: 100% !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; font-size: 14px !important; margin-bottom: 24px !important; color: var(--diary-text) !important; resize: vertical !important; min-height: 100px !important; }
.bsm-thin-banner { background: rgba(168, 85, 247, 0.1) !important; border: 1px solid rgba(168, 85, 247, 0.3) !important; border-left: 4px solid var(--brand-purple) !important; padding: 12px 24px !important; border-radius: 8px !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 24px !important; position: sticky !important; top: 20px !important; z-index: 50 !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; }
.bsm-thought-delete { cursor: pointer !important; color: var(--diary-text-muted) !important; font-size: 18px !important; padding: 0 8px !important; }
.bsm-thought-item { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; margin-bottom: 16px !important; }
.bsm-thought-text { font-size: 15px !important; font-weight: 500 !important; margin-bottom: 12px !important; display: flex !important; justify-content: space-between !important; }
.bsm-timer-word { font-size: 13px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: var(--diary-text-muted) !important; margin-bottom: 16px !important; }
.bsm-timer-wrap { display: flex !important; flex-direction: column !important; align-items: center !important; padding: 32px 0 !important; }
.bsm-title { font-weight: 800; font-size: 18px; color: #111827; margin-right: auto; }
.bsm-title-h2 { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 8px !important; }
.bsm-title-medium { font-size: 16px !important; font-weight: 600 !important; margin-bottom: 4px !important; }
.bsm-tool-item { align-items: center !important; padding: 12px !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; background: var(--inner-bg) !important; cursor: pointer !important; transition: all 0.2s !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
.bsm-tool-item-chevron { stroke: var(--glass-border) !important; transition: stroke 0.2s !important; }
.bsm-tool-item-icon { width: 40px !important; height: 40px !important; border-radius: 8px !important; background: var(--glass-bg) !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; margin-right: 16px !important; }
.bsm-tool-list { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.bsm-top-bar { background: #fff; padding: 15px 25px; border-bottom: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; gap: 15px; flex-wrap: wrap; position: relative; z-index: 50; }
.bsm-tut-btn-primary { width: 100%; padding: 16px 24px; border-radius: 50px; border: none; background: linear-gradient(135deg, #a855f7, #3b82f6); color: rgba(255,255,255,0.95); font-size: 1rem; font-weight: 700; cursor: pointer; font-family: 'Inter', sans-serif; letter-spacing: 0.01em; transition: opacity 0.2s ease, transform 0.2s ease; box-shadow: 0 8px 24px rgba(168, 85, 247, 0.35); }
.bsm-tut-btn-skip { width: 100%; padding: 14px 24px; border-radius: 50px; border: 1px solid rgba(128, 128, 128, 0.3); background: transparent; color: var(--card-text); font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; opacity: 0.6; transition: opacity 0.2s ease; }
.bsm-tutorial-actions { display: flex; flex-direction: column; gap: 12px; width: 100%; margin-top: 8px; }
.bsm-tutorial-card { background: var(--card-bg); color: var(--card-text); border-radius: 28px; padding: 48px 44px; max-width: 480px; width: calc(100% - 48px); box-shadow: 0 40px 120px rgba(0, 0, 0, 0.5); border: 1px solid rgba(255, 255, 255, 0.15); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; position: relative; }
.bsm-tutorial-dots { display: flex; gap: 6px; margin-top: 4px; }
.bsm-tutorial-icon { width: 64px; height: 64px; border-radius: 20px; background: linear-gradient(135deg, #a855f7, #3b82f6); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(168, 85, 247, 0.4); margin-bottom: 8px; flex-shrink: 0; }
.bsm-video-btn { width: 60px !important; height: 60px !important; background: var(--brand-purple) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: all 0.3s ease !important; }
.bsm-video-label { position:absolute !important; bottom:16px !important; left:16px !important; font-size:13px !important; font-weight:600 !important; color: var(--diary-text) !important; }
.bsm-video-placeholder { background-color: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; aspect-ratio: 16/9 !important; border-radius: 12px !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; margin-bottom: 24px !important; position: relative !important; overflow: hidden !important; }
.bsm-view { display: none !important; }
.bsm-view-active { display: block !important; animation: bsmFadeIn 0.3s ease !important; }
.bsm-week-card { flex: 1 1 calc(50% - 16px) !important; min-width: 240px !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; transition: all 0.2s ease !important; display: flex !important; flex-direction: column !important; position: relative !important; cursor: pointer !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; }
.bsm-week-card-header { align-items: center !important; gap: 12px !important; margin-bottom: 12px !important; }
.bsm-week-grid { flex-wrap: wrap !important; gap: 16px !important; margin-top: 16px !important; }
.bsm-week-icon { width: 40px !important; height: 40px !important; border-radius: 50% !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.bsm-wellness-link { display: inline-block !important; margin-top: 10px !important; font-weight: 700 !important; color: var(--brand-purple) !important; text-decoration: underline !important; font-size: 13px !important; }
.bsm-why-works-title { font-size: 14px !important; font-weight: 700 !important; color: var(--brand-blue) !important; margin-bottom: 4px !important; display: flex !important; align-items: center !important; }
.bsm-word-input { width: 100% !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 12px 16px !important; font-size: 15px !important; margin-bottom: 16px !important; color: var(--diary-text) !important; }
.bsm-wrapper { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #fff; margin: 20px auto; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); position: relative; }
.btn-add { background: #10b981; color: white; }
.btn-add-custom { background: transparent; border: 2px dashed #cbd5e1; color: #0073aa; padding: 15px; border-radius: 8px; width: 100%; font-weight: 700; cursor: pointer; transition: 0.2s; margin-top: 10px; font-size: 15px; }
.btn-bulk { background: #0ea5e9; color: white; }
.btn-cancel { background: #e5e7eb; color: #374151; }
.btn-del { color: #ef4444; }
.btn-full { width: 100%; border: none; background: #f4fbfb; padding: 12px 0; font-size: 0.8rem; text-align: center; cursor: pointer; color: #00695c; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; transition: 0.2s; border-top: 1px solid #e0f2f1; }
.btn-green-solid { padding: 12px 24px; background: #56ab2f; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: 700; transition: 0.2s; }
.btn-group { display: flex; gap: 15px; margin-top: 20px; }
.btn-icon { background: transparent; padding: 5px; font-size: 16px; }
.btn-remove-custom { position: absolute; top: 10px; right: 10px; background: #fee2e2; color: #b91c1c; border: none; border-radius: 4px; padding: 6px 10px; cursor: pointer; font-size: 12px; font-weight: bold; }
.btn-save { background: #2563eb; color: white; }
.btn-test { background: #f59e0b; color: white; }
.btn-view-data { width: 100%; background: #e0f2fe; color: #0284c7; border: 1px solid #bae6fd; padding: 6px; border-radius: 4px; font-size: 11px; font-weight: 800; cursor: pointer; transition: 0.2s; margin-top: 10px; }
.btn-white-outline { padding: 12px 24px; border: 2px solid #cbd5e1; border-radius: 8px; cursor: pointer; background: #fff; color: #475569; font-weight: 700; transition: 0.2s; }
.button-group { display: flex; flex-direction: column; align-items: center; gap: 25px; }
.calculation-summary { width: 80%; margin: 20px auto; border-collapse: collapse; }
.calorie-output { padding: 15px; border-radius: 8px; font-weight: bold; text-align: center; margin-top: 15px; transition: 0.3s; }
.card-green { border-top: 6px solid #27ae60; }
.card-grey { border-top: 6px solid #95a5a6; }
.card-meta { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; border-top: 1px solid var(--glass-border); margin-top: auto; }
.card-orange { border-top: 6px solid #e67e22; }
.card-red { border-top: 6px solid #c0392b; }
.card-yellow { border-top: 6px solid #f1c40f; }
.cat-aware { --cat-color: var(--brand-pink); background: rgba(236,72,153,0.05) !important; border-color: rgba(236,72,153,0.3) !important; }
.cat-emo { --cat-color: var(--brand-orange); background: rgba(245,158,11,0.05) !important; border-color: rgba(245,158,11,0.3) !important; }
.cat-hyper { --cat-color: var(--brand-red); background: rgba(239,68,68,0.05) !important; border-color: rgba(239,68,68,0.3) !important; }
.cat-other { --cat-color: var(--brand-teal); background: rgba(20,184,166,0.05) !important; border-color: rgba(20,184,166,0.3) !important; }
.cat-plan { --cat-color: var(--brand-blue); background: rgba(59,130,246,0.05) !important; border-color: rgba(59,130,246,0.3) !important; }
.cat-sleep { --cat-color: var(--brand-purple); background: rgba(168,85,247,0.05) !important; border-color: rgba(168,85,247,0.3) !important; }
.ch-accent-bar { position: absolute; bottom: 0; left: 0; height: 3px; width: 100%; }
.ch-btn-action { background: none; border: 1px solid #e5e9ea; color: #5a6b72; padding: 8px 16px; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; transition: 0.2s; }
.ch-icon { font-size: 24px; filter: grayscale(0.2); }
.ch-left { display: flex; align-items: center; gap: 15px; }
.ch-status { font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: 0.5px; margin-top: 2px; }
.ch-title { margin: 0; font-size: 18px; font-weight: 800; color: #2F3E46; letter-spacing: -0.3px; }
.ch-title-wrap { display: flex; flex-direction: column; }
.check { color: #28a745; font-size: 1.2rem; }
.clinical-box { background: #fff8e1; border-left: 4px solid #ffa000; padding: 15px; border-radius: 4px; font-size: 0.9rem; color: #5d4037; }
.clinical-title { display: block; margin-bottom: 5px; font-weight: bold; }
.cloud-1 { width: 250px; height: 70px; top: 15%; left: 70%; animation: hoverCloud 40s ease-in-out infinite; opacity: 0.7; }
.cloud-2 { width: 300px; height: 80px; top: 45%; left: 60%; animation: hoverCloud 50s ease-in-out infinite reverse; opacity: 0.5; }
.cloud-3 { width: 200px; height: 60px; top: 75%; left: 25%; animation: hoverCloud 45s ease-in-out infinite 5s; opacity: 0.6; }
.clouds-fixed { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 3; opacity: 0; transition: opacity 0.8s ease; overflow: hidden; display: none; }
.col-desc { color: #6b7280; font-size: 12px; font-style: italic; }
.col-prev { color: #059669; font-weight: 600; font-size: 13px; display: flex; align-items: center; gap: 5px; }
.col-warr { color: #2563eb; font-weight: 600; font-size: 13px; display: flex; align-items: center; gap: 5px; }
.condition-section { border: 1px solid #ccc; border-radius: 8px; padding: 5px 18px 18px 18px; margin-bottom: 25px; background:#fff; }
.consultant-flex { display: flex; align-items: center; justify-content: space-between; }
.consultant-img-wrap { transform: scale(0.85); transform-origin: right center; }
.consultant-subtext { margin: 0; font-size: 0.85rem; color: #666; }
.consultant-text-col { flex: 1; }
.consultant-title-text { margin: 0 0 5px 0; }
.content-card { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 16px; padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); display: flex; flex-direction: column; transition: transform 0.25s ease, border-color 0.25s ease; }
.control-btn { background: var(--inner-bg) !important; border: 1px solid var(--glass-border); border-radius: 20px; padding: 9px 18px; color: var(--diary-text) !important; font-size: 0.82rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; }
.control-options { display: flex; flex-wrap: wrap; gap: 8px; }
.cta-button { background: #6E5CE6; color: #FFFFFF !important; border: none; border-radius: 100px; padding: 24px 90px; font-size: 1.25rem; font-weight: 700; cursor: pointer; box-shadow: 0 20px 40px rgba(110, 92, 230, 0.3); transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.custom-bio-card { background: #f8fafc; padding: 20px; border-radius: 8px; border: 1px solid #e2e8f0; margin-bottom: 15px; text-align: left; position: relative; }
.diag-block { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 10px; font-size: 12px; color: #475569; }
.diag-list { margin: 0; padding-left: 0; list-style: none; }
.diag-title { font-weight: 700; margin-bottom: 4px; display: block; }
.dp-btn-print { background:#f0f5f0; border:2px solid #cddccd; padding:8px 16px; border-radius:8px; font-weight:700; color:#4a6b4a; cursor:pointer; transition:0.2s; display:flex; align-items:center; gap:8px; }
.dp-empty-note { padding:20px; background:#faf9f5; border:1px dashed #e5e9ea; border-radius:12px; color:#a1b0b5; font-weight:700; text-align:center; }
.dp-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; flex-wrap:wrap; gap:10px; }
.dp-index { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; padding:14px; background:#faf9f5; border:1px solid #e5e9ea; border-radius:12px; }
.dp-index-link { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:20px; background:#fff; border:1px solid #e5e9ea; color:#2F3E46; font-weight:700; font-size:13px; text-decoration:none; transition:0.2s; }
.dp-section { margin-bottom:40px; padding-top:20px; border-top:2px solid #e5e9ea; }
.dp-section-heading { font-size:18px; font-weight:800; color:#2F3E46; margin:0 0 15px 0; display:flex; align-items:center; gap:8px; }
.dp-title { font-size:24px; font-weight:800; color:#2F3E46; margin:0; }
.dt-adopt { color: #16a34a; }
.dt-avoid { color: #dc2626; }
.dt-super { color: #d97706; }
.dynamic-input-wrap { width: 100%; margin-top: 10px; margin-bottom: 15px; }
.fc-data-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 15px; }
.fc-modal-body { padding: 30px; overflow-y: auto; }
.filter-btn { padding: 14px 22px; border-radius: 30px; background: var(--brand-purple) !important; color: #ffffff !important; border: none; font-size: 0.88rem; font-weight: 700; font-family: 'Inter', sans-serif; cursor: pointer; flex-shrink: 0; box-shadow: 0 4px 14px rgba(168,85,247,0.3); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.filter-select { padding: 8px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px; font-weight: 600; color: #374151; background: #f9fafb; cursor: pointer; min-width: 150px; }
.flag { background: #fff7ed; border-left: 4px solid #d97706; padding: 12px 16px; margin: 14px 0; border-radius: 4px; }
.footer-bar-green { background: #56ab2f; }
.form-control { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 6px; font-family: inherit; font-size: 14px; box-sizing: border-box; background: #fff; }
.form-section { border: 1px solid var(--border); border-radius: 8px; padding: 20px; margin-bottom: 20px; background: #faf9f5; }
.ft-in-row { display: flex; gap: 10px; }
.gastro-alert { padding: 12px; border-radius: 8px; text-align: center; margin-bottom: 20px; font-size: 0.95rem; display: flex; align-items: center; justify-content: center; gap: 10px; }
.gastro-alert-danger { background: #ffebee; border: 1px solid #ffcdd2; color: #c62828; }
.gastro-alert-safe { background: #e8f5e9; border: 1px solid #c8e6c9; color: #2e7d32; }
.gate1-box { background: #fff; padding: 2.5rem; max-width: 480px; border-radius: 12px; text-align: center; box-shadow: 0 12px 40px rgba(0,0,0,0.25); }
.gate1-btn-dummy { padding: 8px 14px; background: #e5e5e5; color: #333; border-radius: 6px; font-size: 0.8rem; text-decoration: none; }
.gate1-button-start { display: inline-block; padding: 0.8rem 1.6rem; background: #111; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600; }
.gate1-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.65); display: none; align-items: center; justify-content: center; z-index: 99999; font-family: inherit; }
.gate1-text { font-size: 1rem; line-height: 1.55; margin-bottom: 1.5rem; }
.gate1-text-small { font-size: 0.85rem; line-height: 1.45; color: #333; margin-bottom: 20px; }
.gate1-title { margin-bottom: 1rem; font-size: 1.6rem; font-weight: 600; }
.ghost-button { background: transparent; color: var(--text-sub) !important; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 100px; padding: 14px 45px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: 0.3s; text-transform: uppercase; letter-spacing: 0.15em; }
.gja-tab-btn { appearance: none; border: none; background: #f1f5f9; color: #475569; font-family: inherit; font-size: 13px; font-weight: 700; letter-spacing: .3px; padding: 10px 20px; border-radius: 8px 8px 0 0; cursor: pointer; }
.gja-tab-nav { display: flex; gap: 6px; border-bottom: 2px solid #e2e8f0; margin-bottom: 0; }
.gja-tab-panel { display: none; padding-top: 14px; }
.gja-tabs { max-width: 1000px; margin: 20px 0 10px; }
.header-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.helper-text { font-size: 0.85em; color: #334e68; background-color: #f0f4f8; border: 1px solid #d9e2ec; padding: 8px 12px; border-radius: 6px; margin-bottom: 15px; display: block; line-height: 1.4; }
.helper-text-clean { color: #334e68; border-radius: 6px; margin-bottom: 15px; display: block; line-height: 1.4; }
.helper-text-inset { margin-top: 4px; margin-bottom: 10px; }
.legend-icon { font-size: 1.2rem; }
.legend-item { display: flex; align-items: center; gap: 6px; color: #444; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; font-size: 0.7rem; }
.link-group { margin-bottom: 15px; }
.link-group-title { font-weight: 800; color: #0f172a; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; }
.loading-content { display: flex; flex-direction: column; align-items: center; margin-top: -200px; }
.log-box { background: #0f172a; color: #34d399; font-family: monospace; font-size: 13px; padding: 15px; border-radius: 8px; margin-top: 20px; max-height: 400px; overflow-y: auto; display: none; }
.low-calorie { background: orange; color: white; }
.manual-b-green { background: var(--manual-ssot-green-bg); color: var(--manual-ssot-green); border: 1px solid #bbf7d0; }
.manual-b-pink { background: var(--manual-ssot-pink-bg); color: var(--manual-ssot-pink); border: 1px solid #fbcfe8; }
.manual-b-red { background: var(--manual-ssot-red-bg); color: var(--manual-ssot-red); border: 1px solid #fca5a5; }
.manual-b-yellow { background: var(--manual-ssot-yellow-bg); color: var(--manual-ssot-yellow); border: 1px solid #fde047; }
.manual-badge { padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 800; text-transform: uppercase; display: inline-block; margin-right: 5px; margin-bottom: 5px; }
.manual-flag-hints { font-size: 16px; opacity: 0.8; display: block; letter-spacing: 2px; }
.manual-h1 { font-size: 28px; font-weight: 800; margin-bottom: 5px; display: flex; align-items: center; gap: 10px; }
.manual-h2 { font-size: 18px; font-weight: 800; color: var(--manual-sage); border-bottom: 2px solid var(--manual-border); padding-bottom: 10px; margin-top: 30px; }
.manual-link-group { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dashed #cbd5e1; }
.manual-link-group-title { font-weight: 800; color: #0f172a; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; font-size: 15px; text-transform: uppercase; }
.manual-logic-math { font-family: monospace; font-size: 13px; font-weight: 600; color: #334155; }
.manual-logic-row { margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px dashed #e2e8f0; display: flex; justify-content: space-between; align-items: center; }
.manual-metric-desc { font-size: 12px; color: #64748b; }
.manual-metric-title { font-weight: 800; font-size: 14px; color: #0f172a; display: block; margin-bottom: 4px; }
.manual-section-header { background: var(--manual-primary); color: #fff; padding: 15px 20px; border-radius: 8px; font-size: 20px; font-weight: 800; margin-top: 50px; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
.manual-step-box { background: var(--manual-bg); border: 1px solid var(--manual-border); padding: 20px; border-radius: 12px; margin: 15px 0; }
.manual-sub-hint { font-size: 11px; color: #64748b; font-weight: normal; text-transform: none; letter-spacing: 0; display: block; margin-top: 4px; }
.manual-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 13px; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.05); border: 1px solid var(--manual-border); }
.manual-th { background: #f8fafc; font-weight: 800; color: var(--manual-primary); text-transform: uppercase; font-size: 12px; letter-spacing: 0.5px; }
.manual-unit-header { font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 4px; display: block; }
.master-controls-bar { background: transparent; padding: 0; margin-bottom: 20px; border: none; display: flex; align-items: center; font-family: sans-serif; }
.metric-key { font-weight: 700; color: #718096; text-transform: uppercase; font-size: 11px; }
.metric-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
.metric-val { font-weight: 800; color: #334155; }
.mind-fill-slate { background: #64748b; }
.mind-fill-steel { background: #94a3b8; }
.mind-intro-body { display: block; color: #475569; }
.mind-intro-hook { font-weight: 700; color: #1e293b; display: block; margin-bottom: 8px; font-size: 1.1em; }
.mind-meter-box { margin-top: 15px; }
.mind-neuro-state-emoji { font-size: 28px; line-height: 1; flex-shrink: 0; }
.mind-neuro-state-label-wrap { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.mind-neuro-state-sup { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: #94a3b8; }
.mind-neutral-title { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; color: #64748b; }
.modal-body { padding: 20px; max-height: 60vh; overflow-y: auto; font-size: 0.95rem; }
.modal-close { background: none; border: none; color: #fff; font-size: 1.8rem; cursor: pointer; line-height: 1; }
.modal-content { background: #fff; width: 90%; max-width: 500px; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.25); overflow: hidden; animation: popIn 0.2s; }
.modal-footer { display: flex; justify-content: flex-end; gap: 15px; border-top: 1px solid var(--border); padding-top: 20px; margin-top: 20px; }
.modal-header { background: #4AA3A2; color: #fff; padding: 15px 20px; font-size: 1.1rem; font-weight: 700; display: flex; justify-content: space-between; align-items: center; }
.moon { position: absolute; top: 60px; right: 80px; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #fff 0%, #ddd 40%, #aaa 100%); box-shadow: 0 0 40px rgba(255,255,255,0.6); overflow: hidden; }
.moon-fixed { position: fixed; top: 120px; left: 40px; width: 100px; height: 100px; border-radius: 50%; background-image: url('https://pngimg.com/uploads/moon/moon_PNG19.png'); background-size: cover; opacity: 0.2; pointer-events: none; z-index: 2; transition: 0.8s ease-in-out; }
.mp-action-btn-auto { background: #819b81; border: 2px solid #819b81; color: #fff; padding: 10px 18px; border-radius: 12px; font-weight: 800; font-size: 13px; cursor: pointer; text-decoration: none; display: flex; align-items: center; gap: 8px; transition: 0.2s; }
.mp-action-btn-manual { background: #fff; border: 2px solid #819b81; color: #819b81; padding: 10px 18px; border-radius: 12px; font-weight: 800; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: 0.2s; }
.mp-add-food-btn-permanent { background: #f0f5f0; border: 2px dashed #819b81; color: #819b81; border-radius: 8px; padding: 12px; text-align: center; font-weight: 700; font-size: 13px; cursor: pointer; width: 100%; transition: 0.2s; display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 10px; }
.mp-badge-auto { background: #fdf4ff; color: #9333ea; border: 1px solid #e9d5ff; }
.mp-badge-user { background: #f1f5f9; color: #475569; border: 1px solid #cbd5e1; }
.mp-btn-outline { border: 2px solid #e07a5f; color: #e07a5f; background: transparent; padding: 8px 15px; border-radius: 8px; font-weight: 700; text-decoration: none; font-size: 13px; transition: 0.2s; white-space: nowrap; }
.mp-canvas { flex: 1; padding: 20px; min-width: 0; }
.mp-canvas-body { padding: 30px; overflow-y: auto; flex: 1; background: #faf9f5; }
.mp-canvas-close { background: #f1f5f9; border: none; padding: 8px 16px; border-radius: 20px; font-weight: 700; color: #475569; cursor: pointer; transition: 0.2s; }
.mp-canvas-edit-btn { background: #819b81; color: #fff; border: none; padding: 12px 24px; border-radius: 8px; font-weight: 800; font-size: 16px; cursor: pointer; transition: 0.2s; flex: 1 1 220px; max-width: 280px; display:flex; align-items:center; justify-content:center; gap:8px; }
.mp-canvas-footer { padding: 15px 30px; background: #fff; border-top: 1px solid #e5e9ea; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.mp-canvas-header { padding: 20px 30px; border-bottom: 1px solid #e5e9ea; display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 12px 12px 0 0; }
.mp-canvas-overlay { position: fixed; bottom: 0; left: 0; right: 0; margin-top: 0 !important; margin-bottom: 0 !important; margin-left: auto !important; margin-right: auto !important; max-width: 800px !important; height: 85vh; box-sizing: border-box; border: 5px solid #475569; border-bottom: none; background: #fff; z-index: 10001; box-shadow: 0 -10px 40px rgba(0,0,0,0.15); border-radius: 12px 12px 0 0; display: flex; flex-direction: column; transform: translateY(120%); visibility: hidden; transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
.mp-canvas-print-btn { background: #f0f5f0; color: #4a6b4a; border: 1px solid #cddccd; padding: 12px 24px; border-radius: 8px; font-weight: 800; font-size: 16px; cursor: pointer; transition: 0.2s; flex: 1 1 220px; max-width: 280px; display:flex; align-items:center; justify-content:center; gap:8px; }
.mp-canvas-tab { padding: 8px 16px; border-radius: 20px; border: 1px solid #e5e9ea; background: #fff; font-weight: 600; cursor: pointer; white-space: nowrap; color: #a1b0b5; }
.mp-canvas-tab-circle { padding: 0; width: 35px; height: 35px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.mp-canvas-tabs { display: flex; gap: 10px; padding: 4px 10px; background: #fff; border-bottom: 1px solid #e5e9ea; overflow-x: auto; align-items: center; }
.mp-canvas-title { margin: 0; font-size: 20px; font-weight: 800; color: #2F3E46; text-transform: capitalize; display:flex; align-items:center; gap:8px; }
.mp-filter-btn { background: #e5e9ea; color: #5a6b72; border: none; padding: 10px 14px; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; transition: 0.2s; width: 100%; text-align: left; }
.mp-filter-placeholder { color: #a1b0b5; font-style: italic; font-weight: 600; }
.mp-foundation-hint { display: flex; align-items: flex-start; gap: 6px; margin: -6px 0 14px 0; font-size: 12px; font-weight: 600; color: #819b81; line-height: 1.4; }
.mp-foundation-hint-icon { flex-shrink: 0; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid #819b81; display: flex; align-items: center; justify-content: center; font-size: 10px; font-style: italic; font-weight: 800; line-height: 1; margin-top: 1px; }
.mp-ft-btn { background: #e5e9ea; color: #5a6b72; border: none; padding: 10px 14px; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; transition: 0.2s; text-align: left; width: 100%; }
.mp-impact-card { background: #fff; border: 1px solid #e5e9ea; border-radius: 12px; padding: 20px; display: flex; align-items: center; gap: 15px; }
.mp-impact-grid { display: grid; grid-template-columns: 1fr; gap: 15px; margin-bottom: 30px; }
.mp-impact-icon { width: 50px; height: 50px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
.mp-inline-cook { font-size:11px; padding:2px 4px; border-radius:6px; border:1px solid #a1b0b5; background:#fff; outline:none; color:#2F3E46; cursor:pointer; }
.mp-inline-item-supp { background: #faf6fc; border: 1px solid #9b6cb5; }
.mp-input-group { display: flex; flex-direction: column; gap: 5px; flex: 1; }
.mp-ledger-header { font-size: 13px; font-weight: 800; color: #2F3E46; text-transform: capitalize; margin-bottom: 10px; letter-spacing: 0.05em; border-bottom: 2px solid #e5e9ea; padding-bottom: 5px; display:flex; justify-content:space-between; align-items:center; }
.mp-ledger-icon { font-size: 16px; margin-right: 12px; width: 24px; text-align: center; display: inline-block; color: #94a3b8; }
.mp-ledger-left { display: flex; align-items: center; flex: 1; }
.mp-ledger-qty { font-size: 13px; color: #a1b0b5; margin-left: 6px; font-weight: 500; }
.mp-ledger-right { text-align: right; font-size: 13px; font-weight: 700; color: #5a6b72; white-space: nowrap; }
.mp-ledger-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 10px; border-bottom: 1px solid #f1f5f9; transition: background 0.2s ease; border-left: 3px solid #a7f3d0; background:#fff; }
.mp-ledger-zone { margin-bottom: 25px; }
.mp-list-badge { padding: 6px 12px; border-radius: 20px; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.mp-list-badge-good { background: #e6f0e6; color: #6b846b; border: 1px solid #819b81; }
.mp-list-badge-warn { background: #fdf2f0; color: #e07a5f; border: 1px solid #e07a5f; }
.mp-macro-bar { display: flex; height: 12px; border-radius: 6px; overflow: hidden; margin-bottom: 15px; background: #e2e8f0; }
.mp-macro-labels { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; flex-wrap:wrap; gap:8px; }
.mp-macro-segment { height: 100%; transition: width 0.5s ease; }
.mp-macro-title { margin: 0 0 15px 0; font-size: 16px; font-weight: 800; color: #2F3E46; }
.mp-macro-wrap { background: #fff; border-radius: 16px; padding: 20px; border: 1px solid #e5e9ea; margin-bottom: 20px; }
.mp-macros-mini { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; font-size: 12px; font-weight: 600; color: #5a6b72; flex: 1; }
.mp-main-screen { display: none; width: 100%; flex: 1; }
.mp-meal-zone { background: #fff; border: 3px dashed #8ba38b; border-radius: 12px; padding: 15px; transition: 0.2s; min-height: 150px; display: none; flex-direction: column; }
.mp-mobile-filter-toggle { display: flex; align-items: center; gap: 6px; background: #fff; border: 2px solid #e5e9ea; border-radius: 8px; padding: 0 14px; cursor: pointer; color: #5a6b72; font-size: 13px; font-weight: 700; height: 41px; white-space: nowrap; }
.mp-mobile-select { width: 100%; padding: 10px; border: 2px solid #e5e9ea; border-radius: 8px; margin-bottom: 15px; font-family: 'Inter'; outline: none; font-size: 14px; font-weight: 600; }
.mp-modal-box { background: #fff; width: 100%; max-width: 450px; border-radius: 16px; padding: 25px; box-shadow: 0 15px 40px rgba(0,0,0,0.2); position: relative; max-height: 90vh; overflow-y: auto; }
.mp-modal-box-small { max-width: 300px; text-align: center; }
.mp-modal-btn { background: #819b81; color: white; border: none; padding: 12px 20px; border-radius: 8px; font-weight: 700; cursor: pointer; width: 100%; transition: 0.2s; }
.mp-modal-close { position: absolute; top: 15px; right: 15px; background: #e5e9ea; border: none; width: 30px; height: 30px; border-radius: 50%; font-size: 16px; cursor: pointer; color: #2F3E46; font-weight: bold; z-index:400; }
.mp-modal-input { width: 90px; padding: 10px; text-align: center; font-size: 16px; font-weight: 700; border: 2px solid #819b81; border-radius: 8px; outline: none; color: #2F3E46; }
.mp-modal-input-wrap { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 20px; }
.mp-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(47,62,70,0.7); backdrop-filter: blur(4px); z-index: 300; display: none; align-items: center; justify-content: center; padding: 15px; }
.mp-modal-title { font-size: 18px; font-weight: 800; color: #2F3E46; margin: 0 0 10px 0; padding: 0 22px; box-sizing: border-box; }
.mp-palette-filters { display: none; position: absolute; top: 50px; right: 0; background: #fff; border: 1px solid #e5e9ea; border-radius: 12px; box-shadow: 0 10px 25px rgba(47,62,70,0.15); padding: 10px; flex-direction: column; width: 200px; z-index: 200; gap: 5px; }
.mp-palette-header-wrap { position: relative; }
.mp-palette-search { width: 100%; padding: 10px 12px; border: 2px solid #e5e9ea; border-radius: 8px; margin-bottom: 15px; font-family: 'Inter'; outline: none; font-size: 13px; }
.mp-pantry-warning { background: #f4e4d4; border: 1px solid #e07a5f; padding: 15px 20px; border-radius: 12px; margin: 20px 20px 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; }
.mp-pantry-warning-btns { display: flex; gap: 10px; }
.mp-pill { background: #faf9f5; border: 1px solid #e5e9ea; border-radius: 8px; padding: 8px 10px; cursor: grab; display: flex; align-items: center; gap: 8px; transition: 0.2s; min-width:0; }
.mp-pill-icon { font-size: 16px; flex-shrink:0; }
.mp-pill-info { flex: 1; overflow: hidden; min-width:0; }
.mp-pill-name { font-size: 12px; font-weight: 700; color: #2F3E46; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-pill-tag { font-size: 9px; font-weight: 800; color: white; padding: 2px 5px; border-radius: 4px; display: inline-block; }
.mp-plan-del { position: absolute; top: 25px; right: 25px; background: none; border: none; color: #a1b0b5; cursor: pointer; font-size: 18px; padding: 5px; transition: 0.2s; }
.mp-plan-match { background: #819b81; color: #fff; border: 1px solid #819b81; padding: 12px 16px; border-radius: 10px; font-size: 14px; font-weight: 700; cursor: pointer; transition: 0.2s; display: flex; justify-content: center; align-items: center; gap: 8px; text-decoration: none; }
.mp-plan-open { background: #fff; color: #2F3E46; border: 1px solid #2F3E46; padding: 12px 16px; border-radius: 10px; font-size: 14px; font-weight: 700; cursor: pointer; transition: 0.2s; display: flex; justify-content: center; align-items: center; gap: 8px; }
.mp-plans-action-bar { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.mp-plans-grid { display: grid; grid-template-columns: 1fr; gap: 15px; width: 100%; }
.mp-prog-labels { display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; color: #5a6b72; margin-bottom: 5px; text-transform: uppercase; }
.mp-prog-track { height: 8px; background: #e5e9ea; border-radius: 4px; overflow: hidden; }
.mp-qg-link { font-weight: 600; color: #2F3E46; font-size: 14px; cursor: pointer; text-decoration: underline; text-decoration-color: #e2e8f0; text-underline-offset: 4px; transition: 0.2s; }
.mp-qty-label { font-weight: 700; color: #819b81; font-size: 11px; padding-right:2px; }
.mp-search-wrap { display: flex; gap: 8px; width: 100%; align-items: flex-start; margin-bottom: 15px; }
.mp-setup-card { background: #fff; padding: 15px 20px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.03); margin-bottom: 20px; display: flex; flex-direction: row; gap: 15px; align-items: flex-end; }
.mp-sticky-bar { position: sticky; top: 0; background: #fff; z-index: 100; box-shadow: 0 4px 15px rgba(47,62,70,0.05); padding: 15px 20px; border-bottom: 2px solid #819b81; width: 100%; }
.mp-tab-btn { background: transparent; border: none; font-size: 13px; font-weight: 700; color: #a1b0b5; cursor: pointer; padding: 8px 12px; border-radius: 20px; transition: 0.2s; white-space: nowrap; display: flex; justify-content: center; align-items: center; gap: 5px; }
.mp-tabs { display: flex; gap: 8px; margin-bottom: 15px; border-bottom: 2px solid #e5e9ea; padding: 0 10px 10px 10px; overflow-x: auto; scrollbar-width: none; }
.mp-tag-cheat { background: #e07a5f; }
.mp-tag-recipe { background: #819b81; }
.mp-tag-supplement { background: #9b6cb5; }
.mp-tag-wholefood { background: #a1b0b5; }
.mp-timeline-container { max-width: 800px; margin: 0 auto; }
.mp-tl-bar { height: 6px; border-radius: 3px; margin-bottom: 8px; background: #e5e9ea; }
.mp-tl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 25px; }
.mp-tl-item { text-align: center; background: #fff; padding: 15px 10px; border-radius: 12px; border: 1px solid #e5e9ea; }
.mp-tl-label { font-size: 11px; font-weight: 800; color: #a1b0b5; margin-bottom: 8px; text-transform: uppercase; }
.mp-tl-val { font-size: 14px; font-weight: 700; color: #5a6b72; }
.mp-top-flex { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 15px; flex-wrap: wrap; }
.mp-top-nav-tabs { display: flex; gap: 8px; }
.mp-unified-card { background: #fff; border: 1px solid #819b81; padding: 25px; border-radius: 16px; position: relative; box-shadow: 0 4px 15px rgba(0,0,0,0.02); transition: transform 0.2s, box-shadow 0.2s; }
.mp-unified-insights { display: flex; flex-wrap: wrap; gap: 8px; min-height: 26px; align-items: center; margin: 15px 0 20px 0; }
.mp-zone-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; border-bottom: 1px solid #f0f0f0; padding-bottom: 8px; }
.mp-zone-items { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.mp-zone-target { font-size: 12px; font-weight: 600; color: #a1b0b5; }
.mp-zone-title { font-size: 16px; font-weight: 800; color: #2F3E46; display: flex; align-items: center; gap: 8px; }
.mt-card-body { padding: 20px; flex-grow: 1; }
.mt-card-desc { color: #555; font-size: 0.875rem; line-height: 1.5; margin-bottom: 14px; font-style: italic; }
.mt-card-overlay { position: absolute; top: 5px; left: 0; right: 0; bottom: 58px; background: rgba(255,255,255,0.75); backdrop-filter: blur(4px); z-index: 5; display: none; align-items: center; justify-content: center; pointer-events: none; }
.mt-card-reason { color: #555; font-size: 0.88rem; line-height: 1.5; margin-bottom: 12px; }
.mt-card-strapline { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 0.85rem; color: #555; line-height: 1.5; margin-bottom: 14px; font-style: italic; }
.mt-card-title { color: #333; font-size: 1.1rem; font-weight: 800; margin-bottom: 6px; }
.mt-card-top-amber { height: 5px; background: #f59e0b; border-radius: 8px 8px 0 0; }
.mt-card-top-blue { height: 5px; background: #3b82f6; border-radius: 8px 8px 0 0; }
.mt-card-top-coral { height: 5px; background: #e76f51; border-radius: 8px 8px 0 0; }
.mt-card-top-purple { height: 5px; background: #8b5cf6; border-radius: 8px 8px 0 0; }
.mt-card-top-teal { height: 5px; background: #0d9488; border-radius: 8px 8px 0 0; }
.mt-cards-grid { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 40px; justify-content: flex-start; }
.mt-cat-badge { display: inline-block; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; padding: 2px 8px; border-radius: 10px; margin-bottom: 8px; margin-left: 6px; vertical-align: middle; }
.mt-cat-bio-hacks { background: #fef3c7; color: #92400e; }
.mt-cat-cognitive { background: #dbeafe; color: #1e40af; }
.mt-cat-nutritional { background: #fce7f3; color: #9d174d; }
.mt-cat-sensory { background: #ede9fe; color: #5b21b6; }
.mt-cat-somatic { background: #d1fae5; color: #065f46; }
.mt-ch-accent-bar { position: absolute; bottom: 0; left: 0; height: 3px; width: 100%; }
.mt-ch-icon { font-size: 24px; }
.mt-ch-left { display: flex; align-items: center; gap: 15px; }
.mt-ch-status { font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: 0.5px; margin-top: 2px; }
.mt-ch-title { margin: 0; font-size: 18px; font-weight: 800; color: #2F3E46; letter-spacing: -0.3px; }
.mt-ch-title-wrap { display: flex; flex-direction: column; }
.mt-companion-header { background: #ffffff; border: 1px solid #e5e9ea; border-radius: 12px; padding: 15px 25px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 4px 15px rgba(0,0,0,0.03); margin-bottom: 30px; position: relative; overflow: hidden; font-family: sans-serif; }
.mt-defcon-mild { color: #16a34a; font-weight: 700; }
.mt-defcon-moderate { color: #d97706; font-weight: 700; }
.mt-defcon-severe { color: #dc2626; font-weight: 700; }
.mt-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; align-items: center; }
.mt-filter-divider { width: 1px; height: 22px; background: #e2e8f0; margin: 0 4px; flex-shrink: 0; align-self: center; }
.mt-filter-empty { display: none; padding: 20px; color: #94a3b8; font-size: 14px; font-style: italic; width: 100%; }
.mt-filter-label { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; color: #94a3b8; margin-right: 4px; white-space: nowrap; }
.mt-filter-pill { display: inline-flex; align-items: center; gap: 5px; padding: 5px 13px; border-radius: 20px; font-size: 12px; font-weight: 700; cursor: pointer; border: 1.5px solid #e2e8f0; background: #fff; color: #64748b; transition: all 0.15s ease; white-space: nowrap; font-family: inherit; line-height: 1; }
.mt-header-adopt { border-left: 6px solid #0d9488; }
.mt-header-avoid { border-left: 6px solid #e76f51; }
.mt-header-dir { border-left: 6px solid #8b5cf6; }
.mt-header-icon { font-size: 1.2rem; margin-right: 10px; }
.mt-header-staple { border-left: 6px solid #3b82f6; }
.mt-header-title { margin: 0; color: #2C3E50; font-size: 1.1rem; text-transform: uppercase; font-weight: 800; letter-spacing: 0.5px; }
.mt-header-title-wrap { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mt-media-btn { display: block; text-align: center; background: #ccfbf1; color: #0f766e; border: 2px solid #0d9488; padding: 6px 14px; border-radius: 8px; font-weight: 800; font-size: 12px; text-decoration: none; margin-top: 4px; }
.mt-media-btn-soon { display: block; text-align: center; background: #ccfbf1; color: #0f766e; border: 2px solid #99f6e4; padding: 6px 14px; border-radius: 8px; font-weight: 800; font-size: 12px; margin-top: 4px; }
.mt-mode-badge { display: inline-block; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; padding: 3px 9px; border-radius: 20px; margin-bottom: 10px; letter-spacing: 0.3px; }
.mt-mode-preventative { background: #ccfbf1; color: #0f766e; }
.mt-mode-reactive { background: #fef3c7; color: #92400e; }
.mt-next-link { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #0d9488; text-decoration: none; border: 1px solid #0d9488; border-radius: 20px; padding: 6px 14px; white-space: nowrap; transition: 0.2s; }
.mt-overlay-badge { background: #fee2e2; color: #dc2626; border: 2px solid #fecaca; padding: 10px 15px; border-radius: 8px; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; transform: rotate(-5deg); box-shadow: 0 4px 10px rgba(220,38,38,0.15); pointer-events: none; }
.mt-page-intro { font-size: 15px; color: #2F3E46; background: #f0fdfa; padding: 15px 20px; border-radius: 8px; border-left: 4px solid #0d9488; margin-bottom: 30px; line-height: 1.6; }
.mt-pill-bio-hacks { border-color: #fef3c7; color: #92400e; }
.mt-pill-cognitive { border-color: #dbeafe; color: #1e40af; }
.mt-pill-nutritional { border-color: #fce7f3; color: #9d174d; }
.mt-pill-preventative { border-color: #ccfbf1; color: #0f766e; }
.mt-pill-reactive { border-color: #fef3c7; color: #92400e; }
.mt-pill-sensory { border-color: #ede9fe; color: #5b21b6; }
.mt-pill-somatic { border-color: #d1fae5; color: #065f46; }
.mt-profile-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 12px; font-size: 0.82rem; margin-bottom: 14px; }
.mt-profile-label { font-weight: 700; color: #475569; min-width: 82px; flex-shrink: 0; }
.mt-profile-row { display: flex; margin-bottom: 5px; align-items: flex-start; }
.mt-profile-value { color: #1e293b; font-weight: 500; line-height: 1.4; }
.mt-save-btn { background: #0d9488; color: white; border: none; padding: 15px 30px; font-size: 1.1rem; font-weight: 800; border-radius: 8px; cursor: pointer; display: block; width: 100%; max-width: 400px; margin: 0 auto 40px auto; transition: 0.2s; }
.mt-save-modal { background: #fff; border-radius: 16px; padding: 48px 40px 36px; max-width: 520px; width: 90%; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,0.2); }
.mt-save-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 9999; align-items: center; justify-content: center; }
.mt-section-header { background: #f8f9fa; padding: 12px 15px; display: flex; align-items: center; margin-bottom: 20px; border-radius: 6px; }
.mt-section-intro { font-size: 0.85rem; color: #64748b; margin: -12px 0 18px 0; padding-left: 2px; font-style: italic; }
.mt-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 34px; }
.mt-summary-container { margin-top: 30px; font-family: sans-serif; }
.mt-switch { position: relative; display: inline-block; width: 34px; height: 20px; }
.mt-tab-btn { background: transparent; border: 2px solid transparent; border-radius: 8px; padding: 15px 20px; text-align: center; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; color: #64748b; align-items: center; justify-content: center; }
.mt-tab-content { display: none; animation: mt-fade-in 0.3s ease; }
.mt-tab-title { font-size: 1.1rem; font-weight: bold; }
.mt-tabs-container { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 30px; background: #f1f5f9; padding: 10px; border-radius: 12px; font-family: sans-serif; }
.mt-tier-10 { background: #e0f2fe; color: #0284c7; }
.mt-tier-30 { background: #fef5e7; color: #d35400; }
.mt-tier-5 { background: #fee2e2; color: #991b1b; }
.mt-tier-99 { background: #f1f5f9; color: #64748b; }
.mt-tier-badge { display: inline-block; padding: 4px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; margin-bottom: 8px; }
.mt-toggle-text { font-size: 0.75rem; font-weight: 800; transition: color 0.3s; color: #999; }
.mt-toggle-wrapper { display: flex; align-items: center; gap: 8px; }
.mt-trigger-label { font-weight: 700; color: #0d9488; }
.mt-veto-box { background: #fff7f7; border: 1px solid #fca5a5; border-left: 4px solid #e76f51; border-radius: 6px; padding: 10px 13px; margin-bottom: 14px; }
.mt-veto-label { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #dc2626; margin-bottom: 5px; display: flex; align-items: center; gap: 4px; }
.mt-veto-override-box { background: #fff7ed; border: 1px solid #fed7aa; border-left: 4px solid #f59e0b; border-radius: 6px; padding: 10px 13px; margin-bottom: 14px; }
.mt-veto-override-label { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #c2410c; margin-bottom: 5px; }
.mt-veto-override-reason { font-size: 0.85rem; color: #9a3412; line-height: 1.5; font-weight: 500; margin-bottom: 8px; }
.mt-veto-pill { font-size: 0.7rem; font-weight: 700; background: #fee2e2; color: #991b1b; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.mt-veto-reason { font-size: 0.85rem; color: #7f1d1d; line-height: 1.5; font-weight: 500; margin-bottom: 8px; }
.mt-why-box { background: #f0fdf4; border: 1px solid #bbf7d0; border-left: 4px solid #56ab2f; border-radius: 6px; padding: 10px 13px; margin-bottom: 14px; }
.mt-why-label { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #56ab2f; margin-bottom: 5px; display: flex; align-items: center; gap: 4px; }
.mt-why-pill { font-size: 0.7rem; font-weight: 700; background: #dcfce7; color: #166534; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.mt-why-pill-secondary { background: #e0f2fe; color: #0369a1; }
.mt-why-reason { font-size: 0.85rem; color: #14532d; line-height: 1.5; font-weight: 500; margin-bottom: 8px; }
.mt-why-triggers { display: flex; flex-wrap: wrap; gap: 5px; }
.mtd-btn-add { background: transparent; color: var(--teal); border: 1px solid var(--teal) !important; cursor: pointer; }
.mtd-btn-remove { background: var(--red-light); color: var(--red); cursor: pointer; }
.mtd-btn-view { background: var(--teal); color: #fff; cursor: pointer; }
.mtd-card { background: #fff; border: 1px solid #f0f0f0; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); display: flex; flex-direction: column; padding: 15px; gap: 12px; }
.mtd-card-desc { color: var(--mtd-muted); font-size: 13px; line-height: 1.3; }
.mtd-card-row1 { display: flex; gap: 10px; align-items: flex-start; min-height: 3em; }
.mtd-card-row2 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; align-items: stretch; text-align: center; height: 32px; }
.mtd-card-title { color: var(--mtd-text); font-size: 15px; line-height: 1.3; font-weight: 800; }
.mtd-count-badge { display: inline-block; background: rgba(0,0,0,0.08); padding: 1px 8px; border-radius: 10px; font-size: 11px; margin-left: 6px; }
.mtd-dropdown-group-label { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #a1b0b5; padding: 8px 8px 4px; }
.mtd-dropdown-item { padding: 8px 10px; border-radius: 6px; font-size: 13px; font-weight: 700; color: var(--mtd-text); cursor: pointer; }
.mtd-dropdown-menu { display: none; position: absolute; top: calc(100% + 6px); right: 0; min-width: 220px; max-height: 320px; overflow-y: auto; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.12); z-index: 50; padding: 6px; }
.mtd-dropdown-toggle { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: auto; white-space: nowrap; box-sizing: border-box; padding: 10px 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-family: 'Inter'; font-size: 13px; font-weight: 800; color: #000000; background: #fff; cursor: pointer; }
.mtd-dropdown-wrap { position: relative; flex: 0 0 auto; }
.mtd-empty-state { padding: 30px; text-align: center; color: #94a3b8; font-size: 14px; }
.mtd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 16px; }
.mtd-panel { display: none; }
.mtd-panel-tab-btn { flex: 1; background: #f1f5f9; border: 2px solid transparent; border-radius: 10px; padding: 14px; text-align: center; font-weight: 800; color: var(--mtd-muted); cursor: pointer; transition: 0.2s; }
.mtd-panel-tabs { display: flex; gap: 12px; margin-bottom: 20px; }
.mtd-search-input { flex: 1 1 auto; min-width: 0; padding: 10px 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 13px; color: var(--mtd-text); background: #fff; box-sizing: border-box; }
.mtd-tag-badge { color: #fff; }
.mtd-wrap { font-family: 'Inter', sans-serif; }
.mu_register { width: 90%; margin: 0 auto; }
.nav-btn { background: var(--card-bg); color: var(--card-text); border: 2px solid var(--text-sub); padding: 10px 22px; border-radius: 50px; cursor: pointer; font-weight: 800; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; transition: 0.3s; }
.nav-controls { display: flex; gap: 15px; }
.nav-right-controls { display: flex; align-items: center; gap: 15px; }
.nav-support-btn { background: transparent; color: var(--panic-red); border: 1px solid var(--panic-red); padding: 8px 16px; border-radius: 50px; cursor: pointer; font-weight: 800; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; transition: 0.3s; display: flex; align-items: center; gap: 6px; }
.nn-menu-wrap { width:100%; margin:0; padding:0; border-bottom:1px solid #eee; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:#ffffff; }
.nn-pill-dot { display:none; width:7px; height:7px; border-radius:50%; background:#c9f2b0; box-shadow:0 0 0 2px rgba(255,255,255,0.45); margin-right:6px; flex-shrink:0; }
.note { font-style: italic; color: #666; }
.np-btn-del { font-size: 16px; background: none; border: none; color: var(--muted); cursor: pointer; }
.np-canvas-title { margin: 0; font-size: 20px; font-weight: 800; color: var(--text); display: flex; align-items: center; gap: 8px; }
.np-mini-left { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.np-mini-right { display: flex; align-items: center; gap: 8px; }
.np-nav-tabs { display: flex; gap: 8px; }
.np-screen { display: none; width: 100%; }
.np-simple-row-left { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.np-simple-row-right { font-size: 11px; color: var(--muted); font-weight: 700; white-space: nowrap; }
.np-unified-insights { display: flex; flex-wrap: wrap; gap: 8px; min-height: 26px; align-items: center; margin: 15px 0 20px 0; }
.np-zone { display: none; width: 100%; flex-grow: 1; }
.np-zone-tabs { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 10px; }
.ns-card-desc { font-size: 12px; color: #94a3b8; line-height: 1.5; margin-top: 6px; font-style: italic; }
.ns-card-emoji { font-size: 36px; line-height: 1; margin-bottom: 4px; }
.ns-card-inner { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 28px 18px 24px; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; transition: all 0.2s ease; height: 100%; box-sizing: border-box; gap: 10px; }
.ns-card-keyword { font-size: 22px; font-weight: 900; letter-spacing: -0.5px; line-height: 1; }
.ns-card-meaning { font-size: 13px; font-weight: 700; color: #334155; margin-top: 2px; }
.ns-card-opt { cursor: pointer; position: relative; display: block; height: 100%; }
.nutri-tab-btn { background: transparent; border: 2px solid transparent; border-radius: 8px; padding: 15px 20px; text-align: center; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; color: #64748b; align-items: center; justify-content: center; }
.nutri-tab-title { font-size: 1.1rem; font-weight: bold; }
.okay-calorie { background: #56ab2f; color: white; }
.osa-gate-block { background: #fff7e0; border: 1px solid #fcd34d; border-radius: 12px; padding: 24px; font-family: sans-serif; color: #5a6b72; line-height: 1.6; }
.overlay-badge { background: #fee2e2; color: #dc2626; border: 2px solid #fecaca; padding: 10px 15px; border-radius: 8px; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; transform: rotate(-5deg); box-shadow: 0 4px 10px rgba(220,38,38,0.15); }
.pantry-toggle-wrapper { display: flex; align-items: center; gap: 8px; }
.pf-btn-add { background:transparent; color:#819b81; border:1px solid #819b81 !important; cursor:pointer; }
.pf-btn-remove { background:#fee2e2; color:#dc2626; cursor:pointer; }
.pf-btn-view { background:#819b81; color:#fff; cursor:pointer; }
.pf-card { background:#fff; border:1px solid #f0f0f0; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,0.06); display:flex; flex-direction:column; padding:15px; gap:12px; }
.pf-card-desc { color:#788b94; font-size:13px; line-height:1.3; }
.pf-card-row1 { display:flex; gap:10px; align-items:flex-start; min-height:3em; }
.pf-card-row2 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; align-items:stretch; text-align:center; height:32px; }
.pf-card-title { color:#2F3E46; font-size:15px; line-height:1.3; font-weight:800; }
.pf-count-badge { display: inline-block; background: rgba(0,0,0,0.08); padding: 1px 8px; border-radius: 10px; font-size: 11px; margin-left: 6px; }
.pf-empty-state { padding: 30px; text-align: center; color: #a1b0b5; font-size: 14px; }
.pf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 16px; }
.pf-panel { display: none; }
.pf-panel-tab-btn { flex: 1; background: #f1f5f9; border: 2px solid transparent; border-radius: 10px; padding: 14px; text-align: center; font-weight: 800; color: #64748b; cursor: pointer; transition: 0.2s; }
.pf-panel-tabs { display: flex; gap: 12px; margin-bottom: 20px; }
.pf-search-controls-wrap { display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap; align-items:center; }
.pf-search-input { flex:2; min-width:220px; padding:11px 17px; border:2px solid #e5e9ea; border-radius:24px; font-size:14px; color:#2F3E46; background:#fff; transition:0.2s; }
.pf-search-select { flex:1; min-width:180px; padding:11px 17px; border:2px solid #e5e9ea; border-radius:24px; font-size:14px; color:#2F3E46; background:#fff; transition:0.2s; }
.pf-tag-badge { background:#a1b0b5; color:#fff; }
.pf-wrap { font-family: sans-serif; }
.play-btn { background: var(--brand-purple) !important; color: #fff !important; border: none; border-radius: 50%; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 12px rgba(168,85,247,0.4); transition: transform 0.2s ease; }
.popup-message { display: none; margin-bottom: 12px; font-size: 0.9em; color: #d32f2f; background-color: #fff3cd; border: 1px solid #f0c36d; padding: 10px 15px; border-radius: 8px; animation: fadeIn 0.5s ease-in-out; }
.progress-bar-fill { background: #0ea5e9; height: 100%; width: 0%; transition: width 0.3s ease; }
.progress-bar-wrap { background: #e2e8f0; border-radius: 20px; width: 100%; height: 24px; overflow: hidden; margin-bottom: 10px; }
.progress-text { font-size: 14px; font-weight: 600; color: #475569; text-align: center; }
.pw-hub-btn { display:block; width:100%; text-align:center; background:linear-gradient(135deg, #92400e, #d97706); color:#fff !important; text-decoration:none !important; font-size:20px; font-weight:900; letter-spacing:0.5px; padding:22px 30px; border-radius:14px; margin-bottom:25px; box-shadow:0 6px 20px rgba(146,64,14,0.25); transition:0.2s; border:none; }
.pw-hub-btn-inline { display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg, #92400e, #d97706); color:#fff !important; text-decoration:none !important; font-size:12px; font-weight:800; padding:7px 14px; border-radius:12px; white-space:nowrap; transition:0.2s; box-shadow:0 4px 12px rgba(146,64,14,0.25); }
.quartile-box { background:#eef6f5; border-left: 4px solid #1ba7a5; padding: 12px 16px; margin: 10px 0; border-radius: 6px; }
.r-high { color: #e74c3c; }
.r-label { font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; margin-right: 5px; }
.r-low { color: #0284c7; }
.r-val { font-weight: 600; color: #1e293b; }
.risk-elevated { color: orange; }
.risk-high { color: magenta; }
.risk-legend-bar { display: flex; justify-content: center; gap: 15px; font-size: 0.8rem; margin: 10px 0 30px; background: #fff; padding: 12px; border-radius: 30px; border: 1px solid #eee; box-shadow: 0 4px 10px rgba(0,0,0,0.03); flex-wrap: wrap; }
.risk-line { margin-bottom: 6px; font-size: 13px; }
.risk-low { color: green; }
.risk-section-header { background: #f8fcfc; border-left: 5px solid #4AA3A2; padding: 15px 20px; margin: 30px 0 15px; border-radius: 0 8px 8px 0; display: flex; justify-content: space-between; align-items: center; }
.risk-section-link { font-size: 0.75rem; text-decoration: none; color: #4AA3A2; font-weight: 700; background: #fff; padding: 6px 12px; border-radius: 20px; border: 1px solid #4AA3A2; }
.risk-section-title { font-size: 1.1rem; font-weight: 800; color: #2c3e50; text-transform: uppercase; letter-spacing: 1px; margin: 0; }
.risk-severe { color: red; }
.save-alert-box { background: #ffffff; width: 100%; max-width: 450px; border-radius: 16px; padding: 30px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); text-align: center; font-family: sans-serif; }
.save-alert-btn { background: #819b81; color: #fff; border: none; padding: 12px 30px; border-radius: 8px; font-weight: 700; cursor: pointer; font-size: 15px; transition: 0.2s; }
.save-alert-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(47, 62, 70, 0.6); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); z-index: 10000; align-items: center; justify-content: center; padding: 15px; display: none; }
.save-alert-text { font-size: 15px; color: #5a6b72; margin-bottom: 25px; line-height: 1.6; }
.save-alert-title { font-size: 20px; font-weight: 800; color: #2F3E46; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }
.save-mix-btn { width: 100%; padding: 15px; background: var(--brand-purple) !important; color: #fff !important; border: none; border-radius: 14px; font-size: 0.95rem; font-weight: 700; cursor: pointer; margin-top: 32px; font-family: 'Inter', sans-serif; }
.save-pantry-btn { background: #56ab2f; color: white; border: none; padding: 15px 30px; font-size: 1.1rem; font-weight: 800; border-radius: 8px; cursor: pointer; display: block; width: 100%; max-width: 400px; margin: 0 auto 40px auto; transition: 0.2s; }
.scene-card { padding: 14px; }
.scene-poster { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.scene-poster-label { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 10px; color: #fff !important; }
.scene-video { width: 100%; height: 100%; object-fit: cover; display: none; }
.scene-video-frame { position: relative; width: 100%; aspect-ratio: 16/9; border-radius: 12px; overflow: hidden; margin-bottom: 16px; background: #0a0a14; }
.se-band-badge { display: inline-block !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 0.02em !important; text-transform: uppercase !important; border-radius: 20px !important; padding: 3px 10px !important; }
.search-input { flex-grow: 1; padding: 14px 20px; border-radius: 30px; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; color: var(--diary-text) !important; font-size: 0.9rem; font-family: 'Inter', sans-serif; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.section-header { background: var(--primary); color: #fff; padding: 15px 20px; border-radius: 8px; font-size: 22px; font-weight: 800; margin-top: 50px; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
.skip-btn { position: absolute; bottom: 30px; right: 30px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); color: white; padding: 12px 30px; border-radius: 50px; cursor: pointer; font-weight: 600; backdrop-filter: blur(10px); transition: 0.3s; }
.sleep-eff-box { font-size: 0.9rem; background: #fff; padding: 10px; border-radius: 6px; margin-bottom: 15px; text-align: center; border: 1px solid #eee; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.sleep-world-content-area { width: 100%; }
.sound-builder-block { background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 18px; padding: 40px; margin-top: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.sources { margin-top: 8px; font-size: 0.92em; }
.sr-box { background: #f4faf9; border: 2px solid #0d7d74; border-radius: 12px; padding: 18px 20px; margin-bottom: 20px; }
.sr-btn { background: #0d7d74; color: #fff; border: none; border-radius: 999px; padding: 11px 26px; font-size: 15px; font-weight: 800; cursor: pointer; text-decoration: none; display: inline-block; }
.sr-btn2 { background: #fff; color: #0a5751; border: 2px solid #9fd4ce; border-radius: 999px; padding: 9px 22px; font-size: 14px; font-weight: 800; text-decoration: none; display: inline-block; margin-left: 10px; }
.sr-info { position: relative; display: inline-block; margin-left: 5px; }
.sr-info-ic { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; border-radius: 50%; background: #0d7d74; color: #fff; font-size: 10.5px; font-weight: 800; cursor: help; vertical-align: middle; }
.sr-info-pop { display: none; position: absolute; left: 20px; top: -6px; width: 230px; background: #14212b; color: #fff; font-size: 12px; line-height: 1.45; font-weight: 500; padding: 10px 12px; border-radius: 6px; box-shadow: 0 6px 16px rgba(0,0,0,.3); z-index: 60; text-align: left; }
.sr-note { font-size: 13.5px; color: #4a5a63; line-height: 1.55; margin: 4px 0 0; }
.sr-ok { background: #eaf7ea; border: 2px solid #2f6b34; border-radius: 10px; padding: 14px 18px; margin-bottom: 18px; font-weight: 700; }
.sr-rank { color: #7a8a93; font-weight: 800; width: 40px; }
.sr-score { font-weight: 800; color: #0a5751; width: 60px; }
.sr-section { border-radius: 14px; padding: 22px 24px 26px; margin: 0 0 26px; }
.sr-section-intro { font-size: 14.5px; color: #4a5a63; line-height: 1.6; margin: 0 0 18px; max-width: 820px; }
.sr-section-preview { background: #f8f5ec; border: 1px solid #e8dfc4; }
.sr-section-settings { background: #eef6f5; border: 1px solid #cfe6e2; }
.sr-section-title { font-size: 22px; font-weight: 800; margin: 0 0 6px; }
.sr-staple { font-size: 12px; font-weight: 800; background: #fde68a; color: #713f12; padding: 2px 8px; border-radius: 4px; }
.sr-stat { background: #eef2f5; border-radius: 8px; padding: 10px 16px; font-size: 14px; }
.sr-stats { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.sr-sub { font-size: 16px; color: #14212b; line-height: 1.6; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 3px solid #0d7d74; font-weight: 600; }
.sr-switch { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 2px solid #9fd4ce; border-radius: 999px; padding: 5px 14px 5px 6px; font-size: 13px; font-weight: 800; text-decoration: none; color: #0a5751; margin: 0 6px 6px 0; }
.sr-switch-on { background: #0d7d74; border-color: #0d7d74; color: #fff; }
.sr-switch-track { position: relative; width: 30px; height: 16px; background: #cbd5e1; border-radius: 999px; flex: 0 0 auto; }
.sr-t { width: 100%; border-collapse: collapse; margin-bottom: 8px; }
.sr-tags { color: #4a5a63; font-size: 13.5px; }
.sr-warn { background: #fffbeb; border-left: 5px solid #b45309; padding: 13px 16px; margin-bottom: 16px; font-weight: 700; border-radius: 0 8px 8px 0; }
.sr-why { font-size: 12px; font-weight: 800; padding: 2px 8px; border-radius: 4px; }
.sr-wrap { max-width: 1100px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; color: #14212b; font-size: 15px; }
.star-core { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 2px; height: 2px; background: var(--star-color); border-radius: 50%; box-shadow: 0 0 8px 1px var(--star-color); }
.star-delay-1 { animation-delay: -1s; animation-duration: 3s; }
.star-delay-2 { animation-delay: -2s; animation-duration: 5s; }
.star-delay-3 { animation-delay: -3s; animation-duration: 4.5s; }
.status-badge-foundation { background: #99f6e4; color: #000000; }
.status-badge-suggested { background: #bbf7d0; color: #000000; }
.status-badge-unvetoed { background: #fde68a; color: #000000; }
.status-badge-user-selected { background: #bfdbfe; color: #000000; }
.status-pending { color: #A1B0B5; }
.step-box { background: var(--bg); border: 1px solid var(--border); padding: 20px; border-radius: 12px; margin: 15px 0; }
.summary-box { border: 1px solid #ddd; padding: 15px; margin-bottom: 20px; border-radius: 8px; background: #f9f9f9; font-size: 0.95em; line-height: 1.6; }
.supermatch-badge { background: #fef3c7; color: #d97706; padding: 2px 6px; border-radius: 12px; font-size: 10px; font-weight: 800; }
.sw-back-nav { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; color: var(--diary-text-muted) !important; font-weight: 600; font-size: 0.85rem; margin-bottom: 20px; transition: color 0.2s ease; }
.sw-header { margin-bottom: 4px; }
.sw-logic-radio { display: none; }
.sw-tab-intro { display: flex; align-items: flex-start; gap: 12px; padding: 14px 18px; margin: 20px 0 24px; background: var(--inner-bg); border: 1px solid var(--glass-border); border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.sw-tab-intro-body { display: flex; flex-direction: column; gap: 4px; }
.sw-tab-intro-icon { width: 28px; height: 28px; min-width: 28px; border-radius: 8px; background: var(--brand-purple); display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.sw-tool-item { display: flex; align-items: center; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px; padding: 14px 16px; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease; }
.sw-tool-item-body { flex: 1; }
.sw-tool-item-chevron { stroke: var(--glass-border); transition: stroke 0.2s ease; }
.sw-tool-item-icon { width: 40px; height: 40px; min-width: 40px; border-radius: 8px; background: var(--glass-bg) !important; display: flex; align-items: center; justify-content: center; margin-right: 16px; }
.sw-tool-item-sub { font-size: 0.75rem; opacity: 0.65; }
.sw-tool-item-title { font-size: 0.9rem; font-weight: 700; }
.sw-tool-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 28px; }
.sw-tools-card { max-width: 640px; padding: 32px 24px; }
.sw-tools-header { margin-bottom: 20px; }
.sw-tools-log-btn { width: 100%; padding: 15px; background: var(--brand-purple) !important; color: #fff !important; border: none; border-radius: 14px; font-size: 0.95rem; font-weight: 700; cursor: pointer; font-family: 'Inter', sans-serif; }
.switch { position: relative; display: inline-block; width: 34px; height: 20px; }
.sym-section { margin-bottom: 15px; }
.sym-text { font-size: 0.95rem; line-height: 1.6; color: #334155; margin-bottom: 20px; }
.sys-conv { background: var(--conv-bg); border-color: #fef08a; }
.sys-header { font-size: 16px; font-weight: 800; margin-bottom: 15px; border-bottom: 2px solid rgba(0,0,0,0.05); padding-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.sys-section { padding: 20px; border-radius: 8px; border: 1px solid var(--border); margin-bottom: 20px; }
.sys-si { background: var(--si-bg); border-color: #ccfbf1; }
.tab-btn { padding:10px 18px; border:none; background:#f2f2f2; cursor:pointer; font-weight:bold; }
.table-wrap { background: var(--card-bg); border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); overflow: hidden; }
.table-wrapper { overflow-x: auto; }
.tabs-nav { margin: 20px 0; border-bottom: 2px solid #ddd; }
.text-good { color: #2e7d32; }
.text-poor { color: #ef6c00; }
.theme-btn { background: transparent; color: var(--text-sub); border: none; padding: 8px 18px; border-radius: 50px; cursor: pointer; font-weight: 800; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; transition: 0.3s; }
.theme-segmented-control { display: flex; background: rgba(0, 0, 0, 0.4); border-radius: 50px; padding: 4px; border: 1px solid rgba(255, 255, 255, 0.1); gap: 4px; }
.thresh-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 10px; margin-bottom: 15px; }
.thresh-title { grid-column: 1 / -1; font-size: 12px; font-weight: 800; color: #475569; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: -5px; margin-top: 10px; }
.tier-40 { background: #fdf2f8; color: #be185d; }
.tier-badge { display: inline-block; padding: 4px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; margin-bottom: 12px; }
.top-ctrl-btn { flex: 1; height: 40px; min-width: 120px; padding: 0 15px; font-size: 13px; font-weight: 800; border-radius: 6px; cursor: pointer; border: none; transition: 0.2s; display: flex; align-items: center; justify-content: center; white-space: nowrap; }
.unit-toggle-container { background: #f0f4f8; padding: 12px 15px; border: 1px solid #d9e2ec; border-radius: 8px; margin-bottom: 20px; display: flex; gap: 15px; align-items: center; }
.vibrant-card { background: #fff; border-radius: 10px; box-shadow: 0 3px 6px rgba(0,0,0,0.06); border: 1px solid #f0f0f0; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; transition: transform 0.2s, box-shadow 0.2s; cursor: pointer; }
.vibrant-footer { margin-top: auto; padding: 0; }
.vibrant-head { padding: 15px 12px 10px; display: flex; justify-content: space-between; align-items: center; min-height: 60px; }
.vibrant-icon { font-size: 1.6rem; line-height: 1; }
.vibrant-title { font-weight: 700; font-size: 0.9rem; color: #333; line-height: 1.3; }
.w2d1-barrier-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
.w2d1-barrier-feedback { display: none !important; margin-top: 20px !important; padding: 18px 20px !important; border-radius: 10px !important; font-size: 15px !important; line-height: 1.7 !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; }
.w2d1-barrier-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap: 16px !important; margin-top: 16px !important; }
.w2d1-barrier-icon { font-size: 32px !important; margin-bottom: 12px !important; }
.w2d1-barrier-text { font-weight: 600 !important; font-size: 15px !important; }
.w2d1-card-hint { font-size: 13px !important; color: var(--diary-text-muted) !important; margin-top: auto !important; }
.w2d1-card-icon { font-size: 36px !important; margin-bottom: 8px !important; }
.w2d1-card-title { font-size: 18px !important; font-weight: 700 !important; }
.w2d1-context-box { background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; border-radius: 0 8px 8px 0 !important; padding: 12px 16px !important; margin-top: 14px !important; margin-bottom: 8px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w2d1-correction-tag { display: block !important; font-size: 11px !important; font-weight: 700 !important; color: var(--brand-red) !important; margin-top: 6px !important; }
.w2d1-flashcards-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; gap: 16px !important; margin-top: 24px !important; }
.w2d1-flip-back { display: flex !important; flex-direction: column !important; transform: rotateY(180deg) !important; background: rgba(59, 130, 246, 0.05) !important; border-color: var(--brand-blue) !important; font-size: 15px !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
.w2d1-flip-card { width: 100% !important; height: 100% !important; position: relative !important; transition: transform 0.6s !important; transform-style: preserve-3d !important; }
.w2d1-flip-face { position: absolute !important; width: 100% !important; height: 100% !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; border-radius: 12px !important; padding: 24px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; box-sizing: border-box !important; }
.w2d1-flip-front { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 12px !important; }
.w2d1-flip-scene { perspective: 1000px !important; width: 100% !important; height: 290px !important; cursor: pointer !important; }
.w2d1-match-item { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 12px !important; font-size: 14px !important; cursor: pointer !important; text-align: center !important; transition: all 0.2s ease !important; user-select: none !important; }
.w2d1-zone { background: var(--inner-bg) !important; border: 2px dashed var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; min-height: 150px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; transition: all 0.3s ease !important; }
.w2d1-zone-title { text-align: center !important; font-weight: 700 !important; font-size: 16px !important; margin-bottom: 12px !important; padding-bottom: 8px !important; border-bottom: 1px solid var(--glass-border) !important; }
.w2d2-card-hint { font-size: 13px !important; color: var(--diary-text-muted) !important; margin-top: auto !important; }
.w2d2-card-icon { font-size: 36px !important; margin-bottom: 8px !important; }
.w2d2-card-title { font-size: 16px !important; font-weight: 700 !important; }
.w2d2-chrono-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px 12px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d2-chrono-icon { font-size: 28px !important; margin-bottom: 10px !important; }
.w2d2-chrono-label { font-weight: 700 !important; font-size: 14px !important; margin-bottom: 4px !important; }
.w2d2-chrono-pullthrough { font-size: 15px !important; line-height: 1.6 !important; padding: 14px 16px !important; border-radius: 8px !important; background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; color: var(--diary-text-muted) !important; margin-top: 16px !important; margin-bottom: 20px !important; }
.w2d2-chrono-response { display: none !important; margin-top: 20px !important; padding: 18px 20px !important; border-radius: 10px !important; font-size: 14px !important; line-height: 1.7 !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; color: var(--diary-text-muted) !important; }
.w2d2-chrono-save-indicator { display: none !important; margin-top: 12px !important; font-size: 13px !important; color: var(--brand-green) !important; font-weight: 600 !important; text-align: center !important; }
.w2d2-chrono-sub { font-size: 12px !important; color: var(--diary-text-muted) !important; line-height: 1.3 !important; }
.w2d2-context-box { background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; border-radius: 0 8px 8px 0 !important; padding: 12px 16px !important; margin-top: 14px !important; margin-bottom: 8px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w2d2-diary-btn { padding: 12px 20px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; cursor: pointer !important; font-size: 14px !important; font-weight: 600 !important; background: var(--inner-bg) !important; transition: all 0.2s ease !important; }
.w2d2-diary-response { display: none !important; margin-top: 16px !important; padding: 14px 16px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.6 !important; background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; color: var(--diary-text-muted) !important; }
.w2d2-diary-subcard { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; margin-top: 28px !important; }
.w2d2-flashcards-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important; gap: 16px !important; margin-top: 24px !important; }
.w2d2-flip-back { display: flex !important; flex-direction: column !important; transform: rotateY(180deg) !important; font-size: 15px !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
.w2d2-flip-card { width: 100% !important; height: 100% !important; position: relative !important; transition: transform 0.6s !important; transform-style: preserve-3d !important; }
.w2d2-flip-face { position: absolute !important; width: 100% !important; height: 100% !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; border-radius: 12px !important; padding: 24px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; box-sizing: border-box !important; }
.w2d2-flip-front { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 12px !important; }
.w2d2-flip-scene { perspective: 1000px !important; width: 100% !important; height: 260px !important; cursor: pointer !important; }
.w2d2-match-btn { padding: 10px !important; border: 1px solid var(--glass-border) !important; border-radius: 6px !important; text-align: center !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; background: var(--glass-bg) !important; font-family: 'Inter', -apple-system, sans-serif !important; }
.w2d2-match-list { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.w2d2-match-options { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.w2d2-match-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; display: flex !important; flex-direction: column !important; gap: 10px !important; }
.w2d2-match-text { font-size: 15px !important; font-weight: 500 !important; }
.w2d2-selection-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
.w2d2-selection-icon { font-size: 32px !important; margin-bottom: 12px !important; }
.w2d2-selection-subtitle { font-size: 13px !important; color: var(--diary-text-muted) !important; }
.w2d2-selection-title { font-weight: 700 !important; font-size: 16px !important; margin-bottom: 4px !important; }
.w2d2-sort-explanation { display: none !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--diary-text-muted) !important; padding: 10px 12px !important; border-radius: 6px !important; background: var(--glass-bg) !important; border-left: 2px solid var(--brand-purple) !important; animation: bsmFadeIn 0.3s ease forwards !important; }
.w2d2-status-text { font-size: 13px !important; font-weight: 800 !important; margin-bottom: 10px !important; text-transform: uppercase !important; letter-spacing: 1px !important; padding: 4px 14px !important; border-radius: 20px !important; }
.w2d2-step-badge { display: inline-block !important; font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 1px !important; padding: 4px 12px !important; border-radius: 20px !important; color: var(--brand-purple) !important; background: rgba(168, 85, 247, 0.15) !important; margin-bottom: 12px !important; }
.w2d2-zone { background: var(--inner-bg) !important; border: 2px solid var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; min-height: 80px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; transition: all 0.3s ease !important; justify-content: center !important; }
.w2d2-zone-myth { background: rgba(245, 158, 11, 0.05) !important; border-color: rgba(245, 158, 11, 0.3) !important; }
.w2d2-zone-title { text-align: center !important; font-weight: 800 !important; font-size: 16px !important; }
.w2d2-zone-truth { background: rgba(34, 197, 94, 0.05) !important; border-color: rgba(34, 197, 94, 0.3) !important; }
.w2d3-barrier-card { background: var(--inner-bg) !important; border: 2px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px 16px !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; }
.w2d3-barrier-icon { font-size: 28px !important; }
.w2d3-barrier-label { font-size: 14px !important; font-weight: 700 !important; line-height: 1.3 !important; }
.w2d3-barrier-response { display: none !important; margin-top: 16px !important; background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; border-radius: 0 8px 8px 0 !important; padding: 14px 16px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w2d3-card-hint { font-size: 13px !important; color: var(--diary-text-muted) !important; margin-top: auto !important; }
.w2d3-card-icon { font-size: 36px !important; margin-bottom: 8px !important; }
.w2d3-card-title { font-size: 16px !important; font-weight: 700 !important; }
.w2d3-chain-arrow { text-align: center !important; font-size: 20px !important; color: var(--diary-text-muted) !important; padding: 4px 0 !important; line-height: 1 !important; }
.w2d3-chain-header { display: flex !important; align-items: center !important; gap: 12px !important; }
.w2d3-chain-label { font-size: 15px !important; font-weight: 600 !important; flex: 1 !important; }
.w2d3-chain-num { width: 28px !important; height: 28px !important; border-radius: 50% !important; background: var(--glass-border) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 13px !important; font-weight: 700 !important; flex-shrink: 0 !important; }
.w2d3-chain-reveal { display: none !important; margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--glass-border) !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w2d3-chain-step { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; cursor: pointer !important; transition: all 0.3s ease !important; position: relative !important; margin-bottom: 4px !important; }
.w2d3-chain-steps { display: flex !important; flex-direction: column !important; gap: 0px !important; margin-top: 24px !important; }
.w2d3-chain-tap-hint { font-size: 12px !important; color: var(--brand-purple) !important; margin-top: 8px !important; font-weight: 600 !important; }
.w2d3-commit-wrap { margin-top: 20px !important; text-align: center !important; display: none !important; }
.w2d3-context-box { background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; border-radius: 0 8px 8px 0 !important; padding: 12px 16px !important; margin-top: 14px !important; margin-bottom: 8px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w2d3-flip-back { display: flex !important; flex-direction: column !important; transform: rotateY(180deg) !important; background: rgba(245, 158, 11, 0.07) !important; border-color: rgba(245, 158, 11, 0.5) !important; font-size: 15px !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
.w2d3-flip-card { width: 100% !important; height: 100% !important; position: relative !important; transition: transform 0.6s !important; transform-style: preserve-3d !important; }
.w2d3-flip-face { position: absolute !important; width: 100% !important; height: 100% !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; border-radius: 12px !important; padding: 24px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; box-sizing: border-box !important; }
.w2d3-flip-front { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 12px !important; }
.w2d3-flip-scene { perspective: 1000px !important; width: 100% !important; height: 270px !important; cursor: pointer !important; }
.w2d3-plan-builder { display: none !important; margin-top: 20px !important; }
.w2d3-plan-divider { text-align: center !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: var(--diary-text-muted) !important; margin: 16px 0 !important; }
.w2d3-plan-label { font-size: 14px !important; font-weight: 700 !important; margin-bottom: 10px !important; }
.w2d3-plan-prompt { display: block !important; padding: 14px 16px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; margin-bottom: 10px !important; cursor: pointer !important; font-size: 14px !important; line-height: 1.5 !important; background: var(--inner-bg) !important; transition: all 0.2s ease !important; }
.w2d3-plan-textarea { width: 100% !important; min-height: 70px !important; padding: 12px 14px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; background: var(--inner-bg) !important; color: var(--diary-text) !important; font-family: 'Inter', -apple-system, sans-serif !important; font-size: 14px !important; line-height: 1.5 !important; resize: vertical !important; box-sizing: border-box !important; }
.w2d3-qc-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.w2d3-qc-btn { padding: 12px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; text-align: center !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; background: var(--glass-bg) !important; }
.w2d3-qc-container { display: flex !important; flex-direction: column !important; gap: 24px !important; }
.w2d3-qc-explanation { display: none !important; font-size: 14px !important; line-height: 1.6 !important; padding: 12px 14px !important; border-radius: 8px !important; background: var(--glass-bg) !important; border-left: 3px solid var(--brand-purple) !important; color: var(--diary-text-muted) !important; }
.w2d3-qc-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.w2d3-qc-statement { font-size: 16px !important; font-weight: 600 !important; line-height: 1.5 !important; }
.w2d3-reframe-box { background: rgba(168, 85, 247, 0.07) !important; border: 1px solid rgba(168, 85, 247, 0.25) !important; border-radius: 12px !important; padding: 20px 22px !important; margin-top: 20px !important; line-height: 1.7 !important; font-size: 15px !important; color: var(--diary-text-muted) !important; }
.w2d3-reframe-highlight { display: inline-block !important; background: rgba(168, 85, 247, 0.15) !important; color: var(--brand-purple) !important; font-weight: 700 !important; padding: 2px 10px !important; border-radius: 20px !important; font-size: 14px !important; margin-bottom: 12px !important; }
.w2d3-safety-box { background: rgba(59, 130, 246, 0.07) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; border-radius: 10px !important; padding: 14px 16px !important; margin-top: 16px !important; font-size: 13px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; display: flex !important; align-items: flex-start !important; gap: 10px !important; }
.w2d3-safety-box-icon { font-size: 16px !important; flex-shrink: 0 !important; margin-top: 1px !important; }
.w2d3-status-text { font-size: 13px !important; font-weight: 800 !important; margin-bottom: 10px !important; text-transform: uppercase !important; letter-spacing: 1px !important; padding: 4px 14px !important; border-radius: 20px !important; color: var(--brand-orange) !important; background: rgba(245, 158, 11, 0.15) !important; }
.w2d3-tool-tag { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 12px !important; font-weight: 700 !important; color: var(--brand-purple) !important; background: rgba(168, 85, 247, 0.12) !important; padding: 5px 12px !important; border-radius: 20px !important; margin-top: 16px !important; }
.w2d4-act-back { display: none !important; margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--glass-border) !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w2d4-act-example { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 16px 20px !important; margin-bottom: 12px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d4-act-front { font-size: 15px !important; font-weight: 600 !important; font-style: italic; }
.w2d4-act-hint { font-size: 12px !important; color: var(--brand-purple) !important; font-weight: 600 !important; margin-top: 6px !important; }
.w2d4-act-label { font-size: 14px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.w2d4-act-personal { margin-top: 24px !important; padding-top: 20px !important; border-top: 1px solid var(--glass-border) !important; }
.w2d4-act-textarea { width: 100% !important; min-height: 56px !important; padding: 12px 14px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; background: var(--inner-bg) !important; color: var(--diary-text) !important; font-family: 'Inter', -apple-system, sans-serif !important; font-size: 14px !important; line-height: 1.5 !important; resize: vertical !important; box-sizing: border-box !important; margin-bottom: 12px !important; }
.w2d4-carousel-container { position: relative !important; width: 100% !important; margin-top: 16px !important; }
.w2d4-carousel-controls { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-top: 24px !important; }
.w2d4-checkin-btn { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 16px 12px !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; }
.w2d4-checkin-icon { font-size: 24px !important; margin-bottom: 8px !important; }
.w2d4-checkin-response { display: none !important; margin-top: 16px !important; padding: 14px 16px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.6 !important; background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; color: var(--diary-text-muted) !important; }
.w2d4-context-box { background: var(--inner-bg) !important; border-left: 3px solid var(--brand-purple) !important; border-radius: 0 8px 8px 0 !important; padding: 12px 16px !important; margin-top: 14px !important; margin-bottom: 8px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w2d4-dot { width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--glass-border) !important; transition: all 0.3s ease !important; }
.w2d4-dots { display: flex !important; gap: 8px !important; }
.w2d4-evidence-block { background: rgba(59, 130, 246, 0.08) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; border-radius: 8px !important; padding: 16px !important; margin-bottom: 12px !important; }
.w2d4-evidence-title { font-size: 11px !important; font-weight: 800 !important; color: var(--brand-blue) !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 8px !important; }
.w2d4-nav-btn { padding: 8px 16px !important; background: transparent !important; border: 1px solid var(--glass-border) !important; color: var(--diary-text) !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; font-family: 'Inter', -apple-system, sans-serif !important; }
.w2d4-pick-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px 16px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d4-pick-icon { font-size: 32px !important; margin-bottom: 12px !important; }
.w2d4-pick-text { font-weight: 600 !important; font-size: 15px !important; }
.w2d4-quiz-btn { padding: 12px 8px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; text-align: center !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; background: var(--glass-bg) !important; }
.w2d4-quiz-feedback { display: none !important; padding: 12px 14px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.6 !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d4-quiz-list { display: flex !important; flex-direction: column !important; gap: 16px !important; margin-top: 20px !important; }
.w2d4-quiz-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; display: flex !important; flex-direction: column !important; gap: 14px !important; }
.w2d4-quiz-statement { font-size: 16px !important; font-weight: 600 !important; line-height: 1.5 !important; }
.w2d4-reframe-block { background: rgba(34, 197, 94, 0.08) !important; border: 1px solid rgba(34, 197, 94, 0.3) !important; border-radius: 8px !important; padding: 16px !important; }
.w2d4-reframe-title { font-size: 11px !important; font-weight: 800 !important; color: var(--brand-green) !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 8px !important; }
.w2d4-revealed-content { display: none !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d4-slide { display: none !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d4-thought-box { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 40px 24px !important; text-align: center !important; display: flex !important; flex-direction: column !important; align-items: center !important; cursor: pointer !important; transition: background 0.2s ease !important; }
.w2d4-thought-hint { font-size: 14px !important; color: var(--diary-text-muted) !important; }
.w2d4-thought-icon { font-size: 48px !important; margin-bottom: 24px !important; }
.w2d4-thought-text { font-size: 19px !important; font-weight: 700 !important; margin-bottom: 16px !important; line-height: 1.4 !important; }
.w2d5-action-btn { padding: 12px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; text-align: center !important; font-size: 15px !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.2s ease !important; background: var(--glass-bg) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; }
.w2d5-pb-chip { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 20px !important; padding: 8px 14px !important; font-size: 13px !important; line-height: 1.3 !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d5-pb-chip-row { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 10px !important; }
.w2d5-pb-commit-single { display: block !important; text-align: center !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 12px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d5-pb-cutoff-box { background: rgba(59, 130, 246, 0.05) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; border-radius: 8px !important; padding: 14px 16px !important; margin-bottom: 12px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.w2d5-pb-cutoff-row { font-size: 14px !important; line-height: 1.5 !important; }
.w2d5-pb-mini-textarea { width: 100% !important; min-height: 44px !important; padding: 10px 12px !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; background: var(--inner-bg) !important; color: var(--diary-text) !important; font-family: 'Inter', -apple-system, sans-serif !important; font-size: 13px !important; line-height: 1.5 !important; resize: vertical !important; box-sizing: border-box !important; }
.w2d5-pb-optional-tag { font-size: 10px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: var(--diary-text-muted) !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 2px 8px !important; }
.w2d5-pb-section { margin-top: 28px !important; padding-top: 20px !important; border-top: 1px solid var(--glass-border) !important; }
.w2d5-pb-section-label { font-size: 15px !important; font-weight: 700 !important; margin-bottom: 4px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.w2d5-pb-section-prompt { font-size: 13px !important; color: var(--diary-text-muted) !important; line-height: 1.5 !important; margin-bottom: 12px !important; }
.w2d5-pb-tool-tag { display: inline-block !important; background: rgba(168, 85, 247, 0.12) !important; color: var(--brand-purple) !important; border: 1px solid rgba(168, 85, 247, 0.3) !important; border-radius: 20px !important; padding: 6px 14px !important; font-size: 12px !important; font-weight: 700 !important; margin-top: 12px !important; margin-bottom: 8px !important; }
.w2d5-plan-list { display: flex !important; flex-direction: column !important; gap: 16px !important; margin-top: 24px !important; }
.w2d5-plan-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; display: flex !important; flex-direction: column !important; gap: 16px !important; }
.w2d5-plan-statement { display: flex !important; align-items: center !important; gap: 12px !important; font-size: 16px !important; font-weight: 600 !important; }
.w2d6-bit-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px 16px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 8px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d6-bit-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; margin-top: 16px !important; }
.w2d6-bit-icon { font-size: 24px !important; }
.w2d6-bit-label { font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; }
.w2d6-bsm-back { display: none !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; }
.w2d6-bsm-carousel-container { position: relative !important; width: 100% !important; margin-top: 16px !important; min-height: 160px !important; }
.w2d6-bsm-front { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 32px 24px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d6-bsm-hint { font-size: 13px !important; color: var(--brand-purple) !important; font-weight: 600 !important; }
.w2d6-bsm-icon { font-size: 40px !important; margin-bottom: 12px !important; }
.w2d6-bsm-link-btn { background: rgba(168, 85, 247, 0.1) !important; color: var(--brand-purple) !important; border: 1px solid rgba(168, 85, 247, 0.3) !important; border-radius: 8px !important; padding: 12px !important; text-align: center !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w2d6-bsm-link-row { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-top: 4px !important; }
.w2d6-bsm-slide { display: none !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d6-bsm-text { font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important; margin-bottom: 12px !important; }
.w2d6-btn-explore { background: var(--brand-purple) !important; color: #ffffff !important; border: none !important; padding: 12px 24px !important; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer !important; width: 100% !important; transition: all 0.2s !important; margin-top: 16px !important; }
.w2d6-carousel-container { position: relative !important; width: 100% !important; margin-top: 16px !important; min-height: 200px !important; }
.w2d6-carousel-controls { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-top: 24px !important; }
.w2d6-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: var(--glass-border) !important; transition: all 0.3s ease !important; }
.w2d6-dots { display: flex !important; gap: 8px !important; }
.w2d6-evidence-box { background: rgba(59, 130, 246, 0.08) !important; border: 1px solid rgba(59, 130, 246, 0.2) !important; border-radius: 8px !important; padding: 16px !important; margin-bottom: 16px !important; text-align: left !important; font-size: 14px !important; color: var(--brand-blue) !important; line-height: 1.5 !important; }
.w2d6-flag-badge { background: rgba(245, 158, 11, 0.15) !important; color: var(--brand-orange) !important; border: 1px solid rgba(245, 158, 11, 0.3) !important; padding: 4px 12px !important; border-radius: 16px !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 1px !important; margin-bottom: 16px !important; }
.w2d6-flag-box { border: 1px solid var(--brand-orange) !important; border-radius: 12px !important; padding: 32px 24px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; background: rgba(245, 158, 11, 0.02) !important; }
.w2d6-flag-icon { font-size: 48px !important; margin-bottom: 12px !important; }
.w2d6-flag-title { font-size: 20px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.w2d6-helps-box { background: rgba(34, 197, 94, 0.08) !important; border: 1px solid rgba(34, 197, 94, 0.2) !important; border-radius: 8px !important; padding: 20px !important; text-align: left !important; }
.w2d6-helps-item { display: flex !important; align-items: flex-start !important; gap: 8px !important; font-size: 14px !important; color: var(--brand-green) !important; }
.w2d6-helps-list { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.w2d6-helps-title { font-size: 12px !important; font-weight: 800 !important; color: var(--brand-green) !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 12px !important; }
.w2d6-nav-btn { padding: 8px 16px !important; background: transparent !important; border: 1px solid var(--glass-border) !important; color: var(--diary-text) !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; }
.w2d6-revealed-content { display: none !important; width: 100% !important; margin-top: 16px !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d6-slide-item { display: none !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d6-strength-item { font-size: 15px !important; font-weight: 500 !important; margin-bottom: 12px !important; display: flex !important; align-items: flex-start !important; gap: 8px !important; }
.w2d6-strengths-box { background: rgba(34, 197, 94, 0.05) !important; border: 1px solid var(--brand-green) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; display: none !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d6-strengths-title { font-size: 18px !important; font-weight: 700 !important; color: var(--brand-green) !important; margin-bottom: 16px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.w2d6-warning-box { background: rgba(245, 158, 11, 0.05) !important; border: 1px solid var(--brand-orange) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; display: none !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w2d6-warning-title { font-size: 18px !important; font-weight: 700 !important; color: var(--brand-orange) !important; margin-bottom: 12px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.w2d6-wellness-note { margin-top: 20px !important; padding-top: 16px !important; border-top: 1px solid var(--glass-border) !important; font-size: 13px !important; color: var(--diary-text-muted) !important; line-height: 1.5 !important; }
.w3d1-acc-container { display: flex !important; flex-direction: column !important; gap: 16px !important; margin-top: 24px !important; }
.w3d1-acc-content { display: none !important; margin-top: 16px !important; font-size: 15px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; animation: bsmFadeIn 0.3s ease forwards !important; }
.w3d1-acc-header { display: flex !important; align-items: center !important; gap: 12px !important; font-size: 16px !important; font-weight: 600 !important; }
.w3d1-acc-icon { color: var(--diary-text-muted) !important; font-weight: bold !important; transition: all 0.3s !important; }
.w3d1-acc-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; cursor: pointer !important; transition: all 0.3s ease !important; }
.w3d1-btn-commit { background: transparent !important; color: var(--brand-purple) !important; border: 2px solid var(--brand-purple) !important; padding: 16px 24px !important; border-radius: 8px !important; font-size: 16px !important; font-weight: 700 !important; cursor: pointer !important; text-align: center !important; transition: all 0.2s !important; display: block !important; width: 100% !important; }
.w3d1-energizer-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; display: flex !important; align-items: center !important; gap: 12px !important; cursor: pointer !important; transition: all 0.2s !important; }
.w3d1-energizer-icon { font-size: 24px !important; }
.w3d1-fact-item { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 12px !important; font-size: 14px !important; line-height: 1.5 !important; }
.w3d1-groggy-icon { font-size: 24px !important; flex-shrink: 0 !important; }
.w3d1-groggy-indicator { display: none !important; width: 100% !important; align-items: center !important; gap: 12px !important; padding: 14px 16px !important; border-radius: 8px !important; margin-top: 12px !important; font-size: 14px !important; line-height: 1.4 !important; }
.w3d1-hunger-feedback { display: none !important; width: 100% !important; padding: 16px !important; border-radius: 8px !important; margin-top: 8px !important; font-size: 14px !important; font-weight: 600 !important; text-align: center !important; line-height: 1.5 !important; animation: bsmFadeIn 0.3s ease forwards !important; }
.w3d1-hunger-meter-fill { height: 100% !important; width: 0% !important; background: var(--brand-orange) !important; border-radius: 14px !important; transition: width 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.4s ease !important; }
.w3d1-hunger-meter-label { display: flex !important; justify-content: space-between !important; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: var(--brand-orange) !important; margin-bottom: 8px !important; }
.w3d1-hunger-meter-track { width: 100% !important; height: 28px !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 14px !important; overflow: hidden !important; }
.w3d1-hunger-meter-wrap { width: 100% !important; margin-bottom: 16px !important; }
.w3d1-hunger-stage { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 28px 24px !important; margin-top: 24px !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
.w3d1-num-circle { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.15) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; font-weight: 800 !important; margin-right: 16px !important; flex-shrink: 0 !important; }
.w3d1-safety-box { background: rgba(239, 68, 68, 0.05) !important; border: 1px solid rgba(239, 68, 68, 0.3) !important; border-left: 4px solid var(--brand-red) !important; padding: 24px !important; border-radius: 8px !important; margin-bottom: 24px !important; margin-top: 16px !important; }
.w3d1-safety-title { color: var(--brand-red) !important; font-weight: 800 !important; font-size: 18px !important; margin-bottom: 12px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.w3d1-slider { -webkit-appearance: none !important; width: 100% !important; height: 8px !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 4px !important; outline: none !important; }
.w3d1-slider-labels { display: flex !important; justify-content: space-between !important; width: 100% !important; font-size: 13px !important; font-weight: 600 !important; color: var(--diary-text-muted) !important; margin-top: 12px !important; }
.w3d1-slider-wrap { width: 100% !important; position: relative !important; margin-bottom: 28px !important; margin-top: 20px !important; }
.w3d2-cascade-arrow { font-size: 18px !important; color: var(--diary-text-muted) !important; margin: 6px 0 !important; }
.w3d2-cascade-container { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 16px !important; }
.w3d2-cascade-content { display: none !important; width: 100% !important; padding: 12px 18px !important; margin-top: 8px !important; background: rgba(239, 68, 68, 0.05) !important; border: 1px solid rgba(239, 68, 68, 0.2) !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.5 !important; }
.w3d2-cascade-hint { font-size: 12px !important; color: var(--diary-text-muted) !important; font-weight: 600 !important; }
.w3d2-cascade-num { width: 26px !important; height: 26px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.15) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important; font-size: 13px !important; flex-shrink: 0 !important; }
.w3d2-cascade-step { width: 100% !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
.w3d2-cascade-title { font-weight: 700 !important; font-size: 15px !important; }
.w3d2-cascade-title-wrap { display: flex !important; align-items: center !important; gap: 12px !important; }
.w3d2-cascade-trigger { width: 100% !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 14px 18px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w3d2-cw-check-circle { width: 24px !important; height: 24px !important; border-radius: 50% !important; border: 2px solid var(--glass-border) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: transparent !important; transition: all 0.2s !important; }
.w3d2-cw-check-item { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px 20px !important; display: flex !important; align-items: center !important; gap: 12px !important; cursor: pointer !important; transition: all 0.2s ease !important; font-size: 15px !important; font-weight: 500 !important; }
.w3d2-cw-checklist { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-bottom: 8px !important; }
.w3d2-cw-definition { background: rgba(59, 130, 246, 0.05) !important; border-left: 4px solid var(--brand-blue) !important; padding: 16px 20px !important; border-radius: 0 8px 8px 0 !important; margin-top: 16px !important; margin-bottom: 24px !important; font-size: 15px !important; line-height: 1.6 !important; }
.w3d2-num-circle { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.15) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; font-weight: 800 !important; margin-right: 16px !important; flex-shrink: 0 !important; }
.w3d2-option-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 14px !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w3d2-option-icon { font-size: 22px !important; display: block !important; margin-bottom: 6px !important; }
.w3d2-option-text { font-size: 13px !important; font-weight: 600 !important; }
.w3d2-path-item { font-size: 13px !important; color: var(--diary-text-muted) !important; padding-left: 14px !important; position: relative !important; }
.w3d2-path-list { display: flex !important; flex-direction: column !important; gap: 6px !important; margin-top: 4px !important; }
.w3d2-path-title { font-weight: 700 !important; font-size: 14px !important; margin-bottom: 8px !important; }
.w3d2-protocol-path-a { border-left: 3px solid var(--brand-green) !important; }
.w3d2-protocol-path-b { border-left: 3px solid var(--brand-orange) !important; }
.w3d2-stack-btn { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 14px 16px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w3d2-stack-list { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.w3d2-stack-sub { font-size: 13px !important; color: var(--diary-text-muted) !important; }
.w3d2-stack-title { font-size: 15px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.w3d2-step-label { font-size: 15px !important; font-weight: 700 !important; margin-top: 20px !important; margin-bottom: 10px !important; }
.w3d4-acc-container { display: flex !important; flex-direction: column !important; gap: 16px !important; margin-top: 24px !important; }
.w3d4-acc-content { display: none !important; margin-top: 16px !important; font-size: 15px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; animation: bsmFadeIn 0.3s ease forwards !important; }
.w3d4-acc-header { display: flex !important; align-items: center !important; gap: 12px !important; font-size: 16px !important; font-weight: 600 !important; }
.w3d4-acc-icon { color: var(--diary-text-muted) !important; font-weight: bold !important; transition: all 0.3s !important; }
.w3d4-acc-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; cursor: pointer !important; transition: all 0.3s ease !important; }
.w3d4-custom-input { width: 100% !important; background: var(--glass-bg) !important; border: 1px solid var(--brand-purple) !important; color: var(--diary-text) !important; padding: 12px 16px !important; border-radius: 8px !important; font-family: inherit !important; font-size: 14px !important; outline: none !important; }
.w3d4-hygiene-body { display: none !important; margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--glass-border) !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w3d4-hygiene-chevron { font-size: 14px !important; color: var(--diary-text-muted) !important; transition: transform 0.3s ease !important; flex-shrink: 0 !important; }
.w3d4-hygiene-header { display: flex !important; align-items: center !important; gap: 12px !important; }
.w3d4-hygiene-icon { font-size: 22px !important; flex-shrink: 0 !important; }
.w3d4-hygiene-item { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 10px !important; padding: 16px 20px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w3d4-hygiene-list { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 20px !important; }
.w3d4-hygiene-title { font-size: 15px !important; font-weight: 700 !important; flex: 1 !important; }
.w3d4-match-list { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.w3d4-match-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w3d4-match-text { font-size: 15px !important; font-weight: 500 !important; flex: 1 !important; }
.w3d4-match-zones { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; margin-top: 16px !important; margin-bottom: 24px !important; }
.w3d4-num-circle { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.15) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; font-weight: 800 !important; margin-right: 16px !important; flex-shrink: 0 !important; }
.w3d4-option-btn { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; display: flex !important; align-items: center !important; gap: 12px !important; cursor: pointer !important; transition: all 0.2s !important; font-size: 14px !important; font-weight: 600 !important; }
.w3d4-reminder-box { background: rgba(245, 158, 11, 0.05) !important; border: 1px solid rgba(245, 158, 11, 0.3) !important; padding: 16px !important; border-radius: 8px !important; margin-top: 16px !important; margin-bottom: 16px !important; font-size: 14px !important; line-height: 1.5 !important; }
.w3d4-routine-step { font-size: 16px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-top: 32px !important; margin-bottom: 16px !important; }
.w3d4-sort-info { background: rgba(59, 130, 246, 0.05) !important; border: 1px solid rgba(59, 130, 246, 0.2) !important; padding: 16px !important; border-radius: 8px !important; margin-bottom: 24px !important; }
.w3d4-step-num { width: 24px !important; height: 24px !important; background: rgba(236, 72, 153, 0.15) !important; color: #ec4899 !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; font-weight: 800 !important; }
.w3d4-summary-card { background: rgba(59, 130, 246, 0.05) !important; border: 2px solid var(--brand-blue) !important; border-radius: 16px !important; padding: 24px !important; margin-top: 32px !important; display: none !important; animation: bsmFadeIn 0.4s ease forwards !important; }
.w3d4-summary-item { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; padding: 16px !important; border-radius: 8px !important; margin-bottom: 8px !important; display: flex !important; align-items: flex-start !important; gap: 12px !important; }
.w3d4-summary-step { font-size: 12px !important; font-weight: 800 !important; color: var(--diary-text-muted) !important; text-transform: uppercase !important; min-width: 80px !important; margin-top: 2px !important; }
.w3d4-summary-title { font-size: 20px !important; font-weight: 800 !important; color: var(--brand-blue) !important; margin-bottom: 16px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.w3d4-summary-val { font-size: 15px !important; font-weight: 600 !important; color: var(--diary-text) !important; }
.w3d4-where-card { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px 16px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; cursor: pointer !important; transition: all 0.2s !important; }
.w3d4-where-icon { font-size: 32px !important; margin-bottom: 12px !important; }
.w3d4-where-text { font-weight: 600 !important; font-size: 15px !important; }
.w3d4-zone { background: var(--inner-bg) !important; border: 2px dashed var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; min-height: 80px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; transition: all 0.3s ease !important; justify-content: center !important; }
.w3d4-zone-active { background: rgba(245, 158, 11, 0.05) !important; border-color: rgba(245, 158, 11, 0.3) !important; }
.w3d4-zone-passive { background: rgba(59, 130, 246, 0.05) !important; border-color: rgba(59, 130, 246, 0.3) !important; }
.w3d4-zone-title { text-align: center !important; font-weight: 800 !important; font-size: 16px !important; }
.w3d5-bullet-item { display: flex !important; align-items: flex-start !important; gap: 12px !important; font-size: 15px !important; line-height: 1.5 !important; }
.w3d5-bullet-list { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.w3d5-checkbox-box { width: 24px !important; height: 24px !important; border-radius: 6px !important; border: 2px solid var(--glass-border) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; color: transparent !important; }
.w3d5-info-dark { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; margin-top: 32px !important; }
.w3d5-info-dark-title { color: var(--brand-orange) !important; font-size: 18px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 16px !important; }
.w3d5-match-list { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.w3d5-match-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 8px !important; padding: 16px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.w3d5-match-text { font-size: 15px !important; font-weight: 500 !important; flex: 1 !important; }
.w3d5-meter-container { width: 100% !important; max-width: 300px !important; margin-bottom: 24px !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
.w3d5-meter-fill { height: 100% !important; width: 5% !important; background: var(--brand-purple) !important; border-radius: 12px !important; transition: width 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important; box-shadow: 0 0 15px rgba(168, 85, 247, 0.5) !important; }
.w3d5-meter-label { font-size: 14px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 12px !important; color: var(--brand-purple) !important; opacity: 0.5 !important; transition: opacity 0.5s ease !important; }
.w3d5-meter-track { width: 100% !important; height: 24px !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; overflow: hidden !important; }
.w3d5-num-circle { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.15) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; font-weight: 800 !important; margin-right: 16px !important; flex-shrink: 0 !important; }
.w3d5-options-stack { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 16px !important; }
.w3d5-shift-worker-box { background: rgba(59, 130, 246, 0.05) !important; border: 1px solid rgba(59, 130, 246, 0.3) !important; border-radius: 12px !important; padding: 20px !important; margin-top: 24px !important; cursor: pointer !important; transition: all 0.2s !important; display: flex !important; align-items: flex-start !important; gap: 16px !important; }
.w3d5-stack-btn { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; cursor: pointer !important; transition: all 0.2s ease !important; text-align: left !important; }
.w3d5-stack-sub { font-size: 14px !important; color: var(--diary-text-muted) !important; line-height: 1.4 !important; }
.w3d5-stack-title { font-size: 16px !important; font-weight: 700 !important; margin-bottom: 6px !important; }
.w3d5-switch-feedback { font-size: 15px !important; font-weight: 600 !important; text-align: center !important; line-height: 1.5 !important; min-height: 48px !important; }
.w3d5-switch-stage { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 32px 24px !important; margin-top: 24px !important; display: flex !important; flex-direction: column !important; align-items: center !important; transition: background 0.5s ease !important; }
.w3d5-toggle-btn { flex: 1 !important; padding: 12px 16px !important; text-align: center !important; font-weight: 700 !important; font-size: 15px !important; cursor: pointer !important; z-index: 2 !important; transition: color 0.3s ease !important; color: var(--diary-text-muted) !important; }
.w3d5-toggle-pill { position: absolute !important; top: 4px !important; left: 4px !important; width: calc(50% - 4px) !important; height: calc(100% - 8px) !important; background: var(--brand-orange) !important; border-radius: 26px !important; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.4s ease !important; z-index: 1 !important; }
.w3d5-toggle-wrap { display: flex !important; background: var(--glass-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 30px !important; padding: 4px !important; margin-bottom: 32px !important; position: relative !important; width: 240px !important; }
.w3d5-zone { background: var(--inner-bg) !important; border: 2px dashed var(--glass-border) !important; border-radius: 12px !important; padding: 16px !important; min-height: 80px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; transition: all 0.3s ease !important; justify-content: center !important; }
.w3d5-zone-habitual { background: rgba(245, 158, 11, 0.05) !important; border-color: rgba(245, 158, 11, 0.3) !important; }
.w3d5-zone-systemic { background: rgba(59, 130, 246, 0.05) !important; border-color: rgba(59, 130, 246, 0.3) !important; }
.w3d5-zone-title { text-align: center !important; font-weight: 800 !important; font-size: 16px !important; }
.w3d6-badge-lock { display: none !important; background: rgba(34, 197, 94, 0.15) !important; color: var(--brand-green) !important; border: 1px solid rgba(34, 197, 94, 0.3) !important; padding: 4px 10px !important; border-radius: 12px !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; }
.w3d6-badge-rec { display: none !important; background: rgba(245, 158, 11, 0.15) !important; color: var(--brand-orange) !important; border: 1px solid rgba(245, 158, 11, 0.3) !important; padding: 4px 10px !important; border-radius: 12px !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; }
.w3d6-badge-wrap { position: absolute !important; top: 12px !important; right: 16px !important; }
.w3d6-bullet-item { display: flex !important; align-items: flex-start !important; gap: 12px !important; font-size: 15px !important; line-height: 1.5 !important; }
.w3d6-bullet-list { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.w3d6-card-hint { font-size: 13px !important; color: var(--diary-text-muted) !important; margin-top: auto !important; }
.w3d6-card-icon { font-size: 32px !important; margin-bottom: 8px !important; }
.w3d6-card-title { font-size: 18px !important; font-weight: 700 !important; }
.w3d6-check-container { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 24px !important; margin-bottom: 24px !important; }
.w3d6-check-row { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 20px !important; display: flex !important; align-items: center !important; gap: 16px !important; cursor: pointer !important; transition: all 0.2s ease !important; position: relative !important; overflow: hidden !important; }
.w3d6-check-sub { font-size: 14px !important; color: var(--diary-text-muted) !important; }
.w3d6-check-text-wrap { display: flex !important; flex-direction: column !important; gap: 4px !important; flex: 1 !important; }
.w3d6-check-title { font-size: 16px !important; font-weight: 700 !important; }
.w3d6-checkbox { width: 24px !important; height: 24px !important; border-radius: 6px !important; border: 2px solid var(--glass-border) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; color: transparent !important; transition: all 0.2s !important; }
.w3d6-diary-link { color: var(--brand-purple) !important; font-weight: 700 !important; cursor: pointer !important; text-decoration: underline !important; display: inline-block !important; margin-top: 8px !important; }
.w3d6-eff-forward-note { font-size: 13px !important; color: var(--diary-text-muted) !important; margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--glass-border) !important; line-height: 1.5 !important; }
.w3d6-eff-gauge { display: flex !important; flex-direction: column !important; align-items: center !important; padding: 20px !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; margin-top: 16px !important; margin-bottom: 16px !important; }
.w3d6-eff-label { font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: var(--diary-text-muted) !important; margin-top: 4px !important; }
.w3d6-eff-loading { text-align: center !important; padding: 20px !important; font-weight: 600 !important; color: var(--diary-text-muted) !important; }
.w3d6-eff-msg { margin-top: 16px !important; padding: 16px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.5 !important; }
.w3d6-eff-number { font-size: 40px !important; font-weight: 800 !important; }
.w3d6-eff-result { display: none !important; }
.w3d6-flashcards-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; gap: 16px !important; margin-top: 24px !important; }
.w3d6-flip-back { display: flex !important; flex-direction: column !important; transform: rotateY(180deg) !important; background: rgba(59, 130, 246, 0.05) !important; border-color: var(--brand-blue) !important; font-size: 15px !important; align-items: flex-start !important; justify-content: center !important; text-align: left !important; }
.w3d6-flip-card { width: 100% !important; height: 100% !important; position: relative !important; transition: transform 0.6s !important; transform-style: preserve-3d !important; }
.w3d6-flip-face { position: absolute !important; width: 100% !important; height: 100% !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; border-radius: 12px !important; padding: 24px !important; border: 1px solid var(--glass-border) !important; background: var(--inner-bg) !important; box-sizing: border-box !important; overflow-y: auto !important; }
.w3d6-flip-front { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 12px !important; }
.w3d6-flip-scene { perspective: 1000px !important; width: 100% !important; height: 240px !important; cursor: pointer !important; }
.w3d6-info-dark { background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; }
.w3d6-info-title2 { font-size: 18px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 16px !important; }
.w3d6-num-circle { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: rgba(168, 85, 247, 0.15) !important; color: var(--brand-purple) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; font-weight: 800 !important; margin-right: 16px !important; flex-shrink: 0 !important; }
.w3d6-personal-msg { display: none !important; background: rgba(245, 158, 11, 0.05) !important; border: 1px solid var(--brand-orange) !important; border-left: 4px solid var(--brand-orange) !important; padding: 16px !important; border-radius: 8px !important; margin-bottom: 24px !important; font-size: 14px !important; line-height: 1.5 !important; }
.w3d6-quiz-row { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 16px !important; border-bottom: 1px solid var(--glass-border) !important; gap: 16px !important; }
.w3d6-section-divider { display: flex !important; align-items: center !important; gap: 12px !important; margin: 32px 0 20px 0 !important; }
.w3d6-section-divider-label { font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: var(--diary-text-muted) !important; white-space: nowrap !important; }
.w3d6-section-divider-line { flex: 1 !important; height: 1px !important; background: var(--glass-border) !important; }
.w3d6-summary-box { background: rgba(245, 158, 11, 0.05) !important; border: 1px solid rgba(245, 158, 11, 0.3) !important; border-radius: 12px !important; padding: 24px !important; }
.w3d6-summary-title { color: var(--brand-orange) !important; font-weight: 800 !important; font-size: 18px !important; margin-bottom: 12px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.w3d6-toggle-btn { padding: 6px 16px !important; border-radius: 16px !important; background: var(--inner-bg) !important; border: 1px solid var(--glass-border) !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; font-size: 14px !important; }
.w3d6-toggle-group { display: flex !important; align-items: center !important; gap: 8px !important; flex-shrink: 0 !important; }
.w3d6-window-now { display: flex !important; justify-content: space-between !important; font-size: 14px !important; padding: 10px 0 !important; border-top: 1px solid var(--glass-border) !important; margin-top: 12px !important; }
.w4d3-diary-link { color: var(--brand-blue) !important; cursor: pointer !important; }
.w4hub-tool-badge { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 11px !important; font-weight: 700 !important; color: var(--brand-purple) !important; background: rgba(168, 85, 247, 0.15) !important; padding: 3px 10px !important; border-radius: 20px !important; margin-top: 4px !important; }
.w5d2-badge { background: var(--inner-bg) !important; color: var(--brand-blue) !important; padding: 4px 12px !important; border-radius: 16px !important; font-size: 14px !important; font-weight: 700 !important; border: 1px solid var(--glass-border) !important; }
.w5d2-btn-text { background: transparent !important; color: var(--diary-text-muted) !important; border: 1px solid var(--glass-border) !important; padding: 10px 20px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; }
.w5d2-carousel-dots { gap: 6px !important; }
.w5d2-carousel-footer { display: flex !important; align-items: center !important; justify-content: space-between !important; padding-top: 20px !important; }
.w5d2-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: var(--glass-border) !important; transition: background 0.3s !important; }
.w5d2-highlight { background: var(--inner-bg) !important; border: 1px solid var(--brand-blue) !important; padding: 14px 16px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w5d2-reveal-btn { background: var(--brand-blue) !important; color: #ffffff !important; border: none !important; padding: 10px 20px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; width: fit-content !important; transition: transform 0.2s !important; }
.w5d2-slide { display: none !important; padding: 16px 0 0 0 !important; }
.w5d2-slide-text { font-size: 15px !important; line-height: 1.6 !important; margin-bottom: 16px !important; color: var(--diary-text-muted) !important; }
.w5d2-slide-title { font-size: 17px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.w5d4-badge { background: var(--inner-bg) !important; color: var(--brand-blue) !important; padding: 4px 12px !important; border-radius: 16px !important; font-size: 14px !important; font-weight: 700 !important; border: 1px solid var(--glass-border) !important; }
.w5d4-btn-text { background: transparent !important; color: var(--diary-text-muted) !important; border: 1px solid var(--glass-border) !important; padding: 10px 20px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; }
.w5d4-carousel-dots { gap: 6px !important; }
.w5d4-carousel-footer { display: flex !important; align-items: center !important; justify-content: space-between !important; padding-top: 20px !important; }
.w5d4-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: var(--glass-border) !important; transition: background 0.3s !important; }
.w5d4-highlight { background: var(--inner-bg) !important; border: 1px solid var(--brand-blue) !important; padding: 14px 16px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--diary-text-muted) !important; }
.w5d4-reveal-btn { background: var(--brand-blue) !important; color: #ffffff !important; border: none !important; padding: 10px 20px !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; width: fit-content !important; transition: transform 0.2s !important; }
.w5d4-slide { display: none !important; padding: 16px 0 0 0 !important; }
.w5d4-slide-text { font-size: 15px !important; line-height: 1.6 !important; margin-bottom: 16px !important; color: var(--diary-text-muted) !important; }
.w5d4-slide-title { font-size: 17px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.w5hub-tool-badge { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 11px !important; font-weight: 700 !important; color: var(--brand-purple) !important; background: rgba(168, 85, 247, 0.15) !important; padding: 3px 10px !important; border-radius: 20px !important; margin-top: 4px !important; }
.w6d4-tool-badge { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 11px !important; font-weight: 700 !important; background: rgba(245, 158, 11, 0.15) !important; color: var(--brand-orange) !important; border: 1px solid rgba(245, 158, 11, 0.3) !important; padding: 4px 10px !important; border-radius: 20px !important; margin-bottom: 12px !important; }
.w6d5-tool-badge { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 11px !important; font-weight: 700 !important; background: rgba(245, 158, 11, 0.15) !important; color: var(--brand-orange) !important; border: 1px solid rgba(245, 158, 11, 0.3) !important; padding: 4px 10px !important; border-radius: 20px !important; margin-bottom: 12px !important; }
.welcome-container { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 70vh; animation: welcomeFadeIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.welcome-p { font-family: 'Inter', sans-serif; font-size: clamp(1.1rem, 3vw, 1.25rem); line-height: 1.7; color: var(--text-sub); max-width: 580px; margin: 25px auto 45px auto; }
.welcome-title { font-family: 'Playfair Display', serif; font-size: clamp(3.5rem, 10vw, 5.5rem); color: var(--text-main) !important; margin: 0; font-weight: 400; letter-spacing: -0.02em; }
.wf-cat-count-badge { display: inline-block; background: rgba(0,0,0,0.12); padding: 1px 6px; border-radius: 10px; font-size: 11px; margin-left: 3px; }
.wf-cat-pill { background: #f1f5f9; border: 1px solid #e2e8f0; color: #475569; padding: 5px 14px; border-radius: 20px; font-size: 12px; font-weight: 700; cursor: pointer; transition: 0.2s; white-space: nowrap; }
.wf-facts-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 10px 12px; font-size: 0.8rem; margin-bottom: 10px; }
.wf-facts-label { font-weight: 700; color: #475569; }
.wf-facts-row { display: flex; justify-content: space-between; margin-bottom: 4px; }
.wf-facts-value { color: #1e293b; font-weight: 600; }
.wf-filter-select { flex: 1; padding: 10px 12px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 14px; font-weight: 600; color: #475569; background: #f8fafc; cursor: pointer; }
.wf-filter-wrap { margin-bottom: 20px; }
.wf-pref-bar { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; font-family: sans-serif; }
.wf-pref-btn { display: flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #d1d9db; border-radius: 8px; padding: 8px 12px; font-size: 13px; font-weight: 700; color: #2F3E46; cursor: pointer; transition: 0.15s; }
.wf-pref-caret { font-size: 10px; color: #94a3b8; }
.wf-pref-count { background: #819b81; color: #fff; font-size: 11px; font-weight: 800; border-radius: 10px; padding: 1px 7px; }
.wf-pref-dd { position: relative; }
.wf-pref-hint { font-size: 12px; color: #94a3b8; font-style: italic; }
.wf-pref-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #334155; padding: 6px 4px; border-radius: 6px; cursor: pointer; white-space: nowrap; }
.wf-pref-panel { display: none; position: absolute; top: calc(100% + 6px); left: 0; z-index: 40; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.12); padding: 10px; min-width: 190px; max-height: 260px; overflow-y: auto; }
.wf-save-box { background: #ffffff; width: 100%; max-width: 450px; border-radius: 16px; padding: 30px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); text-align: center; font-family: sans-serif; }
.wf-save-btn { background: #819b81; color: #fff; border: none; padding: 12px 30px; border-radius: 8px; font-weight: 700; cursor: pointer; font-size: 15px; transition: 0.2s; }
.wf-save-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(47,62,70,0.6); backdrop-filter: blur(8px); z-index: 10000; align-items: center; justify-content: center; padding: 15px; display: none; }
.wf-save-text { font-size: 15px; color: #5a6b72; margin-bottom: 25px; line-height: 1.6; }
.wf-save-title { font-size: 20px; font-weight: 800; color: #2F3E46; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }
.wf-sub-pill { background: #fff; border: 1px solid #ddd6fe; color: #7c3aed; padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 700; cursor: pointer; transition: 0.2s; white-space: nowrap; }
.wf-tab-btn { background: transparent; border: 2px solid transparent; border-radius: 8px; padding: 15px 20px; text-align: center; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; color: #64748b; align-items: center; justify-content: center; }
.wf-tab-content { display: none; animation: wf-fade-in 0.3s ease; }
.wf-tab-title { font-size: 1.1rem; font-weight: bold; }
.wf-tabs-container { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 30px; background: #f1f5f9; padding: 10px; border-radius: 12px; }
.wf-why-box { background: #f0fdf4; border: 1px solid #bbf7d0; border-left: 4px solid #56ab2f; border-radius: 6px; padding: 10px 13px; margin-bottom: 12px; }
.wf-why-label { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #56ab2f; margin-bottom: 6px; display: block; }
.wf-why-pill { font-size: 0.7rem; font-weight: 700; background: #dcfce7; color: #166534; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.wf-why-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.wp-block-cover__image-background { display: none !important; }
.wr-badge { display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.wr-bm-group { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #0d9488; background: #f0fdfa; padding: 6px 12px; }
.wr-bm-table { width: 100%; border-collapse: collapse; }
.wr-bm-unit { font-size: 11px; color: #94a3b8; font-weight: 400; }
.wr-bm-val { font-weight: 600; color: #0f172a; }
.wr-btn-outline { background: #fff; border: 1.5px solid #0d9488; color: #0d9488; }
.wr-btn-primary { background: #0d9488; color: #fff; }
.wr-lf-table { width: 100%; border-collapse: collapse; }
.wr-lf-val { color: #0f172a; }
.wr-neuro-bar-fill { height: 100%; border-radius: 99px; background: #0d9488; }
.wr-neuro-bar-wrap { flex: 1; height: 6px; background: #f1f5f9; border-radius: 99px; overflow: hidden; }
.wr-neuro-score-bar { display: flex; align-items: center; gap: 10px; margin: 4px 0; font-size: 13px; }
.wr-obj-label { font-size: 11px; color: #0f766e; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; }
.wr-obj-unit { font-size: 11px; color: #5eead4; }
.wr-stat-label { font-size: 11px; color: #94a3b8; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; }
.wr-step-body { flex: 1; }
.wr-step-desc { font-size: 13px; color: #64748b; }
