@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111014;--surface:#19181e;--line:#2c2a33;--muted:#a9a5b4;--text:#f7f4fb;--accent:#c2abff;--violet:#9a72ee;--font:'Noto Sans Thai',system-ui,sans-serif;--display:'Space Grotesk',var(--font)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,video:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{transition:background .18s,transform .18s,color .18s}button:hover{filter:brightness(1.12)}button:active{transform:translateY(1px)}button:disabled{cursor:default}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}i[data-icon]{display:inline-flex;align-items:center;justify-content:center;font-style:normal}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-80px;left:20px;z-index:999;padding:12px 20px;background:var(--accent);color:#171120}.skip:focus{top:8px}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:32px 22px 22px;display:flex;flex-direction:column;background:#131216;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-1.1px;white-space:nowrap}.brand>span:last-child{display:flex;align-items:center;gap:6px}.brand-icon{font-size:38px;color:var(--accent);line-height:1}.version{font-size:10px;background:#342b46;color:#d3bdfd;border:1px solid #54426d;letter-spacing:.6px;padding:1px 5px;border-radius:4px}.nav-label{font:9px var(--display);letter-spacing:1.8px;color:#827b90;margin:46px 13px 14px}.side-nav{display:grid;gap:8px}.nav-button{display:flex;align-items:center;gap:13px;text-align:left;background:none;color:var(--muted);padding:13px 14px;min-height:48px;border-radius:8px;font-weight:500}.nav-button.active{background:#2b233a;color:#d2bdff}.nav-button:not(.active):hover{background:#211f28}.saved-count{margin-left:auto;display:grid;place-items:center;background:#28252f;min-width:20px;height:20px;border-radius:5px;font:10px var(--display)}.sidebar-note{margin-top:auto;border:1px solid #38303f;border-radius:12px;padding:19px 15px;background:linear-gradient(140deg,#211b2c,#19161e);position:relative}.note-star{font-size:32px;color:var(--accent);display:block;line-height:1;margin-bottom:14px}.sidebar-note h3{font-size:14px;font-weight:600;margin-bottom:7px}.sidebar-note p{font-size:11px;color:var(--muted);line-height:1.9}.sidebar-note button{margin-top:18px;background:none;padding:0;min-height:30px;text-align:left;display:flex;justify-content:space-between;width:100%;color:var(--accent);font-size:11px}.sidebar-note button span{font-size:20px;line-height:1}.side-footer{font:8px var(--display);color:#8d879b;letter-spacing:.3px;margin:28px 2px 0;white-space:nowrap}.status-dot{display:inline-block;width:5px;height:5px;background:#bca4f4;border-radius:50%;margin-right:4px}.side-footer small{display:block;font:9px var(--font);color:#8d879b;margin-top:7px;letter-spacing:0}.workspace{margin-left:224px}.topbar{height:88px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:0 42px}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{margin:0 13px;color:#605a6c}.breadcrumb b{font-weight:500;color:#ddd8e8}.search{display:flex;align-items:center;margin-left:auto;background:#1c1b21;border:1px solid #302d38;border-radius:8px;min-height:42px;padding:0 12px;gap:11px;width:310px;color:#9e96ad}.search input{background:none;border:0;color:var(--text);min-width:0;width:100%;outline:none;font-size:12px}.search:focus-within{border-color:#a383d8;box-shadow:0 0 0 2px #a383d81c}.search input:focus-visible{outline:none}.search kbd{border:1px solid #48414f;color:#aba2b5;border-radius:4px;font-size:11px;padding:0 5px}.avatar{font:600 13px var(--display);height:38px;width:38px;background:#c3adee;color:#282032;border-radius:50%;position:relative}.avatar span{position:absolute;right:0;bottom:0;width:10px;height:10px;background:#91cba2;border:2px solid var(--bg);border-radius:50%}.mobile-brand{display:none}main{max-width:1450px;margin:auto;padding:36px 42px 0;outline:0}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font:9px var(--display);letter-spacing:2px;color:var(--accent);display:flex;align-items:center;gap:7px}.eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--accent)}h1{font-size:30px;line-height:1.5;letter-spacing:-.9px;font-weight:700;margin-top:8px}h1>span{color:var(--accent)}.welcome-text{font-size:12px;color:var(--muted);margin-top:4px}.edition{font:9px var(--display);letter-spacing:1.8px;color:#aaa1bb;display:flex;align-items:center;gap:16px}.edition i{font-size:25px;font-style:normal;color:var(--accent)}.hero{height:420px;position:relative;border-radius:16px;overflow:hidden;background:#25232f;isolation:isolate}.hero-img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,12,18,.95),rgba(13,12,18,.65) 40%,rgba(13,12,18,.06) 80%),linear-gradient(0deg,rgba(13,12,18,.8),transparent 40%);z-index:-2}.hero-top{display:flex;align-items:center;justify-content:space-between;padding:25px 30px}.hero-tag{background:#ffffff12;backdrop-filter:blur(12px);border:1px solid #ffffff25;border-radius:5px;font-size:10px;padding:5px 11px;display:flex;align-items:center;gap:8px}.hero-tag>span{color:var(--accent);font-size:14px}.hero-index{font:11px var(--display);color:#fff}.hero-index>span{color:#e6e1ea99;font-size:10px;margin-left:5px}.hero-content{padding:18px 32px 0}.hero-kicker{font:9px var(--display);letter-spacing:2.7px;color:#d2bfef;margin-bottom:12px}.hero h2{font-size:38px;line-height:1.35;letter-spacing:-1px;font-weight:700}.hero h2 span{color:#ceb3ff}.hero-description{font-size:11px;color:#d1cbd8;line-height:1.8;margin-top:13px}.hero-actions{display:flex;gap:10px;align-items:center;margin-top:21px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:45px;padding:10px 23px;border-radius:7px;background:#c6adff;color:#201529;font-weight:700;font-size:12px}.primary svg{width:17px;height:17px;fill:currentColor;stroke-width:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffff38;border-radius:7px;background:#ffffff0e;color:#f8f5ff}.hero-duration{font:11px var(--display);color:#d4cadf;margin-left:5px}.hero-duration>span{margin:0 5px;color:#91879f}.hero-bottom{position:absolute;bottom:20px;left:32px;right:30px;display:flex;justify-content:space-between;align-items:center}.hero-bottom>span:first-child{font:600 10px var(--display);letter-spacing:3px;color:#e4dfeb}.hero-bottom b{font-weight:400;letter-spacing:1px;font-size:7px;margin-left:8px;color:#a9a1b3}.hero-dots{display:flex;align-items:center;gap:5px}.hero-dots b,.hero-dots i{width:5px;height:5px;border-radius:4px;background:#ffffff55;display:block;margin:0}.hero-dots b{width:21px;background:#cdb0ff}.catalog{padding-top:36px;scroll-margin-top:24px}.catalog-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.eyebrow.small{font-size:8px;color:#a69ab7;letter-spacing:1.8px}.catalog h2{font-size:22px;letter-spacing:-.5px;font-weight:600;margin-top:4px}.catalog h2>span{color:#aaa4b5;font-weight:400}.sort select{border:1px solid var(--line);border-radius:6px;background:#1a181f;color:#bdb5c9;padding:8px 28px 8px 12px;min-height:40px;font-size:10px}.categories{display:flex;align-items:center;gap:8px;margin:22px 0}.chip{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;background:#1d1b23;border:1px solid #302c38;border-radius:7px;padding:7px 16px;color:#bab3c5;font-size:11px;white-space:nowrap}.chip svg{width:14px;height:14px}.chip.active{background:#c9b1ff;border-color:#c9b1ff;color:#251735;font-weight:600}.chip>span{font:9px var(--display);opacity:.7;border-left:1px solid #25173533;padding-left:9px;margin-left:3px}.result-status{font-size:11px;color:var(--muted);margin-bottom:14px}.result-status:empty{display:none}.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.video-card{min-width:0}.thumbnail{aspect-ratio:16/10;position:relative;background:#26212e;border:1px solid #ffffff10;border-radius:10px;overflow:hidden}.card-open{display:block;width:100%;height:100%;background:none;padding:0;text-align:left}.thumbnail img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .4s}.card-open:hover img{transform:scale(1.045)}.thumbnail:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:42px;height:42px;background:#f6edffed;color:#34204d;border-radius:50%;opacity:0;transition:opacity .2s;pointer-events:none}.card-play svg{fill:currentColor;stroke-width:0;width:18px;height:18px}.card-open:hover .card-play,.card-open:focus-visible .card-play{opacity:1}.duration{position:absolute;bottom:10px;right:9px;z-index:1;background:#131015ba;border:1px solid #ffffff20;border-radius:4px;padding:1px 5px;font:10px/1.8 var(--display);pointer-events:none}.thumb-label{position:absolute;left:10px;top:10px;font:8px var(--display);letter-spacing:1px;z-index:1;border:1px solid #ffffff30;border-radius:4px;background:#0005;padding:3px 6px;pointer-events:none}.card-save{position:absolute;right:5px;top:4px;z-index:2;display:grid;place-items:center;min-width:44px;min-height:44px;background:transparent;border-radius:6px;color:white}.card-save svg{width:17px;height:17px;filter:drop-shadow(0 1px 3px #000)}.card-save[aria-pressed=true]{color:#d8c1ff}.card-save[aria-pressed=true] svg{fill:#a881e2}.card-title{display:block;background:none;border:0;text-align:left;padding:12px 0 4px;color:#eee9f6;font-size:12px;font-weight:600;line-height:1.75;width:100%}.card-meta{color:#a39aad;font-size:9px;display:flex;justify-content:space-between;gap:5px;align-items:center}.card-meta>span:first-child{display:flex;align-items:center;gap:5px}.meta-dot{width:3px;height:3px;background:#746b80;border-radius:50%;display:inline-block}.card-progress{position:absolute;bottom:0;height:3px;background:#c5a5ff;left:0;z-index:2}.empty{text-align:center;padding:48px 12px 60px;background:#19171e;border:1px dashed #48404f;border-radius:12px}.empty>span{font-size:32px;color:var(--accent)}.empty h3{margin-top:10px;font-size:19px}.empty p{color:var(--muted);margin:7px 0 22px;font-size:12px}.bottom-banner{margin-top:34px;display:flex;align-items:center;gap:23px;padding:25px 28px;border:1px solid #3a304b;border-radius:11px;background:linear-gradient(110deg,#261d37,#1d1926)}.banner-symbol{font:48px var(--display);line-height:1;color:var(--accent);width:54px;flex-shrink:0}.bottom-banner p{font:8px var(--display);letter-spacing:2px;color:#ad98c9}.bottom-banner h2{font-size:18px;font-weight:600;margin-top:3px}.bottom-banner h2 span{color:#c8bdd7;font-weight:400}.bottom-banner div>span{font-size:10px;color:#a99bb9}.outline{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid #53445f;border-radius:7px;padding:9px 14px;background:#ffffff03;font-size:11px;min-height:44px;white-space:nowrap}.outline svg{width:16px;height:16px}.bottom-banner>.outline{margin-left:auto;color:#d9c6f4}.footer{display:flex;align-items:center;border-top:1px solid #28242e;margin-top:34px;padding:24px 0;gap:24px}.footer-brand{font:700 17px var(--display);letter-spacing:-.8px;color:#a39aad;display:flex;align-items:center;gap:5px}.footer-brand>span{font-size:8px;letter-spacing:0;color:#c9b3ed;border:1px solid #50425e;border-radius:3px;padding:1px 4px}.footer p{font-size:8px;color:#90869f}.footer p a{text-decoration:underline;text-underline-offset:3px}.footer-caption{font:7px var(--display);letter-spacing:1.1px;color:#8d829a;margin-left:auto}.mobile-nav{display:none}dialog{color:var(--text);border:1px solid #4b405a;background:#17141d;max-width:960px;width:calc(100% - 36px);max-height:calc(100dvh - 48px);border-radius:16px;padding:0;box-shadow:0 28px 130px #000b}dialog::backdrop{background:#08060ddd;backdrop-filter:blur(10px)}.watch-header{display:flex;align-items:center;justify-content:space-between;padding:13px 22px}.watch-header .brand{font-size:16px}.watch-header .brand-icon{font-size:28px}.watch-header .icon-button{border:0;background:#2f2739;width:36px;height:36px}.video-stage{background:#000;position:relative;min-height:160px}.video-stage video{display:block;width:100%;max-height:53dvh;aspect-ratio:16/9}.watch-info{padding:24px 26px 26px}.watch-info h2{margin-top:8px;font-size:24px}.watch-info>p:not(.eyebrow){font-size:12px;color:#bfb3cb;margin-top:8px;line-height:1.8}.watch-actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}.watch-actions>a{color:var(--accent);font-size:11px;margin-left:auto}.watch-info p.storage-note{font-size:10px;color:#a696b7}.video-error{position:absolute;inset:0;background:#16111eef;text-align:center;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.video-error>i{color:var(--accent)}.video-error p{font-size:12px;color:var(--muted)}.video-error .primary{margin-top:8px}.next-video{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.next-video>span{font-size:10px;color:#ae9bbf;display:block;margin-bottom:10px}.next-video>button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#241d2d;border-radius:8px;padding:9px}.next-video img{width:90px;aspect-ratio:16/9;object-fit:cover;border-radius:5px}.next-video strong{font-size:12px;font-weight:500}.next-video small{color:#b09dc0;display:block;font-size:9px}.next-video i{margin-left:auto;margin-right:10px}.about-dialog{max-width:360px;text-align:center;padding:38px 26px}.about-dialog>.icon-button{position:absolute;top:9px;right:9px;width:32px;height:32px}.about-icon{font-size:48px;color:var(--accent)}.about-dialog h2{font-size:23px}.about-dialog p{font-size:12px;color:var(--muted);margin:12px 0 24px}.toast{position:fixed;bottom:26px;left:calc(50% + 112px);transform:translate(-50%,12px);background:#e6d9fc;color:#292030;padding:11px 20px;border-radius:9px;max-width:calc(100% - 28px);text-align:center;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 6px 25px #0005}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){main{padding-top:42px}.hero{height:470px}.hero-content{padding-top:35px}.hero h2{font-size:44px}.hero-description{font-size:13px}.hero-actions{margin-top:23px}.hero-bottom{bottom:25px}.thumbnail{aspect-ratio:16/10}.card-title{font-size:14px}.card-meta{font-size:11px}}
@media(max-width:1180px){.sidebar{width:192px;padding-left:16px;padding-right:16px}.brand{font-size:20px}.brand-icon{font-size:32px}.workspace{margin-left:192px}.topbar{padding:0 28px}main{padding:28px 28px 0}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.thumbnail{aspect-ratio:16/9}.card-title{font-size:14px}.card-meta{font-size:11px}.toast{left:calc(50% + 96px)}.side-footer{font-size:7px}.hero h2{font-size:34px}.hero{height:400px}.bottom-banner{padding:21px 20px;gap:16px}.bottom-banner h2{font-size:16px}.bottom-banner div>span{font-size:9px}.footer-caption{display:none}}
@media(max-width:850px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:75px}.mobile-brand{display:flex}.breadcrumb{display:none}.search{max-width:310px}.mobile-nav{display:flex;position:fixed;inset:auto 0 0;background:#17131efa;border-top:1px solid #42324f;padding:5px 12px max(5px,env(safe-area-inset-bottom));z-index:20;backdrop-filter:blur(20px);justify-content:space-around}.mobile-nav button{min-height:56px;min-width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#a89ab7;background:none;border-radius:8px;font-size:9px}.mobile-nav .active{color:#d1b4ff}.mobile-nav button.active i{background:#332541;width:40px;height:27px;border-radius:7px}.mobile-nav svg{width:19px;height:19px}body{padding-bottom:77px}.toast{left:50%;bottom:90px}.hero{height:420px}.hero h2{font-size:38px}.hero-content{padding-top:21px}}
@media(max-width:540px){.topbar{height:auto;min-height:123px;flex-wrap:wrap;gap:12px;padding:17px 20px 14px;border-bottom-color:#28232f}.brand{font-size:22px}.brand-icon{font-size:33px}.avatar{margin-left:auto;width:32px;height:32px;font-size:12px}.search{order:3;flex-basis:100%;max-width:none;width:100%;min-height:40px;margin:0}.search input{font-size:11px}.search kbd{display:none}main{padding:25px 18px 0}.welcome{margin-bottom:22px}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:27px;letter-spacing:-1.1px;margin-top:9px}.welcome-text{font-size:11px;margin-top:5px}.edition{display:none}.hero{height:424px;border-radius:12px}.hero-img{object-position:62% 35%;height:100%;opacity:.88}.hero-shade{background:linear-gradient(0deg,#100d16 2%,#100d16ee 26%,#100d1677 60%,#100d161a),linear-gradient(90deg,#100d1633,transparent)}.hero-top{padding:18px}.hero-tag{font-size:9px;padding:4px 8px}.hero-index{font-size:10px}.hero-content{position:absolute;left:0;right:0;bottom:60px;padding:0 21px}.hero h2{font-size:30px;letter-spacing:-.9px;line-height:1.4}.hero-kicker{font-size:8px;margin-bottom:10px;letter-spacing:2px}.hero-description{font-size:10px;line-height:1.8;margin-top:10px}.hero-actions{margin-top:19px;gap:9px}.primary{min-height:44px;padding:10px 20px;font-size:12px}.hero-duration{font-size:9px;margin-left:2px}.hero-duration>span{margin:0 3px}.hero-bottom{bottom:20px;left:21px;right:21px}.hero-bottom>span:first-child{font-size:8px;letter-spacing:2px}.hero-bottom b{font-size:6px;margin-left:5px}.hero-dots{gap:4px}.hero-dots b{width:17px}.catalog{padding-top:29px}.catalog-top{align-items:flex-end;gap:8px}.catalog h2{font-size:19px;letter-spacing:-.8px;line-height:1.55}.catalog h2>span{display:block;font-size:13px;letter-spacing:0;margin-top:1px}.eyebrow.small{font-size:6px;letter-spacing:1px}.sort select{font-size:9px;padding:7px 19px 7px 8px;max-width:136px;min-height:38px}.categories{gap:7px;overflow-x:auto;scrollbar-width:none;margin:18px -18px 19px;padding:0 18px}.categories::-webkit-scrollbar{display:none}.chip{min-height:40px;padding:7px 12px;font-size:10px;flex-shrink:0}.chip svg{width:13px;height:13px}.video-grid{gap:22px 13px}.thumbnail{aspect-ratio:16/11;border-radius:8px}.card-title{font-size:11px;line-height:1.8;padding-top:8px}.card-meta{font-size:8px;flex-wrap:wrap;gap:2px}.duration{bottom:7px;right:7px;font-size:8px;padding:0 4px}.thumb-label{top:8px;left:8px;font-size:6px;padding:3px 4px}.card-save{top:0;right:0}.card-save svg{width:15px;height:15px}.bottom-banner{padding:19px 18px;gap:12px;flex-wrap:wrap;margin-top:29px}.banner-symbol{width:25px;font-size:31px}.bottom-banner p{font-size:6px;letter-spacing:1.2px}.bottom-banner h2{font-size:14px}.bottom-banner h2 span{font-size:12px}.bottom-banner div>span{font-size:8px}.bottom-banner>.outline{margin:4px 0 0 37px;font-size:10px;min-height:40px}.footer{margin-top:26px;gap:16px;padding:22px 0}.footer-brand{font-size:14px}.footer p{font-size:7px}.empty{padding:34px 10px}.empty h3{font-size:17px}.empty p{font-size:11px}dialog{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0}.watch-header{padding:12px 16px}.video-stage video{max-height:45dvh;aspect-ratio:16/10}.watch-info{padding:22px 20px}.watch-info h2{font-size:21px}.watch-info>p:not(.eyebrow){font-size:11px}.watch-actions{gap:8px}.watch-actions .outline{font-size:10px;padding:9px 12px}.watch-actions>a{font-size:10px}.about-dialog{max-width:340px;height:auto;width:calc(100% - 36px);margin:auto;border:1px solid var(--line);border-radius:14px}.next-video strong{font-size:11px}.toast{font-size:11px;width:max-content}.video-error{padding:16px}.video-error h3{font-size:15px}.video-error p{font-size:10px}}
@media(max-width:360px){.hero-duration{display:none}.hero h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
