@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=Noto+Serif+Thai:wght@400;500;600;700&family=Noto+Sans+Thai:wght@300;400;500;600;700&family=Share+Tech+Mono&display=swap";:root{--void: #060310;--bg: #0a0612;--panel: #120a20;--panel-2: #180e2b;--panel-3: #1f1338;--glass: rgba(24, 14, 43, .66);--glass-2: rgba(31, 19, 56, .55);--line: rgba(177, 77, 255, .16);--line-2: rgba(177, 77, 255, .3);--line-3: rgba(177, 77, 255, .55);--violet: #b14dff;--violet-deep: #7a2bff;--violet-light: #e0b3ff;--violet-glow: #c77dff;--ink: #f4ecff;--ink-2: #c3b0e2;--ink-3: #8a78ad;--spark: #f6efff;--todo: #9a86c4;--progress: #b14dff;--blocked: #ff4d77;--done: #36e0bf;--cancel: #6c6486;--crit: #ff4d6d;--high: #ff9a52;--med: #ffd56a;--low: #43e0b0;--sidebar-w: 256px;--hue: 276;--bg-primary: var(--bg);--bg-secondary: var(--panel);--bg-card: var(--panel-3);--bg-hover: var(--panel-2);--text-primary: var(--ink);--text-secondary: var(--ink-2);--text-muted: var(--ink-3);--border: var(--line);--accent: var(--violet);--accent-hover: var(--violet-deep);--success: var(--done);--warning: var(--high);--danger: var(--blocked);--sidebar-width: var(--sidebar-w)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:Noto Sans Thai,Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}#root{height:100vh;width:100%;display:flex}button{cursor:pointer;border:none;font-family:inherit;color:inherit;background:none}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}.serif{font-family:Cinzel,"Noto Serif Thai",serif}.mono{font-family:Share Tech Mono,monospace;letter-spacing:.04em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(var(--violet-deep),var(--violet));border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--violet)}.scene{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;pointer-events:none;background:radial-gradient(1200px 700px at 78% -10%,rgba(122,43,255,.3),transparent 60%),radial-gradient(900px 600px at 10% 110%,rgba(177,77,255,.18),transparent 60%),linear-gradient(180deg,#0a0612,#070310)}.aurora{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;filter:blur(60px);opacity:.85;background:radial-gradient(420px 420px at 30% 30%,rgba(177,77,255,.4),transparent 60%),radial-gradient(520px 380px at 70% 60%,rgba(122,43,255,.34),transparent 62%),radial-gradient(360px 360px at 55% 85%,rgba(224,179,255,.18),transparent 60%);animation:auroraDrift 22s ease-in-out infinite alternate}@keyframes auroraDrift{0%{transform:translate3d(-3%,-2%,0) scale(1.05) rotate(0)}50%{transform:translate3d(4%,3%,0) scale(1.18) rotate(4deg)}to{transform:translate3d(-2%,4%,0) scale(1.1) rotate(-3deg)}}.waves{position:absolute;left:0;right:0;bottom:0;height:42%;opacity:.1;mix-blend-mode:screen;background-image:radial-gradient(circle at 12px 18px,transparent 8px,var(--violet) 8.5px,transparent 10px),radial-gradient(circle at 24px 18px,transparent 8px,var(--violet) 8.5px,transparent 10px);background-size:24px 18px;-webkit-mask-image:linear-gradient(transparent,black 80%);mask-image:linear-gradient(transparent,#000 80%);animation:waveRoll 18s linear infinite}@keyframes waveRoll{to{background-position:240px 0,240px 0}}.grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.bolt-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.bolt{fill:none;stroke:var(--spark);stroke-width:2;filter:drop-shadow(0 0 6px var(--violet-light)) drop-shadow(0 0 18px var(--violet));opacity:0}.bolt.glow{stroke:var(--violet-glow);stroke-width:7;opacity:0;filter:blur(3px)}.bolt.fire{animation:boltFire .52s ease-out forwards}.bolt.glow.fire{animation:boltFireGlow .52s ease-out forwards}@keyframes boltFire{0%{opacity:0}6%{opacity:1}12%{opacity:.2}20%{opacity:1}40%{opacity:.5}to{opacity:0}}@keyframes boltFireGlow{0%{opacity:0}10%{opacity:.7}30%{opacity:.25}to{opacity:0}}.flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 80% 0%,rgba(224,179,255,.22),transparent 55%);opacity:0}.flash.fire{animation:flashFire .46s ease-out}@keyframes flashFire{0%{opacity:0}8%{opacity:1}22%{opacity:.1}30%{opacity:.6}to{opacity:0}}@keyframes crackle{0%,92%,to{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.4}97%{opacity:1}}.glitch-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;opacity:0}.glitch-veil.fire{animation:glitchVeil .46s steps(2)}.glitch-veil .bar{position:absolute;left:0;right:0;mix-blend-mode:screen}@keyframes glitchVeil{0%{opacity:0}10%{opacity:1;transform:translate(0)}20%{opacity:1;transform:translate(-6px)}35%{opacity:.8;transform:translate(5px)}60%{opacity:1;transform:translate(-2px)}to{opacity:0;transform:translate(0)}}.view-enter{animation:viewEnter .46s cubic-bezier(.2,.8,.2,1) both}@keyframes viewEnter{0%{transform:translateY(10px) scale(.996);filter:saturate(1.5) brightness(1.25)}to{transform:none;filter:none}}.seal{position:relative;display:inline-flex;align-items:center;justify-content:center}.seal .ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px dashed var(--line-3);animation:sealSpin 14s linear infinite}.seal .ring.inner{top:5px;right:5px;bottom:5px;left:5px;border-style:solid;border-color:var(--line-2);animation:sealSpin 9s linear infinite reverse}@keyframes sealSpin{to{transform:rotate(360deg)}}.seal .kanji{font-family:"Noto Serif Thai",serif;font-weight:700;color:var(--violet-light);text-shadow:0 0 10px var(--violet)}.app{position:relative;z-index:3;display:flex;height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;height:100vh;position:relative;background:linear-gradient(180deg,#120a20eb,#0a0612f5);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar:after{content:"";position:absolute;top:0;right:-1px;width:1px;height:100%;background:linear-gradient(180deg,transparent,var(--violet) 40%,var(--violet-light) 50%,var(--violet) 60%,transparent);opacity:.5;animation:seam 5s ease-in-out infinite}@keyframes seam{0%,to{opacity:.25}50%{opacity:.7}}.brand{display:flex;align-items:center;gap:12px;padding:4px 20px 18px}.brand .torii{color:var(--violet-light);filter:drop-shadow(0 0 8px var(--violet))}.brand .name{line-height:1}.brand .name .jp{font-family:Cinzel,serif;font-size:19px;font-weight:700;letter-spacing:.1em;color:var(--ink);background:linear-gradient(120deg,var(--violet-light),var(--spark),var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand .name .sub{font-size:9.5px;letter-spacing:.42em;color:var(--ink-3);margin-top:4px}.create-btn{margin:0 16px 18px;padding:12px 16px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:14px;color:#190a2b;letter-spacing:.02em;background:linear-gradient(120deg,var(--violet-light),var(--violet) 55%,var(--violet-deep));box-shadow:0 8px 24px #b14dff66,inset 0 1px #ffffff73;position:relative;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease}.create-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px #b14dff99,inset 0 1px #ffffff8c}.create-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translate(-130%)}.create-btn:hover:after{animation:sheen .85s ease}@keyframes sheen{to{transform:translate(130%)}}.nav{flex:1;overflow-y:auto;padding:0 12px;display:flex;flex-direction:column;gap:3px}.nav-item{width:100%;padding:10px 12px;border-radius:10px;display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--ink-3);position:relative;transition:color .15s,background .15s;white-space:nowrap}.nav-item .ico{display:inline-flex;width:18px;justify-content:center}.nav-item:hover{color:var(--ink-2);background:#b14dff12}.nav-item.active{color:var(--ink);background:linear-gradient(90deg,#b14dff33,#b14dff0a)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:3px;background:linear-gradient(var(--violet-light),var(--violet));box-shadow:0 0 10px var(--violet);animation:crackle 4s infinite}.nav-item .romaji{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:9.5px;color:var(--ink-3);opacity:.6;letter-spacing:.08em}.side-foot{padding:14px 14px 4px;border-top:1px solid var(--line);margin:8px 12px 0}.side-foot .row{display:flex;align-items:center;gap:10px}.side-foot .row>div{line-height:1.45}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--done);box-shadow:0 0 8px var(--done);animation:crackle 3s infinite}.main{flex:1;display:flex;flex-direction:column;min-width:0}.header{min-height:78px;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;background:linear-gradient(180deg,#120a20b3,#0a061233);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--violet) 30%,var(--violet-light) 50%,var(--violet) 70%,transparent);opacity:.55}.header .title{font-family:Cinzel,"Noto Serif Thai",serif;font-size:22px;font-weight:700;color:var(--ink);letter-spacing:.01em;display:flex;align-items:center;gap:12px}.header .title .seal-mini{flex-shrink:0}.header .subtitle{font-size:12px;color:var(--ink-3);margin-top:4px;max-width:640px}.header .tools{display:flex;align-items:center;gap:14px}.searchbox{display:flex;align-items:center;gap:9px;padding:9px 14px;min-width:200px;border-radius:11px;background:var(--glass);border:1px solid var(--line);color:var(--ink-3);font-size:13px;transition:border-color .15s,box-shadow .15s}.searchbox:hover{border-color:var(--line-2);box-shadow:0 0 0 3px #b14dff14}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-weight:700;color:var(--ink);background:linear-gradient(135deg,var(--violet-deep),var(--violet));box-shadow:0 0 0 1px var(--line-2),0 6px 16px #7a2bff66}.ghost-btn{padding:8px 12px;border-radius:9px;font-size:12.5px;color:var(--ink-2);background:var(--glass);border:1px solid var(--line);transition:all .15s}.ghost-btn:hover{border-color:var(--line-2);color:var(--ink);background:var(--glass-2)}.board-wrap{flex:1;overflow:auto;padding:22px 26px 30px}.board{display:flex;gap:18px;align-items:flex-start;min-height:100%}.column{flex:1;min-width:286px}.col-head{display:flex;align-items:center;gap:10px;margin:2px 4px 12px}.col-glyph{font-size:16px;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid currentColor}.col-title{font-family:Cinzel,"Noto Serif Thai",serif;font-size:14.5px;font-weight:700;color:var(--ink)}.col-count{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:11px;color:var(--ink-3);background:#b14dff1a;border:1px solid var(--line);padding:1px 9px;border-radius:20px}.col-body{background:linear-gradient(180deg,#120a208c,#0a061259);border:1px solid var(--line);border-radius:16px;padding:11px;min-height:200px;display:flex;flex-direction:column;gap:11px;position:relative}.col-body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;padding:1px;background:linear-gradient(180deg,var(--colcolor, transparent),transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;pointer-events:none}.card{position:relative;border-radius:14px;padding:14px;background:linear-gradient(180deg,#1f1338eb,#120a20f5);border:1px solid var(--line);cursor:pointer;overflow:hidden;box-shadow:0 10px 26px #06031080;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--violet));box-shadow:0 0 14px var(--accent, var(--violet));opacity:.85}.card:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 18px 40px #7a2bff4d,0 0 0 1px var(--line-2)}.card:hover .card-spark{opacity:1;animation:crackle 2.4s infinite}.card-spark{position:absolute;top:8px;right:10px;color:var(--violet-light);opacity:0;transition:opacity .2s;filter:drop-shadow(0 0 6px var(--violet))}.card .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card .titletext{font-family:"Noto Serif Thai",Cinzel,serif;font-size:14.5px;font-weight:600;line-height:1.4;color:var(--ink);margin:10px 0 6px}.card.done .titletext{color:var(--ink-3);text-decoration:line-through}.card .desc{font-size:12px;color:var(--ink-2);line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:Share Tech Mono,monospace;font-size:11px;color:var(--ink-3)}.card .meta .m{display:inline-flex;align-items:center;gap:4px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;line-height:1.4;white-space:nowrap}.badge.cat{background:var(--c-bg);color:var(--c-fg);border:1px solid var(--c-line)}.badge.prio{border:1px solid currentColor}.badge.prio .dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.deadline{font-family:Share Tech Mono,monospace;font-size:11px;padding:3px 8px;border-radius:8px;border:1px solid currentColor;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;margin-bottom:10px}.login{position:relative;z-index:3;height:100vh;display:grid;place-items:center;padding:24px}.login-card{position:relative;width:min(440px,92vw);padding:44px 40px 36px;border-radius:22px;background:linear-gradient(180deg,#180e2bdb,#0a0612eb);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 40px 120px #060310b3,inset 0 1px #ffffff0f;text-align:center}.login-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:22px;padding:1px;background:linear-gradient(140deg,var(--violet),transparent 40%,transparent 60%,var(--violet-deep));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.8}.login .hero-seal{margin:0 auto 22px}.login h1{font-family:Cinzel,serif;font-size:30px;font-weight:800;letter-spacing:.14em;color:var(--ink);background:linear-gradient(120deg,var(--violet-light),var(--spark) 45%,var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login .tagline{font-family:Share Tech Mono,monospace;font-size:11px;letter-spacing:.42em;color:var(--ink-3);margin-top:10px}.login .thai-tag{font-family:"Noto Serif Thai",serif;font-size:13px;color:var(--ink-2);margin-top:14px}.field{text-align:left;margin-top:18px}.field label{display:block;font-size:11.5px;color:var(--ink-3);margin-bottom:7px;letter-spacing:.02em}.field input{width:100%;padding:13px 14px;border-radius:11px;font-size:14px;color:var(--ink);background:#0a0612b3;border:1px solid var(--line);outline:none;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--ink-3)}.field input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #b14dff29}.login-btn{width:100%;margin-top:26px;padding:14px;border-radius:12px;font-size:15px;font-weight:700;font-family:Cinzel,"Noto Serif Thai",serif;letter-spacing:.06em;color:#1a0a2c;position:relative;overflow:hidden;background:linear-gradient(120deg,var(--violet-light),var(--violet) 55%,var(--violet-deep));box-shadow:0 12px 32px #b14dff73,inset 0 1px #ffffff80;transition:transform .14s,box-shadow .14s}.login-btn:hover{transform:translateY(-2px);box-shadow:0 18px 44px #b14dff9e,inset 0 1px #fff9}.login-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-130%);background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%)}.login-btn:hover:after{animation:sheen .8s ease}.login .divider{display:flex;align-items:center;gap:12px;margin:22px 0 4px;color:var(--ink-3);font-size:11px}.login .divider:before,.login .divider:after{content:"";height:1px;flex:1;background:var(--line)}.agenda-wrap{flex:1;overflow:auto;padding:24px 26px 36px}.focus-card{position:relative;border-radius:20px;padding:26px 28px;overflow:hidden;background:linear-gradient(120deg,#1f1338f2,#120a20e6);border:1px solid var(--line-2);box-shadow:0 24px 60px #0603108c;display:flex;align-items:center;gap:26px;margin-bottom:26px}.focus-card .big-seal{flex-shrink:0}.focus-card .kicker{font-family:Share Tech Mono,monospace;font-size:11px;letter-spacing:.3em;color:var(--violet-light);margin-bottom:10px}.focus-card h2{font-family:"Noto Serif Thai",Cinzel,serif;font-size:24px;font-weight:700;color:var(--ink);line-height:1.3}.focus-card .why{font-size:13px;color:var(--ink-2);margin-top:12px;max-width:540px;line-height:1.6}.focus-card .acts{display:flex;gap:10px;margin-top:18px}.mini-btn{padding:9px 16px;border-radius:10px;font-size:13px;font-weight:600}.mini-btn.solid{color:#1a0a2c;background:linear-gradient(120deg,var(--violet-light),var(--violet));box-shadow:0 8px 22px #b14dff66}.mini-btn.line{color:var(--ink-2);border:1px solid var(--line-2)}.focus-card:after{content:"";position:absolute;right:-40px;top:-40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(177,77,255,.35),transparent 65%);filter:blur(20px);pointer-events:none}.agenda-section-title{font-family:Cinzel,"Noto Serif Thai",serif;font-size:15px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:10px;margin:6px 2px 14px;white-space:nowrap}.agenda-section-title .tag{font-family:Share Tech Mono,monospace;font-size:10px;padding:2px 8px;border-radius:6px;border:1px solid var(--line-2);color:var(--ink-3)}.agenda-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:26px}.rank-row{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:13px;background:linear-gradient(90deg,#1f1338b3,#120a2099);border:1px solid var(--line);transition:border-color .15s,transform .15s,box-shadow .15s;cursor:pointer}.rank-row:hover{border-color:var(--line-2);transform:translate(3px);box-shadow:-4px 0 0 var(--violet)}.rank-num{font-family:Cinzel,serif;font-size:22px;font-weight:800;width:36px;text-align:center;color:var(--violet-light);text-shadow:0 0 12px var(--violet)}.rank-main{flex:1;min-width:0}.rank-title{font-family:"Noto Serif Thai",serif;font-size:14.5px;font-weight:600;color:var(--ink)}.rank-meta{font-family:Share Tech Mono,monospace;font-size:11px;color:var(--ink-3);margin-top:4px;display:flex;gap:12px;flex-wrap:wrap}.bar{height:6px;width:90px;border-radius:6px;background:#b14dff1f;overflow:hidden}.bar>span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--violet-deep),var(--violet-light));box-shadow:0 0 10px var(--violet)}body.no-aurora .aurora{opacity:0}body.no-aurora .waves{opacity:.04}@keyframes pulseShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes panelSlideIn{0%{transform:translate(18px);opacity:0}to{transform:translate(0);opacity:1}}@media (prefers-reduced-motion: reduce){.aurora,.waves,.nav-item.active:before,.pulse-dot,.sidebar:after,.card-spark{animation:none!important}}
