@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root {
  --font-general-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-space-mono: 'Space Mono', monospace;
  --accent: #ff6b00;
  --accent-glow: rgba(255, 107, 0, 0.22);
  --accent-hover: #ea580c;
  --accent-soft: rgba(255, 107, 0, 0.12);
}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}}:root{--bg:#050506;--panel:#0b0b0d;--panel-2:#101013;--text:#f4f5f7;--gray:#8a8d93;--gray-dim:#5a5d63;--line:#ffffff14;--line-soft:#ffffff0d;--maxw:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-general-sans),-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.55;position:relative;overflow-x:hidden}.bg-anim{z-index:-2;pointer-events:none;background:radial-gradient(58% 46% at 50% -4%,#ced2e047,#787c8c0f 36%,#0000 62%),radial-gradient(80% 50% at 50% 116%,#2628328c,#0000 60%),#050506;position:fixed;inset:0;overflow:hidden}.bg-anim:before{content:"";will-change:opacity,transform;filter:blur(10px);background:radial-gradient(#ffffff2b,#ffffff0d 40%,#0000 64%);width:min(880px,110vw);height:820px;animation:9s ease-in-out infinite spot;position:absolute;top:-40%;left:50%;transform:translate(-50%)}@keyframes spot{0%,to{opacity:.74;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.04)}}.bg-anim span{filter:blur(120px);opacity:.4;will-change:transform;border-radius:50%;position:absolute;transform:translate(0)}.bg-anim .b1{background:radial-gradient(circle,#46485680,#0000 70%);width:560px;height:560px;animation:30s ease-in-out infinite orb1;top:20%;left:-160px}.bg-anim .b2{background:radial-gradient(circle,#30323e8c,#0000 70%);width:520px;height:520px;animation:34s ease-in-out infinite orb2;bottom:-180px;right:-140px}@keyframes orb1{0%,to{transform:translate(0)}50%{transform:translate(70px,54px)}}@keyframes orb2{0%,to{transform:translate(0)}50%{transform:translate(-64px,-44px)}}.bg-beams{z-index:-2;pointer-events:none;position:fixed;inset:-22%;overflow:hidden}.bg-beams span{filter:blur(34px);mix-blend-mode:screen;will-change:transform;background:linear-gradient(90deg,#0000 0%,#ffffff12 30%,#ffffff24 50%,#ffffff12 70%,#0000 100%);width:134%;position:absolute;left:-12%;transform:rotate(-32deg)}.bg-beams .m1{height:170px;animation:26s ease-in-out infinite alternate beamA;top:10%}.bg-beams .m2{opacity:.65;height:110px;animation:34s ease-in-out infinite alternate beamB;top:30%}.bg-beams .m3{opacity:.35;height:80px;animation:46s ease-in-out infinite alternate-reverse beamA;top:52%}@keyframes beamA{0%{transform:rotate(-32deg)translate(-6%)}to{transform:rotate(-32deg)translate(7%)}}@keyframes beamB{0%{transform:rotate(-32deg)translate(6%)}to{transform:rotate(-32deg)translate(-7%)}}.bg-grid{z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(130% 105% at 50% 18%,#000 52%,#0000 100%);mask-image:radial-gradient(130% 105% at 50% 18%,#000 52%,#0000 100%)}.cursor-light{z-index:-1;pointer-events:none;opacity:0;will-change:transform;background:radial-gradient(circle,#ffffff0d,#0000 62%);width:540px;height:540px;transition:opacity .8s;position:fixed;top:0;left:0}.cursor-light.on{opacity:1}@media (pointer:coarse){.cursor-light{display:none}}.rv{opacity:0;transform:translateY(18px)}.rv-in{opacity:1;transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1);transform:translateY(0)}.app-frame{pointer-events:none;z-index:60;border:1px solid #ffffff17;border-radius:26px;position:fixed;inset:14px;box-shadow:inset 0 1px #ffffff0d,0 0 0 1px #0006}@media (max-width:640px){.app-frame{border-radius:20px;inset:8px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}.skel{background:linear-gradient(90deg,var(--panel) 25%,var(--panel-2) 37%,var(--panel) 63%);background-size:400px 100%;border-radius:12px;animation:1.6s ease-in-out infinite shimmer}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.page-enter,.stagger,.grid .card{animation:.5s cubic-bezier(.2,.7,.3,1) both fadeInUp}.grid .card:first-child{animation-delay:20ms}.grid .card:nth-child(2){animation-delay:70ms}.grid .card:nth-child(3){animation-delay:.12s}.grid .card:nth-child(4){animation-delay:.17s}.grid .card:nth-child(5){animation-delay:.22s}.grid .card:nth-child(6){animation-delay:.27s}.shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}.pill,.card,.arrow,.btn-complete,.iconbtn{transition-property:transform,box-shadow,background-color,border-color,opacity;transition-duration:.24s;transition-timing-function:cubic-bezier(.2,.7,.3,1)}.pill:active{transform:translateY(0)scale(.97)}.card:not(.locked):active{transform:translateY(-1px)scale(.99)}.btn-complete:active{transform:translateY(0)scale(.97)}.iconbtn:active{transform:scale(.92)}.play-btn{transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s}.play-btn:active{transform:scale(.96)}.mono{font-family:var(--font-space-mono),monospace}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.cap{letter-spacing:.24em;text-transform:uppercase;font-size:11px}.gloss{-webkit-text-fill-color:transparent;color:#0000;background:linear-gradient(#fff 0% 42%,#9a9da3 100%);-webkit-background-clip:text;background-clip:text}.pill{color:#0a0a0b;letter-spacing:.14em;text-transform:uppercase;background:#fff;border-radius:100px;align-items:center;gap:10px;padding:16px 34px;font-size:13px;font-weight:600;transition:all .22s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 #fff0}.pill:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000,#00000012,#0000);width:50%;height:100%;transition:left .7s cubic-bezier(.2,.7,.3,1);position:absolute;top:0;left:-75%;transform:skew(-20deg)}.pill:hover:before{left:125%}.pill:hover{transform:translateY(-2px);box-shadow:0 12px 40px #ffffff2e}.pill.ghost{color:var(--text);border:1px solid var(--line);box-shadow:none;background:0 0}.pill.ghost:before{background:linear-gradient(120deg,#0000,#ffffff24,#0000)}.pill.ghost:hover{box-shadow:none;background:#ffffff0d;transform:translateY(-1px)}.mark{flex-shrink:0;width:26px;height:26px}.mark path{fill:#fff}#splash{z-index:100;text-align:center;background:0 0;position:fixed;inset:0}#splash .stage{flex-direction:column;justify-content:center;align-items:center;gap:34px;padding:24px;display:flex;position:absolute;inset:0}#logo-stage{opacity:0;transition:opacity 1s cubic-bezier(.2,.7,.3,1),transform 1.1s cubic-bezier(.2,.7,.3,1);transform:scale(.82)}#logo-stage.in{opacity:1;transform:scale(1)}#logo-stage.out{opacity:0;pointer-events:none;transition:opacity .85s,transform .95s cubic-bezier(.4,0,.6,1);transform:scale(1.16)}#logo-stage .s-mark{filter:drop-shadow(0 12px 60px #ffffff24);width:128px;height:128px}#halo-stage{opacity:0;pointer-events:none;transition:opacity .9s .3s}#halo-stage.show{opacity:1;pointer-events:auto}#halo-stage h1{letter-spacing:-.04em;font-size:88px;font-weight:600;line-height:1}#halo-stage h1,#halo-stage .enter{opacity:0;transition:opacity .85s,transform .9s cubic-bezier(.2,.7,.3,1);transform:translateY(22px)}#halo-stage.show h1{opacity:1;transition-delay:.45s;transform:none}#halo-stage.show .enter{opacity:1;transition-delay:.7s;transform:none}#halo-stage .foot{color:var(--gray-dim);opacity:0;align-items:center;gap:9px;transition:opacity 1s;display:flex;position:absolute;bottom:34px}#halo-stage.show .foot{opacity:1;transition-delay:1s}#halo-stage .foot .mk{opacity:.5;width:15px;height:15px}.hidden{display:none!important}header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft);background:#050506b8;position:sticky;top:0}.head-in{max-width:var(--maxw);align-items:center;gap:14px;margin:0 auto;padding:18px 26px;display:flex}.brand-lock{align-items:center;gap:12px;display:flex}.brand-txt .l1{letter-spacing:.02em;align-items:center;gap:9px;font-size:16px;font-weight:600;line-height:1;display:flex}.brand-txt .v{font-family:var(--font-space-mono);color:var(--gray);border:1px solid var(--line);letter-spacing:.05em;border-radius:5px;padding:2px 6px;font-size:9px}.brand-txt .l2{letter-spacing:.22em;text-transform:uppercase;color:var(--gray-dim);margin-top:4px;font-size:9px}.head-sp{flex:1}.head-nav{gap:28px;margin-right:8px;display:flex}.head-nav a{letter-spacing:.16em;text-transform:uppercase;color:var(--gray);font-size:11px;font-weight:500;transition:all .2s}.head-nav a:hover,.head-nav a.on{color:#fff}.avatar{border:1px solid var(--line);width:38px;height:38px;color:var(--gray);background:#141416;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:border-color .2s;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.iconbtn{border:1px solid var(--line);background:0 0;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.iconbtn:hover{background:#ffffff0d}.profile-menu-wrap{position:relative}.avatar-btn{cursor:pointer;color:var(--gray);background:0 0;border:none;align-items:center;gap:6px;padding:2px;display:flex}.avatar-btn:hover .avatar,.avatar-btn.on .avatar{border-color:#fff6}.avatar-chev{transition:transform .28s cubic-bezier(.2,.7,.3,1)}.avatar-chev.up{transform:rotate(180deg)}.profile-menu{background:var(--panel);border:1px solid var(--line);opacity:0;transform-origin:100% 0;pointer-events:none;z-index:70;border-radius:16px;min-width:200px;padding:8px;transition:opacity .22s cubic-bezier(.2,.7,.3,1),transform .22s cubic-bezier(.2,.7,.3,1);position:absolute;top:calc(100% + 12px);right:0;transform:translateY(-8px)scale(.96);box-shadow:0 20px 48px -12px #0009}.profile-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.profile-menu a,.profile-menu button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:13.5px;transition:background-color .16s;display:flex}.profile-menu a:hover,.profile-menu button:hover{background:#ffffff0f}.profile-menu svg{color:var(--gray);flex-shrink:0}.profile-menu button.danger,.profile-menu button.danger svg{color:#ff8080}.notif-wrap{align-items:center;display:flex;position:relative}.notif-btn{cursor:pointer;width:38px;height:38px;color:var(--gray);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;transition:all .18s;display:flex;position:relative}.notif-btn:hover,.notif-btn.on{color:var(--text);border-color:var(--line);background:#ffffff0d}.notif-badge{color:#fff;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--bg,#0a0a0b);background:#e5484d;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:700;display:flex;position:absolute;top:2px;right:1px}.notif-panel{background:var(--panel);border:1px solid var(--line);opacity:0;transform-origin:100% 0;pointer-events:none;z-index:70;border-radius:16px;width:340px;max-width:calc(100vw - 32px);transition:opacity .22s cubic-bezier(.2,.7,.3,1),transform .22s cubic-bezier(.2,.7,.3,1);position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;transform:translateY(-8px)scale(.96);box-shadow:0 20px 48px -12px #0009}.notif-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.notif-head{border-bottom:1px solid var(--line-soft);padding:14px 16px;font-size:14px;font-weight:600}.notif-list{max-height:min(440px,70vh);overflow-y:auto}.notif-empty{text-align:center;color:var(--gray-dim);padding:28px 16px;font-size:13px}.notif-item{border-bottom:1px solid var(--line-soft);padding:14px 16px;position:relative}.notif-item:last-child{border-bottom:none}.notif-item.new{background:#4c8dff0f}.notif-item.new:before{content:"";background:#4c8dff;border-radius:50%;width:6px;height:6px;position:absolute;top:19px;left:6px}.notif-item-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.notif-title{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.35}.notif-time{color:var(--gray-dim);font-size:10.5px;font-family:var(--font-space-mono),monospace;flex-shrink:0}.notif-body{color:var(--gray);white-space:pre-wrap;margin-top:5px;font-size:12.5px;line-height:1.55}.notif-link{color:#4c8dff;align-items:center;gap:5px;margin-top:9px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.notif-link:hover{text-decoration:underline}@media (max-width:620px){.notif-panel{right:-40px}}.wrap{max-width:var(--maxw);margin:0 auto;padding:56px 26px 100px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.page-head h1{letter-spacing:-.03em;margin-bottom:12px;font-size:46px;font-weight:600;line-height:1.05}.page-head p{color:var(--gray);font-size:15px}.hero-eyebrow{font-family:var(--font-space-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--gray);border:1px solid var(--line);background:#ffffff05;border-radius:100px;align-items:center;gap:9px;margin-bottom:18px;padding:8px 15px;font-size:10px;animation:.6s cubic-bezier(.2,.7,.3,1) both fadeInUp;display:inline-flex}.hero-eyebrow .dot{background:#fff;border-radius:50%;width:5px;height:5px;animation:2.4s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;box-shadow:0 0 #ffffff73}50%{opacity:.55;box-shadow:0 0 0 6px #fff0}}.page-head .hero-title{letter-spacing:-.03em;margin-bottom:14px;font-size:56px;font-weight:600;line-height:1.04}.hero-title .w{-webkit-text-fill-color:transparent;color:#0000;background:linear-gradient(110deg,#fff 25%,#84878d 42%,#fff 58%) 0 0/250%;-webkit-background-clip:text;background-clip:text;margin-right:.22em;animation:.9s cubic-bezier(.2,.7,.3,1) both wordIn,7s linear 1.2s infinite sheen;display:inline-block}.hero-title .w:last-child{margin-right:0}@keyframes wordIn{0%{opacity:0;filter:blur(12px);transform:translateY(26px)}to{opacity:1;filter:blur();transform:none}}@keyframes sheen{to{background-position:-250%}}.hero-sub{max-width:46ch;animation:.7s cubic-bezier(.2,.7,.3,1) .28s both fadeInUp}.counter{font-family:var(--font-space-mono);color:var(--gray);white-space:nowrap;align-items:center;gap:14px;font-size:14px;display:flex}.counter .track{background:var(--line);width:90px;height:1px;position:relative}.counter .track i{background:#fff;width:33%;height:1px;position:absolute;top:0;left:0}.counter .now{color:#fff}.grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.card{background:var(--panel);border:1px solid var(--line);text-align:left;width:100%;min-height:290px;transform-style:preserve-3d;will-change:transform;border-radius:20px;flex-direction:column;padding:26px;transition:transform .26s cubic-bezier(.2,.7,.3,1),border-color .26s,background-color .26s,box-shadow .26s;display:flex;position:relative;overflow:hidden}.card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),#ffffff1a,transparent 60%);border-radius:20px;transition:opacity .3s;position:absolute;inset:0}.card:not(.locked):hover{background:var(--panel-2);border-color:#ffffff38;box-shadow:0 24px 48px -20px #0009}.card:not(.locked):hover:after{opacity:1}.card:focus-visible{outline-offset:3px;outline:2px solid #fff}.card-top{justify-content:space-between;align-items:flex-start;margin-bottom:auto;display:flex}.c-icon{border:1px solid var(--line);width:52px;height:52px;color:var(--text);border-radius:13px;justify-content:center;align-items:center;display:flex}.c-icon svg{width:24px;height:24px}.c-num{font-family:var(--font-space-mono);color:var(--gray-dim);font-size:13px}.badge{font-family:var(--font-space-mono);letter-spacing:.08em;color:#fff;text-transform:uppercase;background:#2557ff;border-radius:6px;padding:4px 9px;font-size:9px;font-weight:700}.card h3{letter-spacing:-.02em;margin:26px 0 8px;font-size:22px;font-weight:600}.card .desc{color:var(--gray);font-size:13.5px;line-height:1.5}.card-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-top:22px;padding-top:20px;display:flex}.card-foot .lbl{letter-spacing:.18em;text-transform:uppercase;color:var(--gray);font-size:11px;font-weight:500}.arrow{border:1px solid var(--line);width:44px;height:44px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .24s;display:flex}.card:not(.locked):hover .arrow,.arrow.solid{color:#0a0a0b;background:#fff;border-color:#fff}.card.locked{opacity:.5}.card.locked .arrow{color:var(--gray-dim)}.card.paywalled{opacity:.8}.card.paywalled .arrow{color:var(--gray-dim)}.card.coming-soon{opacity:.78;cursor:not-allowed;border-style:dashed;border-color:#ffffff24}.card.coming-soon .c-icon{color:var(--gray);border-style:dashed}.card.coming-soon:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#0000 0 8px,#ffffff06 8px 9px);border-radius:20px;position:absolute;inset:0}.soon-lock{width:34px;height:34px;color:var(--gray-dim);flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge-soon{font-family:var(--font-space-mono);letter-spacing:.1em;text-transform:uppercase;color:#ff5b5b;background:#ff5b5b1a;border:1px solid #ff5b5b66;border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:9px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.badge-soon-dot{background:#ff5b5b;border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:1.8s ease-in-out infinite soonPulse;box-shadow:0 0 6px #ff5b5be6}.badge-soon:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 25%,#ff5b5b6b 50%,#0000 75%);animation:2.8s ease-in-out infinite soonShimmer;position:absolute;inset:0;transform:translate(-130%)}@keyframes soonShimmer{0%{transform:translate(-130%)}55%,to{transform:translate(130%)}}@keyframes soonPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.back{color:var(--gray);align-items:center;gap:8px;margin-bottom:30px;font-size:13px;font-weight:500;display:inline-flex}.back:hover{color:var(--text)}.detail-grid{grid-template-columns:360px 1fr;align-items:start;gap:32px;display:grid}.course-side{position:sticky;top:110px}.cs-hero{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden}.cs-cover{aspect-ratio:16/10;border-bottom:1px solid var(--line-soft);background:radial-gradient(120% 130% at 70% 15%,#26272c,#0a0a0c);justify-content:center;align-items:center;display:flex;position:relative}.cs-cover .c-icon{width:64px;height:64px}.cs-cover .c-icon svg{width:30px;height:30px}.cs-cover .wm{font-family:var(--font-space-mono);letter-spacing:.14em;color:var(--gray-dim);font-size:10px;position:absolute;top:14px;left:16px}.cs-body{padding:24px}.cs-body .cap{color:var(--gray-dim);margin-bottom:10px}.cs-body h2{letter-spacing:-.02em;margin-bottom:20px;font-size:22px;font-weight:600;line-height:1.2}.pbar{background:#ffffff14;border-radius:99px;height:5px;overflow:hidden}.pbar i{background:#fff;border-radius:99px;height:100%;transition:width .7s cubic-bezier(.2,.7,.3,1);display:block}.pct{font-family:var(--font-space-mono);color:var(--gray);justify-content:space-between;margin-top:11px;font-size:12px;display:flex}.desc-panel{color:var(--gray);max-width:60ch;margin-bottom:34px;font-size:15px;line-height:1.7}.sec-title{letter-spacing:.2em;text-transform:uppercase;color:var(--gray-dim);margin-bottom:18px;font-size:13px}.next-lesson{background:var(--panel);border:1px solid #ffffff29;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:22px 24px;display:flex}.next-lesson .nl-lbl{letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:6px;font-size:11px}.next-lesson .nl-title{letter-spacing:-.01em;font-size:16px;font-weight:600}.lesson-list{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.lrow{border-bottom:1px solid var(--line-soft);color:var(--gray);align-items:center;gap:16px;padding:17px 22px;font-size:14.5px;transition:background-color .2s,color .2s;display:flex;position:relative;overflow:hidden}.lrow:last-child{border-bottom:none}.lrow:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#ffffff0f,transparent 60%);transition:opacity .3s;position:absolute;inset:0}.lrow:hover{color:var(--text);background:#ffffff08}.lrow:hover:after{opacity:1}.lrow .ic{width:20px;height:20px;color:var(--gray-dim);flex-shrink:0}.lrow.done .ic{color:#fff}.lrow .t{flex:1}.lrow .d{font-family:var(--font-space-mono);color:var(--gray-dim);font-size:12px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.gallery-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;display:block;overflow:hidden}.gallery-card:hover{background:var(--panel-2);border-color:#fff3}.gallery-thumb{aspect-ratio:4/5;background:radial-gradient(130% 120% at 55% 10%,#1c1d21,#0a0a0c);position:relative;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gallery-thumb-empty{width:100%;height:100%}.gallery-play{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 4px 14px #00000059}.gallery-done{background:#2557ff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:12px;right:12px}.gallery-title{color:var(--text);letter-spacing:-.01em;padding:14px 16px;font-size:13.5px;font-weight:600}.tool-card .gallery-thumb{aspect-ratio:16/10;background:radial-gradient(120% 140% at 50% 0,#1c1d21,#0a0a0c)}.tool-card .gallery-thumb img{transition:transform .4s cubic-bezier(.2,.7,.3,1)}.tool-card:hover .gallery-thumb img{transform:scale(1.06)}.tool-card .gallery-thumb:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(#0000 55%,#0505068c);transition:opacity .3s;position:absolute;inset:0}.tool-card:hover .gallery-thumb:after{opacity:1}.tool-open{color:#0a0a0b;z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .28s cubic-bezier(.2,.7,.3,1);display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 14px #00000059}.tool-card:hover .tool-open{transform:translate(3px,-3px)}.tool-card .gallery-title{padding-bottom:6px}.tool-host{font-family:var(--font-space-mono),monospace;letter-spacing:.04em;color:var(--gray-dim);align-items:center;gap:7px;padding:0 16px 14px;font-size:10.5px;display:flex}.tool-host .dot{background:#3fb950;border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:2.4s ease-in-out infinite pulseDot;box-shadow:0 0 6px #3fb95099}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.lesson-top{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.lesson-top .cap{color:var(--gray-dim);margin-bottom:12px}.lesson-top h1{letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1.15}.lesson-layout{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.lesson-layout>div:first-child{min-width:0}.player{aspect-ratio:16/9;border:1px solid var(--line);background:radial-gradient(130% 120% at 55% 10%,#1c1d21,#0a0a0c);border-radius:20px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.play-btn{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:82px;height:82px;transition:all .2s;display:flex;box-shadow:0 14px 50px #fff3}.play-btn:hover{transform:scale(1.06)}.play-btn svg{margin-left:5px}.lnav{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:10px;position:sticky;top:110px}.lnav .lh{padding:18px 16px 8px}.lnav .lh .cap{color:var(--gray-dim)}.lnav .lh h3{margin-top:8px;font-size:16px;font-weight:600}.lnav .prog{padding:0 16px 14px}.lnav .prog .pbar{margin-top:12px}.li{color:var(--gray);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:13.5px;line-height:1.4;transition:background-color .2s,color .2s,border-color .2s;display:flex}.li:hover{background:#ffffff08}.li.cur{color:var(--text);border:1px solid var(--line);background:#ffffff0f}.li .ic{flex-shrink:0;width:17px;height:17px}.li.cur .ic{color:#fff}.li .cur-b{font-family:var(--font-space-mono);letter-spacing:.06em;color:#0a0a0b;text-transform:uppercase;background:#fff;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:9px}.btn-complete{color:#0a0a0b;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:#fff;border-radius:100px;flex-shrink:0;align-items:center;gap:9px;padding:14px 26px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-complete:hover{transform:translateY(-2px);box-shadow:0 12px 40px #ffffff2e}.lesson-article{background:var(--panel);border:1px solid var(--line);color:#dedfe3;border-radius:20px;padding:32px;font-size:15.5px;line-height:1.85}.lesson-article+.lesson-article,.player+.lesson-article{margin-top:20px}.lesson-article p{margin-bottom:18px}.lesson-article p:last-child{margin-bottom:0}.lesson-article.standalone{padding:40px}.lesson-article h1,.lesson-article h2,.lesson-article h3{color:var(--text);letter-spacing:-.02em;margin:28px 0 14px;font-weight:600;line-height:1.3}.lesson-article h1:first-child,.lesson-article h2:first-child,.lesson-article h3:first-child{margin-top:0}.lesson-article h1{font-size:26px}.lesson-article h2{font-size:21px}.lesson-article h3{font-size:17px}.lesson-article strong{color:var(--text);font-weight:600}.lesson-article ul{margin:0 0 18px;padding-left:22px;list-style:outside}.lesson-article ol{margin:0 0 18px;padding-left:22px;list-style:decimal}.lesson-article li{list-style:inherit;margin-bottom:8px;display:list-item}.lesson-article a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.lesson-article img.zoomable{object-fit:contain;border:1px solid var(--line);background:var(--panel-2);cursor:zoom-in;border-radius:14px;width:auto;max-width:100%;height:auto;max-height:420px;margin:20px 0;transition:border-color .2s,transform .2s;display:block}.lesson-article img.zoomable:hover{border-color:#ffffff3d;transform:scale(1.01)}@media (max-width:620px){.lesson-article img.zoomable{max-height:300px}}.zoom-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;background:#050506e6;justify-content:center;align-items:center;padding:32px;animation:.2s cubic-bezier(.2,.7,.3,1) both fadeInUp;display:flex;position:fixed;inset:0}.zoom-overlay img{object-fit:contain;cursor:default;border-radius:10px;max-width:100%;max-height:100%;box-shadow:0 24px 64px #0009}.zoom-close{border:1px solid var(--line);color:#fff;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:background-color .18s;display:flex;position:fixed;top:24px;right:24px}.zoom-close:hover{background:#ffffff29}@media (max-width:620px){.zoom-overlay{padding:16px}.zoom-close{top:14px;right:14px}}.lesson-article code{background:var(--panel-2);font-family:var(--font-space-mono),monospace;border-radius:5px;padding:2px 6px;font-size:.9em}.lesson-article pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.lesson-article .table-wrap{border:1px solid var(--line);border-radius:14px;margin:20px 0;overflow-x:auto}.lesson-article table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}.lesson-article thead{background:var(--panel-2)}.lesson-article th{text-align:left;color:var(--text);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-weight:600}.lesson-article td{border-bottom:1px solid var(--line-soft);color:#dedfe3;vertical-align:top;padding:12px 16px}.lesson-article tr:last-child td{border-bottom:none}.lesson-article td+td,.lesson-article th+th{border-left:1px solid var(--line-soft)}.lesson-article del{opacity:.6}.prompt-block{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;margin:20px 0;overflow:hidden}.prompt-block-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.prompt-block-head span{font-family:var(--font-space-mono),monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-dim);font-size:10px}.prompt-block-head button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:600;transition:all .18s;display:flex}.prompt-block-head button:hover{background:#ffffff0f}.prompt-block-head button.copied{color:#3fb950;border-color:#3fb95066}.prompt-block pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-space-mono),monospace;color:#dedfe3;margin:0;padding:16px;font-size:13.5px;line-height:1.7}#auth{z-index:90;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.auth-card{text-align:center;width:100%;max-width:410px}.auth-logo{filter:drop-shadow(0 8px 40px #ffffff1f);width:50px;height:50px;margin:0 auto 26px}.auth-card h1{letter-spacing:-.03em;margin-bottom:10px;font-size:28px;font-weight:600}.auth-card p{color:var(--gray);margin-bottom:28px;font-size:14px;line-height:1.6}.auth-card p b{color:var(--text);font-weight:500}.field{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:12px;margin-bottom:14px;padding:16px 18px;transition:all .18s;display:flex}.field:focus-within{background:var(--panel-2);border-color:#ffffff52}.field .fic{color:var(--gray);flex-shrink:0}.field input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.field input::placeholder{color:var(--gray-dim)}.pw-toggle{color:var(--gray-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:color .18s;display:flex}.pw-toggle:hover{color:var(--text)}.pw-plain-wrap{position:relative}.pw-plain-wrap input{padding-right:44px!important}.pw-plain-wrap .pw-toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-btn{justify-content:center;width:100%;margin-top:6px}.auth-row{justify-content:space-between;align-items:center;margin:2px 0 18px;font-size:13px;display:flex}.auth-row label{color:var(--gray);cursor:pointer;align-items:center;gap:7px;display:flex}.auth-row input[type=checkbox]{accent-color:#fff;cursor:pointer;width:15px;height:15px}.auth-row .forgot{color:var(--gray);text-underline-offset:3px;cursor:pointer;text-decoration:underline}.auth-row .forgot:hover{color:var(--text)}.auth-hint{color:var(--gray-dim);margin-top:20px;font-size:12.5px;line-height:1.6}.auth-hint a{color:var(--gray);text-underline-offset:3px;cursor:pointer;text-decoration:underline}.auth-hint a:hover{color:var(--text)}.otp{justify-content:center;gap:9px;margin-bottom:22px;display:flex}.otp input{text-align:center;width:50px;height:60px;font-size:24px;font-weight:600;font-family:var(--font-general-sans),sans-serif;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:13px;outline:none;transition:all .15s}.otp input:focus{background:var(--panel-2);border-color:#fff}.admin-row{align-items:center;gap:14px;padding:16px 20px;transition:background-color .2s;display:flex;position:relative;overflow:hidden}.admin-row:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#ffffff0f,transparent 60%);transition:opacity .3s;position:absolute;inset:0}.admin-row:hover{background:#ffffff08}.admin-row:hover:after{opacity:1}.admin-row .grow{flex:1;min-width:0}.admin-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-actions .iconbtn{border-radius:8px;width:34px;height:34px;font-size:14px}.member-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;display:grid}.member-stats .stat-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px}.member-stats .stat-num{letter-spacing:-.02em;color:var(--text);font-size:30px;font-weight:600;line-height:1}.member-stats .stat-num.up{color:#3fb950}.member-stats .stat-lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-dim);margin-top:9px;font-size:10.5px}.member-daily{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-bottom:24px;padding:18px 20px}.member-daily-title{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-dim);margin-bottom:14px;font-size:10.5px}.member-daily-strip{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.mday{background:var(--panel-2);border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;display:flex}.mday.today{background:#3fb9500f;border-color:#3fb95059}.mday-count{color:var(--gray);font-size:18px;font-weight:600}.mday-count.up{color:#3fb950}.mday-label{color:var(--gray-dim);white-space:nowrap;text-align:center;font-size:10px}@media (max-width:620px){.member-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.member-stats .stat-num{font-size:22px}.member-stats .stat-card{padding:14px}.member-daily-strip{gap:5px}.mday-count{font-size:15px}.mday-label{font-size:8.5px}}.admin-form{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-bottom:24px;padding:24px}.admin-form label{letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-top:18px;margin-bottom:8px;font-size:11px;display:block}.admin-form label:first-child{margin-top:0}.admin-form input[type=text],.admin-form input[type=password],.admin-form input[type=email],.admin-form input[type=tel],.admin-form input[type=date],.admin-form input:not([type]),.admin-form textarea,.admin-form select{background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px}.admin-form textarea{resize:vertical;min-height:80px}.admin-form .checkline{align-items:center;gap:8px;margin-top:18px;display:flex}.admin-form .checkline input{width:auto}.admin-form .checkline label{margin:0}.admin-form .actions{gap:10px;margin-top:22px;display:flex}.danger{color:#e5726b}.md-toolbar{gap:6px;margin-bottom:8px;display:flex}.md-toolbar button{background:var(--panel-2);border:1px solid var(--line);width:32px;height:32px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:all .18s;display:flex}.md-toolbar button:hover{background:#ffffff14}.md-toolbar button:disabled{opacity:.5;cursor:default}.md-sep{background:var(--line);width:1px;margin:4px 2px}.md-editor-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;margin-bottom:4px;display:grid}.admin-form textarea.md-textarea{min-height:460px}.md-preview-pane{position:sticky;top:110px}.md-preview-label{letter-spacing:.16em;text-transform:uppercase;color:var(--gray-dim);margin-bottom:10px;font-size:11px}.md-preview-empty{border:1px dashed var(--line);color:var(--gray-dim);text-align:center;border-radius:20px;padding:28px 24px;font-size:13.5px;line-height:1.65}@media (max-width:960px){.md-editor-grid{grid-template-columns:1fr}.md-preview-pane{position:static}}.link-dialog{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:16px}.link-dialog label{color:var(--gray);letter-spacing:.02em;margin:0 0 6px;font-size:12px;display:block}.link-dialog input[type=url],.link-dialog input[type=text]{background:var(--panel);border:1px solid var(--line);width:100%;color:var(--text);border-radius:9px;margin-bottom:12px;padding:10px 12px;font-size:14px}.link-dialog input:focus{border-color:#ffffff47;outline:none}.link-hint{color:var(--gray-dim);margin:-6px 0 12px;font-size:11.5px}.link-swatches{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.link-swatches .swatch{border:1px solid var(--line);cursor:pointer;color:#0a0a0b;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:12px;font-weight:700;transition:all .15s;display:flex;position:relative}.link-swatches .swatch.on{outline-offset:2px;outline:2px solid #fff}.link-swatches .swatch.custom{color:#fff;background:linear-gradient(135deg,#4c8dff,#a371f7,#3fb950);overflow:hidden}.link-swatches .swatch.custom input{opacity:0;cursor:pointer;border:none;margin:0;padding:0;position:absolute;inset:0}.link-actions{justify-content:flex-end;gap:10px;display:flex}.link-actions .pill{padding:10px 20px;font-size:12px}.thumb-input{align-items:center;gap:14px;margin-bottom:6px;display:flex}.thumb-preview{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:110px;display:flex;overflow:hidden}.thumb-preview img{object-fit:cover;width:100%;height:100%}.thumb-actions{gap:8px;display:flex}.thumb-actions .pill{padding:9px 18px;font-size:11px}.back-link{color:var(--gray);cursor:pointer;align-items:center;gap:7px;margin-bottom:26px;font-size:13px;display:inline-flex}.back-link:hover{color:var(--text)}@media (max-width:420px){.otp input{width:44px;height:54px;font-size:21px}.otp{gap:7px}}.logo-img{object-fit:contain;display:block}.affiliate-head{margin-bottom:28px}.affiliate-head .cap{color:var(--gray-dim)}.affiliate-head h1{letter-spacing:-.03em;margin-top:12px;font-size:30px;font-weight:600;line-height:1.15}.affiliate-grid{grid-template-columns:1fr 380px;align-items:start;gap:32px;display:grid}.affiliate-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:110px}.affiliate-card-tag{font-family:var(--font-space-mono),monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-dim);background:var(--panel-2);border:1px solid var(--line);border-radius:100px;margin-bottom:14px;padding:4px 11px;font-size:10px;display:inline-block}.affiliate-card-tag.scalev{color:#3fb950;background:#3fb95014;border-color:#3fb9504d}.affiliate-form{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px}.affiliate-form h3{letter-spacing:-.01em;font-size:17px;font-weight:600}.affiliate-form-sub{color:var(--gray);margin:6px 0 20px;font-size:13px;line-height:1.55}.affiliate-form label{letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin:18px 0 8px;font-size:11px;display:block}.affiliate-form input[type=text],.affiliate-form input[type=email],.affiliate-form input[type=tel]{background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .18s}.affiliate-form input:focus{border-color:#ffffff47}.affiliate-optional{color:var(--gray-dim);text-transform:none;letter-spacing:0;font-size:11px}.affiliate-hint{color:var(--gray-dim);margin-top:8px;font-size:12px;line-height:1.5}.affiliate-submit{justify-content:center;width:100%;margin-top:24px}.affiliate-submit:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.affiliate-msg{border-radius:10px;margin-bottom:6px;padding:11px 14px;font-size:13px;line-height:1.5}.affiliate-msg.err{color:#e5726b;background:#e5726b1f;border:1px solid #e5726b59}.affiliate-msg.ok{color:#3fb950;background:#3fb9501f;border:1px solid #3fb95059}.affiliate-status{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px}.affiliate-status-badge{color:#3fb950;background:#3fb9501a;border:1px solid #3fb9504d;border-radius:100px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.affiliate-status>p{color:var(--gray);margin:16px 0;font-size:13.5px;line-height:1.6}.affiliate-status-list{flex-direction:column;gap:12px;margin:0 0 20px;display:flex}.affiliate-status-list div{flex-direction:column;gap:3px;display:flex}.affiliate-status-list dt{letter-spacing:.14em;text-transform:uppercase;color:var(--gray-dim);font-size:10.5px}.affiliate-status-list dd{color:var(--text);margin:0;font-size:14px}.affiliate-programs{flex-direction:column;gap:8px;display:flex}.affiliate-prog{color:var(--gray);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-size:12.5px}.affiliate-prog.done{color:#3fb950;border-color:#3fb9504d}.affiliate-note{color:var(--gray-dim);margin-top:16px;font-size:12px}.affiliate-scalev{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px}.affiliate-scalev h3{letter-spacing:-.01em;font-size:17px;font-weight:600}.affiliate-scalev-btn{justify-content:center;gap:8px;width:100%;margin-top:20px}@media (max-width:960px){.head-nav{display:none}.grid{grid-template-columns:1fr 1fr}.detail-grid,.lesson-layout,.affiliate-grid{grid-template-columns:1fr}.course-side,.lnav,.affiliate-side{position:static}.lnav{order:2}.lesson-layout>div:first-child{order:1}.affiliate-side{order:-1;margin-bottom:8px}}@media (max-width:620px){.wrap{padding:34px 14px 80px}.head-in{padding:15px 16px}.grid{grid-template-columns:1fr 1fr;gap:12px}.card{border-radius:16px;min-height:200px;padding:16px}.card:after{border-radius:16px}.c-icon{border-radius:11px;width:40px;height:40px}.c-icon svg{width:19px;height:19px}.card h3{margin:16px 0 6px;font-size:15px;line-height:1.25}.card .desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.card-foot{margin-top:16px;padding-top:14px}.card-foot .lbl{letter-spacing:.1em;font-size:9px}.arrow{width:34px;height:34px}.arrow svg{width:15px;height:15px}.badge{padding:3px 7px;font-size:8px}.page-head{flex-direction:column;align-items:flex-start}.page-head h1{font-size:34px}.page-head .hero-title{font-size:38px}#splash h1{font-size:60px}.lesson-top{flex-direction:column}.lesson-top h1{font-size:24px}.btn-complete{justify-content:center;width:100%}.next-lesson{flex-direction:column;align-items:stretch}}.profile-tabs{border-bottom:1px solid var(--line-soft);gap:8px;margin-bottom:28px;display:flex}.profile-tabs button{color:var(--gray);cursor:pointer;background:0 0;border:none;margin-right:22px;padding:12px 4px;font-size:13.5px;font-weight:500;transition:color .2s;position:relative}.profile-tabs button:after{content:"";background:#fff;height:2px;transition:transform .25s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.profile-tabs button:hover,.profile-tabs button.on{color:var(--text)}.profile-tabs button.on:after{transform:scaleX(1)}.profile-grid{grid-template-columns:240px 1fr;align-items:start;gap:24px;display:grid}.profile-avatar-wrap{cursor:pointer;border-radius:50%;width:140px;height:140px;margin:0 auto;position:relative;overflow:hidden}.profile-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.profile-avatar-big{width:100%;height:100%;font-size:44px}.profile-avatar-overlay{color:#fff;opacity:0;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:opacity .2s;display:flex;position:absolute;inset:0}.profile-avatar-wrap:hover .profile-avatar-overlay{opacity:1}@media (max-width:760px){.profile-grid{grid-template-columns:1fr}}.agr-overlay{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050506b8;justify-content:center;align-items:center;padding:24px;animation:.4s cubic-bezier(.2,.7,.3,1) both fadeInUp;display:flex;position:fixed;inset:0;overflow-y:auto}.agr-box{background:var(--panel);border:1px solid var(--line);border-radius:22px;width:100%;max-width:540px;margin:auto;overflow:hidden;box-shadow:0 32px 80px -20px #000c}.agr-head{border-bottom:1px solid var(--line-soft);padding:30px 32px 22px}.agr-head .cap{color:var(--gray-dim);margin-bottom:10px}.agr-head h2{letter-spacing:-.03em;margin-bottom:8px;font-size:26px;font-weight:600;line-height:1.15}.agr-head p{color:var(--gray);font-size:14px}.agr-rules{flex-direction:column;gap:20px;padding:26px 32px;display:flex}.agr-rule{align-items:flex-start;gap:14px;display:flex}.agr-num{font-family:var(--font-space-mono),monospace;color:var(--gray-dim);flex-shrink:0;min-width:20px;padding-top:2px;font-size:11px}.agr-rule-t{color:var(--text);letter-spacing:-.01em;margin-bottom:5px;font-size:14.5px;font-weight:600}.agr-rule p{color:var(--gray);font-size:13.5px;line-height:1.6}.agr-foot{border-top:1px solid var(--line-soft);background:#ffffff04;padding:22px 32px 28px}.agr-check{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.agr-check input{accent-color:#fff;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:2px}.agr-check span{color:var(--text);font-size:13.5px;line-height:1.5}.agr-err{color:#f88;margin-bottom:12px;font-size:13px}.agr-btn{justify-content:center;width:100%}.agr-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.agr-btn:disabled:before{display:none}.agr-decline{width:100%;color:var(--gray-dim);text-align:center;cursor:pointer;background:0 0;border:none;margin-top:14px;padding:4px;font-size:12.5px;transition:color .2s;display:block}.agr-decline:hover{color:var(--gray)}@media (max-width:620px){.agr-overlay{padding:14px}.agr-box{border-radius:18px}.agr-head{padding:24px 20px 18px}.agr-head h2{font-size:21px}.agr-rules{gap:17px;padding:22px 20px}.agr-foot{padding:18px 20px 22px}}.maint-orbit{justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 28px;display:flex;position:relative}.maint-core{z-index:2;filter:drop-shadow(0 0 18px #ffffff59);animation:2.4s ease-in-out infinite maintPulse;position:relative}@keyframes maintPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.maint-ring{border:1px solid var(--line);border-radius:50%;position:absolute;inset:0}.maint-ring-1{animation:7s linear infinite maintSpin}.maint-ring-1:before,.maint-ring-1:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;top:-3px;left:50%}.maint-ring-1:after{top:auto;bottom:-3px}.maint-ring-2{border-style:dashed;border-color:var(--line-soft);animation:14s linear infinite reverse maintSpin;inset:-20px}@keyframes maintSpin{to{transform:rotate(360deg)}}.maint-dot{background:var(--gray);opacity:.7;border-radius:50%;width:4px;height:4px;position:absolute}.maint-dot-1{animation:3.2s ease-in-out infinite maintFloat;top:8px;right:14px}.maint-dot-2{animation:3.6s ease-in-out .4s infinite maintFloat;bottom:12px;left:10px}.maint-dot-3{animation:2.8s ease-in-out .8s infinite maintFloat;bottom:26px;right:4px}@keyframes maintFloat{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}.maint-progress{background:#ffffff14;border-radius:99px;height:3px;margin:22px 0 4px;position:relative;overflow:hidden}.maint-progress i{background:linear-gradient(90deg,#0000,#fff,#0000);border-radius:99px;width:40%;animation:1.8s ease-in-out infinite maintSweep;position:absolute;top:0;bottom:0}@keyframes maintSweep{0%{left:-40%}to{left:100%}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.bg-anim,.bg-anim span,.bg-anim:before,.bg-beams span{animation:none!important}.card{transform:none!important}.cursor-light{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
.generalsans_76f69b24-module__OsYpDW__className{font-family:generalSans,generalSans Fallback,-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif}.generalsans_76f69b24-module__OsYpDW__variable{--font-general-sans:"generalSans", "generalSans Fallback", -apple-system, BlinkMacSystemFont, Inter, system-ui, sans-serif}
.space_mono_308c243-module__3vyQVW__className{font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal}.space_mono_308c243-module__3vyQVW__variable{--font-space-mono:"Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace}

/* Extra Enhancements for Jadiincuan.com */
.brand-lock {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.brand-logo-img {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex-shrink: 0;
}
.brand-txt .l1 {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -0.02em;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
}
.brand-txt .l1 .v {
  font-size: 10px;
  background: var(--accent-soft);
  color: var(--accent);
  border: 1px solid rgba(255, 107, 0, 0.3);
  padding: 1px 5px;
  border-radius: 4px;
  font-weight: 600;
}
.brand-txt .l2 {
  font-size: 11px;
  color: var(--gray);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Interactive dropdowns */
.notif-wrap {
  position: relative;
}
.notif-panel {
  display: none;
  opacity: 0;
  transform: translateY(-8px) scale(0.98);
  transition: opacity 0.15s ease, transform 0.15s ease;
  pointer-events: none;
}
.notif-panel.active {
  display: block;
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.profile-menu-wrap {
  position: relative;
}
.profile-menu {
  display: none;
  opacity: 0;
  transform: translateY(-8px) scale(0.98);
  transition: opacity 0.15s ease, transform 0.15s ease;
  pointer-events: none;
}
.profile-menu.active {
  display: flex;
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Search bar styling in index */
.catalog-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  gap: 16px;
  flex-wrap: wrap;
}
.catalog-search {
  position: relative;
  min-width: 280px;
  max-width: 400px;
  flex: 1;
}
.catalog-search input {
  width: 100%;
  background: var(--panel);
  border: 1px solid var(--line);
  padding: 10px 14px 10px 38px;
  border-radius: 12px;
  color: #fff;
  font-size: 13.5px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.catalog-search input:focus {
  border-color: rgba(16, 185, 129, 0.4);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.catalog-search svg {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray);
  pointer-events: none;
}
.catalog-badge {
  font-size: 12px;
  color: var(--gray);
  padding: 6px 12px;
  border-radius: 20px;
  background: var(--panel);
  border: 1px solid var(--line);
}

/* Interactive Checklist */
.checklist-box {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 20px;
  margin-top: 16px;
}
.checklist-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  cursor: pointer;
  user-select: none;
  color: #cbd5e1;
  transition: color 0.15s;
}
.checklist-item:hover {
  color: #fff;
}
.checklist-item input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--gray);
  border-radius: 5px;
  background: transparent;
  outline: none;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.checklist-item input[type="checkbox"]:checked {
  background: var(--accent);
  border-color: var(--accent);
}
.checklist-item input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.checklist-item.checked span {
  text-decoration: line-through;
  opacity: 0.6;
}

/* Toast notification */
.toast-notice {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: #101013;
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #f4f5f7;
  padding: 12px 18px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  z-index: 9999;
  opacity: 0;
  transform: translateY(12px);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.toast-notice.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Footer note */
.site-footer {
  max-width: var(--maxw);
  margin: 40px auto 20px;
  padding: 24px 26px;
  border-top: 1px solid var(--line-soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--gray-dim);
  font-size: 12.5px;
  flex-wrap: wrap;
  gap: 12px;
}
.site-footer a {
  color: var(--gray);
  text-decoration: none;
  transition: color 0.15s;
}
.site-footer a:hover {
  color: #fff;
}

/* Quick Add & Direct Modals */
.btn-quick-add {
  background: var(--accent);
  color: #ffffff;
  border: 0;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  text-decoration: none;
  transition: all 0.2s ease;
  font-family: inherit;
  flex-shrink: 0;
}
.btn-quick-add:hover {
  background: var(--accent-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px var(--accent-glow);
}

.card-add-trigger {
  border: 1.5px dashed rgba(255, 107, 0, 0.35) !important;
  background: rgba(255, 107, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 240px;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}
.card-add-trigger:hover {
  border-color: var(--accent) !important;
  background: rgba(255, 107, 0, 0.06) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 25px var(--accent-glow) !important;
}

.btn-add-lesson-row {
  width: 100%;
  background: rgba(255, 107, 0, 0.05);
  border: 1.5px dashed rgba(255, 107, 0, 0.35);
  color: var(--accent);
  font-weight: 600;
  padding: 12px 16px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  margin-top: 14px;
  font-size: 13.5px;
  font-family: inherit;
  transition: all 0.2s ease;
}
.btn-add-lesson-row:hover {
  background: rgba(255, 107, 0, 0.12);
  border-color: var(--accent);
  color: #fb923c;
  transform: translateY(-1px);
}

.lrow-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.lrow-wrap .lrow {
  flex: 1;
  margin-bottom: 0 !important;
}
.lrow-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.btn-mini-act {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: #94a3b8;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-mini-act:hover {
  background: rgba(255,255,255,0.12);
  color: #fff;
  border-color: rgba(255,255,255,0.2);
}
.btn-mini-act.danger:hover {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.4);
}

.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  z-index: 10000;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.modal-overlay.show {
  display: flex;
}
.modal-box {
  background: #141720;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  width: 100%;
  max-width: 540px;
  padding: 24px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7);
  position: relative;
}
.modal-close {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
  transition: color 0.15s;
}
.modal-close:hover {
  color: #fff;
}
.form-group {
  margin-bottom: 14px;
}
.form-group label {
  display: block;
  font-size: 12px;
  color: #94a3b8;
  margin-bottom: 6px;
  font-weight: 600;
}
.form-group input,
.form-group textarea {
  width: 100%;
  background: #0c0e14;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #fff;
  padding: 10px 12px;
  font-size: 13.5px;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.form-group textarea {
  min-height: 80px;
  resize: vertical;
}
.form-row {
  display: flex;
  gap: 12px;
}
.btn-modal-primary {
  background: var(--accent);
  color: #ffffff;
  border: 0;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13.5px;
  transition: opacity 0.15s;
}
.btn-modal-primary:hover {
  opacity: 0.9;
}
.btn-modal-sec {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 10px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13.5px;
  transition: background 0.15s;
}
.btn-modal-sec:hover {
  background: rgba(255, 255, 255, 0.14);
}
.lnav-add-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  margin-top: 14px;
  background: var(--accent-soft);
  border: 1px dashed rgba(255, 107, 0, 0.3);
  color: var(--accent);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}
.lnav-add-btn:hover {
  background: rgba(255, 107, 0, 0.18);
  border-color: var(--accent);
}


/* ============================================================
   LIGHT THEME & THEME TOGGLE SYSTEM - PART 1
   ============================================================ */

/* Theme Toggle Button */
.theme-toggle-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line);
  color: var(--gray);
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.theme-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}

/* Default Dark Mode: Sun icon visible, Moon hidden */
html:not([data-theme="light"]) .theme-icon-sun {
  display: block;
}
html:not([data-theme="light"]) .theme-icon-moon {
  display: none;
}

/* Light Theme Variables */
html[data-theme="light"] {
  --bg: #f8fafc;
  --panel: #ffffff;
  --panel-2: #f1f5f9;
  --text: #0f172a;
  --gray: #64748b;
  --gray-dim: #94a3b8;
  --line: #e2e8f0;
  --line-soft: #f1f5f9;
}

/* Light Mode: Moon icon visible, Sun hidden */
html[data-theme="light"] .theme-icon-sun {
  display: none;
}
html[data-theme="light"] .theme-icon-moon {
  display: block;
}

/* Light Mode Background & Atmosphere */
html[data-theme="light"] body {
  background-color: #f8fafc;
  color: #0f172a;
}
html[data-theme="light"] .bg-anim {
  background: radial-gradient(55% 45% at 50% -4%, rgba(255, 107, 0, 0.08), rgba(241, 245, 249, 0.7) 40%, transparent 70%), #f8fafc !important;
}
html[data-theme="light"] .bg-beams {
  opacity: 0.12;
  filter: grayscale(0.6);
}
html[data-theme="light"] .bg-grid {
  background-image: linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px) !important;
}
html[data-theme="light"] .cursor-light {
  display: none !important;
}
html[data-theme="light"] .app-frame {
  border-color: rgba(15, 23, 42, 0.07) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.8), 0 0 0 1px rgba(15, 23, 42, 0.02) !important;
}

/* Light Mode Header & Brand */
html[data-theme="light"] header {
  background: rgba(255, 255, 255, 0.88) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}
html[data-theme="light"] .brand-txt .l1 {
  color: #0f172a !important;
}
html[data-theme="light"] .brand-txt .l2 {
  color: #64748b !important;
}
html[data-theme="light"] .head-nav a {
  color: #64748b;
}
html[data-theme="light"] .head-nav a.on,
html[data-theme="light"] .head-nav a:hover {
  color: #0f172a;
}
html[data-theme="light"] .iconbtn,
html[data-theme="light"] .notif-btn,
html[data-theme="light"] .theme-toggle-btn {
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
}
html[data-theme="light"] .iconbtn:hover,
html[data-theme="light"] .notif-btn:hover,
html[data-theme="light"] .theme-toggle-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .avatar {
  background: #e2e8f0;
  border-color: #cbd5e1;
  color: #0f172a;
}


/* Light Mode Dropdowns */
html[data-theme="light"] .notif-panel,
html[data-theme="light"] .profile-menu {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.04) !important;
}
html[data-theme="light"] .notif-head {
  color: #0f172a;
  border-bottom: 1px solid #f1f5f9;
}
html[data-theme="light"] .notif-title {
  color: #0f172a;
}
html[data-theme="light"] .notif-body {
  color: #64748b;
}
html[data-theme="light"] .profile-menu a,
html[data-theme="light"] .profile-menu button {
  color: #334155;
}
html[data-theme="light"] .profile-menu a:hover,
html[data-theme="light"] .profile-menu button:hover {
  background: #f1f5f9;
  color: #0f172a;
}
html[data-theme="light"] .profile-menu button.danger:hover {
  background: #fef2f2;
  color: #ef4444;
}

