/* ForgeLog styles. Deploy as assets/css/modules.css. */

:root {
      --bg: #2a0f0c;
      --panel: rgba(76, 24, 18, 0.90);
      --panel-2: #6b2119;
      --text: #fffaf7;
      --muted: #e7b9ae;
      --accent: #ef3b2d;
      --accent-2: #ff8a3d;
      --work: #ff5a47;
      --break: #6fbe44;
      --alarm: #ffc857;
      --danger: #d92525;
      --border: rgba(255,255,255,.10);
      --shadow: 0 24px 70px rgba(0,0,0,.35);
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      color: var(--text);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:
        radial-gradient(circle at 15% 15%, rgba(239,59,45,.34), transparent 34%),
        radial-gradient(circle at 85% 10%, rgba(255,138,61,.22), transparent 30%),
        radial-gradient(circle at 50% 100%, rgba(111,190,68,.12), transparent 34%),
        linear-gradient(145deg, #180806, var(--bg));
    }
    button, input { font: inherit; }
    button { cursor: pointer; }
    .app { width: min(1160px, calc(100% - 28px)); margin: 0 auto; padding: 28px 0 48px; }
    header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:24px; }
    .brand { display:flex; align-items:center; gap:14px; }
    .logo { width:52px; height:52px; border-radius:18px; display:grid; place-items:center; font-size:26px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); box-shadow:0 10px 30px rgba(239,59,45,.38); }


    .cloud-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; padding:14px 16px; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.045); }
    .cloud-user { display:flex; align-items:center; gap:11px; min-width:0; }
    .cloud-user img { width:38px; height:38px; border-radius:50%; object-fit:cover; border:1px solid var(--border); }
    .cloud-user strong,.cloud-user span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .cloud-user span { color:var(--muted); font-size:.78rem; margin-top:2px; }
    .cloud-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
    .cloud-note { color:var(--muted); font-size:.8rem; }
    .leaderboard { padding:22px; grid-column:1/-1; min-height:280px; }
    .leaderboard-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }
    .leaderboard-list { display:grid; gap:8px; }
    .leader-row { display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; padding:12px 14px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.035); }
    .leader-row.me { border-color:rgba(255,200,87,.65); background:rgba(255,200,87,.08); }
    .leader-rank { color:var(--alarm); font-weight:900; text-align:center; }
    .leader-name { font-weight:800; overflow-wrap:anywhere; }
    .leader-meta { color:var(--muted); font-size:.73rem; margin-top:2px; }
    .leader-score { font-weight:900; font-variant-numeric:tabular-nums; }




    .activity-row{grid-template-columns:38px minmax(0,1fr) 38px!important}.drag-handle{width:38px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:11px;background:var(--panel-2);color:#fff;font-weight:900;cursor:grab;touch-action:none;user-select:none}.drag-handle:active{cursor:grabbing}.activity-row.dragging{opacity:.45}.activity-row.drop-before{box-shadow:0 -3px 0 var(--alarm)}.activity-row.drop-after{box-shadow:0 3px 0 var(--alarm)}.activity-menu-btn{width:38px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:11px;background:var(--panel-2);color:#fff;font-size:1.3rem}.activity-row{position:relative}.activity-actions{position:absolute;z-index:110;right:0;top:48px;min-width:190px;padding:7px;border:1px solid var(--border);border-radius:14px;background:#2a0f0c;box-shadow:var(--shadow)}.activity-actions button{display:block;width:100%;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left;font-weight:800}.activity-actions button:hover{background:rgba(255,255,255,.08)}.activity-actions .delete-action{color:#fca5a5}.activity-fields{min-width:0}.activity-fields>input{width:100%;text-overflow:ellipsis}@media(max-width:620px){.activity-actions{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0}}.workspace-status{margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035);font-weight:850}.check-row{display:flex;align-items:center;gap:9px;color:var(--text);margin:12px 0}.check-row input{width:auto}.account-loading{color:var(--muted);font-size:.8rem}
    .locked-control { position:relative; opacity:.62; }
    .locked-control::after { content:'Locked'; position:absolute; inset:8px 8px auto auto; padding:4px 8px; border-radius:999px; background:#111827; color:#fff; font-size:.68rem; font-weight:900; border:1px solid var(--border); }
    .unlock-grid { display:grid; gap:10px; margin-bottom:18px; }
    .unlock-card { padding:16px; border:1px solid var(--border); border-radius:17px; background:rgba(255,255,255,.035); }
    .unlock-card.unlocked { border-color:rgba(111,190,68,.65); background:rgba(111,190,68,.08); }
    .unlock-card strong { display:block; font-size:1.05rem; }
    .unlock-card span { display:block; color:var(--muted); font-size:.78rem; margin-top:4px; }
    .unlock-progress { height:7px; margin-top:11px; border-radius:99px; overflow:hidden; background:rgba(0,0,0,.28); }
    .unlock-progress > i { display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }

    .duration-tools { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
    .duration-stepper { display:grid; grid-template-columns:42px 1fr 42px; gap:7px; align-items:center; }
    .duration-stepper input { text-align:center; font-size:1.05rem; font-weight:850; }
    .step-btn { height:42px; border:1px solid var(--border); border-radius:11px; color:#fff; background:var(--panel-2); font-weight:900; }
    .skin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
    .skin-option { border:2px solid transparent; border-radius:16px; padding:11px; color:#fff; background:rgba(255,255,255,.04); text-align:left; font-weight:850; }
    .skin-option.active { border-color:var(--alarm); box-shadow:0 0 0 3px rgba(255,200,87,.13); }
    .skin-swatch { display:grid; grid-template-columns:repeat(3,1fr); height:28px; border-radius:9px; overflow:hidden; margin-bottom:8px; }
    .skin-swatch span:nth-child(1){background:var(--sw1)}.skin-swatch span:nth-child(2){background:var(--sw2)}.skin-swatch span:nth-child(3){background:var(--sw3)}
    .rewards-panel { padding:26px; }
    .rewards-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:20px; }
    .reward-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .reward-rule { padding:15px; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.035); }
    .reward-rule strong { display:block; color:var(--alarm); font-size:1.25rem; }
    .reward-rule span { color:var(--muted); font-size:.78rem; line-height:1.4; }
    .reward-ledger { display:grid; gap:8px; max-height:520px; overflow:auto; padding-right:4px; }
    .reward-ledger .reward-item { align-items:center; }
    .reward-time { display:block; color:var(--muted); font-size:.68rem; margin-top:3px; }
    @media(max-width:760px){.duration-tools,.rewards-layout{grid-template-columns:1fr}.skin-grid,.reward-rule-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:460px){.skin-grid,.reward-rule-grid{grid-template-columns:1fr}}

    .forgelog-account { flex:1; max-width:780px; }
    .header-link-score-row { width:100%; display:flex; align-items:center; justify-content:flex-end; gap:18px; }
    .header-link-score-row .quick-links { flex:1; align-items:center; }
    .header-link-score-row .score-pill { flex:0 0 auto; }
    .forgelog-account .cloud-bar { width:min(100%,560px); margin:10px 0 0 auto; padding:9px 11px; border-radius:14px; gap:10px; }
    .forgelog-account .cloud-user { flex:1; }
    .forgelog-account .cloud-user img { width:32px; height:32px; }
    .forgelog-account .cloud-user strong { font-size:.84rem; }
    .forgelog-account .cloud-user span { font-size:.7rem; }
    .forgelog-account .cloud-actions { flex-wrap:nowrap; gap:7px; }
    .forgelog-account .cloud-actions .mini-btn { padding:7px 9px; font-size:.75rem; }
    @media(max-width:900px){
      .forgelog-header { flex-direction:column; align-items:stretch; }
      .forgelog-account { max-width:none; align-items:stretch; }
      .header-link-score-row { align-items:flex-start; }
      .header-link-score-row .quick-links { justify-content:flex-start; }
      .forgelog-account .cloud-bar { width:100%; margin-left:0; }
    }
    @media(max-width:620px){
      .header-link-score-row { flex-direction:column-reverse; gap:10px; }
      .forgelog-account .cloud-bar { align-items:flex-start; }
      .forgelog-account .cloud-actions { flex-wrap:wrap; justify-content:flex-start; }
    }

    @media(max-width:620px){.cloud-bar{align-items:flex-start;flex-direction:column}.cloud-actions{justify-content:flex-start}.leader-row{grid-template-columns:34px 1fr auto}}

    .forgelog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; padding:10px 0 4px; }
    .forgelog-brand h1 { margin:0; font-size:clamp(2.8rem,8vw,5.6rem); line-height:.92; letter-spacing:-.065em; font-weight:900; color:#fffaf7; text-shadow:0 10px 32px rgba(239,59,45,.28); }
    .forgelog-tagline { margin-top:12px; color:#ffd2c7; font-size:clamp(1rem,2.2vw,1.35rem); font-weight:700; letter-spacing:.01em; }
    .forgelog-account { display:flex; flex-direction:column; align-items:flex-end; gap:11px; padding-top:5px; }
    .quick-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 13px; max-width:520px; }
    .quick-links a { color:#ffe0d8; text-decoration:none; font-size:.82rem; font-weight:800; }
    .quick-links a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
    @media(max-width:700px){
      .forgelog-header { flex-direction:column; align-items:stretch; }
      .forgelog-account { align-items:flex-start; }
      .quick-links { justify-content:flex-start; }
    }

    h1, h2, p { margin: 0; }
    h1 { font-size: clamp(1.35rem, 3vw, 2rem); letter-spacing:-.03em; }
    .subtitle { color:var(--muted); margin-top:4px; font-size:.92rem; }
    .score-pill { padding:10px 15px; border:1px solid var(--border); border-radius:999px; background:rgba(255,255,255,.05); font-weight:800; white-space:nowrap; }
    .score-pill span { color:var(--alarm); }
    .grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:20px; }
    .card { border:1px solid var(--border); border-radius:28px; background:var(--panel); backdrop-filter:blur(18px); box-shadow:var(--shadow); }
    .timer-card { padding:clamp(22px,4vw,38px); text-align:center; position:relative; overflow:hidden; }
    .timer-card::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }
    .mode { display:inline-flex; gap:8px; align-items:center; padding:8px 13px; border-radius:999px; color:#ffe0d8; background:rgba(239,59,45,.18); border:1px solid rgba(255,138,61,.30); font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; }
    .dot { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 12px currentColor; }
    .activity-label { color:var(--muted); margin:24px 0 7px; font-size:.82rem; text-transform:uppercase; letter-spacing:.09em; }
    #activityDisplay { font-size:clamp(1.15rem,3vw,1.65rem); min-height:2em; font-weight:750; overflow-wrap:anywhere; }
    .timer { margin:20px 0 8px; font-size:clamp(4rem,13vw,7.5rem); line-height:.95; font-weight:850; letter-spacing:-.07em; font-variant-numeric:tabular-nums; }
    .session-meta { color:var(--muted); font-size:.92rem; min-height:24px; }
    .progress { height:10px; max-width:610px; margin:23px auto 27px; background:#2a0d09; border-radius:99px; overflow:hidden; border:1px solid var(--border); }
    .progress > div { height:100%; width:0%; background:linear-gradient(90deg,var(--accent),var(--accent-2)); border-radius:99px; transition:width .35s linear; }


    .sortable-th{cursor:pointer;user-select:none;white-space:nowrap}.sortable-th:hover{color:var(--text)}.sort-mark{display:inline-block;min-width:12px;margin-left:4px;color:var(--alarm)}
    .background-music-panel{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.background-music-panel h3{margin:0 0 7px}.background-music-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.background-music-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.background-music-player{position:relative;width:100%;aspect-ratio:16/9;margin-top:12px;border-radius:14px;overflow:hidden;background:#000}.background-music-player iframe{width:100%;height:100%;border:0}.background-music-placeholder{height:100%;display:grid;place-items:center;padding:20px;color:var(--muted);text-align:center}
    @media(max-width:620px){.background-music-row{grid-template-columns:1fr}.table-wrap{overflow-x:auto}}
    .top-control-row{display:grid;grid-template-columns:170px auto;align-items:center;justify-content:center;gap:14px;margin-bottom:20px}.top-control-row .btn{width:170px;min-width:170px}.top-control-row .mode{justify-self:center;min-width:132px;justify-content:center}.history-menu-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:#fff;font-size:1.25rem;line-height:1}.history-actions{position:fixed;z-index:100;min-width:210px;padding:7px;border:1px solid var(--border);border-radius:14px;background:#2a0f0c;box-shadow:var(--shadow)}.history-actions button{display:block;width:100%;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left;font-weight:800}.history-actions button:hover{background:rgba(255,255,255,.08)}.history-actions .delete-action{color:#fca5a5}.history-action-cell{width:46px;padding-right:0}.history-name-cell{min-width:190px}@media(max-width:620px){.top-control-row{grid-template-columns:minmax(0,1fr) auto;gap:7px}.top-control-row .btn{width:100%;min-width:0;padding:11px 8px;font-size:.82rem}.top-control-row .mode{min-width:105px;padding:8px 9px}.history-actions{left:12px!important;right:12px;min-width:0}}
    .controls { display:flex; flex-wrap:wrap; justify-content:center; gap:11px; }
    .btn { border:0; border-radius:15px; padding:13px 18px; color:white; font-weight:800; background:#7a2c22; transition:transform .15s, filter .15s, opacity .15s; }
    .btn:hover:not(:disabled) { transform:translateY(-2px); filter:brightness(1.12); }
    .btn:disabled { opacity:.4; cursor:not-allowed; }
    .primary { background:linear-gradient(135deg,var(--accent),#b91c1c); min-width:135px; }
    .danger { background:linear-gradient(135deg,#ef4444,#be123c); }
    .alarm-button { display:none; width:min(100%,480px); margin:24px auto 0; padding:18px 22px; color:#1f1300; border:0; border-radius:18px; background:linear-gradient(135deg,#fde68a,var(--alarm)); font-weight:900; font-size:1.06rem; box-shadow:0 0 0 0 rgba(251,191,36,.5); animation:pulse 1.2s infinite; }
    .alarm-button.show { display:block; }
    @keyframes pulse { 70% { box-shadow:0 0 0 18px rgba(251,191,36,0); } 100% { box-shadow:0 0 0 0 rgba(251,191,36,0); } }
    .side { display:grid; gap:20px; align-content:start; }
    .settings, .stats, .history { padding:22px; }
    .card h2 { font-size:1.07rem; margin-bottom:16px; }
    label { display:block; color:var(--muted); font-size:.82rem; font-weight:700; margin-bottom:7px; }
    input { width:100%; color:var(--text); background:#35110d; border:1px solid var(--border); border-radius:13px; padding:12px 13px; outline:none; }
    input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(239,59,45,.20); }
    .field { margin-bottom:14px; }
    .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
    .stat { padding:13px 8px; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.035); text-align:center; }
    .stat strong { display:block; color:#fff; font-size:1.2rem; font-variant-numeric:tabular-nums; }
    .stat span { display:block; color:var(--muted); font-size:.7rem; margin-top:3px; }
    .history { grid-column:1/-1; }
    .history-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
    .history-head h2 { margin:0; }
    .text-btn { color:var(--muted); border:0; padding:5px; background:transparent; font-weight:700; }
    .text-btn:hover { color:var(--danger); }
    .table-wrap { overflow-x:auto; }
    table { border-collapse:collapse; width:100%; min-width:610px; }
    th, td { padding:12px 10px; text-align:left; border-bottom:1px solid var(--border); }
    th { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; }
    td { font-size:.9rem; }
    .empty { color:var(--muted); text-align:center; padding:26px; }
    .tip { color:var(--muted); font-size:.78rem; line-height:1.45; margin-top:12px; }
    .toast { position:fixed; right:20px; bottom:20px; max-width:360px; padding:14px 17px; border-radius:14px; background:#f8fafc; color:#111827; box-shadow:var(--shadow); font-weight:750; transform:translateY(130%); transition:.3s; z-index:20; }
    .toast.show { transform:translateY(0); }
    @media (max-width:850px) { .grid { grid-template-columns:1fr; } .history { grid-column:auto; } }
    @media (max-width:520px) { header { align-items:flex-start; } .subtitle { display:none; } .score-pill { font-size:.83rem; } .two-col { grid-template-columns:1fr; } .timer-card { padding-left:16px; padding-right:16px; } .btn { flex:1; } }
  
select{font:inherit;width:100%;color:var(--text);background:#35110d;border:1px solid var(--border);border-radius:13px;padding:12px 13px;outline:none}select option{background:#35110d}.activity-row{display:grid;grid-template-columns:32px 1fr 38px;gap:8px;align-items:center;margin-bottom:9px}.activity-row.active input{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,92,246,.16)}.activity-number{color:var(--muted);font-weight:800;text-align:center}.icon-btn{width:38px;height:38px;border:1px solid var(--border);border-radius:12px;background:#7a2c22;color:#fff;font-weight:900}.add-activity,.preview-btn{width:100%;border:1px dashed rgba(255,138,61,.70);border-radius:13px;padding:10px;color:#ffe0d8;background:rgba(239,59,45,.12);font-weight:800}.success{background:linear-gradient(135deg,#10b981,#047857)}.extend{background:linear-gradient(135deg,#0ea5e9,#2563eb)}.points-note{color:var(--alarm);font-size:.78rem;line-height:1.45;margin-top:10px}.history-head-actions{display:flex;gap:10px;flex-wrap:wrap}

.tabs{display:flex;gap:10px;margin:0 0 20px}.tab-btn{border:1px solid var(--border);border-radius:14px;padding:11px 18px;color:var(--muted);background:rgba(255,255,255,.04);font-weight:850}.tab-btn.active{color:#fff;background:linear-gradient(135deg,var(--accent),#b91c1c);border-color:transparent}.tab-panel[hidden]{display:none}.setup-panel{padding:26px}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.setup-group{padding:20px;border:1px solid var(--border);border-radius:20px;background:rgba(255,255,255,.025)}.setup-group h2{margin-bottom:16px}.reward-feed{max-width:650px;margin:18px auto 0;text-align:left}.reward-feed-title{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.reward-items{display:grid;gap:7px}.reward-item{display:flex;justify-content:space-between;gap:14px;padding:10px 13px;border:1px solid rgba(251,191,36,.2);border-radius:12px;background:rgba(251,191,36,.07);font-size:.82rem}.reward-item strong{color:var(--alarm);white-space:nowrap}.reward-empty{color:var(--muted);padding:12px;border:1px dashed var(--border);border-radius:12px;text-align:center;font-size:.82rem}.save-note{color:var(--break);font-size:.8rem;margin-top:12px}.score-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.setup-grid,.score-fields{grid-template-columns:1fr}.tabs{position:sticky;top:0;z-index:5;padding:8px 0;background:rgba(11,16,32,.92);backdrop-filter:blur(12px)}}

.import-box{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,138,61,.07)}.import-box h3{margin:0 0 8px;font-size:.95rem}.file-input{padding:9px}.file-input::file-selector-button{border:0;border-radius:10px;padding:8px 11px;margin-right:10px;color:#fff;background:#7a2c22;font-weight:750;cursor:pointer}.import-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.mini-btn{border:1px solid var(--border);border-radius:11px;padding:9px 12px;color:#fff;background:#7a2c22;font-weight:800}.import-status{color:var(--muted);font-size:.78rem;line-height:1.45;margin-top:9px}.custom-count{color:var(--accent-2)}
.category-panel{padding:26px}.category-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1fr);gap:20px}.category-box{padding:18px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}.category-toolbar{display:flex;gap:9px;align-items:end;margin-bottom:14px}.category-toolbar .field{flex:1;margin:0}.category-tree{display:grid;gap:7px}.category-node{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:999px 14px 14px 999px;background:rgba(255,255,255,.04);transition:transform .12s,border-color .12s,background .12s}.category-node[draggable=true]{cursor:grab}.category-node.dragging{opacity:.45}.category-node.drop-target{border-color:#ffb36b;background:rgba(255,138,61,.2);transform:scale(1.01)}.category-indent{position:relative}.category-indent:before{content:'';position:absolute;left:-13px;top:-14px;bottom:50%;width:10px;border-left:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);border-radius:0 0 0 8px}.category-title{border:0!important;background:transparent!important;color:#fff!important;padding:5px 8px!important;text-align:left!important;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.category-title:hover{text-decoration:underline}.category-node-actions{display:flex;gap:5px}.category-node-actions button{padding:7px 9px}.category-empty{padding:22px;color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:13px}.analysis-list{display:grid;gap:9px;max-height:600px;overflow:auto}.analysis-item{padding:13px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.03)}.analysis-meta{color:var(--muted);font-size:.75rem;margin:4px 0 9px}.category-combobox{position:relative}.category-suggestions{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;padding:6px;border:1px solid var(--border);border-radius:12px;background:#2a0f0c;box-shadow:var(--shadow);max-height:240px;overflow:auto}.category-suggestions button{display:block;width:100%;border:0;border-radius:8px;padding:9px 10px;background:transparent;color:#fff;text-align:left}.activity-fields{display:grid;gap:6px}.activity-category-input{padding:8px 10px;font-size:.78rem;color:var(--muted)}.music-on-timer{grid-column:1/-1;padding:18px}.background-music-player[hidden]{display:none!important}@media(max-width:780px){.category-layout{grid-template-columns:1fr}}
.music-loaded > h3,.music-loaded > .tip,.music-loaded > .background-music-row,.music-loaded > .background-music-actions{display:none!important}.music-controls{display:none;align-items:center;justify-content:center;gap:7px;min-height:42px}.music-loaded > .music-controls{display:flex!important;visibility:visible!important;opacity:1!important;color:#fff!important;position:relative!important;z-index:20!important}.music-controls button{display:inline-block!important;min-width:42px;padding:7px!important;color:#fff!important;background:rgba(255,255,255,.08)!important;border:1px solid var(--border)!important;border-radius:9px!important;font-weight:900!important}.music-controls span{flex:1;color:var(--muted);font-size:.78rem}.activity-row{grid-template-columns:38px minmax(0,1fr) 38px!important;align-items:center!important}.activity-fields{display:block!important;min-width:0}.activity-category-input{display:none!important;margin-top:6px!important;width:100%}.activity-row.category-open .activity-category-input{display:block!important}.cat-toggle{width:42px;height:42px;padding:0!important;font-size:1.25rem;filter:grayscale(1);opacity:.65}.cat-toggle.active,.category-open .cat-toggle{filter:none;opacity:1;background:rgba(255,138,61,.22)!important}
.music-on-timer .music-controls{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;gap:7px;min-height:42px}.music-on-timer .music-controls button{display:inline-flex!important;visibility:visible!important;opacity:1!important}.music-on-timer:not(.has-music) .music-controls{opacity:.55!important}.music-label-marquee{min-width:0;flex:1;overflow:hidden;white-space:nowrap;color:var(--muted);font-size:.78rem}.music-label-marquee span{display:inline-block;padding-left:100%;animation:playlist-label-marquee 16s linear infinite}.music-label-marquee:hover span{animation-play-state:paused}@keyframes playlist-label-marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}.music-controls #musicVolumeDownBtn,.music-controls #musicVolumeUpBtn{min-width:42px!important}@media(max-width:620px){.music-label-marquee{max-width:130px}.music-controls #musicVolumeDownBtn,.music-controls #musicVolumeUpBtn{min-width:36px!important;padding:5px!important}}.timer-card .music-on-timer{grid-column:auto!important;width:100%;max-width:650px;margin:18px auto 0!important;padding:12px 14px!important;text-align:left}.timer-card .music-on-timer h3{display:none!important}.playlist-editor-row,.saved-playlist-row{display:grid;grid-template-columns:minmax(150px,1fr) 86px auto auto;gap:8px;align-items:end}.playlist-url-field{min-width:0}.playlist-url-field input{width:86px;transition:width .2s ease}.playlist-url-field:focus-within{position:relative;z-index:3}.playlist-url-field:focus-within input{width:min(420px,52vw)}.saved-playlists{display:grid;gap:8px;margin-top:12px}.saved-playlist-row{padding:9px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.saved-playlist-row input{min-width:0}.saved-playlist-url{width:86px!important;transition:width .2s ease!important}.saved-playlist-url:focus{width:min(420px,52vw)!important;position:relative;z-index:4}.saved-playlist-row.active{border-color:var(--accent2);background:rgba(255,138,61,.1)}@media(max-width:700px){.playlist-editor-row,.saved-playlist-row{grid-template-columns:minmax(115px,1fr) 65px auto auto}.playlist-url-field input,.saved-playlist-url{width:65px!important}.playlist-url-field:focus-within input,.saved-playlist-url:focus{width:55vw!important}}
.timer-action-row{display:grid;grid-template-columns:68px auto 68px;align-items:center;justify-content:center;gap:14px;margin-bottom:20px}.timer-icon-btn{box-sizing:border-box;width:68px;height:58px;padding:0;border:1px solid var(--border);border-radius:18px;color:#fff;font-size:1.65rem;font-weight:900;background:#7a2c22;display:grid;place-items:center;opacity:1;position:relative;z-index:1}.timer-icon-btn.primary{background:linear-gradient(135deg,var(--accent),#b91c1c)}.timer-icon-btn.success{background:linear-gradient(135deg,#10b981,#047857)}.timer-icon-btn:disabled{opacity:.45}.timer-adjust-row{display:grid;grid-template-columns:76px minmax(190px,auto) 76px;align-items:center;justify-content:center;gap:14px;margin:20px 0 8px}.timer-adjust-row .timer{margin:0}.timer-adjust-btn{box-sizing:border-box;width:76px;height:64px;padding:0;border:1px solid var(--border);border-radius:18px;color:#fff;background:var(--panel-2);font-size:1rem;font-weight:900}.timer-adjust-btn:disabled{opacity:.4}.setup-column{display:grid;gap:20px;align-content:start}.setup-column>.setup-group{height:auto}.background-music-setup .import-box{margin-top:0}.alarm-button.show{display:block!important;position:relative;z-index:5}@media(max-width:700px){.timer-action-row{grid-template-columns:60px auto 60px;gap:9px}.timer-icon-btn{width:60px;height:54px}.timer-adjust-row{grid-template-columns:58px minmax(0,1fr) 58px;gap:7px}.timer-adjust-btn{width:58px;height:54px;font-size:.88rem}.timer-adjust-row .timer{font-size:clamp(3.4rem,18vw,6rem)}.setup-column{display:contents}}

/* Final compact timer controls */
.timer-action-row{display:grid!important;grid-template-columns:58px minmax(112px,auto) 58px!important;align-items:center!important;justify-content:center!important;gap:12px!important;margin-bottom:20px!important}.timer-action-row .timer-icon-btn{box-sizing:border-box!important;display:grid!important;place-items:center!important;width:58px!important;min-width:58px!important;max-width:58px!important;height:54px!important;min-height:54px!important;padding:0!important;margin:0!important;border-radius:16px!important;overflow:hidden!important;line-height:1!important;position:relative!important;inset:auto!important;transform:none!important}.timer-action-row .mode{min-width:112px!important;max-width:150px!important;margin:0!important;position:relative!important;z-index:2!important}.play-pause-icon{display:block;position:relative;width:22px;height:24px}.play-pause-icon.play:before{content:"";position:absolute;left:5px;top:2px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:17px solid currentColor}.play-pause-icon.pause:before,.play-pause-icon.pause:after{content:"";position:absolute;top:2px;width:6px;height:20px;border-radius:2px;background:currentColor}.play-pause-icon.pause:before{left:3px}.play-pause-icon.pause:after{right:3px}.timer-adjust-row{grid-template-columns:94px minmax(190px,auto) 94px!important;gap:12px!important}.timer-adjust-btn{position:relative!important;width:94px!important;min-width:94px!important;height:82px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;display:grid!important;place-items:center!important;color:#fff!important;filter:drop-shadow(0 4px 7px rgba(0,0,0,.24))}.timer-adjust-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#9b2c24,#6f1d18);clip-path:polygon(0 50%,100% 0,100% 100%);z-index:0}.timer-adjust-btn.add:before{clip-path:polygon(0 0,100% 50%,0 100%)}.timer-adjust-btn .adjust-value{position:relative;z-index:1;font-size:1.08rem;font-weight:950;letter-spacing:.02em}.timer-adjust-btn.subtract .adjust-value{transform:translateX(12px)}.timer-adjust-btn.add .adjust-value{transform:translateX(-12px)}.timer-adjust-btn:hover:not(:disabled):before{background:linear-gradient(135deg,var(--accent),#991b1b)}.timer-adjust-btn:disabled{opacity:.38!important}@media(max-width:700px){.timer-action-row{grid-template-columns:54px minmax(104px,auto) 54px!important;gap:8px!important}.timer-action-row .timer-icon-btn{width:54px!important;min-width:54px!important;max-width:54px!important;height:50px!important;min-height:50px!important}.timer-action-row .mode{min-width:104px!important;max-width:130px!important}.timer-adjust-row{grid-template-columns:70px minmax(0,1fr) 70px!important;gap:5px!important}.timer-adjust-btn{width:70px!important;min-width:70px!important;height:64px!important}.timer-adjust-btn .adjust-value{font-size:.92rem}.timer-adjust-btn.subtract .adjust-value{transform:translateX(9px)}.timer-adjust-btn.add .adjust-value{transform:translateX(-9px)}}

/* ForgeLog activity menu anchor fix.
   Keep each menu attached to its own dots button instead of using viewport coordinates. */
.card.settings,
#activityList,
.activity-row {
  overflow: visible !important;
}

.card.settings {
  position: relative !important;
  z-index: 20 !important;
}

.activity-row {
  position: relative !important;
  z-index: 1 !important;
}

.activity-row:has(.activity-actions:not([hidden])) {
  z-index: 10001 !important;
}

.activity-actions,
.activity-actions[style] {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
  bottom: auto !important;
  z-index: 10002 !important;
  width: max-content !important;
  min-width: 220px !important;
  max-width: min(280px, calc(100vw - 24px)) !important;
  max-height: min(360px, calc(100vh - 24px)) !important;
  margin: 0 !important;
  padding: 7px !important;
  overflow: auto !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  background: #2a0f0c !important;
  color: #fff !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.55) !important;
  transform: none !important;
}

.activity-actions[hidden] {
  display: none !important;
}

.activity-actions button {
  display: block !important;
  width: 100% !important;
  color: #fff !important;
  background: transparent !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.activity-actions button:hover,
.activity-actions button:focus-visible {
  background: rgba(255,255,255,.10) !important;
}

@media (max-width: 620px) {
  .activity-actions,
  .activity-actions[style] {
    position: absolute !important;
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    width: max-content !important;
    min-width: 210px !important;
  }
}

.toast{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(calc(100% + 48px))!important}.toast.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}


/* Export/archive dropdown only. Activity queue styles above are intentionally unchanged. */
.export-menu-wrap{position:relative;display:inline-flex}.export-actions{position:absolute;right:0;top:calc(100% + 7px);z-index:10020;min-width:260px;padding:7px;border:1px solid var(--border);border-radius:14px;background:#2a0f0c;box-shadow:0 18px 48px rgba(0,0,0,.55)}.export-actions[hidden]{display:none!important}.export-actions button{display:block;width:100%;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left;font-weight:800;white-space:nowrap}.export-actions button:hover,.export-actions button:focus-visible{background:rgba(255,255,255,.10)}@media(max-width:620px){.export-actions{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0}.export-actions button{white-space:normal}}

/* Queue-tab drop targets and safe local-to-cloud transfer prompt */
.queue-tab.drop-target{outline:3px solid var(--alarm);outline-offset:2px;background:rgba(255,200,87,.22)}
.transfer-backdrop{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.transfer-backdrop[hidden]{display:none!important}.transfer-dialog{width:min(520px,100%);padding:26px;border:1px solid var(--border);border-radius:24px;background:#2a0f0c;box-shadow:var(--shadow)}.transfer-dialog h2{margin:0 0 10px}.transfer-dialog p{line-height:1.5}.transfer-summary{margin:18px 0;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.05);color:var(--alarm);font-weight:850}.transfer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.transfer-actions .mini-btn{min-height:48px}.transfer-primary{background:linear-gradient(135deg,var(--accent),#b91c1c)!important}@media(max-width:520px){.transfer-actions{grid-template-columns:1fr}}

/* Desktop header compaction: place primary tabs in the unused upper-right area. */
@media (min-width: 901px) {
  .app {
    position: relative;
  }

  .compact-header {
    width: max-content;
    max-width: 52%;
    min-height: 112px;
    margin-bottom: 18px;
  }

  .tabs {
    position: absolute;
    top: 32px;
    right: 0;
    z-index: 20;
    max-width: 48%;
    margin: 0;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
}
