@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');
:root{--bg:#060813;--panel:#0d1327;--ink:#f3f6ff;--muted:#9ba6c5;--cyan:#74f7ff;--violet:#9c7bff;--lime:#d8ff75;--line:#293451;--danger:#ff789b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans TC',sans-serif}.bg{position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 13% 6%,#4b2caa55,transparent 27%),radial-gradient(circle at 88% 32%,#057af050,transparent 23%),linear-gradient(#fff0 55px,#ffffff09 56px),linear-gradient(90deg,#fff0 55px,#ffffff09 56px);background-size:auto,auto,56px 56px,56px 56px}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}nav{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:800 24px 'DM Mono';letter-spacing:-2px}.brand b,.cyan{color:var(--cyan)}.links{display:flex;gap:25px;color:var(--muted);font-size:13px}.links a:hover,.links a.active{color:var(--ink)}.right{display:flex;gap:10px;align-items:center}.lang{background:none;border:0;color:var(--muted);font:12px 'DM Mono'}.solid,.outline,.ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:11px 15px;border:1px solid var(--line);font-size:13px;font-weight:700}.solid{background:var(--cyan);border-color:var(--cyan);color:#061116;box-shadow:0 0 25px #74f7ff45}.solid:hover{transform:translateY(-2px);box-shadow:0 0 40px #74f7ff77}.outline{background:#ffffff08}.ghost{background:none}.hero{min-height:585px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.eyebrow{font:11px 'DM Mono';letter-spacing:.09em;color:var(--cyan)}.eyebrow:before{content:'◈ ';}.hero h1,.title{font-size:clamp(45px,6vw,76px);line-height:1.05;letter-spacing:-4px;margin:18px 0}.grad{background:linear-gradient(90deg,var(--cyan),var(--violet),var(--lime));-webkit-background-clip:text;color:transparent}.lead{max-width:540px;color:var(--muted);font-size:15px;line-height:1.9}.actions{display:flex;gap:11px;margin-top:25px}.terminal,.card,.panel{background:#0e1429e8;border:1px solid var(--line);border-radius:14px}.terminal{overflow:hidden;box-shadow:0 30px 75px #0008;animation:float 5s ease-in-out infinite}.bar{border-bottom:1px solid var(--line);height:43px;padding:13px;color:#8390b4;font:11px 'DM Mono'}.code{padding:23px;min-height:290px;color:#dce5ff;font:13px/2 'DM Mono'}.code b{color:var(--cyan)}.code i{color:var(--lime);font-style:normal}@keyframes float{50%{transform:translateY(-10px)}}section{padding:78px 0}.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.head h2{font-size:31px;letter-spacing:-2px;margin:0}.muted,.head p{color:var(--muted);font-size:13px;line-height:1.7}.filters{display:flex;gap:8px;margin:17px 0;overflow:auto}.filter{white-space:nowrap;border:1px solid var(--line);border-radius:99px;background:#ffffff08;color:var(--muted);padding:8px 12px;font-size:12px}.filter.active,.filter:hover{border-color:var(--cyan);color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{padding:19px;min-height:220px;display:flex;flex-direction:column;transition:.2s}.card:hover{border-color:var(--cyan);transform:translateY(-6px);box-shadow:0 14px 32px #0008}.top,.foot{display:flex;justify-content:space-between;color:var(--cyan);font:11px 'DM Mono'}.card h3{font-size:18px;margin:27px 0 8px}.card p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.foot{margin-top:auto;color:#8090b3}.band{background:linear-gradient(120deg,#111a38,#241044)}.courses{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.course{padding:27px;border:1px solid var(--line);border-radius:13px;min-height:285px;display:flex;flex-direction:column}.hot{background:var(--lime);color:#071415;border-color:var(--lime)}.course small{font:11px 'DM Mono'}.course h3{font-size:27px;letter-spacing:-1.5px;margin:38px 0 10px}.course p{font-size:13px;line-height:1.7;opacity:.75}.price{font:700 24px 'DM Mono';margin-top:auto;padding-top:14px}.course .solid{align-self:start;margin-top:14px;background:#071018;color:white}.course:not(.hot) .solid{background:var(--cyan);color:#071018}.sub{padding:62px 0 27px}.sub .title{font-size:48px}.search,.input{width:100%;background:#0c1123;border:1px solid var(--line);border-radius:8px;padding:14px;color:var(--ink);outline:none}.search:focus,.input:focus{border-color:var(--cyan)}.detail{display:grid;grid-template-columns:1.45fr .55fr;gap:25px;padding:43px 0 80px}.article,.side{padding:28px}.article h1{font-size:38px;letter-spacing:-2px}.article p{color:#c9d0e1;font-size:14px;line-height:1.9}.prompt{white-space:pre-line;background:#050712;border:1px solid #24506a;border-radius:8px;padding:18px;color:#dbe9ff;font:13px/1.85 'DM Mono'}.side{height:max-content}.side .solid,.side .outline{width:100%;margin:5px 0}.lesson{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.lesson b{color:var(--cyan);margin-right:12px}.authpage{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:44px 0}.auth{width:min(445px,100%);padding:30px}.auth h1{font-size:30px;letter-spacing:-1.5px}.row{display:flex;gap:8px;margin:9px 0}.row select{width:112px;background:#0c1123;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:12px;font-size:12px}.row .input{flex:1;min-width:0}.auth .solid{width:100%;margin-top:10px}.account{display:grid;grid-template-columns:240px 1fr;gap:22px;padding:45px 0 80px}.menu{padding:12px}.menu a{display:block;padding:12px;border-radius:7px;color:var(--muted);font-size:13px}.menu a.active,.menu a:hover{color:var(--ink);background:#ffffff0b}.dashboard{padding:27px}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{border:1px solid var(--line);border-radius:9px;padding:17px}.stat b{display:block;font:22px 'DM Mono';color:var(--cyan)}.checkout{width:min(610px,100%);margin:0 auto;padding:58px 0 85px}.checkout .panel{padding:27px}.lineitem{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px}.total{font:700 20px 'DM Mono';padding:18px 0;display:flex;justify-content:space-between}.pay{display:flex;gap:9px;margin:14px 0}.pay button{flex:1;padding:13px;background:#ffffff09;color:var(--muted);border:1px solid var(--line);border-radius:8px}.pay button.active{border-color:var(--cyan);color:var(--ink)}.toast{position:fixed;z-index:5;bottom:22px;right:22px;background:#e4ffec;color:#062714;padding:13px 16px;border-radius:8px;font-size:13px;font-weight:700;transform:translateY(90px);transition:.3s}.toast.on{transform:none}footer{border-top:1px solid var(--line);padding:28px 0 45px;color:#8590ad;font:11px 'DM Mono'}@media(max-width:720px){.links{display:none}.hero,.cards,.courses,.detail,.account{grid-template-columns:1fr}.hero{padding:56px 0;min-height:auto}.head{flex-direction:column;align-items:start;gap:12px}.lang{display:none}.sub .title{font-size:39px}.statgrid{grid-template-columns:1fr}.account{padding-top:25px}}
/* Motion system */
@keyframes pormptory-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes pormptory-glow{0%,100%{opacity:.25;transform:scale(.9)}50%{opacity:.65;transform:scale(1.12)}}@keyframes pormptory-shine{to{transform:translateX(160%)}}@keyframes pormptory-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pormptory-scan{0%{transform:translateY(-120%)}100%{transform:translateY(470%)}}body{overflow-x:hidden}.bg:before,.bg:after{content:"";position:fixed;z-index:-1;width:38vw;height:38vw;border-radius:50%;filter:blur(80px);pointer-events:none;animation:pormptory-glow 9s ease-in-out infinite}.bg:before{top:-16vw;left:-12vw;background:#2749ff33}.bg:after{right:-14vw;bottom:-16vw;background:#00e5d133;animation-delay:-4s}.hero>*,.sub,section,.auth{animation:pormptory-rise .7s both}.hero>*:nth-child(2),.courses .course:nth-child(2),.cards .card:nth-child(2){animation-delay:.12s}.cards .card:nth-child(3){animation-delay:.22s}.card,.course,.panel{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.card:hover,.course:hover{transform:translateY(-8px);border-color:#57f5e0!important;box-shadow:0 18px 38px #05132388}.terminal{position:relative;overflow:hidden;animation:pormptory-float 5s ease-in-out infinite}.terminal:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#59f6e21f,transparent);height:22%;animation:pormptory-scan 5s linear infinite;pointer-events:none}.solid{position:relative;overflow:hidden;isolation:isolate}.solid:after{content:"";position:absolute;inset:0;width:45%;background:linear-gradient(100deg,transparent,#fff9,transparent);transform:translateX(-160%) skewX(-20deg);transition:transform .6s ease;z-index:-1}.solid:hover:after{transform:translateX(260%) skewX(-20deg)}.outline:hover{transform:translateY(-2px);box-shadow:0 8px 20px #48e8d433}.card-media,.media-slot{transition:transform .45s ease,filter .45s ease}.card:hover .card-media,.card:hover .media-slot{transform:scale(1.025);filter:brightness(1.13)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Pormptory motion layer: applied globally without hiding content if motion is reduced. */
html{scroll-behavior:smooth}body{overflow-x:hidden}.bg:before,.bg:after{content:"";position:fixed;inset:-35%;pointer-events:none;z-index:-1;filter:blur(34px);opacity:.45}.bg:before{background:radial-gradient(circle,#3be3ff30 0 2%,transparent 28%);animation:pormptory-drift 18s ease-in-out infinite}.bg:after{background:radial-gradient(circle,#775dff24 0 2%,transparent 30%);animation:pormptory-drift 24s ease-in-out infinite reverse}.hero>*{animation:pormptory-rise .8s both}.hero>*:nth-child(2){animation-delay:.15s}.card,.course,.panel{transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.card:hover,.course:hover{transform:translateY(-8px);border-color:#58f4df;box-shadow:0 20px 48px #020611b8}.solid{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.solid:hover{transform:translateY(-2px);box-shadow:0 0 26px #62f7de7a}.solid:before{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(110deg,transparent,rgba(255,255,255,.35),transparent);transition:transform .45s}.solid:hover:before{transform:translateX(110%)}.eyebrow{animation:pormptory-pulse 2.8s ease-in-out infinite}.media-slot{position:relative}.media-slot:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#72f8e51c 50%,transparent 65%);transform:translateX(-120%);animation:pormptory-scan 5s ease-in-out infinite}@keyframes pormptory-drift{50%{transform:translate(12%,8%) scale(1.2)}}@keyframes pormptory-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes pormptory-pulse{50%{filter:drop-shadow(0 0 8px #5ff8e9)}}@keyframes pormptory-scan{45%,100%{transform:translateX(120%)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* Flow-like longform lesson layout. */
.flow-doc{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:42px 0 92px}.doc-hero{max-width:780px;padding:42px 0 52px;border-bottom:1px solid #283653}.doc-hero h1,.prompt-visual h1{font-size:clamp(40px,6vw,78px);line-height:1.04;margin:16px 0 20px}.doc-meta{display:flex;gap:18px;flex-wrap:wrap;color:#8fa2c4;font-size:13px;margin-top:24px}.doc-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:58px;margin-top:38px}.doc-toc{align-self:start;position:sticky;top:22px;padding:18px;display:grid;gap:12px}.doc-toc a,.doc-toc span{font-size:13px;color:#a9bad8}.doc-body{max-width:700px;font-size:17px;line-height:1.85;color:#d6def0}.doc-body h2{margin:0;padding-top:8px;color:#f5f7ff;font-size:28px;line-height:1.25}.doc-body h2:not(:first-child){margin-top:56px}.callout{margin:0 0 35px;padding:22px 24px;border-left:3px solid #65f8df;background:linear-gradient(90deg,#55efd012,transparent);border-radius:0 14px 14px 0}.callout b{color:#65f8df}.step{padding:19px 0;border-bottom:1px solid #283653}.step b{color:#69f7e0;font-size:13px;letter-spacing:.08em}.step p{margin:5px 0 0}.prompt-sample{margin-top:17px;padding:23px}.prompt-sample.good{border-color:#54dcca;box-shadow:0 16px 45px #1bf0cf0c}.prompt-sample p{margin-bottom:0}.prompt-sample .solid{display:inline-block;margin-top:18px}.prompt-visual{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:46px;padding:20px 0 48px}.prompt-visual img{width:100%;min-height:310px;object-fit:cover;border:1px solid #34517d;border-radius:18px;box-shadow:0 20px 70px #0008}.example-output{padding:24px;border:1px solid #30496d;border-radius:14px;background:#111a2d}.example-output b{color:#69f7e0}.prompt-text{white-space:pre-wrap;word-break:break-word;font:14px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;color:#eaf2ff}@media(max-width:760px){.flow-doc{width:min(100% - 28px,1120px);padding-top:22px}.doc-layout,.prompt-visual{grid-template-columns:1fr;gap:25px}.doc-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.doc-hero{padding-top:22px}.prompt-visual img{min-height:220px}.doc-body{font-size:16px}}
/* Pormptory tutorial hub + three-column reader. */
.learn-hub main{padding:45px 0 85px}.hub-hero{padding:48px 0 34px;border-bottom:1px solid #2b3c5c}.hub-hero h1{font-size:clamp(54px,9vw,112px);line-height:.92;margin:18px 0}.hub-hero p{max-width:650px;color:#aab9d3;font-size:18px}.hub-meta{display:flex;gap:12px;margin-top:25px}.hub-meta span,.reading-tags span,.lesson-tools span{border:1px solid #324563;border-radius:99px;padding:7px 10px;color:#a9bad7;font-size:12px}.hub-controls{display:grid;grid-template-columns:auto 1fr 250px;align-items:center;gap:20px;padding:27px 0}.mode-switch,.hub-filters{display:flex;gap:8px;flex-wrap:wrap}.mode-switch button,.hub-filters button{border:1px solid #314461;border-radius:99px;padding:9px 14px;background:#111a2b;color:#b5c4df;font:inherit;font-size:13px}.mode-switch button.active,.hub-filters button.active{background:#65f8dd;color:#071321;border-color:#65f8dd}.hub-search{display:flex;gap:8px;align-items:center;padding:0 13px;border:1px solid #314461;border-radius:12px;background:#0e1626;color:#69f7df}.hub-search input{width:100%;padding:11px 0;border:0;outline:0;background:transparent;color:#edf4ff}.lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.lesson-card{display:block;min-height:100%;border:1px solid #304460;border-radius:18px;background:#0e1626;color:inherit;overflow:hidden;text-decoration:none}.lesson-card:hover{transform:translateY(-7px);border-color:#69f7df}.lesson-cover{height:185px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 30% 20%,#3df4dd60,transparent 40%),linear-gradient(135deg,#172f54,#15152f);color:#dcfaff;font-size:15px;letter-spacing:.12em}.lesson-cover img{height:100%;width:100%;object-fit:cover}.lesson-cover .hot,.lesson-cover .lesson-no{position:absolute;top:12px;padding:6px 9px;border-radius:99px;background:#ff8151;color:#160b08;font-size:11px;font-weight:700;letter-spacing:0}.lesson-cover .lesson-no{right:12px;left:auto;background:#081221bb;color:#65f8dd}.cover-violet{background:radial-gradient(circle at 50% 20%,#9a70ff88,transparent 44%),#17122e}.cover-cyan{background:radial-gradient(circle at 50% 20%,#58eeff85,transparent 44%),#10253a}.cover-gold{background:radial-gradient(circle at 50% 20%,#ffcc6d83,transparent 44%),#2d2011}.lesson-copy{padding:18px}.lesson-copy h2{margin:9px 0;font-size:20px;line-height:1.34}.lesson-copy p{min-height:62px;color:#aebbd0;font-size:14px;line-height:1.6}.lesson-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.lesson-tools span{padding:5px 7px;font-size:10px}.lesson-reading main{padding:24px 0 82px}.crumb{color:#94a7c6;font-size:13px;margin:8px 0 32px}.reading-hero{padding:0 0 30px;border-bottom:1px solid #2b3c5b}.reading-hero h1{font-size:clamp(42px,6vw,82px);line-height:1.04;margin:14px 0}.reading-hero p{font-size:18px;color:#aebed8}.reading-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.reading-grid{display:grid;grid-template-columns:218px minmax(0,680px) 240px;gap:38px;margin-top:35px}.article-toc{position:sticky;top:18px;align-self:start;padding:18px;border:1px solid #2c405f;border-radius:15px;background:#0d1627}.article-toc b{display:block;margin-bottom:13px;font-size:17px}.article-toc>a{display:block;padding:9px 8px;color:#a9b8d0;font-size:13px;text-decoration:none}.article-toc>a.active,.article-toc>a:hover{border-radius:7px;background:#65f8dd1a;color:#65f8dd}.toc-bottom{display:grid;gap:8px;margin-top:18px}.toc-bottom>*{text-align:center;font-size:12px}.reading-article{color:#d7e1f0;font-size:16px;line-height:1.9}.reading-article section{margin:0 0 54px}.reading-article h2{color:#f5f8ff;font-size:31px;line-height:1.22;margin:0 0 14px}.article-intro{padding:25px;border:1px solid #334a6d;border-radius:18px;background:linear-gradient(130deg,#153453,#101a2e)}.article-intro h2{font-size:28px;color:#65f8dd}.intro-label{font-size:12px;color:#9fc2ff}.article-image{width:100%;margin:12px 0 50px;border-radius:16px;border:1px solid #355078}.framework-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.framework-grid>div{padding:17px;border:1px solid #30435f;border-radius:12px;background:#101a2b}.framework-grid b{color:#65f8dd}.framework-grid h3{margin:6px 0}.framework-grid p{margin:0;color:#aab9d3;font-size:13px}.code-panel{overflow:hidden;border:1px solid #3a587e;border-radius:14px;background:#09111f}.code-panel>div{display:flex;justify-content:space-between;padding:11px 15px;background:#15233a;color:#8cb3e4;font:12px ui-monospace,monospace}.code-panel button{border:0;background:#65f8dd;color:#06202a;border-radius:7px;padding:4px 10px}.code-panel pre{margin:0;padding:20px;overflow:auto}.complete-card{padding:26px;border:1px solid #65f8dd;border-radius:16px;background:#65f8dd12}.complete-card b{font-size:22px;color:#65f8dd}.reading-side{display:grid;gap:16px;align-self:start}.side-box{padding:19px;border:1px solid #2e4262;border-radius:15px;background:#0e1627}.side-box h3{margin:10px 0}.side-box>a{display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #2b3c59;color:#d6e4fa;font-size:13px;text-decoration:none}.side-box>a:last-child{border:0}.side-box.accent{background:linear-gradient(145deg,#173655,#13152b)}.side-box.accent b{color:#65f8dd}.side-box .solid{display:inline-block;margin-top:9px}@media(max-width:1040px){.hub-controls{grid-template-columns:1fr}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-grid{grid-template-columns:190px minmax(0,1fr)}.reading-side{display:none}}@media(max-width:680px){.learn-hub main,.lesson-reading main{padding-top:20px}.hub-hero h1{font-size:58px}.lesson-grid,.framework-grid,.reading-grid{grid-template-columns:1fr}.article-toc{position:static}.lesson-cover{height:210px}.hub-search{width:100%}.reading-hero h1{font-size:43px}}
/* Visible brand name: technical PORMPTORY identifiers remain unchanged for compatibility. */
.brand{font-size:0!important;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;min-width:0}.brand:before{content:'PX';display:grid;place-items:center;width:27px;height:27px;border:1px solid #72f8ff;border-radius:8px;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-1px;color:#72f8ff;box-shadow:inset 0 0 14px #72f8ff38,0 0 14px #72f8ff38}.brand:after{content:'Promptory X Hub';font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Noto Sans TC',sans-serif;font-size:19px;font-weight:750;letter-spacing:-.7px;color:#edf4ff;text-shadow:0 0 18px #71eefa23}.brand b{display:none}@media(max-width:480px){.brand:after{font-size:16px;letter-spacing:-.8px}.brand:before{width:24px;height:24px}}
.hero{position:relative;isolation:isolate}.hero:before,.hero:after{content:'';position:absolute;z-index:-1;pointer-events:none;border:2px solid #63f8dd30;border-radius:50%;filter:drop-shadow(0 0 32px #53f4e655);animation:pormptory-orbit 14s linear infinite}.hero:before{width:520px;height:225px;right:-90px;top:55px;transform:rotate(-20deg);background:radial-gradient(ellipse at 50% 50%,#67f8dd17,transparent 60%)}.hero:after{width:400px;height:170px;right:15px;top:82px;border-color:#9d84ff3a;animation-direction:reverse;animation-duration:18s}@keyframes pormptory-orbit{50%{filter:drop-shadow(0 0 55px #65f8dd85);transform:rotate(14deg) scale(1.06)}100%{transform:rotate(-20deg)}}.terminal{z-index:1}.terminal:before{content:'LIVE / CREATE / LEARN';position:absolute;right:16px;bottom:13px;color:#65f8dd;font:10px ui-monospace,monospace;letter-spacing:.16em;opacity:.7}.hero h1{position:relative}.hero h1:after{content:'';display:block;width:72px;height:2px;margin-top:19px;background:linear-gradient(90deg,#65f8dd,transparent);box-shadow:0 0 12px #65f8dd}
/* Homepage scroll choreography and action hierarchy. */
body:has(.hero) nav{position:sticky;top:0;z-index:30;background:#060813c9;backdrop-filter:blur(16px)}body:has(.hero) .hero{min-height:calc(100vh - 76px);padding:42px 0;overflow:clip}body:has(.hero) .hero .actions{gap:12px;flex-wrap:wrap}body:has(.hero) .hero .actions .solid{min-width:150px;border-radius:999px;padding:14px 20px;box-shadow:0 0 0 1px #bafff155,0 0 34px #56f6dd55}body:has(.hero) .hero .actions .outline{border-radius:999px;padding:13px 18px;backdrop-filter:blur(8px)}body:has(.hero) .hero:after{content:'SCROLL TO EXPLORE ↓';position:absolute;left:0;bottom:15px;color:#65f8dd9e;font:10px ui-monospace,monospace;letter-spacing:.18em;animation:pormptory-scrollcue 1.8s ease-in-out infinite}body:has(.hero) section{position:relative;scroll-margin-top:100px}body:has(.hero) section:before{content:'';position:absolute;left:0;top:0;width:70px;height:1px;background:linear-gradient(90deg,#65f8dd,transparent)}body:has(.hero) .band section:first-child:after{content:'LEARN';position:absolute;right:0;top:16px;font:900 clamp(76px,14vw,180px)/1 ui-sans-serif,sans-serif;color:#ffffff05;letter-spacing:-.08em;pointer-events:none}body:has(.hero) .cards,body:has(.hero) .courses{view-timeline-name:--items;animation:pormptory-section-in .7s both;animation-timeline:view();animation-range:entry 8% cover 28%}@keyframes pormptory-scrollcue{50%{transform:translateY(7px);opacity:.45}}@keyframes pormptory-section-in{from{opacity:.25;transform:translateY(26px)}to{opacity:1;transform:none}}@media(max-width:720px){body:has(.hero) .hero{min-height:auto;padding-bottom:72px}body:has(.hero) .hero:after{left:50%;transform:translateX(-50%)}body:has(.hero) .hero .actions>*{flex:1}}
/* High-energy homepage visual field: motion stays behind usable copy. */
body:has(.hero) .hero:before{z-index:-1!important;right:-8vw!important;top:4vh!important;width:min(68vw,800px)!important;height:min(68vw,800px)!important;border:0!important;border-radius:50%!important;background:conic-gradient(from 30deg,#58f8e900,#58f8e900 14%,#58f8e975 20%,#8a75ff38 27%,#58f8e900 36%,#58f8e900 57%,#45b6ff57 63%,#58f8e900 72%)!important;filter:blur(.2px) drop-shadow(0 0 38px #45f3df8c)!important;animation:pormptory-energy-spin 12s linear infinite!important;mask-image:radial-gradient(circle,transparent 0 28%,#000 29% 66%,transparent 67%)}body:has(.hero) .hero:after{z-index:-1!important;right:2vw!important;top:13vh!important;width:min(47vw,560px)!important;height:min(47vw,560px)!important;border:0!important;border-radius:50%!important;background:radial-gradient(circle at 50% 50%,#d7fffb 0 1%,#66f8dc 2%,#5cf9df55 7%,#284bff30 24%,transparent 58%),repeating-conic-gradient(from 0deg,#74f8e900 0 11deg,#9e83ff52 12deg 13deg,#74f8e900 14deg 26deg)!important;box-shadow:0 0 30px #65f8dd70,0 0 110px #3d9dff38,inset 0 0 55px #73f8e366!important;animation:pormptory-core-pulse 4.4s ease-in-out infinite!important}.hero .terminal{border-color:#62f8df78!important;background:linear-gradient(145deg,#0d1937ee,#0a1027e8)!important;box-shadow:0 0 0 1px #6bf8df22,0 34px 90px #000a,0 0 62px #55f7df2e!important}.hero .terminal:before{content:'●  LIVE SIGNAL   ◌  03 MODULES ACTIVE'!important;left:18px!important;right:auto!important;top:13px!important;bottom:auto!important;color:#75f8e0!important;font-size:9px!important;opacity:1!important}.hero .terminal .bar{padding-left:18px!important;color:transparent!important;border-bottom-color:#67f8dd40!important}.hero .terminal .code{padding-top:53px!important;text-shadow:0 0 12px #9edfff30}.hero .terminal .code:after{content:'01  PROMPT CORE  ·  02  LEARNING PATH  ·  03  CREATOR FLOW';display:block;margin-top:32px;padding-top:12px;border-top:1px solid #66f8dd36;color:#8ea8ca;font:10px/1.7 ui-monospace,monospace;letter-spacing:.08em}@keyframes pormptory-energy-spin{to{transform:rotate(360deg)}}@keyframes pormptory-core-pulse{50%{transform:scale(1.09);filter:hue-rotate(20deg);box-shadow:0 0 52px #65f8dd95,0 0 160px #7f6cff55,inset 0 0 80px #73f8e388}}@media(max-width:720px){body:has(.hero) .hero:before{right:-45vw!important;top:10vh!important;width:125vw!important;height:125vw!important}body:has(.hero) .hero:after{right:-20vw!important;top:19vh!important;width:85vw!important;height:85vw!important}.hero .terminal{margin-top:16px}}
/* Homepage visual correction: keep hierarchy legible, reserve motion for ambience. */
body:has(.hero) .hero{overflow:visible!important}body:has(.hero) .hero>div{position:relative;z-index:2}body:has(.hero) .hero:before{content:''!important;right:-4vw!important;top:13vh!important;width:min(42vw,520px)!important;height:min(42vw,520px)!important;border:0!important;mask-image:none!important;background:radial-gradient(circle at 42% 42%,#65f8dd24 0,#3d8dff18 23%,#8f75ff0e 42%,transparent 68%)!important;filter:blur(3px)!important;opacity:.9!important;animation:pormptory-soft-orbit 10s ease-in-out infinite!important}.hero:after,body:has(.hero) .hero:after{content:''!important;right:7vw!important;top:21vh!important;width:260px!important;height:260px!important;border:1px solid #65f8dd1c!important;mask-image:none!important;background:radial-gradient(circle,#65f8dd13 0,transparent 64%)!important;box-shadow:none!important;filter:none!important;opacity:.65!important;animation:pormptory-soft-orbit 13s ease-in-out infinite reverse!important}.hero h1{z-index:3!important;text-shadow:0 10px 35px #060813!important}.hero h1:after{display:none!important}.hero .terminal{z-index:3!important;background:linear-gradient(145deg,#101b36f5,#0d1328f5)!important;box-shadow:0 28px 70px #0008,0 0 32px #55f7df16!important}.hero .terminal:before{content:'LIVE SIGNAL · 03 MODULES ACTIVE'!important}.hero .terminal .code:after{display:none!important}@keyframes pormptory-soft-orbit{50%{transform:translate(-12px,9px) scale(1.05);opacity:.55}}
/* Fluid-art + 3D learning-universe hero. */
body:has(.hero) .hero:before,body:has(.hero) .hero:after{display:none!important}body:has(.hero) .hero{min-height:calc(100vh - 76px);background:radial-gradient(circle at 75% 35%,#243dff17,transparent 34%)}.hero .terminal{min-height:400px!important;border:1px solid #70f8df75!important;background-image:linear-gradient(90deg,#071023eb 0%,#071023a0 47%,#07102312 100%),url('promptory-fluid-universe.png')!important;background-size:cover!important;background-position:center!important;box-shadow:0 35px 95px #000b,0 0 54px #60f6e331!important;animation:pormptory-universe-float 7s ease-in-out infinite!important}.hero .terminal:after{content:''!important;inset:-25%!important;height:auto!important;background:radial-gradient(circle at 60% 45%,#75f8de2b,transparent 17%),radial-gradient(circle at 75% 25%,#9e83ff26,transparent 20%)!important;animation:pormptory-universe-light 6s ease-in-out infinite!important;mix-blend-mode:screen}.hero .terminal .bar,.hero .terminal .code,.hero .terminal:before{position:relative;z-index:2}.hero .terminal .code{max-width:265px;padding-top:60px!important}.hero .terminal .code i{display:inline-block;margin:4px 0;padding:3px 7px;border:1px solid #65f8dd55;border-radius:99px;background:#071225b8}.hero .terminal:before{content:'CREATOR UNIVERSE · LIVE'!important;left:19px!important;top:15px!important;right:auto!important;bottom:auto!important;color:#b9fff5!important;font-size:10px!important;opacity:1!important}.hero .terminal .bar{color:transparent!important;background:#0811209c!important;border-bottom-color:#70f8df36!important}@keyframes pormptory-universe-float{0%,100%{transform:translateY(0) rotate(-.4deg);background-position:50% 50%}50%{transform:translateY(-13px) rotate(.4deg);background-position:54% 47%}}@keyframes pormptory-universe-light{50%{transform:translate(6%,3%) scale(1.12);opacity:.6}}@media(max-width:720px){.hero .terminal{min-height:310px!important;background-position:62% center!important}.hero .terminal .code{max-width:220px}}
/* Pure CSS floating-module universe — no hero image asset required. */
.hero .terminal{background:radial-gradient(circle at 74% 26%,#4e65ff31,transparent 23%),radial-gradient(circle at 70% 78%,#55f7df25,transparent 25%),linear-gradient(145deg,#111b3aeF,#080d1eeF)!important;background-image:radial-gradient(circle at 74% 26%,#4e65ff31,transparent 23%),radial-gradient(circle at 70% 78%,#55f7df25,transparent 25%),linear-gradient(145deg,#111b3aeF,#080d1eeF)!important}.hero .terminal:after{content:''!important;position:absolute!important;inset:auto 44px 72px auto!important;width:105px!important;height:105px!important;border:1px solid #72f8ffb8!important;border-radius:18px!important;background:linear-gradient(135deg,#77f8e933,#6576ff12)!important;box-shadow:-175px 94px 0 -18px #111d3b, -175px 94px 0 -17px #9e83ffaa, -272px -44px 0 -32px #101b35, -272px -44px 0 -31px #65f8ddaa, 74px -103px 0 -37px #16203f, 74px -103px 0 -36px #b58cffbb!important;filter:drop-shadow(0 0 22px #5ef7e555)!important;mix-blend-mode:normal!important;animation:pormptory-modules 6.2s cubic-bezier(.45,.05,.55,.95) infinite!important}.hero .terminal .code:before{content:'PROMPT\A\A LEARN\A\A CREATE';white-space:pre;position:absolute;right:64px;bottom:94px;color:#d8ffff;font:700 10px/1.5 ui-monospace,monospace;letter-spacing:.13em;z-index:3;opacity:.78;pointer-events:none}.hero .terminal .code:after{content:'◈';display:grid!important;place-items:center;position:absolute;right:126px;top:88px;width:31px;height:31px;border:1px solid #65f8dd;border-radius:8px;color:#65f8dd;background:#071326cc;box-shadow:0 0 20px #65f8dd66;animation:pormptory-chip 2.7s ease-in-out infinite!important}.hero .terminal{animation:pormptory-panel 5.8s ease-in-out infinite!important}@keyframes pormptory-modules{0%,100%{transform:translate3d(0,0,0) rotate(-8deg)}28%{transform:translate3d(-28px,-43px,0) rotate(8deg)}58%{transform:translate3d(24px,26px,0) rotate(-3deg)}78%{transform:translate3d(-16px,42px,0) rotate(6deg)}}@keyframes pormptory-panel{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-18px) rotate(.5deg)}}@keyframes pormptory-chip{50%{transform:scale(1.22) rotate(90deg);box-shadow:0 0 36px #65f8ddbb}}@media(max-width:720px){.hero .terminal:after{right:28px!important;bottom:62px!important;transform:scale(.78)}.hero .terminal .code:before{right:33px;bottom:74px;transform:scale(.8);transform-origin:right bottom}.hero .terminal .code:after{right:76px;top:74px}}
/* Background-only orbital light trails; keep the terminal panel quiet. */
.hero .terminal:after,.hero .terminal .code:before,.hero .terminal .code:after{display:none!important}.hero .terminal{animation:pormptory-float 5.8s ease-in-out infinite!important}.hero{overflow:hidden!important}.hero:before,body:has(.hero) .hero:before{display:block!important;content:''!important;z-index:0!important;right:-11vw!important;top:9vh!important;width:min(58vw,730px)!important;height:min(58vw,730px)!important;border:0!important;border-radius:50%!important;opacity:.53!important;filter:drop-shadow(0 0 19px #54f7e955)!important;background:repeating-conic-gradient(from 0deg,#65f8dd00 0deg 15deg,#65f8dd78 16deg 17.5deg,#65f8dd00 19deg 37deg)!important;mask-image:radial-gradient(circle,transparent 0 28%,#000 29% 54%,transparent 55%)!important;animation:pormptory-light-ring 16s linear infinite!important}.hero:after,body:has(.hero) .hero:after{display:block!important;content:''!important;z-index:0!important;right:1vw!important;top:18vh!important;width:min(42vw,520px)!important;height:min(42vw,520px)!important;border:1px solid #a685ff62!important;border-radius:50%!important;opacity:.55!important;background:repeating-conic-gradient(from 20deg,#aa88ff00 0deg 23deg,#a985ff66 24deg 25deg,#aa88ff00 27deg 48deg)!important;mask-image:radial-gradient(circle,transparent 0 31%,#000 32% 49%,transparent 50%)!important;animation:pormptory-light-ring 24s linear infinite reverse!important}.hero>div{z-index:2!important}@keyframes pormptory-light-ring{to{transform:rotate(360deg)}}@media(max-width:720px){.hero:before,body:has(.hero) .hero:before{right:-47vw!important;top:12vh!important;width:120vw!important;height:120vw!important}.hero:after,body:has(.hero) .hero:after{right:-25vw!important;top:22vh!important;width:83vw!important;height:83vw!important}}
/* AI word-cloud universe: expressive, legible, and behind the content. */
.hero:before,body:has(.hero) .hero:before{content:'PROMPT  ·  CREATE  ·  LEARN  ·  AI'!important;display:block!important;z-index:0!important;right:-5vw!important;top:16vh!important;width:min(62vw,820px)!important;height:auto!important;border:0!important;border-radius:0!important;mask-image:none!important;background:transparent!important;color:#6df8e65c!important;font:900 clamp(34px,5vw,78px)/1 ui-sans-serif,system-ui,sans-serif!important;letter-spacing:-.06em!important;white-space:nowrap!important;text-shadow:2px 3px 0 #18244f,4px 6px 0 #0a1026,0 0 24px #63f8dd70!important;filter:none!important;opacity:1!important;transform:rotate(-13deg)!important;animation:pormptory-word-drift-a 7.5s cubic-bezier(.45,.05,.55,.95) infinite!important}.hero:after,body:has(.hero) .hero:after{content:'VISION   FLOW   IDEA'!important;display:block!important;z-index:0!important;right:-1vw!important;top:43vh!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;mask-image:none!important;background:transparent!important;color:#a88bff5e!important;font:900 clamp(30px,4.2vw,68px)/1 ui-sans-serif,system-ui,sans-serif!important;letter-spacing:-.055em!important;white-space:nowrap!important;text-shadow:2px 3px 0 #2b2058,5px 7px 0 #0b1026,0 0 23px #a88bff70!important;opacity:1!important;filter:none!important;transform:rotate(11deg)!important;animation:pormptory-word-drift-b 9.5s cubic-bezier(.45,.05,.55,.95) infinite!important}.hero h1 .grad{background:linear-gradient(100deg,#aefdf7 0%,#70f8ff 33%,#a891ff 63%,#e2ff79 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;filter:drop-shadow(0 2px 8px #0b1730)!important}.hero h1{color:#f8fbff!important;text-shadow:0 8px 25px #050912!important}@keyframes pormptory-word-drift-a{0%,100%{transform:translate3d(0,0,0) rotate(-13deg)}25%{transform:translate3d(-20px,-36px,0) rotate(-10deg)}55%{transform:translate3d(25px,20px,0) rotate(-16deg)}78%{transform:translate3d(-12px,32px,0) rotate(-11deg)}}@keyframes pormptory-word-drift-b{0%,100%{transform:translate3d(0,0,0) rotate(11deg)}33%{transform:translate3d(24px,-30px,0) rotate(8deg)}66%{transform:translate3d(-30px,18px,0) rotate(15deg)}}@media(max-width:720px){.hero:before,body:has(.hero) .hero:before{right:-35vw!important;top:10vh!important;font-size:42px!important}.hero:after,body:has(.hero) .hero:after{right:-30vw!important;top:35vh!important;font-size:36px!important}}
/* Lesson 01 uses the supplied square course cover without horizontal cropping. */
.learn-hub .lesson-card.featured .lesson-cover{height:auto;aspect-ratio:1/1}
.learn-hub .lesson-card.featured .lesson-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* Alipay checkout */
.pay button:disabled{cursor:not-allowed;opacity:.4}.pay button small{font-size:10px;color:var(--muted)}.checkout-safe{margin:16px 0 0;font-size:11px!important}.payment-panel{width:min(520px,100%);text-align:center}.payment-qr{display:grid;place-items:center;width:252px;min-height:252px;margin:22px auto 18px;padding:16px;border-radius:18px;background:#fff;box-shadow:0 0 45px #74f7ff2c}.payment-qr img{margin:auto}.payment-amount{margin:8px 0 16px;color:var(--cyan);font:800 30px 'DM Mono',monospace}.payment-account{margin-top:18px}.payment-error{border-left-color:var(--danger);color:#ff9bb2}.payment-success{border-left-color:var(--cyan);color:var(--cyan)}