/* Light Mode Hero & Typography */
html[data-theme="light"] .hero-eyebrow {
  background: #ffffff;
  border-color: #e2e8f0;
  color: #475569;
}
html[data-theme="light"] .hero-title .w {
  background: linear-gradient(110deg, #0f172a 25%, #334155 42%, #0f172a 58%) 0 0/250% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-theme="light"] .hero-sub {
  color: #64748b;
}
html[data-theme="light"] .counter {
  color: #64748b;
}
html[data-theme="light"] .counter .track {
  background: #e2e8f0;
}
html[data-theme="light"] .counter .track i {
  background: #0f172a;
}
html[data-theme="light"] .counter .now {
  color: #0f172a;
}

/* Light Mode Cards & Grid */
html[data-theme="light"] .card {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
html[data-theme="light"] .card:after {
  background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%), rgba(255, 107, 0, 0.08), transparent 70%) !important;
}
html[data-theme="light"] .card:not(.locked):hover {
  background: #ffffff !important;
  border-color: #ff6b00 !important;
  box-shadow: 0 16px 36px -8px rgba(255, 107, 0, 0.18), 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}
html[data-theme="light"] .card h3 {
  color: #0f172a;
}
html[data-theme="light"] .card .desc {
  color: #64748b;
}
html[data-theme="light"] .c-icon {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #1e293b;
}
html[data-theme="light"] .arrow {
  background: #1e293b;
  border-color: #1e293b;
  color: #ffffff;
}
html[data-theme="light"] .card:not(.locked):hover .arrow,
html[data-theme="light"] .arrow.solid {
  color: #ffffff !important;
  background: #ff6b00 !important;
  border-color: #ff6b00 !important;
}
html[data-theme="light"] .card-add-trigger {
  background: rgba(255, 107, 0, 0.03) !important;
  border-color: rgba(255, 107, 0, 0.35) !important;
}
html[data-theme="light"] .card-add-trigger:hover {
  background: rgba(255, 107, 0, 0.08) !important;
  border-color: #ff6b00 !important;
}

