@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root,[data-theme=light]{--bg:#f4f1ec;--bg-card:#fff;--bg-elevated:#ebe6de;--text:#1e2a2e;--text-muted:#5c6b70;--accent:#3d7a6e;--accent-soft:#d4ebe4;--accent-hover:#2f6359;--danger:#b84a4a;--danger-soft:#fdeaea;--warning:#b8860b;--success:#3d7a5a;--border:#d8d2c8;--shadow:0 4px 24px #1e2a2e14;--radius:14px;--font-scale:1}[data-theme=dark]{--bg:#141a1c;--bg-card:#1e2729;--bg-elevated:#283234;--text:#e8eeef;--text-muted:#9aabad;--accent:#5ba898;--accent-soft:#243836;--accent-hover:#6fc4b2;--danger:#e07070;--danger-soft:#3a2222;--warning:#d4a84b;--success:#6bc49a;--border:#3a4548;--shadow:0 4px 24px #00000059}[data-font-size=small]{--font-scale:.9}[data-font-size=medium]{--font-scale:1}[data-font-size=large]{--font-scale:1.12}*,:before,:after{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale))}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0;font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.55}#root{min-height:100vh}.app-shell{max-width:960px;margin:0 auto;padding:1rem 1.25rem 3rem;position:relative}.music-control{z-index:100;border:1px solid var(--border);background:var(--bg-card);width:48px;height:48px;box-shadow:var(--shadow);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:transform .15s,border-color .2s;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.music-control:hover{border-color:var(--accent);transform:scale(1.05)}.music-control:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-main{animation:.35s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero{text-align:center;background:linear-gradient(145deg, var(--accent-soft), transparent 60%);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1.5rem;padding:2rem 1rem 1.5rem}.hero-logo{color:var(--accent);margin-bottom:.25rem;font-size:3rem;line-height:1}.app-name{letter-spacing:-.02em;margin:0;font-size:2.25rem;font-weight:700}.tagline{color:var(--text-muted);margin:.5rem 0 1rem;font-size:1.05rem}.current-mode-line{margin:0;font-size:.95rem}.dashboard-cards{gap:1rem;margin-bottom:2rem;display:grid}@media (width>=600px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.25rem}.dash-card h3{margin:0 0 .5rem;font-size:.95rem;font-weight:600}.dash-card p{color:var(--text-muted);margin:0;font-size:.92rem}.privacy-blur .entry-title,.privacy-blur .entry-preview{filter:blur(6px);-webkit-user-select:none;user-select:none}.privacy-hidden{font-style:italic}.section-title{margin:0 0 1rem;font-size:1.15rem}.quick-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.quick-btn{text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;font-family:inherit;transition:border-color .2s,transform .15s,box-shadow .2s;display:flex}.quick-btn:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.quick-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quick-icon{font-size:1.75rem}.quick-label{font-size:.95rem;font-weight:600}.quick-desc{color:var(--text-muted);font-size:.78rem}.dashboard-footer{text-align:center;margin-top:2rem}.app-header{margin-bottom:1.5rem}.header-inner .btn-back{margin-bottom:.5rem;padding-left:0}.page-title{margin:0;font-size:1.65rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin:.35rem 0 .5rem}.mode-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.25rem .65rem;font-size:.85rem;font-weight:500;display:inline-block}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:background .2s,transform .1s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-danger{background:var(--danger);color:#fff}.btn-danger-outline{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-lg{padding:.75rem 1.5rem;font-size:1.05rem}.btn-sm{padding:.35rem .75rem;font-size:.85rem}.action-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.card-grid.compact{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.tool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;color:var(--text);padding:1.25rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.tool-card.selected{border-color:var(--accent);background:var(--accent-soft)}.tool-card.small{flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;display:flex}.card-icon{margin-bottom:.5rem;font-size:2rem;display:block}.tool-card h3{margin:0 0 .35rem;font-size:1rem}.tool-card p{color:var(--text-muted);margin:0;font-size:.85rem}.mode-grid{gap:.75rem;display:grid}.mode-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text);grid-template-columns:auto 1fr;gap:.25rem 1rem;padding:1rem 1.25rem;font-family:inherit;transition:border-color .2s;display:grid}.mode-card.selected{border-color:var(--accent);background:var(--accent-soft)}.mode-icon{grid-row:span 2;font-size:2rem}.mode-name{font-size:1.05rem;font-weight:600}.mode-desc{color:var(--text-muted);grid-column:2;font-size:.88rem}.mode-active{color:var(--accent);grid-column:2;font-size:.8rem;font-weight:600}.form-section{margin-bottom:1.25rem}.form-section label{margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;color:var(--text);border-radius:999px;padding:.4rem .85rem;font-family:inherit;font-size:.88rem;transition:background .15s,border-color .15s}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}input[type=text],input[type=search],input:not([type]),select,textarea{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);border-radius:10px;padding:.6rem .75rem;font-family:inherit;font-size:1rem}label{margin-bottom:1rem;font-weight:500;display:block}.question-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);margin-bottom:1rem;padding:1rem}.question-block legend{padding:0 .25rem;font-weight:600}.radio-option{cursor:pointer;align-items:center;gap:.5rem;margin:.5rem 0;font-weight:400;display:flex}.dice-area{text-align:center;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1rem;padding:1.5rem}.dice-graphic{font-size:4rem;line-height:1;animation:.4s rollPop}@keyframes rollPop{0%{transform:scale(.6)rotate(-20deg)}to{transform:none}}.turn-indicator{color:var(--text-muted);margin:.75rem 0 0}.prompt-card{background:linear-gradient(135deg, var(--accent-soft), var(--bg-card));border:1px solid var(--border);border-radius:var(--radius);min-height:120px;margin-bottom:1rem;padding:1.5rem}.prompt-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:#fff;border-radius:6px;margin-bottom:.75rem;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.prompt-text{margin:0;font-size:1.2rem;line-height:1.5}.prompt-text.muted{color:var(--text-muted);font-style:italic}.safety-notice{color:var(--text-muted);background:var(--bg-elevated);border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.88rem}.results-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.result-section{margin-top:1rem}.result-section h3{margin:0 0 .5rem;font-size:1rem}.result-section ul{margin:0;padding-left:1.25rem}.warning-text{color:var(--warning);font-weight:500}.crisis-line{background:var(--danger-soft);border-radius:8px;margin-top:1rem;padding:.75rem}.flag-section{background:var(--bg-card);border-radius:var(--radius);border-left:4px solid var(--border);margin-bottom:1rem;padding:1.25rem}.flag-danger{border-left-color:var(--danger)}.flag-warning{border-left-color:var(--warning)}.flag-success{border-left-color:var(--success)}.flag-info{border-left-color:var(--accent)}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.alert-danger{background:var(--danger-soft);border:1px solid var(--danger)}.alert-info{background:var(--accent-soft);border:1px solid var(--accent)}.journal-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.journal-toolbar input{flex:1;min-width:180px}.journal-list{flex-direction:column;gap:.75rem;display:flex}.journal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.journal-meta{color:var(--text-muted);flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.privacy-gate{text-align:center;background:var(--bg-card);border-radius:var(--radius);border:1px dashed var(--border);padding:3rem 1.5rem}.privacy-icon{margin-bottom:1rem;font-size:3rem;display:block}.resource-list{margin:0;padding:0;list-style:none}.resource-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.resource-item a{color:var(--accent);font-weight:600;text-decoration:none}.resource-item a:hover{text-decoration:underline}.resource-cat{background:var(--bg-elevated);border-radius:6px;margin-top:.5rem;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.settings-section h2{margin:0 0 1rem;font-size:1.1rem}.toggle-row{align-items:center;gap:.75rem;margin-bottom:.75rem;font-weight:400;display:flex}.toggle-row input{width:auto}.help-section{margin-bottom:1.25rem}.help-section h2{margin:0 0 .5rem;font-size:1.1rem}.disclaimer{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);gap:.75rem;margin-top:1.5rem;padding:1rem;font-size:.82rem;display:flex}.disclaimer-compact{padding:.75rem;font-size:.78rem}.disclaimer p{margin:0}.modal{z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-backdrop{background:#00000073;position:absolute;inset:0}.modal-card{background:var(--bg-card);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);z-index:1;padding:1.5rem;position:relative}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.guidance-panel .guidance-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.step-block h2{margin-bottom:.75rem;font-size:1.05rem}.activity-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.duration{color:var(--text-muted);font-size:.85rem}.meta-text{color:var(--text-muted);font-size:.88rem}.empty-state{text-align:center;color:var(--text-muted);padding:2rem}.fine-print{color:var(--text-muted);margin-top:1rem;font-size:.75rem}.guidance-block h3{margin:0 0 .5rem;font-size:.95rem}@media (width<=480px){.app-shell{padding:.75rem}.quick-grid{grid-template-columns:1fr 1fr}}
