:root{--ink: #07091a;--ink-2: #05060f;--text: #edecf4;--text-2: #c9cde6;--text-3: #9aa1c8;--text-4: #8891be;--text-5: #7d84ad;--text-dim: #7e86b6;--accent: #f6a33b;--accent-hi: #ffbb6b;--accent-lo: #ed8a20;--accent-ink: #2a1603;--accent-soft: rgba(246, 163, 59, .16);--green: #48d6a8;--green-ink: #04281d;--green-soft: rgba(72, 214, 168, .16);--purple: #8a7cff;--purple-hi: #a79cff;--purple-ink: #0e0730;--purple-soft: rgba(138, 124, 255, .18);--cyan: #9fe8ff;--cyan-lo: #4fa9e8;--cyan-soft: rgba(159, 232, 255, .16);--danger: #e4574f;--danger-hi: #ff9e9e;--danger-soft: rgba(255, 122, 122, .16);--hair: rgba(255, 255, 255, .1);--hair-soft: rgba(255, 255, 255, .07);--surface: linear-gradient(150deg, #262e63, #171c42);--surface-shadow: 6px 8px 18px rgba(0, 0, 0, .42), inset 1px 1px 3px rgba(255, 255, 255, .08);--surface-hi: linear-gradient(150deg, #2b3370, #191e46);--surface-hi-shadow: 8px 12px 26px rgba(0, 0, 0, .5), inset 2px 2px 5px rgba(255, 255, 255, .1);--surface-flat: linear-gradient(150deg, #232a5e, #161b3f);--surface-flat-shadow: inset 1px 1px 3px rgba(255, 255, 255, .07);--inset: linear-gradient(160deg, #141938, #1e244f);--inset-shadow: inset 4px 5px 10px rgba(0, 0, 0, .6), inset -2px -2px 6px rgba(255, 255, 255, .06);--inset-shadow-sm: inset 3px 4px 8px rgba(0, 0, 0, .55);--sheet: linear-gradient(170deg, #262e66, #131737);--sheet-shadow: 0 -18px 44px rgba(0, 0, 0, .6), inset 2px 3px 6px rgba(255, 255, 255, .1);--nav: linear-gradient(150deg, #2b3370, #161b3e);--nav-shadow: 0 18px 34px rgba(0, 0, 0, .6), inset 2px 2px 5px rgba(255, 255, 255, .12), inset -3px -5px 10px rgba(0, 0, 0, .45);--btn: linear-gradient(160deg, #ffbb6b, #ed8a20);--btn-shadow: 0 14px 26px rgba(237, 138, 32, .34), inset 2px 2px 5px rgba(255, 255, 255, .5), inset -3px -5px 9px rgba(150, 74, 0, .4);--btn-shadow-sm: 0 10px 18px rgba(237, 138, 32, .32), inset 2px 2px 5px rgba(255, 255, 255, .5);--btn-2: linear-gradient(150deg, #2a3168, #1a1f47);--btn-2-shadow: 6px 8px 18px rgba(0, 0, 0, .45), inset 1px 1px 3px rgba(255, 255, 255, .09);--bg-app: radial-gradient(130% 55% at 50% 0%, #222a63 0%, #101336 45%, #07091a 100%);--bg-auth: radial-gradient(130% 70% at 50% -5%, #2a3272 0%, #121639 45%, #080a1c 100%);--bg-world: radial-gradient(120% 60% at 50% 42%, #1b2352 0%, #0d1030 48%, #05060f 100%);--font: "Plus Jakarta Sans", "Noto Sans Thai", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--r-sm: 14px;--r-md: 18px;--r-lg: 22px;--r-xl: 26px;--r-sheet: 34px;--r-pill: 999px;--app-max: 430px;--gutter: 22px;--nav-h: 66px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:var(--accent);text-decoration:none}.app-shell{position:relative;width:100%;max-width:var(--app-max);min-height:100%;margin:0 auto;background:var(--bg-app);overflow:hidden;isolation:isolate}@media(min-width:560px){body{background:radial-gradient(90% 60% at 50% 0%,#161b45,#0a0c20 55%,#05060f)}.app-shell{min-height:100vh;box-shadow:0 0 0 1px #ffffff0d,0 40px 90px #0009}}.screen{position:relative;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 24px) var(--gutter) 0}.screen--auth{background:var(--bg-auth);padding-top:calc(var(--safe-top) + 46px);padding-bottom:calc(var(--safe-bottom) + 30px)}.screen--world{background:var(--bg-world)}.screen--tabbed .screen-body{padding-bottom:calc(var(--safe-bottom) + var(--nav-h) + 46px)}.screen-body{flex:1;min-height:0;overflow-y:auto;padding-bottom:28px}.mono{font-family:var(--mono)}.t-title{font-size:25px;font-weight:800;letter-spacing:-.4px}.t-h2{font-size:20px;font-weight:800;letter-spacing:-.3px}.t-h3{font-size:17px;font-weight:800}.t-label{font-size:11.5px;color:var(--text-4);font-weight:700;letter-spacing:.5px}.t-sub{font-size:12px;color:var(--text-4)}.t-dim{font-size:11px;color:var(--text-5)}.muted{color:var(--text-4)}.icon{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-variation-settings:"FILL" 1;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.clay{border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--surface-shadow);overflow-wrap:anywhere}.clay--hi{background:var(--surface-hi);box-shadow:var(--surface-hi-shadow)}.clay--flat{background:var(--surface-flat);box-shadow:var(--surface-flat-shadow)}.field{border-radius:var(--r-md);background:var(--inset);box-shadow:var(--inset-shadow);padding:12px 16px;display:block;width:100%}.field__label{font-size:10.5px;color:var(--text-5);font-weight:600;letter-spacing:.4px}.field__input,.field input,.field textarea,.field select{width:100%;background:none;border:0;outline:none;font-size:15px;color:var(--text);padding:0;margin-top:3px;font-family:inherit}.field__input::placeholder{color:var(--text-5)}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.field select option{background:#1a1f47;color:var(--text)}.field input[type=date]::-webkit-calendar-picker-indicator,.field input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(4) hue-rotate(2deg);cursor:pointer}.field--row{display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:20px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border-radius:var(--r-lg);font-size:16px;font-weight:700;color:var(--accent-ink);background:var(--btn);box-shadow:var(--btn-shadow);transition:transform .12s ease,filter .12s ease}.btn:active{transform:translateY(1px) scale(.985);filter:brightness(.96)}.btn:disabled{opacity:.45;pointer-events:none}.btn--sm{padding:12px 16px;font-size:14px;border-radius:var(--r-md);box-shadow:var(--btn-shadow-sm)}.btn--ghost{color:var(--text-2);background:var(--btn-2);box-shadow:var(--btn-2-shadow)}.btn--quiet{color:var(--text-2);background:#ffffff14;box-shadow:none;font-weight:600;font-size:13px}.btn--danger{color:#fff;background:linear-gradient(150deg,#e4574f,#b22f2f);box-shadow:0 12px 22px #b22f2f4d}.chip{flex:none;padding:7px 14px;border-radius:var(--r-pill);font-size:11.5px;font-weight:600;color:var(--text-3);background:#ffffff12;display:inline-flex;align-items:center;gap:6px;transition:filter .12s ease}.chip--on{font-weight:700;color:var(--accent-ink);background:var(--btn)}.chip--soft-on{font-weight:700;color:var(--accent);background:var(--accent-soft)}.seg{display:flex;gap:5px;padding:5px;border-radius:var(--r-md);background:#ffffff0f}.seg__item{flex:1;text-align:center;padding:9px;border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--text-3)}.seg__item--on{font-weight:700;color:var(--accent-ink);background:var(--btn)}.seg--sunken{padding:4px;border-radius:16px;background:#00000047}.seg--sunken .seg__item{padding:8px;border-radius:12px;font-size:12.5px}.seg--sunken .seg__item--on{color:#0d1029;background:linear-gradient(160deg,#edeffa,#bfc6e6)}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;flex:none;font-weight:700;letter-spacing:0}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column}.grow{flex:1;min-width:0}.spread{display:flex;align-items:center;justify-content:space-between}.scroll-x{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.scroll-x::-webkit-scrollbar,.wheel::-webkit-scrollbar{display:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{height:1px;background:var(--hair-soft)}.progress{height:12px;border-radius:var(--r-pill);background:#0006;box-shadow:inset 2px 3px 6px #0009;overflow:hidden}.progress__bar{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,#ffbb6b,#ed8a20);transition:width .4s cubic-bezier(.2,.8,.3,1)}.progress--sm{height:5px;box-shadow:none;background:#ffffff1a}.progress--over .progress__bar{background:linear-gradient(90deg,#ff9e9e,#e4574f)}.tabbar{position:fixed;left:50%;transform:translate(-50%);width:min(100% - 60px,calc(var(--app-max) - 60px));bottom:calc(var(--safe-bottom) + 30px);height:var(--nav-h);border-radius:30px;display:flex;align-items:center;justify-content:space-around;padding:0 10px;background:var(--nav);box-shadow:var(--nav-shadow);z-index:40}.tabbar__item{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text-4);font-size:9.5px;font-weight:600;min-width:52px}.tabbar__item--on{color:var(--accent);font-weight:700}.tabbar__item .icon{font-size:24px}.tabbar__fab{width:52px;height:52px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:var(--btn);box-shadow:0 12px 22px #ed8a2073,inset 2px 2px 5px #ffffff8c,inset -3px -5px 9px #964a0066;color:var(--accent-ink);transition:transform .14s cubic-bezier(.2,.8,.3,1)}.tabbar__fab .icon{font-size:26px}.tabbar__fab:active{transform:scale(.92)}.scrim{position:fixed;top:0;right:0;bottom:0;left:50%;transform:translate(-50%);width:min(100%,var(--app-max));background:#05061099;z-index:50;animation:fade .2s ease}.sheet{position:fixed;left:50%;transform:translate(-50%);width:min(100%,var(--app-max));bottom:0;max-height:92dvh;display:flex;flex-direction:column;border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--sheet);box-shadow:var(--sheet-shadow);z-index:51;animation:sheet-up .28s cubic-bezier(.2,.9,.25,1)}.sheet__grip{width:46px;height:5px;border-radius:var(--r-pill);background:#ffffff38;margin:14px auto 16px;flex:none}.sheet__body{overflow-y:auto;padding:0 var(--gutter) calc(var(--safe-bottom) + 28px);-webkit-overflow-scrolling:touch}@keyframes sheet-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--safe-bottom) + var(--nav-h) + 46px);z-index:60;display:flex;align-items:center;gap:9px;padding:12px 18px;border-radius:var(--r-md);background:var(--surface-hi);box-shadow:var(--surface-hi-shadow);font-size:13px;font-weight:600;max-width:calc(var(--app-max) - 44px);animation:toast-in .24s cubic-bezier(.2,.9,.25,1)}.toast--err .icon{color:var(--danger-hi)}.toast--ok .icon{color:var(--green)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes cgFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes cgGlow{0%,to{opacity:.55}50%{opacity:.9}}@keyframes cgShimmer{0%{transform:translate(-120%) skew(-18deg)}55%,to{transform:translate(220%) skew(-18deg)}}@keyframes cgAurora{0%,to{transform:translate3d(-12%,0,0) scaleY(1);opacity:.55}50%{transform:translate3d(10%,-6%,0) scaleY(1.25);opacity:.95}}@keyframes cgAurora2{0%,to{transform:translate3d(8%,4%,0) scaleX(1.1);opacity:.4}50%{transform:translate3d(-10%,-4%,0) scaleX(.85);opacity:.8}}@keyframes cgAurora3{0%{transform:rotate(0) scale(1.25);opacity:.5}50%{transform:rotate(180deg) scale(1.5);opacity:.85}to{transform:rotate(360deg) scale(1.25);opacity:.5}}@keyframes cgVeil{0%,to{transform:translateY(6%) scaleY(1);opacity:.35}50%{transform:translateY(-8%) scaleY(1.3);opacity:.7}}.float{animation:cgFloat 6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