/* Light Mode Search & Badges */
html[data-theme="light"] .catalog-search input {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .catalog-search input:focus {
  border-color: #ff6b00 !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 0, 0.15) !important;
}
html[data-theme="light"] .catalog-badge {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #475569 !important;
}


/* Light Mode Course Detail Page (kelas-01.html) */
html[data-theme="light"] .cs-hero {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}
html[data-theme="light"] .cs-body h2 {
  color: #0f172a;
}
html[data-theme="light"] .pbar {
  background: #e2e8f0 !important;
}
html[data-theme="light"] .next-lesson {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}
html[data-theme="light"] .next-lesson .nl-title {
  color: #0f172a;
}
html[data-theme="light"] .pill {
  background: #0f172a !important;
  color: #ffffff !important;
}
html[data-theme="light"] .pill:hover {
  background: #1e293b !important;
}
html[data-theme="light"] .lesson-list {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
}
html[data-theme="light"] .lrow {
  border-bottom: 1px solid #f1f5f9 !important;
  color: #64748b !important;
}
html[data-theme="light"] .lrow .t {
  color: #0f172a !important;
}
html[data-theme="light"] .lrow:hover {
  background: #f8fafc !important;
}
html[data-theme="light"] .lrow.done {
  color: #94a3b8 !important;
}
html[data-theme="light"] .lrow.done .t {
  color: #475569 !important;
}

/* Light Mode Player Page (pelajaran-01.html) */
html[data-theme="light"] .lesson-top h1 {
  color: #0f172a !important;
}
html[data-theme="light"] .btn-complete:not(.done) {
  background: #0f172a !important;
  color: #ffffff !important;
}
html[data-theme="light"] .btn-complete:not(.done):hover {
  background: #1e293b !important;
}
html[data-theme="light"] .player {
  border-color: #e2e8f0 !important;
  background: #0f172a !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}
html[data-theme="light"] .lesson-article {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #334155 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}
html[data-theme="light"] .lesson-article h1,
html[data-theme="light"] .lesson-article h2,
html[data-theme="light"] .lesson-article h3,
html[data-theme="light"] .lesson-article strong,
html[data-theme="light"] .lesson-article th {
  color: #0f172a !important;
}
html[data-theme="light"] .lesson-article td {
  color: #334155 !important;
  border-bottom-color: #f1f5f9 !important;
}
html[data-theme="light"] .lesson-article thead {
  background: #f8fafc !important;
}
html[data-theme="light"] .table-wrap {
  border-color: #e2e8f0 !important;
}
html[data-theme="light"] .lesson-article blockquote {
  background: #f8fafc !important;
  border-left-color: var(--accent) !important;
  color: #334155 !important;
}
html[data-theme="light"] .lesson-article hr {
  border-color: #e2e8f0 !important;
}
html[data-theme="light"] .lnav {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}
html[data-theme="light"] .lnav .lh h3 {
  color: #0f172a !important;
}
html[data-theme="light"] .lnav .li {
  color: #64748b !important;
}
html[data-theme="light"] .lnav .li:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
}
html[data-theme="light"] .lnav .li.cur {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .cur-b {
  background: #0f172a !important;
  color: #ffffff !important;
}

/* Light Mode Buttons & Modals */
html[data-theme="light"] .btn-sec,
html[data-theme="light"] .btn-modal-sec {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .btn-sec:hover,
html[data-theme="light"] .btn-modal-sec:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .btn-mini-act {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
  color: #475569 !important;
}
html[data-theme="light"] .btn-mini-act:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .modal-overlay,
html[data-theme="light"] .modal-admin {
  background: rgba(15, 23, 42, 0.45) !important;
}
html[data-theme="light"] .modal-box {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25) !important;
}
html[data-theme="light"] .modal-box h3 {
  color: #0f172a !important;
}
html[data-theme="light"] .form-group label {
  color: #475569 !important;
}
html[data-theme="light"] .form-group input,
html[data-theme="light"] .form-group textarea {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .form-group input:focus,
html[data-theme="light"] .form-group textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important;
}
html[data-theme="light"] .modal-close {
  color: #64748b !important;
}
html[data-theme="light"] .modal-close:hover {
  color: #0f172a !important;
}
html[data-theme="light"] .toast-notice {
  background: #ffffff !important;
  border-color: var(--accent) !important;
  color: #0f172a !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12) !important;
}
html[data-theme="light"] .site-footer a:hover {
  color: #0f172a !important;
}

/* ==========================================================================
   PRO SUITE: STUDY HUB TABS, PROMPT VAULT, NOTES, CERTIFICATE, CS WIDGET
   ========================================================================== */

/* --- 1. Tabbed Study Hub --- */
.study-hub-container {
  margin-top: 24px;
}
.study-tabs-nav {
  display: flex;
  gap: 8px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.study-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--gray);
  background: transparent;
  border: 1px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
  cursor: pointer;
}
.study-tab-btn:hover {
  color: var(--text);
  background: var(--line-soft);
}
.study-tab-btn.active {
  color: #ff6b00;
  background: rgba(255, 107, 0, 0.12);
  border-color: rgba(255, 107, 0, 0.35);
}
.study-tab-btn svg {
  flex-shrink: 0;
}
.study-tab-pane {
  display: none;
  animation: fadeInUp 0.3s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
.study-tab-pane.active {
  display: block;
}

/* --- 2. AI Prompt Vault (Editable & Minimalist) --- */
.prompt-vault-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 12px;
  border-bottom: 1px solid var(--line-soft);
  padding-bottom: 14px;
}
.prompt-vault-header-info h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 3px;
  color: var(--text);
}
.prompt-vault-header-info p {
  font-size: 12px;
  color: var(--gray);
  margin: 0;
}
.prompt-vault-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.btn-add-prompt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 8px;
  border: 1px solid #ff6b00;
  background: #ff6b00;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 14px rgba(255, 107, 0, 0.25);
}
.btn-add-prompt:hover {
  background: #ea580c;
  border-color: #ea580c;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(255, 107, 0, 0.35);
}
.btn-reset-prompts {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 11.5px;
  font-weight: 500;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--gray);
  cursor: pointer;
  transition: all 0.2s;
}
.btn-reset-prompts:hover {
  color: var(--text);
  border-color: var(--gray);
}
.prompt-vault-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.prompt-vault-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  position: relative;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.prompt-vault-card:hover {
  border-color: rgba(255, 107, 0, 0.4);
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}
.prompt-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 12px;
}
.prompt-card-info {
  flex: 1;
  min-width: 240px;
}
.prompt-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-space-mono), monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 107, 0, 0.12);
  color: #f97316;
  border: 1px solid rgba(255, 107, 0, 0.3);
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 700;
}
.prompt-card-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.btn-copy-prompt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  cursor: pointer;
  transition: all 0.2s;
}
.btn-copy-prompt:hover {
  background: rgba(255, 107, 0, 0.15);
  border-color: #ff6b00;
  color: #ff6b00;
}
.btn-copy-prompt.copied {
  background: #ff6b00;
  border-color: #ff6b00;
  color: #ffffff;
}
.btn-edit-prompt, .btn-delete-prompt {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 11px;
  font-size: 11.5px;
  font-weight: 600;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  cursor: pointer;
  transition: all 0.2s;
}
.btn-edit-prompt:hover {
  border-color: #ff6b00;
  color: #ff6b00;
  background: rgba(255, 107, 0, 0.08);
}
.btn-delete-prompt:hover {
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
  background: rgba(239, 68, 68, 0.08);
}
.prompt-box {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 16px;
  font-family: var(--font-space-mono), monospace;
  font-size: 12.5px;
  line-height: 1.6;
  color: #cbd5e1;
  white-space: pre-wrap;
  word-break: break-word;
}
.prompt-box-tip {
  margin-top: 10px;
  font-size: 12px;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 6px;
}
.prompt-box-tip strong {
  color: #f97316;
}

