:root{--void:#080b14;--deep:#0d1220;--panel:#141b2d;--panel-2:#1b2438;--edge:#26314a;--edge-2:#1b2334;--ink:#ecf0fa;--dim:#8b98b5;--faint:#5d6884;--gold:#e9b85c;--gold-2:#f6d89a;--gold-deep:#8a6522;--gold-glow:#e9b85c38;--jade:#54d6a8;--ember:#e8705a;--violet:#8b7bd8;--azure:#5aa9e6;--rose:#e2799e;--r:16px}*{box-sizing:border-box}html{background:var(--void)}body{background:var(--void);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans Thai,Noto Sans Thai,system-ui,sans-serif;font-size:15px;line-height:1.55;overflow-x:hidden}.d{font-family:Bai Jamjuree,system-ui,sans-serif}.n{font-variant-numeric:tabular-nums;font-family:Bai Jamjuree,system-ui,sans-serif}button{color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.app{background:radial-gradient(120% 58% at 50% -8%,#17203a 0,transparent 62%),var(--void);max-width:452px;min-height:100vh;margin:0 auto;padding-bottom:98px;position:relative;overflow:hidden}.hud{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#080b14f7 74%,#080b1400);padding:13px 15px 12px;position:sticky;top:0}.hudrow{align-items:center;gap:12px;display:flex}.orb{cursor:pointer;background:0 0;border:none;flex:none;width:62px;height:62px;padding:0;position:relative}.orb .lv{background:var(--gold);color:#1a1204;white-space:nowrap;box-shadow:0 0 12px var(--gold-glow);border-radius:99px;padding:1px 7px;font-family:Bai Jamjuree,sans-serif;font-size:9px;font-weight:700;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.who{flex:1;min-width:0}.who .nm{font-size:16.5px;font-weight:700;line-height:1.2}.who .cls{color:var(--gold);letter-spacing:.09em;text-transform:uppercase;font-size:10.5px;font-weight:600}.who .day{color:var(--dim);margin-top:3px;font-size:11.5px}.dial{flex:none;width:64px;height:64px;position:relative}.dial .ctr{text-align:center;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.dial .tt{font-variant-numeric:tabular-nums;font-family:Bai Jamjuree,sans-serif;font-size:14.5px;font-weight:700;line-height:1}.dial .pp{color:var(--dim);letter-spacing:.09em;text-transform:uppercase;margin-top:2px;font-size:8.5px}main{padding:2px 15px 0}.sechead{align-items:baseline;gap:9px;margin:19px 0 10px;display:flex}.sechead:first-child{margin-top:5px}.sechead h2{margin:0;font-family:Bai Jamjuree,sans-serif;font-size:15px;font-weight:700}.sechead .c{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.rule{background:linear-gradient(90deg,var(--gold-deep),transparent 70%);opacity:.6;height:1px;margin-bottom:11px}.card{background:linear-gradient(180deg,var(--panel),var(--deep));border:1px solid var(--edge);border-radius:var(--r);margin-bottom:10px;padding:15px}.card h3{margin:0 0 2px;font-family:Bai Jamjuree,sans-serif;font-size:14px;font-weight:700}.card .hint{color:var(--dim);margin:0 0 12px;font-size:12px}.gauge{background:var(--panel-2);border:1px solid var(--edge);border-radius:99px;height:8px;overflow:hidden}.gauge i{border-radius:99px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.grow{align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.grow .big{font-variant-numeric:tabular-nums;font-family:Bai Jamjuree,sans-serif;font-size:26px;font-weight:700;line-height:1}.grow .of{color:var(--faint);font-size:12.5px}.grow .lab{color:var(--dim);letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:10.5px;font-weight:600}.empty{text-align:center;color:var(--faint);padding:24px 16px;font-size:13px;line-height:1.7}.empty .ic{opacity:.5;margin-bottom:7px;font-size:25px;display:block}.items{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.item{background:var(--panel-2);border:1px solid var(--edge);text-align:center;border-radius:12px;padding:11px 8px}.item .ic{font-size:19px}.item .nm2{color:var(--dim);margin-top:4px;font-size:10.5px;line-height:1.3}.seg{background:var(--panel-2);border:1px solid var(--edge);border-radius:11px;gap:5px;margin-bottom:12px;padding:4px;display:flex}.seg button{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 0;font-size:13px;font-weight:600}.seg button[aria-pressed=true]{background:var(--gold);color:#1a1204}.foot{color:var(--faint);text-align:center;padding:18px 20px 4px;font-size:11.5px;line-height:1.7}[hidden]{display:none!important}.nowq{border:1px solid var(--gold-deep);background:linear-gradient(155deg,#25304c,#111828);border-radius:18px;margin-bottom:12px;padding:16px;position:relative;overflow:hidden;box-shadow:0 12px 34px -18px #e9b85ca6}.nowq:after{content:"";background:radial-gradient(circle,var(--gold-glow),transparent 68%);border-radius:50%;width:120px;height:120px;position:absolute;top:-38px;right:-38px}.nowq .lbl{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:700}.nowq .t{margin-top:5px;font-family:Bai Jamjuree,sans-serif;font-size:19px;font-weight:700;line-height:1.25}.nowq .meta{color:var(--dim);flex-wrap:wrap;align-items:center;gap:9px;margin-top:7px;font-size:12px;display:flex}.nowq .left{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Bai Jamjuree,sans-serif;font-weight:700}.nowq .btns{z-index:1;gap:8px;margin-top:13px;display:flex;position:relative}.nowq .btns button{border:1px solid var(--edge);cursor:pointer;background:#0a0e188c;border-radius:11px;flex:1;padding:11px;font-size:13.5px;font-weight:600}.nowq .btns .ok{background:linear-gradient(160deg,var(--gold),var(--gold-deep));color:#1a1204;border-color:#0000}.skills{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sk{background:linear-gradient(180deg,var(--panel),var(--deep));border:1px solid var(--edge);text-align:left;cursor:pointer;border-radius:14px;width:100%;padding:12px}.sk .top{align-items:center;gap:8px;display:flex}.sk .ic{background:var(--panel-2);border:1px solid var(--edge);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.sk .nm{flex:1;font-size:13.5px;font-weight:600}.sk .lv{color:var(--gold);font-family:Bai Jamjuree,sans-serif;font-size:11.5px;font-weight:700}.sk .gauge{height:6px;margin-top:9px}.sk .sub{color:var(--faint);font-variant-numeric:tabular-nums;margin-top:5px;font-size:10.5px}.tl{padding-left:52px;position:relative}.tl:before{content:"";background:linear-gradient(180deg,var(--edge),var(--edge-2));width:2px;position:absolute;top:6px;bottom:14px;left:19px}.tl .prog{background:linear-gradient(180deg,var(--gold-deep),var(--gold));width:2px;box-shadow:0 0 8px var(--gold-glow);position:absolute;top:6px;left:19px}.q{text-align:left;cursor:pointer;background:linear-gradient(180deg,var(--panel),var(--deep));border:1px solid var(--edge);border-radius:14px;width:100%;margin-bottom:8px;padding:11px 13px;transition:transform .12s;display:block;position:relative}.q:active{transform:scale(.99)}.q .rail{text-align:right;width:36px;color:var(--dim);font-variant-numeric:tabular-nums;font-family:Bai Jamjuree,sans-serif;font-size:11.5px;font-weight:600;position:absolute;top:11px;left:-52px}.q .node{background:var(--deep);border:2px solid var(--edge);z-index:2;border-radius:50%;width:11px;height:11px;position:absolute;top:15px;left:-38px}.q .qt{font-size:14.5px;font-weight:500;line-height:1.35}.q .qm{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.tag{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:700}.xp{color:var(--gold);font-family:Bai Jamjuree,sans-serif;font-size:10.5px;font-weight:700}.q .why{color:var(--dim);margin-top:4px;font-size:12px;font-style:italic}.q.now{border-color:var(--gold-deep);background:linear-gradient(180deg,#1e2438,var(--deep));box-shadow:0 0 0 1px #e9b85c29,0 8px 26px -14px #e9b85c80}.q.now .node{background:var(--gold);border-color:var(--gold);box-shadow:0 0 12px var(--gold)}.q.now .rail{color:var(--gold)}.q.done{opacity:.5}.q.done .qt{text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.q.done .node{background:var(--jade);border-color:var(--jade)}.q.skip .node{background:var(--ember);border-color:var(--ember)}.q.miss .node{border-color:var(--gold)}.q.quiet{border-style:dashed;border-color:var(--edge-2);background:0 0}.q.guard{border-color:var(--gold-deep);background:linear-gradient(100deg,#e9b85c17,var(--deep) 58%)}.nowline{align-items:center;gap:8px;margin:10px 0 12px;display:flex;position:relative}.nowline .bead{background:var(--gold);width:11px;height:11px;box-shadow:0 0 0 4px #e9b85c2e,0 0 14px var(--gold);z-index:3;border-radius:50%;position:absolute;left:-38px}.nowline span{color:var(--gold);letter-spacing:.1em;font-family:Bai Jamjuree,sans-serif;font-size:10.5px;font-weight:700}.nowline b{background:linear-gradient(90deg,var(--gold),transparent);flex:1;height:1px}.money{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.mcell{background:var(--panel-2);border:1px solid var(--edge);border-radius:13px;padding:12px}.mcell .k{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;font-size:10.5px;font-weight:600}.mcell .v{font-variant-numeric:tabular-nums;margin-top:3px;font-family:Bai Jamjuree,sans-serif;font-size:19px;font-weight:700}.mcell .v small{color:var(--faint);margin-left:2px;font-size:11px;font-weight:500}.warn{background:linear-gradient(160deg,#3a2119,#1b1210);border:1px solid #6b3428;border-radius:14px;padding:13px}.warn h4{color:var(--ember);margin:0 0 4px;font-family:Bai Jamjuree,sans-serif;font-size:13px}.warn p{color:#d9b4ab;margin:0;font-size:12.5px;line-height:1.6}.ledger{border-bottom:1px solid var(--edge-2);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.ledger:last-child{border-bottom:none}.ledger .amt{font-variant-numeric:tabular-nums;font-family:Bai Jamjuree,sans-serif;font-weight:600}nav{z-index:40;-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);border-top:1px solid var(--edge);max-width:452px;padding-bottom:env(safe-area-inset-bottom);background:#0d1220f0;grid-template-columns:repeat(6,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}nav button{cursor:pointer;color:var(--faint);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:9px 0 11px;font-size:9.5px;font-weight:600;display:flex;position:relative}nav button .ic{filter:grayscale()opacity(.5);font-size:16px;line-height:1;transition:filter .15s}nav button[aria-current=true]{color:var(--gold)}nav button[aria-current=true] .ic{filter:none}nav button[aria-current=true]:before{content:"";background:var(--gold);width:20px;height:2px;box-shadow:0 0 8px var(--gold);border-radius:0 0 3px 3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;z-index:50;background:#04060cb8;transition:opacity .2s;position:fixed;inset:0}.scrim.on{opacity:1;pointer-events:auto}.sheet{z-index:60;background:linear-gradient(180deg,#182034,var(--deep));border-top:1px solid var(--gold-deep);max-width:452px;padding:9px 18px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:88vh;margin:0 auto;transition:transform .26s cubic-bezier(.32,.72,0,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(102%)}.sheet.on{transform:translateY(0)}.grab{background:var(--edge);border-radius:99px;width:36px;height:4px;margin:0 auto 14px}.sheet h3{margin:0 0 3px;font-family:Bai Jamjuree,sans-serif;font-size:17px;font-weight:700}.sheet .st{color:var(--dim);margin:0 0 15px;font-size:12.5px}.acts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.act{border:1px solid var(--edge);background:var(--panel-2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:14px 8px;font-size:14px;font-weight:600;display:flex}.act.win{color:var(--jade);background:linear-gradient(160deg,#1e5445,#15342b);border-color:#0000}.act.lose{color:var(--ember);background:#3a1e1a;border-color:#0000}input[type=text]{border:1px solid var(--edge);background:var(--panel-2);width:100%;color:var(--ink);border-radius:10px;margin-bottom:9px;padding:11px 12px;font-family:inherit;font-size:14px}.btn{cursor:pointer;background:linear-gradient(160deg,var(--gold),var(--gold-deep));color:#1a1204;border:none;border-radius:12px;width:100%;padding:13px;font-family:Bai Jamjuree,sans-serif;font-size:15px;font-weight:700}.toast{z-index:70;border:1px solid var(--gold-deep);color:var(--ink);opacity:0;pointer-events:none;text-align:center;background:linear-gradient(160deg,#222c46,#151c2e);border-radius:12px;max-width:86vw;padding:11px 17px;font-size:13.5px;font-weight:500;transition:all .22s;position:fixed;bottom:94px;left:50%;transform:translate(-50%,12px);box-shadow:0 10px 34px -12px #000000e6}.toast.on{opacity:1;transform:translate(-50%)}.toast b{color:var(--gold);font-family:Bai Jamjuree,sans-serif}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.login{place-items:center;max-width:452px;min-height:100vh;margin:0 auto;padding:24px;display:grid}.login .box{width:100%}.login h1{letter-spacing:.22em;text-align:center;color:var(--gold);margin:0 0 4px;font-family:Bai Jamjuree,sans-serif;font-size:30px}.login .tag2{text-align:center;color:var(--dim);letter-spacing:.05em;margin-bottom:26px;font-size:12.5px}.login .err{color:var(--ember);text-align:center;min-height:18px;margin:8px 0 0;font-size:12.5px}.syncing{background:linear-gradient(90deg,transparent,var(--gold),transparent);z-index:99;background-size:50% 100%;height:2px;animation:1.1s linear infinite sw;position:fixed;top:0;left:0;right:0}@keyframes sw{0%{background-position:-100% 0}to{background-position:200% 0}}.field{margin-bottom:14px}.field>label{color:var(--dim);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input,.ledger input{border:1px solid var(--edge);background:var(--panel-2);width:100%;color:var(--ink);border-radius:10px;padding:11px 12px;font-family:inherit;font-size:14px}.field input[type=date],.field input[type=time]{font-family:Bai Jamjuree,sans-serif}.btn.ghost2{border:1px solid var(--edge);color:var(--dim);background:0 0}.undo{border:1px solid var(--edge);background:var(--panel-2);color:var(--dim);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 11px;font-family:inherit;font-size:11.5px}.login input{border:1px solid var(--edge);background:var(--panel-2);width:100%;color:var(--ink);border-radius:10px;margin-bottom:9px;padding:12px;font-family:inherit;font-size:15px}
