:root{--space-0: #06060f;--space-1: #090a16;--space-2: #0d0f1f;--panel: rgba(18, 21, 40, .72);--panel-solid: #101327;--line: rgba(140, 170, 255, .16);--line-strong: rgba(150, 200, 255, .34);--ink: #e8ecff;--ink-dim: #aab0d6;--ink-faint: #6f7699;--system: #6ef0e0;--system-deep: #2bd6c4;--violet: #b39cff;--gold: #ffd66e;--gold-deep: #f4b740;--growth: #b39cff;--body: #ff9d8a;--bond: #6fe0d4;--sanctuary: #8fd3ff;--wonder: #ffd66e;--danger: #ff7a8a;--pixel: "Press Start 2P", monospace;--mono: "Space Mono", "Courier New", monospace;--radius: 2px;--maxw: 1180px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--mono);color:var(--ink);background:radial-gradient(1200px 700px at 78% -8%,rgba(110,240,224,.08),transparent 60%),radial-gradient(900px 600px at 12% 108%,rgba(179,156,255,.09),transparent 60%),linear-gradient(180deg,var(--space-1) 0%,var(--space-0) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;image-rendering:pixelated;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9000;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000000d,#0000 4px);mix-blend-mode:overlay;opacity:.5}h1,h2,h3,h4{font-family:var(--pixel);font-weight:400;letter-spacing:.02em;margin:0}button{font-family:var(--mono);cursor:pointer;color:inherit}a{color:var(--system)}::selection{background:#6ef0e04d;color:#fff}.eyebrow{font-family:var(--pixel);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}.panel{position:relative;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px))}.pixel-btn{font-family:var(--pixel);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#6ef0e00f;border:1px solid var(--line-strong);padding:11px 14px;transition:background .14s,box-shadow .14s,color .14s,transform .05s;clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}.pixel-btn:hover{background:#6ef0e024;box-shadow:0 0 0 1px #6ef0e040,0 0 18px #6ef0e02e;color:#fff}.pixel-btn:active{transform:translateY(1px)}.pixel-btn--primary{background:var(--system);color:#04141a;border-color:var(--system);font-weight:700}.pixel-btn--primary:hover{background:#8df7e9;color:#04141a}.pixel-btn--ghost{background:transparent;border-color:var(--line);color:var(--ink-dim)}.pixel-btn:disabled{opacity:.4;cursor:not-allowed}.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--pixel);font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 7px;border:1px solid currentColor;color:var(--ink-dim)}.blink{animation:blink 1.05s steps(2,start) infinite}@keyframes blink{to{opacity:0}}.app{position:relative;z-index:1;min-height:100%;max-width:var(--maxw);margin:0 auto;padding:26px clamp(14px,4vw,40px) 80px}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.starfield i{position:absolute;width:2px;height:2px;background:#fff;opacity:.5;animation:twinkle var(--dur, 4s) ease-in-out infinite;animation-delay:var(--delay, 0s)}@keyframes twinkle{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.9;transform:scale(1.4)}}.hud{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px}.hud__brand{display:flex;flex-direction:column;gap:8px}.hud__title{font-size:clamp(18px,3.4vw,26px);color:var(--ink);text-shadow:0 0 18px rgba(110,240,224,.25)}.hud__title b{color:var(--system);font-weight:400}.hud__sub{font-size:12px;color:var(--ink-dim);letter-spacing:.04em}.hud__meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.bookbtn{display:inline-flex;align-items:center;gap:9px;padding:0 14px;align-self:stretch;background:#ffd66e0f;border:1px solid var(--line-strong);color:var(--gold);font-family:var(--pixel);font-size:8px;letter-spacing:.1em;transition:background .14s,box-shadow .14s,transform .05s;clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}.bookbtn:hover{background:#ffd66e24;box-shadow:0 0 0 1px #ffd66e4d,0 0 18px #ffd66e2e}.bookbtn:active{transform:translateY(1px)}.levelchip{display:flex;align-items:center;gap:12px;padding:10px 14px}.levelchip__lv{font-family:var(--pixel);font-size:8px;color:var(--gold);letter-spacing:.12em}.levelchip__num{font-family:var(--pixel);font-size:20px;color:var(--ink);line-height:1}.xpbar{width:150px;height:10px;background:#ffffff0f;border:1px solid var(--line);position:relative;overflow:hidden}.xpbar__fill{height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold));box-shadow:0 0 10px #ffd66e80;transition:width .5s cubic-bezier(.22,1,.36,1);image-rendering:pixelated}.xpbar__label{font-size:10px;color:var(--ink-faint);margin-top:4px;letter-spacing:.05em}.band{display:grid;grid-template-columns:minmax(260px,1fr) 1.6fr;gap:16px;margin-bottom:22px}@media (max-width: 760px){.band{grid-template-columns:1fr}}.pip-panel{display:flex;gap:16px;align-items:center;padding:18px}.pip-stage{width:92px;height:92px;flex:0 0 auto;display:grid;place-items:center;position:relative}.pip-stage svg{position:relative;z-index:1}.pip-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;filter:blur(14px);opacity:.7;animation:pulse 3.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(.86);opacity:.45}50%{transform:scale(1.08);opacity:.8}}.pip-float{animation:float 4.2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.pip-copy__name{font-family:var(--pixel);font-size:9px;letter-spacing:.12em;color:var(--gold)}.pip-copy__mood{font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.16em;margin:5px 0 8px}.pip-copy__line{font-size:12.5px;line-height:1.5;color:var(--ink-dim)}.happy{padding:16px 18px}.happy__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.happy__index{font-family:var(--pixel);font-size:16px;color:var(--system)}.happy__index small{font-size:9px;color:var(--ink-faint)}.bars{display:flex;flex-direction:column;gap:9px}.bar{display:grid;grid-template-columns:100px 1fr 26px;align-items:center;gap:10px}.picon{flex:0 0 auto}.bar__name{display:inline-flex;align-items:center;gap:6px;font-family:var(--pixel);font-size:7.5px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.bar__track{height:12px;background:#ffffff0d;border:1px solid var(--line);position:relative;overflow:hidden}.bar__fill{height:100%;image-rendering:pixelated;transition:width .6s cubic-bezier(.22,1,.36,1);background-image:linear-gradient(90deg,currentColor 0 70%,transparent 70%);background-size:10px 100%}.bar__val{font-size:11px;color:var(--ink-dim);text-align:right}.board{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 880px){.board{grid-template-columns:1fr}}.column__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.column__title{font-size:12px;letter-spacing:.06em;display:flex;align-items:center;gap:9px}.column__title small{display:block;font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.02em;margin-top:5px}.column__count{font-family:var(--pixel);font-size:8px;color:var(--ink-faint)}.questlist{display:flex;flex-direction:column;gap:10px}.qcard{position:relative;display:flex;gap:12px;align-items:flex-start;padding:13px 14px 13px 13px;background:#0d1021a8;border:1px solid var(--line);border-left:3px solid var(--cat, var(--system));transition:transform .12s,border-color .18s,box-shadow .18s,opacity .3s;animation:cardIn .4s cubic-bezier(.22,1,.36,1) both}.qcard:hover{transform:translate(2px);box-shadow:-4px 0 0 -1px var(--cat),0 0 22px #0000004d}.qcard--done{opacity:.5}.qcard--done .qcard__title{text-decoration:line-through;text-decoration-color:var(--ink-faint)}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qcheck{flex:0 0 auto;width:22px;height:22px;margin-top:1px;display:grid;place-items:center;background:transparent;border:1px solid var(--line-strong);color:var(--cat, var(--system));transition:background .14s,box-shadow .14s}.qcheck:hover{box-shadow:0 0 0 1px var(--cat),0 0 12px -2px var(--cat)}.qcheck--on{background:var(--cat, var(--system));color:#06121a}.qcheck--pending{border-style:dashed;border-color:var(--violet);color:var(--violet);cursor:default}.qcheck--pending:hover{box-shadow:none}.qcard--drafted{border-style:dashed;border-left-style:solid;border-left-color:var(--violet);opacity:.74}.qcard--drafted .qcard__title{color:var(--ink-dim)}.qcard__body{flex:1;min-width:0}.qcard__title{font-size:13.5px;line-height:1.45;color:var(--ink);letter-spacing:.01em}.qcard__detail{font-size:11.5px;color:var(--ink-faint);margin-top:5px;line-height:1.45;font-style:italic}.qcard__meta{display:flex;align-items:center;gap:8px;margin-top:9px}.qcard__cat{display:inline-flex;align-items:center;gap:5px;font-family:var(--pixel);font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--cat)}.qcard__exp{font-family:var(--pixel);font-size:7.5px;color:var(--gold);letter-spacing:.06em}.qcard__del{position:absolute;top:8px;right:8px;width:18px;height:18px;display:grid;place-items:center;background:transparent;border:none;color:var(--ink-faint);opacity:0;transition:opacity .14s,color .14s}.qcard:hover .qcard__del{opacity:1}.qcard__del:hover{color:var(--danger)}.qcard__pending{font-family:var(--pixel);font-size:6.5px;letter-spacing:.12em;color:var(--violet);border:1px solid currentColor;padding:3px 5px}.empty{padding:26px 18px;text-align:center;color:var(--ink-faint);font-size:12px;line-height:1.6;border:1px dashed var(--line)}.col-divider{display:flex;align-items:center;gap:10px;margin:6px 0 2px;color:var(--violet)}.col-divider:before,.col-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(179,156,255,.4),transparent)}.col-divider span{font-family:var(--pixel);font-size:7px;letter-spacing:.12em;white-space:nowrap}.add{padding:16px 16px 14px;margin-top:12px}.add__row{display:flex;gap:8px;margin-bottom:10px}.field{width:100%;background:#00000059;border:1px solid var(--line);color:var(--ink);font-family:var(--mono);font-size:13px;padding:11px 12px;outline:none;transition:border-color .14s,box-shadow .14s}.field::placeholder{color:var(--ink-faint)}.field:focus{border-color:var(--system-deep);box-shadow:0 0 0 1px #6ef0e040}textarea.field{resize:vertical;min-height:38px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-family:var(--pixel);font-size:7.5px;letter-spacing:.06em;text-transform:uppercase;padding:8px 9px;background:transparent;border:1px solid var(--line);color:var(--ink-dim);transition:all .14s}.chip:hover{border-color:var(--c, var(--system));color:var(--ink)}.chip--on{background:color-mix(in srgb,var(--c, var(--system)) 18%,transparent);border-color:var(--c, var(--system));color:#fff;box-shadow:0 0 12px -3px var(--c, var(--system))}.add__label{font-family:var(--pixel);font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:4px 0 7px}.add__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 40%,#080c1cdb,#04050cf2);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .4s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:min(560px,96vw);max-height:90vh;overflow:auto;padding:26px 26px 24px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:0 0 0 1px #6ef0e01f,0 30px 80px -20px #000c,0 0 60px -10px #6ef0e033;animation:modalIn .5s cubic-bezier(.22,1,.36,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal__system{display:flex;align-items:center;gap:9px;font-family:var(--pixel);font-size:8px;letter-spacing:.2em;color:var(--system);text-transform:uppercase;margin-bottom:16px}.modal__system:before{content:"";width:7px;height:7px;background:var(--system);box-shadow:0 0 10px var(--system);animation:blink 1.2s steps(2) infinite}.modal__title{font-size:15px;line-height:1.5;color:var(--ink);margin-bottom:10px}.modal__lead{font-size:13px;line-height:1.6;color:var(--ink-dim);margin-bottom:18px}.modal__pip{display:flex;justify-content:center;margin:6px 0 18px}.assign-list{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.assign-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line);border-left:3px solid var(--cat, var(--system));background:#0d102199;animation:stampIn .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes stampIn{0%{opacity:0;transform:scale(1.18);filter:brightness(2)}60%{opacity:1}to{opacity:1;transform:scale(1);filter:brightness(1)}}.assign-item__t{flex:1;font-size:13px;color:var(--ink)}.daybreak-tag{flex:0 0 auto;font-family:var(--pixel);font-size:6.5px;letter-spacing:.12em;padding:4px 5px;border:1px solid currentColor}.modal__actions{display:flex;gap:10px;justify-content:flex-end}.recap-stats{display:flex;gap:10px;margin-bottom:18px}.recap-stat{flex:1;padding:14px 10px;text-align:center;border:1px solid var(--line);background:#0d10218c}.recap-stat__num{font-family:var(--pixel);font-size:18px;color:var(--system);line-height:1}.recap-stat__num--gold{color:var(--gold)}.recap-stat__label{font-family:var(--pixel);font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:10px}.recap-realms{display:flex;gap:7px;align-items:center;justify-content:center;min-height:18px}.recap-encourage{font-size:13px;line-height:1.6;color:var(--ink-dim);border-left:2px solid var(--gold);padding-left:12px;margin:0 0 22px}.onboard__field{margin:16px 0 22px}.foot{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--ink-faint);letter-spacing:.04em}.foot button{background:none;border:none;color:var(--ink-faint);font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}.foot button:hover{color:var(--system)}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--panel-solid);border:1px solid var(--gold-deep);box-shadow:0 0 30px -6px var(--gold-deep);animation:toastIn .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.toast__lv{font-family:var(--pixel);font-size:11px;color:var(--gold)}.toast__sub{font-size:11px;color:var(--ink-dim)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.qbook{width:min(640px,96vw);max-height:88vh;display:flex;flex-direction:column;padding:22px 22px 18px}.qbook__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line)}.qbook__brand{display:flex;align-items:center;gap:12px}.qbook__title{font-family:var(--pixel);font-size:13px;letter-spacing:.06em;color:var(--gold)}.qbook__sub{font-size:11px;color:var(--ink-faint);margin-top:6px;letter-spacing:.03em}.qbook__close{background:transparent;border:1px solid var(--line);color:var(--ink-dim);padding:8px;display:grid;place-items:center;transition:color .14s,border-color .14s}.qbook__close:hover{color:var(--danger);border-color:var(--danger)}.qbook__page{position:relative;border:1px solid var(--line);border-left:3px solid var(--gold-deep);background:repeating-linear-gradient(transparent,transparent 27px,rgba(140,170,255,.07) 27px,rgba(140,170,255,.07) 28px),#0d102180;padding:12px 14px}.qbook__stamp{font-family:var(--pixel);font-size:8px;letter-spacing:.1em;color:var(--system);margin-bottom:10px}.qbook__compose{margin-bottom:18px}.qbook__field{width:100%;background:transparent;border:none;outline:none;resize:vertical;min-height:76px;color:var(--ink);font-family:var(--mono);font-size:14px;line-height:28px}.qbook__field::placeholder{color:var(--ink-faint)}.qbook__compose-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.qbook__hint{font-size:10px;color:var(--ink-faint);letter-spacing:.04em}.qbook__body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px;margin-right:-4px}.qbook__head-right{display:flex;align-items:center;gap:10px}.qbook__toggle{display:flex;border:1px solid var(--line)}.qbook__tab{background:transparent;border:none;color:var(--ink-faint);font-family:var(--pixel);font-size:7.5px;letter-spacing:.1em;padding:9px 11px;transition:background .14s,color .14s}.qbook__tab--on{background:#6ef0e024;color:var(--system)}.qbook__more{text-align:center;font-size:10.5px;color:var(--ink-faint);letter-spacing:.03em;padding:8px 6px 2px}.qcal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.qcal__month{font-family:var(--pixel);font-size:10px;letter-spacing:.08em;color:var(--gold)}.qcal__nav{background:transparent;border:1px solid var(--line);color:var(--ink-dim);font-family:var(--pixel);font-size:9px;padding:6px 12px;transition:color .14s,border-color .14s}.qcal__nav:hover{color:var(--system);border-color:var(--system-deep)}.qcal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.qcal__dow{text-align:center;font-family:var(--pixel);font-size:7px;letter-spacing:.06em;color:var(--ink-faint);padding-bottom:4px}.qcal__cell{position:relative;min-height:40px;display:grid;place-items:center;background:#ffffff08;border:1px solid var(--line);color:var(--ink-dim);font-family:var(--mono);font-size:12px;transition:background .14s,color .14s,box-shadow .14s}.qcal__cell--empty{background:transparent;border-color:transparent}.qcal__cell--has{color:var(--ink);cursor:pointer}.qcal__cell:not(.qcal__cell--empty):hover{background:#6ef0e014;color:#fff}.qcal__cell--today{border-color:var(--line-strong)}.qcal__cell--sel{background:#6ef0e029;color:#fff;box-shadow:0 0 0 1px var(--system-deep)}.qcal__dot{position:absolute;bottom:4px;width:4px;height:4px;background:var(--gold);box-shadow:0 0 6px var(--gold)}.qcal__day{display:flex;flex-direction:column;gap:12px}.qcal__day-stamp{font-family:var(--pixel);font-size:8px;letter-spacing:.12em;color:var(--system);padding-top:4px;border-top:1px solid var(--line)}.qbook__entry{animation:cardIn .35s cubic-bezier(.22,1,.36,1) both}.qbook__text{margin:0;font-size:14px;line-height:28px;color:var(--ink-dim);white-space:pre-wrap;word-break:break-word}.qbook__del{position:absolute;top:10px;right:10px;width:18px;height:18px;display:grid;place-items:center;background:transparent;border:none;color:var(--ink-faint);opacity:0;transition:opacity .14s,color .14s}.qbook__page:hover .qbook__del{opacity:1}.qbook__del:hover{color:var(--danger)}.qbook__empty{padding:30px 18px;text-align:center;color:var(--ink-faint);font-size:12px;line-height:1.7;border:1px dashed var(--line)}html{cursor:url(/cursor.svg) 1 1,auto}a,button,[role=button],select,summary{cursor:url(/cursor-gold.svg) 1 1,pointer}input,textarea,.field,.qbook__field,[contenteditable=true]{cursor:text}button:disabled{cursor:url(/cursor.svg) 1 1,not-allowed}