/* Inline Edit Prompt Form */
.prompt-edit-form {
  background: var(--panel-2);
  border: 1px solid rgba(255, 107, 0, 0.35);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.prompt-edit-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.prompt-edit-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 200px;
}
.prompt-edit-group label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gray-dim);
  font-weight: 700;
}
.prompt-edit-input, .prompt-edit-textarea {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 12px;
  color: var(--text);
  font-size: 13px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s;
}
.prompt-edit-textarea {
  font-family: var(--font-space-mono), monospace;
  font-size: 12px;
  min-height: 90px;
  resize: vertical;
}
.prompt-edit-input:focus, .prompt-edit-textarea:focus {
  border-color: #ff6b00;
  box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.15);
}
.prompt-edit-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}
.btn-save-prompt {
  background: #ff6b00;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s;
}
.btn-save-prompt:hover {
  background: #ea580c;
}
.btn-cancel-prompt {
  background: transparent;
  color: var(--gray);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-cancel-prompt:hover {
  color: var(--text);
}

/* --- 3. Personal Notebook (Buku Catatan Siswa) --- */
.notebook-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
}
.notebook-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 10px;
}
.notebook-title-wrap h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 4px;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.notebook-status {
  font-size: 11.5px;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.notebook-status .dot {
  width: 6px;
  height: 6px;
  background: #ff6b00;
  border-radius: 50%;
  display: inline-block;
}
.notebook-textarea {
  width: 100%;
  min-height: 220px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.7;
  color: var(--text);
  outline: none;
  resize: vertical;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.notebook-textarea:focus {
  border-color: #ff6b00;
  box-shadow: 0 0 0 3px rgba(255, 107, 0, 0.18);
}
.notebook-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
  flex-wrap: wrap;
  gap: 10px;
}
.notebook-hint {
  font-size: 11.5px;
  color: var(--gray-dim);
}
.btn-notebook-act {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 8px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  color: var(--text);
  cursor: pointer;
  transition: all 0.2s;
}
.btn-notebook-act:hover {
  border-color: #ff6b00;
  color: #ff6b00;
}

/* --- 4. Lesson Navigation Bar (Prev / Next) --- */
.lesson-nav-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  gap: 12px;
}
.btn-lesson-nav {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 12px;
  background: var(--panel);
  border: 1px solid var(--line);
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  transition: all 0.2s;
}
.btn-lesson-nav:hover:not(.disabled) {
  background: var(--panel-2);
  border-color: #ff6b00;
  color: #ff6b00;
  transform: translateY(-2px);
}
.btn-lesson-nav.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.btn-lesson-nav.primary {
  background: #ff6b00;
  border-color: #ff6b00;
  color: #ffffff;
}
.btn-lesson-nav.primary:hover {
  background: #ea580c;
  border-color: #ea580c;
  color: #ffffff;
  box-shadow: 0 10px 25px rgba(255, 107, 0, 0.35);
}

