@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800;900&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@500;700&display=swap";:root{--gold:#c9a86b;--gold-bright:#ecd49b;--gold-deep:#9c7c3e;--ink:#ece1c9;--ink-soft:#bcae90;--ink-faint:#8a7c61;--safe:#82b06a;--danger:#c2545a;--serif:"Cinzel", serif}*{box-sizing:border-box}html,body{min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(120% 78% at 50% -8%,#2a221a 0%,#16110c 58%,#0e0a07 100%) fixed;margin:0;font-family:EB Garamond,Georgia,serif}body:before{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;position:relative}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.eyebrow{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c9a86b2e;border-radius:3px}.tabrow{background:#00000040;border:1px solid #c9a86b2e;border-radius:12px;gap:4px;margin-top:20px;padding:5px;display:flex}.tab{cursor:pointer;font-family:var(--serif);letter-spacing:.05em;color:var(--ink-faint);background:0 0;border:none;border-radius:8px;flex:1;padding:9px 16px;font-size:13px;font-weight:600;transition:all .16s}.tab:hover{color:var(--ink-soft)}.tab-active{color:var(--gold-bright);background:#ecd49b1a;box-shadow:inset 0 0 0 1px #ecd49b33}.icon-btn{cursor:pointer;background:#00000040;border:1px solid #c9a86b40;border-radius:9px;width:36px;height:36px;font-size:15px;transition:all .15s}.icon-btn:hover{background:#ecd49b0f;border-color:#ecd49b80}.ghost-btn{color:var(--ink-soft);font-family:var(--serif);letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #c9a86b4d;border-radius:8px;padding:7px 13px;font-size:11px;transition:all .15s}.ghost-btn:hover{color:var(--gold-bright);border-color:#ecd49b80}.levelup-btn{color:var(--gold-bright);font-family:var(--serif);letter-spacing:.08em;cursor:pointer;background:#ecd49b1f;border:1px solid #ecd49b80;border-radius:10px;flex-shrink:0;padding:9px 18px;font-size:12px;font-weight:700;transition:all .15s}.levelup-btn:hover{background:#ecd49b33}.reset-link{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;font-family:JetBrains Mono,monospace;font-size:11px}.reset-link:hover{color:var(--danger)}.back-link{color:var(--ink-faint);font-family:var(--serif);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;margin-bottom:18px;padding:0;font-size:13px}.back-link:hover{color:var(--gold-bright)}.reward-chip{cursor:pointer;background:#0000004d;border:1px solid #c9a86b4d;border-radius:100px;align-items:center;gap:7px;padding:7px 13px;font-family:EB Garamond,serif;font-size:12.5px;transition:all .15s;display:inline-flex}.reward-chip:hover{background:#ecd49b14;transform:translateY(-1px)}.chk{box-sizing:border-box;cursor:pointer;color:inherit;font:inherit;background:#00000040;border:1px solid #c9a86b66;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .18s;display:inline-flex}.chk:hover{border-color:#ecd49bb3;transform:scale(1.1)}.chk-done{border-color:var(--gold-bright);background:radial-gradient(circle at 40% 30%,#f2dca6,#9c7c3e)}.chk-habit{border-color:var(--gold-bright);background:linear-gradient(135deg,#d6b25e,#9c7c3e)}.quest-tile{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;height:100%;padding:0;transition:transform .18s;display:block}.quest-tile:hover{transform:translateY(-3px)}.task-row{border-radius:8px;align-items:flex-start;gap:11px;padding:6px 8px;transition:background .15s;display:flex}.task-row:hover{background:#ecd49b08}.habit-row{border-radius:10px;align-items:center;gap:12px;padding:9px 8px;transition:background .15s;display:flex}.habit-row:hover{background:#ecd49b08}.pill{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);background:#0000004d;border:1px solid #c9a86b33;border-radius:100px;padding:2px 8px;font-size:9px}.seq-num{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;display:flex}.skill-tile{cursor:pointer;text-align:left;background:linear-gradient(160deg,#221b13 0%,#18120c 80%);border:1px solid #c9a86b29;border-radius:10px;width:100%;padding:13px;transition:all .15s;box-shadow:inset 0 1px #ecd49b0a}.skill-tile:hover{border-color:#ecd49b59;transform:translateY(-2px)}.skill-icon{background:#0000004d;border:1px solid #c9a86b4d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.skill-icon-done{background:linear-gradient(135deg,#d6b25e,#9c7c3e);border-color:#0000}.dtask-row{border-radius:8px;align-items:flex-start;gap:11px;padding:7px 8px;transition:background .15s;display:flex}.dtask-row:hover{background:#ecd49b08}.tag{border-radius:100px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:9px;display:inline-block}.tag-wait{color:#ecd49bd9;background:#d6b25e29}.tag-roll{color:#c9a86bb3;background:#d6b25e14}.row-act{opacity:0;cursor:pointer;color:var(--ink-faint);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:12px;transition:opacity .15s,color .15s}.dtask-row:hover .row-act{opacity:1}.row-act:hover{color:var(--gold-bright)}.row-act-del:hover{color:var(--danger)}.tome-input{color:var(--ink);background:#0000004d;border:1px solid #c9a86b33;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:EB Garamond,serif;font-size:14px;transition:border-color .15s}.tome-input::placeholder{color:var(--ink-faint)}.tome-input:focus{border-color:#ecd49b73}@keyframes xpDrop{0%{opacity:0;transform:translateY(8px)scale(.9)}12%{opacity:1;transform:translateY(0)scale(1)}70%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(-38px)}}.xp-drop{white-space:nowrap;color:#ffe48a;text-shadow:0 0 8px #ffe48a99,0 1px 2px #000;font-size:13px;font-weight:700;animation:1.5s forwards xpDrop;position:absolute;right:0}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pop-in{animation:.24s cubic-bezier(.34,1.56,.64,1) popIn}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080604db;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes levelBurst{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.level-modal{background:radial-gradient(circle at 50% 30%,#2e2417 0%,#1a130c 70%,#120d08 100%);border:1px solid #ecd49b52;border-radius:14px;animation:.46s cubic-bezier(.34,1.56,.64,1) levelBurst;overflow:hidden;box-shadow:0 0 80px -10px #ecd49b66,inset 0 0 0 4px #0000004d}.rays{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}@keyframes rayPulse{0%{opacity:.25}to{opacity:.6}}.ray{transform-origin:50% 0;background:linear-gradient(#ecd49b80,#0000 70%);width:3px;height:220px;margin-left:-1.5px;animation:2.4s ease-in-out infinite alternate rayPulse;position:absolute;top:50%;left:50%}.num-edit,.text-edit{cursor:text;background:0 0;border:none;border-bottom:1px dashed #0000;border-radius:5px;margin:-1px -3px;padding:1px 3px;transition:background .12s}.num-edit:hover,.text-edit:hover{background:#ecd49b14;border-bottom-color:#ecd49b66}.num-input{font-variant-numeric:tabular-nums}.day-cell{cursor:pointer;border:1px solid;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:9px 0;transition:all .15s;display:flex}.day-cell:hover{transform:translateY(-2px)}.energy-dot{cursor:pointer;border:1px solid;border-radius:50%;width:44px;height:44px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700;transition:all .15s}.energy-dot:hover{transform:scale(1.08)}.skill-row-tap:hover{transform:translateY(-2px);border-color:#ecd49b59!important}
