:root{--bg:#ffffff;--bg2:#f7f7f7;--border:#e7e7e7;--border2:#dbdbdb;--text:#111111;--text2:#4d4d4d;--muted:#6e6e6e;--nav-bg:rgba(255,255,255,.9);--card:#ffffff;--card-shadow:0 12px 32px rgba(0,0,0,.04);--btn-bg:linear-gradient(180deg,#2b2b2b,#111111);--btn-fg:#ffffff;--btn-bd:#000000;--btn-hov:brightness(1.25);--row-hover:#fafafa;--numeral:#cfcfcf;--strong:#000000;--sel-bg:#111111;--sel-fg:#ffffff;--accent:#2680eb;--accent-tx:#1c6ad6;--accent-soft:rgba(38,128,235,.08);--input-bg:#ffffff}:root[data-theme=dark]{--bg:#131314;--bg2:#0f0f10;--border:#2c2c2e;--border2:#3a3a3e;--text:#eeeeee;--text2:#bcbcc0;--muted:#9d9da4;--nav-bg:rgba(19,19,20,.92);--card:#1a1a1c;--card-shadow:0 12px 32px rgba(0,0,0,.35);--btn-bg:linear-gradient(180deg,#ffffff,#e6e6e6);--btn-fg:#111111;--btn-bd:#c6c6c6;--btn-hov:brightness(.96);--row-hover:#17171a;--numeral:#3d3d42;--strong:#ffffff;--sel-bg:#eeeeee;--sel-fg:#111111;--accent:#2680eb;--accent-tx:#63a8ff;--accent-soft:rgba(38,128,235,.14);--input-bg:#17171a}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--sel-bg);color:var(--sel-fg)}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-weight:600;letter-spacing:-.01em}.muted{color:var(--muted)}.small{font-size:14px}.t2{color:var(--text2)}main{min-height:60vh}.btn{display:inline-block;background:var(--btn-bg);color:var(--btn-fg);font-weight:600;font-size:14px;line-height:1.4;padding:11px 24px 13px;border-radius:8px;border:1px solid var(--btn-bd);box-shadow:inset 0 1px #ffffff24,0 1px 3px #0000002e;transition:transform .12s,filter .12s;cursor:pointer;text-align:center}.btn:hover{filter:var(--btn-hov);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-blue{display:inline-block;background:linear-gradient(180deg,#4096f3,#2680eb);color:#fff;font-weight:600;font-size:14px;line-height:1.4;padding:11px 24px 13px;border-radius:8px;border:1px solid #1a5cb8;box-shadow:inset 0 1px #ffffff4d,0 1px 3px #00000040;transition:transform .12s,filter .12s;cursor:pointer;text-align:center}.btn-blue:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-blue:active{transform:translateY(1px)}.btn-ghost{display:inline-block;background:transparent;color:var(--text);font-weight:600;font-size:14px;line-height:1.4;padding:10px 20px 12px;border-radius:8px;border:1px solid var(--border2);transition:background .12s,transform .12s;cursor:pointer;text-align:center}.btn-ghost:hover{background:var(--bg2)}.btn-ghost:active{transform:translateY(1px)}.btn-sm{padding:7px 16px 9px;font-size:14px}.btn-block{width:100%}nav{position:sticky;top:0;z-index:60;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-in{display:flex;align-items:center;gap:20px;min-height:64px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:12px;color:var(--text);flex:none}.logo-mark{height:20px;width:auto;display:block}.logo-word{font-size:11px;font-weight:600;letter-spacing:.34em;color:var(--muted)}.nav-links{display:flex;gap:4px;flex-wrap:wrap}.nav-links a{font-size:14px;font-weight:500;color:var(--text2);padding:7px 12px 8px;border-radius:999px}.nav-links a:hover{color:var(--text);background:var(--bg2)}.nav-links a.on{color:var(--accent-tx);background:var(--accent-soft);font-weight:600}.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}.theme-btn{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1px solid var(--border2);border-radius:999px;background:transparent;color:var(--text);cursor:pointer}.theme-btn:hover{background:var(--bg2)}@media (max-width:760px){.nav-links{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.nav-links a{white-space:nowrap}}.page{padding:48px 0 72px}.page-head{margin-bottom:32px}.page-head h1{font-size:40px;line-height:1.15}.page-head p{color:var(--text2);margin-top:12px;max-width:640px}@media (max-width:640px){.page-head h1{font-size:30px}}.sec-label{font-size:14px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.sec-head a{font-size:14px;font-weight:600;color:var(--accent-tx)}.sec-head a:hover{text-decoration:underline;text-underline-offset:3px}section.blk{padding:40px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width:1020px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.chip{display:inline-block;font-size:14px;font-weight:500;color:var(--text2);background:transparent;border:1px solid var(--border2);padding:6px 14px 7px;border-radius:999px;cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap}.chip:hover{border-color:var(--muted);color:var(--text)}.chip.on{border-color:var(--accent);color:var(--accent-tx);background:var(--accent-soft);font-weight:600}.chip-static{cursor:default}.chip-static:hover{border-color:var(--border2);color:var(--text2)}.chips{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border2);padding:3px 10px 4px;border-radius:999px}.tag-accent{color:var(--accent-tx);border-color:var(--accent)}.hr{border:none;border-top:1px solid var(--border);margin:8px 0}.empty{border:1px dashed var(--border2);border-radius:16px;padding:48px 24px;text-align:center;color:var(--text2)}.empty h3{font-size:22px;color:var(--text);margin-bottom:8px}.empty .btn,.empty .btn-ghost{margin-top:16px}.proto-note{background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);border-radius:12px;padding:14px 18px;font-size:14px;margin-top:16px}.vis{position:relative;overflow:hidden;background:linear-gradient(135deg,hsl(var(--h,220),42%,36%),hsl(calc(var(--h,220) + 42),48%,20%) 72%);isolation:isolate}.vis:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 18% 8%,rgba(255,255,255,.28),transparent 55%);z-index:0}.vis:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,transparent 0 23px,rgba(255,255,255,.05) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,rgba(255,255,255,.05) 23px 24px);z-index:0}.vis-letter{position:absolute;left:16px;bottom:2px;font-family:"Source Serif 4",Georgia,serif;font-size:88px;line-height:1;color:#ffffff3d;z-index:1;pointer-events:none}.vis-word{position:absolute;left:18px;top:14px;font-size:11px;font-weight:700;letter-spacing:.28em;color:#ffffffbf;z-index:1;text-transform:uppercase}.vis-16x9{aspect-ratio:16/9}.vis-4x3{aspect-ratio:4/3}.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:#0c0c0e8c;border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;display:grid;place-items:center}.play-badge:after{content:"";border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #fff;margin-left:3px}.dur{position:absolute;right:10px;bottom:10px;z-index:2;background:#0a0a0cc7;color:#fff;font-size:12px;font-weight:600;padding:2px 8px 3px;border-radius:6px}.status-badge{position:absolute;left:10px;top:10px;z-index:2;background:#0a0a0cb8;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px 5px;border-radius:999px}.avatar{border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-weight:700;flex:none;background:linear-gradient(135deg,hsl(var(--h,220),45%,46%),hsl(calc(var(--h,220) + 40),50%,30%));border:1px solid rgba(255,255,255,.18)}.av-28{width:28px;height:28px;font-size:11px}.av-36{width:36px;height:36px;font-size:13px}.av-44{width:44px;height:44px;font-size:15px}.av-72{width:72px;height:72px;font-size:24px}.person{display:flex;align-items:center;gap:10px;min-width:0}.person .p-name{font-weight:600;font-size:14px;line-height:1.3}.person .p-sub{color:var(--muted);font-size:14px;line-height:1.3}a.person:hover .p-name{color:var(--accent-tx)}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--card-shadow);overflow:hidden}.card-link{display:block;transition:transform .15s,box-shadow .15s}.card-link:hover{transform:translateY(-2px)}.card .vis{border-bottom:1px solid var(--border)}.card-body{padding:20px}.card-body h3{font-size:20px;line-height:1.3;margin-bottom:6px}.card-link:hover h3{color:var(--accent-tx)}.card-body .blurb{color:var(--text2);font-size:14px;line-height:1.55}.meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.meta-row .price{margin-left:auto;font-weight:700;color:var(--text);font-size:16px}.stars{color:var(--text);font-weight:600;white-space:nowrap}.stars .cnt{color:var(--muted);font-weight:400}.free{color:var(--accent-tx);font-weight:700}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--input-bg);color:var(--text);border:1px solid var(--border2);border-radius:8px;padding:11px 14px 12px;font-size:16px;font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{resize:vertical;min-height:88px}.search-input{width:100%;background:var(--input-bg);color:var(--text);border:1px solid var(--border2);border-radius:10px;padding:12px 16px 13px;font-size:16px;font-family:inherit}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select.search-input{width:auto}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.toolbar .grow{flex:1;min-width:200px}.react{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--muted);background:transparent;border:1px solid var(--border2);border-radius:999px;padding:5px 13px 6px;cursor:pointer}.react:hover{color:var(--text);border-color:var(--muted)}.react.on{color:var(--accent-tx);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.comment{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--border)}.comment .c-body{flex:1;min-width:0}.comment .c-head{font-size:14px;margin-bottom:2px}.comment .c-head b{font-weight:600}.comment .c-head span{color:var(--muted)}.comment p{color:var(--text2);font-size:14px}.hero{padding:72px 0 56px;text-align:center}.kicker{display:block;font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}.hero h1{font-size:54px;line-height:1.12;max-width:820px;margin:0 auto}@media (max-width:640px){.hero h1{font-size:34px}}.hero .lead{color:var(--text2);margin:24px auto 0;max-width:600px}.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}.search-wrap{position:relative;max-width:620px;margin:36px auto 0;text-align:left}.search-wrap .search-input{padding:14px 18px 15px;border-radius:12px;box-shadow:var(--card-shadow)}.search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--border2);border-radius:12px;box-shadow:0 24px 48px #0000002e;z-index:70;max-height:420px;overflow:auto;padding:8px}.sr-group{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 12px 4px}.sr-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px 10px;border-radius:8px;font-size:14px;color:var(--text)}.sr-item:hover{background:var(--row-hover)}.sr-item .sr-sub{color:var(--muted);margin-left:auto;flex:none}.sr-empty{padding:16px 12px;color:var(--muted);font-size:14px}.feature-band{display:grid;grid-template-columns:1.05fr 1fr;gap:0;background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow)}@media (max-width:860px){.feature-band{grid-template-columns:1fr}}.feature-band .fb-img{background:#101012;display:flex;align-items:center;justify-content:center;padding:28px}.feature-band .fb-img img{max-width:100%;max-height:420px;width:auto;border-radius:10px;border:1px solid #363636}.feature-band .fb-body{padding:36px}.feature-band h3{font-size:30px;line-height:1.2;margin:8px 0 12px}.feats{display:grid;grid-template-columns:1fr;gap:10px;margin:20px 0 24px}.feats li{list-style:none;color:var(--text2);font-size:14px;line-height:1.55;padding-left:24px;position:relative}.feats li:before{content:"";position:absolute;left:2px;top:7px;width:8px;height:8px;border-radius:2px;background:var(--text)}.feats li b{color:var(--text);font-weight:600}.creator-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width:860px){.creator-row{grid-template-columns:1fr 1fr}}.creator-mini{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;text-align:center;box-shadow:var(--card-shadow)}.creator-mini .avatar{margin-bottom:12px}.creator-mini h4{font-size:16px;font-weight:600}.creator-mini p{color:var(--muted);font-size:14px}.post-row{display:block;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);transition:transform .15s}.post-row:hover{transform:translateY(-2px)}.post-row h3{font-size:21px;line-height:1.3;margin:10px 0 6px}.post-row:hover h3{color:var(--accent-tx)}.post-row .excerpt{color:var(--text2);font-size:14px}.post-list{display:grid;gap:16px}.composer{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);margin-bottom:28px}.composer h3{font-size:20px;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}@media (max-width:960px){.detail-grid{grid-template-columns:1fr}}.side-box{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);position:sticky;top:96px}.side-box .price{font-size:30px;font-weight:700;line-height:1.1}.side-box .price small{font-size:14px;color:var(--muted);font-weight:400}.side-box ul{margin:16px 0}.side-box li{list-style:none;color:var(--text2);font-size:14px;padding:4px 0 5px 24px;position:relative}.side-box li:before{content:"✓";position:absolute;left:0;color:var(--text);font-weight:700}.detail-hero{border-radius:16px;border:1px solid var(--border);overflow:hidden;margin-bottom:28px}.detail-hero .vis{border:none}.shot-img{display:block;width:100%;border-radius:16px;border:1px solid var(--border2);background:#101012}.body-text p{color:var(--text2);margin-bottom:16px;max-width:680px}.body-text p b,.body-text p strong{color:var(--text)}.detail-title{font-size:36px;line-height:1.2;margin:12px 0 8px}@media (max-width:640px){.detail-title{font-size:28px}}.credits li{list-style:none;display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:14px}.credits .cr-role{color:var(--muted);min-width:140px}.callout{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:16px 20px;font-size:14px;margin:20px 0}.callout b{font-weight:700}.level-badge{position:absolute;left:10px;top:10px;z-index:2;background:#0a0a0cb8;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px 5px;border-radius:999px}.curr-sec{margin-bottom:8px}.curr-sec>h4{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:24px 0 8px}.lesson-row{display:flex;align-items:center;gap:14px;width:100%;padding:13px 16px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);margin-bottom:8px;font-size:14px;color:var(--text);text-align:left;cursor:pointer}.lesson-row:hover{border-color:var(--muted)}.lesson-row .l-num{color:var(--muted);font-weight:600;min-width:22px}.lesson-row .l-title{flex:1;font-weight:500}.lesson-row .l-dur{color:var(--muted)}.lesson-row .l-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border2);display:grid;place-items:center;color:#fff;font-size:11px;flex:none}.lesson-row.done .l-check{background:var(--accent);border-color:var(--accent)}.lesson-row.current{border-color:var(--accent);background:var(--accent-soft)}.progress{height:8px;border-radius:999px;background:var(--bg2);border:1px solid var(--border);overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .25s}.lesson-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}@media (max-width:960px){.lesson-grid{grid-template-columns:1fr}}.lesson-side{position:sticky;top:96px}@media (max-width:960px){.lesson-side{position:static}}.player-ph{border-radius:16px;overflow:hidden;border:1px solid var(--border);cursor:pointer}.player-ph .vis{border:none}.cover-strip{height:120px;border-radius:16px;border:1px solid var(--border);margin-bottom:-36px}.profile-head{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin-bottom:8px;position:relative;z-index:2}.profile-head .avatar{border:3px solid var(--bg)}.profile-sec{margin-top:36px}.profile-sec>h3{font-size:22px;margin-bottom:16px}.auth-wrap{max-width:440px;margin:0 auto}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:var(--card-shadow)}.auth-card h1{font-size:28px;margin-bottom:8px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:8px}@media (max-width:760px){.stat-row{grid-template-columns:1fr}}.stat{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--card-shadow)}.stat .s-num{font-size:30px;font-weight:700;line-height:1.1}.stat .s-lab{color:var(--muted);font-size:14px;margin-top:4px}.dash-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--border);font-size:14px}.dash-row .d-main{flex:1;min-width:0}.dash-row .d-title{font-weight:600;font-size:16px}.dash-row:hover .d-title{color:var(--accent-tx)}.article-body{max-width:680px}.article-body p{color:var(--text2);font-size:17px;line-height:1.75;margin-bottom:20px}.article-body p:first-of-type{color:var(--text)}.author-box{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 24px;box-shadow:var(--card-shadow);margin:32px 0;max-width:680px}footer{border-top:1px solid var(--border);padding:48px 0 40px;color:var(--muted);font-size:14px;margin-top:24px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}.foot-grid h5{color:var(--text);font-size:14px;font-weight:600;margin-bottom:12px}.foot-grid a{display:block;padding:3px 0;color:var(--muted)}.foot-grid a:hover{color:var(--text)}.foot-base{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--border);margin-top:36px;padding-top:24px}footer .foot-base a{color:var(--text);font-weight:500;text-decoration:underline;text-underline-offset:3px}.notfound{text-align:center;padding:96px 0}.notfound h1{font-size:44px;margin-bottom:12px}.notfound p{color:var(--text2);margin-bottom:24px}