/* --- 5. Official Certificate Modal & Sheet --- */
.cert-claim-banner {
  background: linear-gradient(135deg, rgba(255, 107, 0, 0.15) 0%, rgba(249, 115, 22, 0.08) 100%);
  border: 1px solid rgba(255, 107, 0, 0.4);
  border-radius: 16px;
  padding: 20px 24px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  animation: fadeInUp 0.4s ease;
}
.cert-claim-text h4 {
  font-size: 16px;
  font-weight: 700;
  color: #f97316;
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cert-claim-text p {
  font-size: 13px;
  color: var(--gray);
  margin: 0;
}
.btn-claim-cert {
  background: linear-gradient(135deg, #ff6b00 0%, #ea580c 100%);
  color: #ffffff;
  padding: 11px 22px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 8px 20px rgba(255, 107, 0, 0.35);
  transition: all 0.2s ease;
}
.btn-claim-cert:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(255, 107, 0, 0.45);
}

/* Certificate Modal & Layout */
.cert-modal-box {
  max-width: 820px;
  width: 95%;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
}
.cert-sheet {
  background: #ffffff;
  color: #0f172a;
  border: 4px double #d97706;
  border-radius: 14px;
  padding: 36px 40px;
  text-align: center;
  position: relative;
  box-shadow: inset 0 0 0 6px #fef3c7, 0 16px 40px rgba(0,0,0,0.3);
  font-family: var(--font-general-sans), serif;
  margin-bottom: 20px;
  overflow: hidden;
}
.cert-sheet::before {
  content: "JADIINCUAN";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-25deg);
  font-size: 78px;
  font-weight: 900;
  color: rgba(217, 119, 6, 0.04);
  letter-spacing: 0.2em;
  pointer-events: none;
  white-space: nowrap;
}
.cert-header {
  margin-bottom: 20px;
}
.cert-logo-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 8px;
}
.cert-logo-row img {
  width: 32px;
  height: 32px;
}
.cert-logo-txt {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #0f172a;
  text-transform: uppercase;
}
.cert-tagline {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #d97706;
  font-weight: 700;
}
.cert-title {
  font-size: 28px;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.01em;
  margin: 16px 0 6px;
  text-transform: uppercase;
}
.cert-sub {
  font-size: 13px;
  color: #64748b;
  margin-bottom: 20px;
}
.cert-name-display {
  font-size: 26px;
  font-weight: 800;
  color: #0f172a;
  border-bottom: 2px solid #0f172a;
  display: inline-block;
  min-width: 260px;
  padding: 4px 16px;
  margin: 10px 0 16px;
  outline: none;
  cursor: text;
}
.cert-reason {
  font-size: 13px;
  color: #475569;
  max-width: 540px;
  margin: 0 auto 12px;
  line-height: 1.6;
}
.cert-course-name {
  font-size: 17px;
  font-weight: 700;
  color: #ea580c;
  margin-bottom: 24px;
}
.cert-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 32px;
  padding-top: 18px;
  border-top: 1px dashed #cbd5e1;
}
.cert-col {
  text-align: left;
}
.cert-col.right {
  text-align: right;
}
.cert-lbl {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #94a3b8;
  margin-bottom: 4px;
}
.cert-val {
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  font-family: var(--font-space-mono), monospace;
}
.cert-seal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.seal-badge {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: radial-gradient(circle, #f59e0b 0%, #b45309 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(180, 83, 9, 0.3);
  border: 2px dashed #ffffff;
}

/* Print Rules for Certificate */
@media print {
  body * {
    visibility: hidden;
  }
  .cert-sheet, .cert-sheet * {
    visibility: visible;
  }
  .cert-sheet {
    position: fixed;
    top: 0;
    left: 0;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 4px double #d97706 !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .modal-overlay, .cert-modal-box {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
  }
}

/* --- 6. Catalog Filter Pills & Bookmark Button --- */
.catalog-filter-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.filter-pill {
  padding: 8px 16px;
  border-radius: 100px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--gray);
  background: var(--panel);
  border: 1px solid var(--line);
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.filter-pill:hover {
  color: var(--text);
  border-color: rgba(255, 107, 0, 0.4);
}
.filter-pill.active {
  background: #ff6b00;
  color: #ffffff;
  border-color: #ff6b00;
}
.filter-pill .count {
  font-family: var(--font-space-mono), monospace;
  font-size: 11px;
  opacity: 0.85;
}

/* Bookmark Button in Card */
.btn-bookmark-card {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--panel-2);
  border: 1px solid var(--line);
  color: var(--gray);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 5;
}
.btn-bookmark-card:hover {
  color: #f59e0b;
  border-color: rgba(245, 158, 11, 0.4);
  transform: scale(1.1);
}
.btn-bookmark-card.active {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.15);
  border-color: #f59e0b;
}

