/* ════════════════════════════════════════════════════════════════
   daily.css — Daily Practice (tarot, journal, daily score, one thing)
   ════════════════════════════════════════════════════════════════
   Extracted from dashboard.css in C-port turn 2. Holds .dp-* and
   .score-* rules — the practice view's chrome and widgets.
   ════════════════════════════════════════════════════════════════ */


    .dp-layout{flex:1;overflow-y:auto;padding:32px 52px;}

    .dp-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}

    .dp-left .dp-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fire);margin-bottom:4px;}

    .dp-left h1{font-size:22px;font-weight:700;}

    .dp-streak-pill{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;font-size:13px;font-weight:700;color:var(--fire);}

    .dp-section{margin-bottom:28px;}

    .dp-section-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}

    .dp-pull-card{border:1px solid var(--border);border-radius:12px;padding:24px;background:#fff;}

    .dp-pull-inner{display:flex;gap:28px;align-items:flex-start;}

    .dp-card-wrap{flex-shrink:0;position:relative;}

    .dp-card-back:not(.pulled){animation:card-pulse 2.5s ease-in-out infinite;}

    .dp-card-back:not(.pulled):hover{transform:scale(1.03);transition:transform .15s;}

    .dp-card-img{width:160px;height:280px;border-radius:10px;object-fit:cover;display:block;box-shadow:0 8px 24px rgba(0,0,0,.15);}

    .dp-card-back{width:160px;height:280px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.15);transition:transform .2s;}

    .dp-card-back:hover{transform:scale(1.02);}

    .dp-card-back .card-star{font-size:32px;}

    .dp-card-back .card-label{font-size:12px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.1em;text-transform:uppercase;}

    .dp-card-content{flex:1;}

    .dp-hapi-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}

    .dp-hapi-tab{padding:5px 12px;border-radius:999px;border:1px solid var(--border);font-size:12px;cursor:pointer;background:#fff;font-family:inherit;transition:all .12s;}

    .dp-hapi-tab.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600;}

    .dp-card-revealed{display:none;}

    .dp-card-revealed.show{display:block;}

    .dp-card-name{font-size:18px;font-weight:700;margin-bottom:4px;}

    .dp-card-theme{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;}

    .dp-card-quote{font-size:15px;line-height:1.6;color:var(--text);font-style:italic;margin-bottom:14px;padding:14px 16px;background:var(--surface);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;}

    .dp-card-prompt{font-size:13px;color:var(--muted);line-height:1.5;}

    .dp-card-prompt strong{color:var(--text);}

    .dp-pull-btn{margin-top:16px;padding:10px 20px;background:var(--accent);color:white;border:none;border-radius:7px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:background .15s;}

    .dp-pull-btn:hover{background:var(--accent-dark);}

    .dp-pull-btn:disabled{opacity:.5;cursor:not-allowed;}

    .dp-pulled-label{font-size:12px;color:var(--accent);font-weight:600;margin-top:10px;}

    .dp-one-thing-card{border:1px solid var(--border);border-radius:12px;padding:20px;background:#fff;}

    .dp-one-thing-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}

    .dp-one-thing-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}

    .dp-one-thing-status{font-size:11px;padding:3px 8px;border-radius:4px;background:var(--surface);color:var(--muted);font-weight:600;}

    .dp-one-thing-status.set{background:var(--accent-light);color:var(--accent);}

    .dp-one-thing-row{display:flex;gap:8px;}

    .dp-one-thing-input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:7px;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s;}

    .dp-one-thing-input:focus{border-color:var(--accent);}

    .dp-one-thing-btn{padding:10px 18px;background:var(--accent);color:white;border:none;border-radius:7px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;}

    .dp-ot-yn-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#fff;border:1.5px solid var(--border);border-radius:7px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--text);transition:all .15s;}

    .dp-ot-yn-btn:hover{border-color:var(--accent);}

    .dp-ot-yn-btn.selected-yes{background:#dcfce7;border-color:#16a34a;color:#166534;}

    .dp-ot-yn-btn.selected-no{background:#fee2e2;border-color:#dc2626;color:#991b1b;}

    .dp-ot-yn-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0;}

    .dp-ot-yn-btn.selected-yes .dp-ot-yn-icon{background:#16a34a;color:#fff;border-color:#16a34a;}

    .dp-ot-yn-btn.selected-no  .dp-ot-yn-icon{background:#dc2626;color:#fff;border-color:#dc2626;}

    .dp-ot-table{margin-top:14px;}

    .dp-ot-row{display:grid;grid-template-columns:80px 1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--border);font-size:13px;}

    .dp-ot-row:first-child{border-top:none;padding-top:4px;}

    .dp-ot-row.is-today{font-weight:600;}

    .dp-ot-date{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.04em;}

    .dp-ot-row.is-today .dp-ot-date{color:var(--accent);font-weight:700;}

    .dp-ot-goal{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}

    .dp-ot-goal-input{width:100%;padding:6px 8px;border:1px solid var(--accent);border-radius:5px;font-family:inherit;font-size:13px;font-weight:500;outline:none;}

    .dp-ot-met{display:inline-flex;gap:4px;}

    .dp-ot-met-btn{padding:4px 9px;background:#fff;border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;line-height:1;transition:all .12s;}

    .dp-ot-met-btn:hover{border-color:var(--accent);color:var(--text);}

    .dp-ot-met-btn.is-yes{background:#16a34a;border-color:#16a34a;color:#fff;}

    .dp-ot-met-btn.is-no{background:#dc2626;border-color:#dc2626;color:#fff;}

    .dp-ot-edit{padding:4px 9px;background:transparent;border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;line-height:1;}

    .dp-ot-edit:hover{border-color:var(--accent);color:var(--accent);}

    .dp-ot-edit.is-saving{background:var(--accent);color:#fff;border-color:var(--accent);}

    .dp-past-list{border:1px solid var(--border);border-radius:10px;overflow:hidden;}

    .dp-past-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;}

    .dp-past-row:last-child{border-bottom:none;}

    .dp-past-date{color:var(--muted);font-size:12px;width:52px;flex-shrink:0;}

    .dp-past-name{flex:1;font-weight:500;}

    .dp-past-tag{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600;}

    .dp-empty-past{padding:24px;text-align:center;color:var(--muted);font-size:13px;}

    .dp-ot-month{margin-bottom:12px;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;}

    .dp-ot-month-heading{padding:12px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;list-style:none;}

    .dp-ot-month-heading::-webkit-details-marker{display:none;}

    .dp-ot-row{display:flex;align-items:flex-start;gap:14px;padding:11px 16px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer;transition:background .12s;}

    .dp-ot-row:last-child{border-bottom:none;}

    .dp-ot-row:hover{background:var(--accent-light);}

    .dp-ot-date{flex-shrink:0;width:54px;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:1px;}

    .dp-ot-text{flex:1;line-height:1.5;color:var(--text);}

    .score-btn-row{display:flex;gap:6px;margin:12px 0;}

    .score-btn{flex:1;height:44px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .1s,opacity .15s;color:white;opacity:.75;}

    .score-btn:hover{transform:scale(1.08);opacity:1;}

    .score-btn.selected{transform:scale(1.12);opacity:1;box-shadow:0 0 0 3px white,0 0 0 5px currentColor;}

    .score-btn[data-v="1"]{background:#dc2626;}

    .score-btn[data-v="2"]{background:#ea580c;}

    .score-btn[data-v="3"]{background:#d97706;}

    .score-btn[data-v="4"]{background:#ca8a04;}

    .score-btn[data-v="5"]{background:#65a30d;}

    .score-btn[data-v="6"]{background:#16a34a;}

    .score-btn[data-v="7"]{background:#0d9488;}

    .score-history{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px;}

    .score-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:white;cursor:pointer;transition:transform .1s;position:relative;}

    .score-dot:hover{transform:scale(1.2);}

    .score-dot[data-v="1"]{background:#dc2626;}

    .score-dot[data-v="2"]{background:#ea580c;}

    .score-dot[data-v="3"]{background:#d97706;}

    .score-dot[data-v="4"]{background:#ca8a04;}

    .score-dot[data-v="5"]{background:#65a30d;}

    .score-dot[data-v="6"]{background:#16a34a;}

    .score-dot[data-v="7"]{background:#0d9488;}

    .score-dot-tip{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;font-size:11px;padding:4px 10px;border-radius:6px;white-space:nowrap;display:none;z-index:10;pointer-events:none;}

    .score-dot:hover .score-dot-tip,.score-dot.tip-open .score-dot-tip{display:block;}

    .score-anchors{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:4px;}

    .score-trend-line{font-size:12px;color:var(--muted);margin-top:8px;}

    .score-trend-line .improving{color:#16a34a;}

    .score-trend-line .declining{color:#dc2626;}

    .dp-badges-section{margin-top:10px;}

    .dp-badges-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}

    .dp-badges-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}

    .dp-journal-card{border:1px solid var(--border);border-radius:12px;padding:20px;background:#fff;margin-top:0;}

    .dp-journal-prompt{font-size:14px;font-weight:500;color:var(--text);line-height:1.6;margin-bottom:14px;padding:12px 14px;background:var(--accent-light);border-left:3px solid var(--accent);border-radius:0 7px 7px 0;}

    .dp-journal-loading{font-size:13px;color:var(--muted);font-style:italic;padding:12px 0;}

    .dp-journal-textarea{width:100%;min-height:100px;padding:10px 13px;border:1px solid var(--border);border-radius:8px;font-family:"DM Sans",sans-serif;font-size:13px;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s;}

    .dp-journal-textarea:focus{border-color:var(--accent);}

    .dp-journal-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}

    .dp-journal-save{padding:8px 18px;background:var(--accent);color:white;border:none;border-radius:6px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;cursor:pointer;}

    .dp-journal-saved{font-size:11px;color:var(--accent);font-weight:600;}

    .dp-recap-banner{background:var(--accent-light);border:1px solid var(--accent);border-radius:10px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;cursor:pointer;transition:background .15s;}

    .dp-recap-banner:hover{background:#d1ece8;}

    .dp-recap-banner-text{font-size:13px;font-weight:600;color:var(--accent);}

    .dp-recap-banner-sub{font-size:11px;color:#0b7d73;margin-top:2px;}

    .dp-recap-banner-arrow{font-size:18px;color:var(--accent);flex-shrink:0;}