:root{color:#2b2d2f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand:#242629;--text-strong:#1b1d1f;--text-muted:#74777b;--border:#e1e1de;--sidebar-background:#f2f2ef;--sidebar-hover:#e9e9e5;--sidebar-active:#e5e5e1;--content-background:#fbfbf9;--media-background:#f0f1ee;--link:#315c85;--inline-code-background:#eef0ec;background:#f8f8f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--content-background);min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea,select{font:inherit}::selection{color:#fff;background:var(--brand)}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100svh;display:grid}.app-sidebar{border-right:1px solid var(--border);background:var(--sidebar-background);flex-direction:column;gap:48px;padding:28px 18px;display:flex}.brand{color:var(--text-strong);align-items:center;gap:10px;padding:0 10px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.brand-logo{flex:none;width:34px;height:34px;display:block}.task-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.task-link{color:var(--text-muted);border-left:2px solid #0000;padding:10px 12px;font-size:14px;line-height:1.4;text-decoration:none;transition:color .16s,background-color .16s,border-color .16s;display:block}.task-link:hover{color:var(--text-strong);background:var(--sidebar-hover)}.task-link.is-active{border-left-color:var(--brand);color:var(--text-strong);background:var(--sidebar-active);font-weight:650}.app-content{background:var(--content-background);min-width:0}.task-page{width:min(100% - 80px,920px);min-height:100svh;margin:0 auto;padding:72px 0}.task-page-header{border-bottom:1px solid var(--border);padding-bottom:24px}.task-page h1{color:var(--text-strong);letter-spacing:0;margin:0;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.15}.task-page-content{padding-top:32px}.tutorial-list{gap:20px;display:grid}.platform-switcher{border:1px solid var(--border);background:var(--sidebar-background);border-radius:6px;width:100%;padding:3px;display:inline-flex}.platform-switcher button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:1 1 0;padding:9px 16px;font-size:14px;line-height:1.35;transition:color .16s,background-color .16s,box-shadow .16s}.platform-switcher button:hover{color:var(--text-strong)}.platform-switcher button.is-active{color:var(--text-strong);background:#fff;font-weight:650;box-shadow:0 1px 2px #181b1d1a}.tutorial-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,.85fr) minmax(0,1fr);align-items:stretch;display:grid;overflow:hidden}.tutorial-card__media{border-right:1px solid var(--border);background:var(--media-background);align-self:stretch;overflow:hidden}.tutorial-card__media img{object-fit:cover;width:100%;height:100%;display:block}.tutorial-card__media--contain img{object-fit:contain}.tutorial-card__media-placeholder{aspect-ratio:2436/1606;width:100%}.tutorial-code-card__media{border-right:1px solid var(--border);background:#fff;min-width:0;padding:24px;display:flex;overflow:hidden}.tutorial-code-card__media pre{width:100%;min-width:0;color:var(--text-strong);white-space:pre;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.75;overflow-x:auto}.tutorial-code-card__media code{font:inherit}.shell-card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.shell-card__header{border-bottom:1px solid var(--border);padding:26px 28px}.shell-card__header h2{color:var(--text-strong);margin:0 0 8px;font-size:21px;line-height:1.35}.shell-card__header p{color:var(--text-muted);margin:0;font-size:15px;line-height:1.6}.shell-card__commands{display:grid}.shell-card__command{min-width:0;padding:22px 28px 24px}.shell-card__command+.shell-card__command{border-top:1px solid var(--border)}.shell-card__command h3{color:var(--text-strong);margin:0 0 12px;font-size:15px;font-weight:650;line-height:1.4}.shell-card__command pre{border:1px solid var(--border);max-width:100%;color:var(--text-strong);white-space:pre;background:#fff;border-radius:5px;margin:0;padding:13px 15px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.65;overflow-x:auto}.shell-card__command code{font:inherit}.tutorial-card__body{padding:28px 30px 30px}.tutorial-card__body h2{color:var(--text-strong);margin:0 0 22px;font-size:21px;font-weight:700;line-height:1.35}.tutorial-card__text{color:var(--text-muted);font-size:15px;line-height:1.75}.tutorial-card__text p{margin:0 0 14px}.tutorial-card__text p:last-child{margin-bottom:0}.tutorial-card__text ul{gap:7px;margin:16px 0;padding-left:20px;display:grid}.tutorial-card__text ol{gap:9px;margin:0;padding-left:22px;display:grid}.tutorial-card__text strong{color:var(--text-strong);font-weight:650}.tutorial-card__text code{color:var(--text-strong);background:var(--inline-code-background);border-radius:3px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.tutorial-card__link{overflow-wrap:anywhere;width:fit-content;max-width:100%;color:var(--link);text-underline-offset:3px;margin:4px 0 18px;text-decoration:underline;display:block}.tutorial-card__link--inline{margin:0;display:inline}@media (width<=720px){.app-shell{grid-template-columns:1fr}.app-sidebar{border-right:0;border-bottom:1px solid var(--border);gap:24px;padding:18px 16px 14px}.task-nav ul{gap:2px;padding-bottom:2px;display:flex;overflow-x:auto}.task-nav li{flex:none}.task-link{white-space:nowrap;border-bottom:2px solid #0000;border-left:0}.task-link.is-active{border-bottom-color:var(--brand)}.task-page{width:min(100% - 36px,920px);min-height:auto;padding:44px 0}.tutorial-card{grid-template-columns:1fr}.tutorial-card__media,.tutorial-code-card__media{border-right:0;border-bottom:1px solid var(--border)}.tutorial-card__body{padding:24px 20px 26px}.shell-card__header,.shell-card__command{padding-left:20px;padding-right:20px}}