/* Progress bar inside card */
.card-progress-wrap {
  margin-top: 12px;
  width: 100%;
}
.card-pbar {
  background: rgba(255, 255, 255, 0.08);
  height: 4px;
  border-radius: 99px;
  overflow: hidden;
  margin-bottom: 4px;
}
.card-pbar i {
  display: block;
  height: 100%;
  background: #ff6b00;
  border-radius: 99px;
  transition: width 0.4s ease;
}
.card-pbar-txt {
  font-size: 11px;
  font-family: var(--font-space-mono), monospace;
  color: var(--gray-dim);
  display: flex;
  justify-content: space-between;
}

/* --- 7. Floating CS Telegram Widget --- */
.floating-cs-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 999;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(135deg, #229ED9 0%, #1783b5 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(34, 158, 217, 0.4);
  cursor: pointer;
  border: 2px solid rgba(255, 255, 255, 0.2);
  transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.3, 1), box-shadow 0.25s;
}
.floating-cs-btn:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 14px 40px rgba(34, 158, 217, 0.55);
}
.floating-cs-btn .online-dot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 12px;
  height: 12px;
  background: #ff6b00;
  border: 2px solid var(--bg);
  border-radius: 50%;
  animation: pulseDot 2s infinite;
}
.cs-popup-card {
  position: fixed;
  bottom: 90px;
  right: 24px;
  width: 340px;
  max-width: calc(100vw - 36px);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px) scale(0.95);
  transform-origin: bottom right;
  transition: all 0.25s cubic-bezier(0.2, 0.7, 0.3, 1);
  overflow: hidden;
}
.cs-popup-card.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.cs-popup-head {
  background: linear-gradient(135deg, #1e3a5f 0%, #112238 100%);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
  position: relative;
}
.cs-avatar-img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #229ED9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cs-popup-head-info h4 {
  margin: 0 0 2px;
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
}
.cs-popup-head-info .status-badge {
  font-size: 11px;
  color: #f97316;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.cs-popup-head-info .status-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #ff6b00;
  border-radius: 50%;
}
.cs-popup-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: transparent;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  padding: 4px;
}
.cs-popup-close:hover {
  color: #ffffff;
}
.cs-popup-body {
  padding: 18px 20px;
}
.cs-greeting {
  font-size: 13px;
  color: var(--text);
  margin-bottom: 14px;
  line-height: 1.5;
}
.cs-topics-lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gray-dim);
  margin-bottom: 8px;
}
.cs-topics-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.cs-topic-btn {
  text-align: left;
  background: var(--panel-2);
  border: 1px solid var(--line);
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  color: var(--text);
  cursor: pointer;
  transition: all 0.18s;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cs-topic-btn:hover {
  background: rgba(34, 158, 217, 0.12);
  border-color: #229ED9;
  color: #229ED9;
}
.btn-telegram-direct {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, #229ED9 0%, #1783b5 100%);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(34, 158, 217, 0.35);
  transition: all 0.2s;
  border: none;
  cursor: pointer;
}
.btn-telegram-direct:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(34, 158, 217, 0.45);
}

