@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&family=Newsreader:opsz,wght@6..72,400;6..72,700&display=swap";html,body,#root{min-height:100%;margin:0}body,#root{min-height:100vh}:root{--bg:#0e0e0e;--surface-lowest:#000;--surface-low:#131313;--surface-high:#20201f;--surface-bright:#2c2c2c;--text:#fff;--muted:#adaaaa;--primary:#c899ff;--primary-dim:#9c3dff;--secondary:#00f4fe;--tertiary:#ff94a3;--outline:#7675755c;--shadow:0 30px 60px #c899ff14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top right, #c899ff26, transparent 28%), radial-gradient(circle at 20% 20%, #00f4fe17, transparent 20%), var(--bg);color:var(--text);margin:0;font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{min-height:100vh}.shell{width:min(1240px,100% - 32px);margin:0 auto}.site-header{z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);background:#0e0e0ee0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;padding:24px 0;display:flex}.site-title,.home-title,.page-title,.group-title,.sidebar-title,.article-title,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:Newsreader,serif}.site-title{color:var(--primary);letter-spacing:-.04em;text-transform:uppercase;font-size:2.2rem;font-style:italic;font-weight:700}.header-nav{align-items:center;gap:28px;display:flex}.header-nav a{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:.95rem;font-weight:700;transition:color .16s,transform .16s}.header-nav a:hover{color:var(--secondary);transform:translate(2px)translateY(2px)}.route-shell{min-height:calc(100vh - 88px)}.route-enter{animation:.32s cubic-bezier(.22,1,.36,1) route-enter}@keyframes route-enter{0%{opacity:0;filter:blur(10px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}.home-page,.admin-page{padding:48px 0 88px}.home-title,.page-title{color:var(--primary);letter-spacing:-.08em;margin:0 0 32px;font-size:clamp(4rem,11vw,11rem);font-style:italic;font-weight:700;line-height:.9}.home-section+.home-section{margin-top:40px}.tutorial-groups,.message-list{gap:24px;display:grid}.group-card,.message-form,.article-panel,.message-card,.sidebar-group{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1a1a1aad}.group-card,.article-panel,.message-card,.sidebar-group{padding:24px}.group-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:flex-end;gap:24px;padding:0;display:flex}.group-title{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,5vw,4rem);font-style:italic;font-weight:700;line-height:.98}.group-count{color:var(--secondary);flex-direction:column;align-items:flex-end;gap:4px;font-family:Newsreader,serif;font-size:2.1rem;font-style:italic;display:inline-flex}.group-indicator{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-family:Manrope,sans-serif;font-size:.72rem;font-style:normal;font-weight:700}.group-list{gap:16px;margin-top:24px;display:grid}.lesson-link-card,.sidebar-link{background:var(--surface-high);color:var(--text);padding:18px 20px;font-size:1rem;font-weight:700;line-height:1.5;transition:transform .16s,background-color .16s,color .16s;display:block}.lesson-link-card:hover,.sidebar-link:hover,.sidebar-link.active{background:var(--surface-bright);color:var(--secondary);transform:translate(4px)translateY(4px)}.message-form{padding:24px}.field{gap:10px;display:grid}.field+.field{margin-top:18px}.field span{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:800}.field input,.field textarea{border:0;border-bottom:2px solid var(--outline);width:100%;color:var(--text);background:0 0;outline:0;padding:14px 0;transition:border-color .16s,box-shadow .16s}.field input:focus,.field textarea:focus{border-bottom-color:var(--secondary);box-shadow:0 8px 22px #00f4fe1f}.field textarea{resize:vertical;min-height:180px}.primary-button{background:linear-gradient(90deg, var(--primary) 0%, var(--primary-dim) 100%);color:#250046;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border:0;margin-top:24px;padding:16px 24px;font-size:.82rem;font-weight:800;transition:transform .16s,filter .16s}.primary-button:hover{filter:brightness(1.06);transform:translate(2px)translateY(2px)}.primary-button:disabled{opacity:.7;cursor:wait}.form-status{margin:16px 0 0;font-size:.88rem}.form-status.success{color:var(--secondary)}.form-status.error,.admin-state.error{color:var(--tertiary)}.tutorial-page{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:32px;padding:48px 0 88px;display:grid}.sidebar{position:sticky;top:104px}.sidebar-group{padding:22px}.sidebar-title{color:var(--tertiary);margin:0 0 16px;font-size:2rem;font-style:italic;line-height:.98}.sidebar-links{gap:12px;display:grid}.article-panel{min-height:70vh;padding:32px}.article-title{color:var(--primary);letter-spacing:-.06em;margin:0 0 24px;font-size:clamp(2.8rem,6vw,5.3rem);font-style:italic;font-weight:700;line-height:.94}.markdown-body{color:var(--muted);font-size:1rem;line-height:1.9}.markdown-body>:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--text);letter-spacing:-.04em;margin:1.5em 0 .65em;font-style:italic;font-weight:700;line-height:1.06}.markdown-body h1{font-size:3rem}.markdown-body h2{font-size:2.35rem}.markdown-body h3{font-size:1.72rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body pre,.markdown-body blockquote,.markdown-body table{margin:0 0 1rem}.markdown-body ul,.markdown-body ol{padding-left:1.4rem}.markdown-body li+li{margin-top:.3rem}.markdown-body strong{color:var(--text)}.markdown-body a{color:var(--secondary);text-underline-offset:.18em;text-decoration:underline}.markdown-body code{color:var(--text);background:#ffffff14;padding:.12em .38em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown-body pre{background:var(--surface-lowest);color:var(--text);padding:18px;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{color:var(--text);border-left:4px solid var(--tertiary);margin-left:0;padding-left:18px}.markdown-body table{border-collapse:collapse;width:100%}.markdown-body th,.markdown-body td{vertical-align:top;text-align:left;border-bottom:1px solid #ffffff14;padding:12px 10px 12px 0}.message-meta{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.message-content{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.8}.admin-state{color:var(--muted)}@media (width<=920px){.tutorial-page{grid-template-columns:1fr}.sidebar{position:static}}@media (width<=700px){.header-inner{flex-direction:column;align-items:flex-start}.header-nav{flex-wrap:wrap;gap:16px}.home-page,.admin-page,.tutorial-page{padding-top:32px}.group-card,.message-form,.article-panel,.message-card,.sidebar-group{padding:18px}.group-toggle{align-items:center}}