/* Light mode overrides for pro suite with touch of dark gray / charcoal */
html[data-theme="light"] .study-tab-btn:hover {
  background: #f1f5f9;
}
html[data-theme="light"] .prompt-vault-header {
  border-bottom-color: #cbd5e1;
}
html[data-theme="light"] .prompt-vault-card {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
}
html[data-theme="light"] .prompt-tag {
  background: #1e293b !important;
  color: #f97316 !important;
  border-color: #334155 !important;
}
html[data-theme="light"] .prompt-box {
  background: #1e293b !important; /* Sentuhan dark abu / charcoal */
  border-color: #334155 !important;
  color: #f8fafc !important;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.2);
}
html[data-theme="light"] .btn-copy-prompt {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
html[data-theme="light"] .btn-copy-prompt:hover {
  background: #ff6b00 !important;
  border-color: #ff6b00 !important;
  color: #ffffff !important;
}
html[data-theme="light"] .btn-edit-prompt,
html[data-theme="light"] .btn-delete-prompt,
html[data-theme="light"] .btn-reset-prompts {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #1e293b !important;
}
html[data-theme="light"] .btn-edit-prompt:hover {
  border-color: #ff6b00 !important;
  color: #ff6b00 !important;
}
html[data-theme="light"] .prompt-edit-form {
  background: #f8fafc !important;
  border-color: #fed7aa !important;
}
html[data-theme="light"] .prompt-edit-input,
html[data-theme="light"] .prompt-edit-textarea {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .notebook-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .notebook-textarea {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .btn-notebook-act {
  background: #1e293b !important;
  border-color: #1e293b !important;
  color: #ffffff !important;
}
html[data-theme="light"] .btn-notebook-act:hover {
  background: #0f172a !important;
  border-color: #ff6b00 !important;
  color: #f97316 !important;
}
html[data-theme="light"] .btn-lesson-nav {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .filter-pill {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
html[data-theme="light"] .filter-pill.active {
  background: #ff6b00 !important;
  color: #ffffff !important;
  border-color: #ff6b00 !important;
}
html[data-theme="light"] .btn-bookmark-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .card-pbar {
  background: #e2e8f0 !important;
}
html[data-theme="light"] .cs-popup-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18) !important;
}
html[data-theme="light"] .cs-topic-btn {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #1e293b !important;
}

/* ===================================================
   SPLASH & ENTRY SCREEN ENHANCEMENTS (#splash)
   =================================================== */
#splash {
  background: var(--bg);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  transition: opacity 0.75s cubic-bezier(0.2, 0.7, 0.3, 1), transform 0.75s cubic-bezier(0.2, 0.7, 0.3, 1), visibility 0.75s;
  cursor: default;
}
#splash.fade-out {
  opacity: 0 !important;
  transform: scale(1.05) !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
#logo-stage .s-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 14px 40px rgba(255, 107, 0, 0.4));
}
#halo-stage .enter {
  box-shadow: 0 10px 30px rgba(255, 107, 0, 0.2);
  font-size: 14px;
}
#halo-stage .enter:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 16px 45px rgba(255, 107, 0, 0.35);
}

/* Light mode for Splash Screen */
html[data-theme="light"] #splash {
  background: #ffffff;
}
html[data-theme="light"] #halo-stage h1 {
  background: linear-gradient(110deg, #0f172a 20%, #475569 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
html[data-theme="light"] #halo-stage .enter {
  background: #0f172a;
  color: #ffffff;
}
html[data-theme="light"] #halo-stage .enter:hover {
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.25);
}

/* ===================================================
   ADMIN AUTH & AUTOLOGIN BANNER
   =================================================== */
#auth {
  background: rgba(5, 5, 6, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  animation: 0.35s cubic-bezier(0.2, 0.7, 0.3, 1) both fadeInUp;
}
.auth-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 38px 32px;
  box-shadow: 0 30px 80px -15px rgba(0, 0, 0, 0.6);
  position: relative;
}
.auth-logo {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  overflow: hidden;
  margin: 0 auto 20px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.auth-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.auth-bypass-btn {
  background: rgba(255, 107, 0, 0.12);
  border: 1px solid rgba(255, 107, 0, 0.35);
  color: #ff6b00;
  border-radius: 100px;
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 600;
  width: 100%;
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.auth-bypass-btn:hover {
  background: rgba(255, 107, 0, 0.22);
  transform: translateY(-1px);
}

/* Autologin Banner at Top of Admin */
.autologin-banner {
  background: linear-gradient(135deg, rgba(255, 107, 0, 0.12), rgba(194, 65, 12, 0.18));
  border: 1px solid rgba(255, 107, 0, 0.35);
  border-radius: 16px;
  padding: 16px 22px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  box-shadow: 0 4px 20px rgba(255, 107, 0, 0.1);
}
.autologin-banner.locked-mode {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(153, 27, 27, 0.18));
  border-color: rgba(239, 68, 68, 0.35);
  box-shadow: 0 4px 20px rgba(239, 68, 68, 0.08);
}
.autologin-banner-info {
  display: flex;
  align-items: center;
  gap: 14px;
}
.autologin-badge {
  font-family: var(--font-space-mono), monospace;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 5px 11px;
  border-radius: 7px;
  background: #ff6b00;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.autologin-badge.locked {
  background: #ef4444;
  color: #ffffff;
}
.autologin-text {
  font-size: 13.5px;
  color: var(--text);
  line-height: 1.4;
}
.autologin-text small {
  display: block;
  font-size: 11.5px;
  color: var(--gray);
  margin-top: 3px;
}
.autologin-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.btn-toggle-autologin {
  padding: 9px 18px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.btn-toggle-autologin:hover {
  background: #ffffff14;
  transform: translateY(-1px);
}

/* Light mode for Auth & Banner */
html[data-theme="light"] #auth {
  background: rgba(248, 250, 252, 0.88);
}
html[data-theme="light"] .auth-card {
  background: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 25px 60px rgba(15, 23, 42, 0.12);
}
html[data-theme="light"] .auth-card h1 {
  color: #0f172a;
}
html[data-theme="light"] .auth-card p {
  color: #64748b;
}
html[data-theme="light"] .autologin-banner {
  background: #fff7ed;
  border-color: #fed7aa;
}
html[data-theme="light"] .autologin-banner.locked-mode {
  background: #fef2f2;
  border-color: #fecaca;
}
html[data-theme="light"] .btn-toggle-autologin {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #0f172a;
}

/* =======================================================
   TOOLKIT DIRECTORY & TOOL CARDS (Akses Semua Toolkit)
   ======================================================= */
.toolkit-section {
  margin-top: 10px;
}
.toolkit-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.toolkit-filter-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.toolkit-filter-pill {
  padding: 7px 16px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--gray);
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.toolkit-filter-pill:hover {
  color: var(--text);
  border-color: rgba(255, 107, 0, 0.4);
  background: var(--panel-2);
}
.toolkit-filter-pill.active {
  color: #ffffff;
  background: #ff6b00;
  border-color: #ff6b00;
  box-shadow: 0 4px 14px rgba(255, 107, 0, 0.35);
}
.toolkit-filter-pill .count {
  font-size: 10.5px;
  opacity: 0.8;
  font-family: var(--font-space-mono), monospace;
}
.toolkit-actions-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.toolkit-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.toolkit-search-wrap svg {
  position: absolute;
  left: 12px;
  color: var(--gray);
  pointer-events: none;
}
.toolkit-search-wrap input {
  padding: 8px 14px 8px 34px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 100px;
  color: var(--text);
  font-size: 12.5px;
  width: 220px;
  outline: none;
  transition: all 0.2s;
}
.toolkit-search-wrap input:focus {
  border-color: #ff6b00;
  background: var(--panel-2);
  width: 260px;
}
.btn-add-tool {
  background: #ff6b00;
  color: #ffffff;
  border: none;
  border-radius: 100px;
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
  box-shadow: 0 4px 14px rgba(255, 107, 0, 0.3);
}
.btn-add-tool:hover {
  background: #ea580c;
  transform: translateY(-1px);
}
.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.gallery-card.tool-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.24s cubic-bezier(0.2, 0.7, 0.3, 1), border-color 0.24s, box-shadow 0.24s;
  position: relative;
}
.gallery-card.tool-card:hover {
  border-color: rgba(255, 107, 0, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px -12px rgba(0, 0, 0, 0.5);
}
.tool-card .gallery-thumb {
  aspect-ratio: 16/10;
  background: radial-gradient(120% 140% at 50% 0, #1c1d21, #0a0a0c);
  position: relative;
  overflow: hidden;
}
.tool-card .gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.3, 1);
}
.tool-card:hover .gallery-thumb img {
  transform: scale(1.06);
}
.tool-card .gallery-thumb:after {
  content: "";
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(transparent 40%, rgba(5, 5, 6, 0.85));
  transition: opacity 0.3s;
  position: absolute;
  inset: 0;
}
.tool-card:hover .gallery-thumb:after {
  opacity: 1;
}
.tool-badge-pill {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(10, 10, 12, 0.75);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ff6b00;
  font-family: var(--font-space-mono), monospace;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  z-index: 2;
}
.tool-open {
  color: #0a0a0b;
  z-index: 2;
  background: #ffffff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.3, 1), background 0.2s, color 0.2s;
  display: flex;
  position: absolute;
  bottom: 12px;
  right: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}
.tool-card:hover .tool-open {
  transform: translate(3px, -3px);
  background: #ff6b00;
  color: #ffffff;
}
.tool-content {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.tool-card .gallery-title {
  color: var(--text);
  letter-spacing: -0.01em;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 6px;
  padding: 0;
}
.tool-card .tool-desc {
  font-size: 12.5px;
  color: var(--gray);
  line-height: 1.55;
  margin-bottom: 14px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tool-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid var(--line-soft);
  margin-top: auto;
}
.tool-host {
  font-family: var(--font-space-mono), monospace;
  letter-spacing: 0.04em;
  color: var(--gray-dim);
  align-items: center;
  gap: 7px;
  font-size: 11px;
  display: flex;
  padding: 0;
}
.tool-host .dot {
  background: #ff6b00;
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 8px rgba(255, 107, 0, 0.7);
  animation: 2.4s ease-in-out infinite pulseDot;
}
.tool-card-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.btn-tool-act {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--gray);
  border-radius: 6px;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.18s;
}
.btn-tool-act:hover {
  background: var(--panel-2);
  color: var(--text);
  border-color: var(--text);
}
.btn-tool-act.danger:hover {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border-color: rgba(239, 68, 68, 0.4);
}

/* Light mode overrides for Toolkit */
html[data-theme="light"] .gallery-card.tool-card {
  background: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
}
html[data-theme="light"] .gallery-card.tool-card:hover {
  border-color: #ff6b00;
  box-shadow: 0 16px 36px -12px rgba(15, 23, 42, 0.12);
}
html[data-theme="light"] .tool-card .gallery-thumb {
  background: #1e293b;
}
html[data-theme="light"] .tool-card .gallery-title {
  color: #0f172a;
}
html[data-theme="light"] .tool-card .tool-desc {
  color: #475569;
}
html[data-theme="light"] .toolkit-filter-pill {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #334155;
}
html[data-theme="light"] .toolkit-filter-pill.active {
  background: #ff6b00;
  border-color: #ff6b00;
  color: #ffffff;
}
html[data-theme="light"] .toolkit-search-wrap input {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #0f172a;
}

/* ========================================================
   HERO BANNER (Border-less & Fully Responsive)
   ======================================================== */
.hero-banner-wrap {
  width: 100%;
  margin: 0 0 32px 0;
  padding: 0;
  border: none !important;
  outline: none !important;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  background: transparent;
  box-shadow: 0 16px 48px -12px rgba(0, 0, 0, 0.45);
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.3, 1), box-shadow 0.3s ease;
}

.hero-banner-wrap:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 56px -14px rgba(0, 0, 0, 0.55);
}

.hero-banner-wrap a {
  display: block;
  width: 100%;
  border: none !important;
  outline: none !important;
  text-decoration: none;
  cursor: pointer;
}

.hero-banner-img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  object-fit: cover;
  border: none !important;
  outline: none !important;
  margin: 0;
  padding: 0;
  border-radius: 20px;
}

/* Light mode overrides for Hero Banner */
html[data-theme="light"] .hero-banner-wrap {
  border: none !important;
  box-shadow: 0 14px 38px -10px rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .hero-banner-img {
  border: none !important;
}

@media (max-width: 768px) {
  .hero-banner-wrap {
    margin-bottom: 22px;
    border-radius: 14px;
  }
  .hero-banner-img {
    border-radius: 14px;
  }
}




