@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Spline+Sans+Mono:ital,wght@0,300..700;1,300..700&display=swap");@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background:#ffffff;--foreground:#433e29;--primary:#d96842;--primary-foreground:#ffffff;--secondary:#f4f2ec;--secondary-foreground:#595749;--accent:#f4f2ec;--accent-foreground:#2c291b;--card:#ffffff;--card-foreground:#1a1a19;--popover:#ffffff;--popover-foreground:#2c291b;--muted:#f7f5ef;--muted-foreground:#8b8a84;--border:#e6e6e1;--input:#bfbdb1;--ring:#d96842;--destructive:#1a1a19;--destructive-foreground:#ffffff;--chart-1:#c85725;--chart-2:#a894ff;--chart-3:#e9e4d2;--chart-4:#ebe6f8;--chart-5:#cd5421;--sidebar-background:#ffffff;--sidebar-foreground:#41413d;--sidebar-primary:#d96842;--sidebar-primary-foreground:#fbfbfb;--sidebar-accent:#f4f2ec;--sidebar-accent-foreground:#343434;--sidebar-border:#ebebeb;--sidebar-ring:#b5b5b5;--font-sans:"Work Sans",sans-serif;--font-serif:"Libre Caslon Text",serif;--font-mono:"Spline Sans Mono",monospace;--letter-spacing-default:-0.01em;--radius:0.5rem;--spacing:0.25rem;--shadow-default:0px 1px 13.5px 0px oklch(0 0 0/0.06)}.dark{--background:#282826;--foreground:#cecbc1;--primary:#e87d5a;--primary-foreground:#ffffff;--secondary:#ffffff;--secondary-foreground:#333331;--accent:#1d1b16;--accent-foreground:#ffffff;--card:#282826;--card-foreground:#ffffff;--popover:#333331;--popover-foreground:#f2f2f0;--muted:#1d1d1a;--muted-foreground:#c2c0b3;--border:#42423b;--input:#58564e;--ring:#e87d5a;--destructive:#ff4646;--destructive-foreground:#ffffff;--chart-1:#c85725;--chart-2:#a894ff;--chart-3:#1d1b16;--chart-4:#302b4f;--chart-5:#cd5421;--sidebar-background:#21201f;--sidebar-foreground:#cecbc1;--sidebar-primary:#343434;--sidebar-primary-foreground:#fbfbfb;--sidebar-accent:#1b1b18;--sidebar-accent-foreground:#cecbc1;--sidebar-border:#ebebeb;--sidebar-ring:#b5b5b5}*{letter-spacing:var(--letter-spacing-default);border-color:var(--border);box-sizing:border-box}body,html{font-family:var(--font-sans)}body{background-color:var(--background);color:var(--foreground)}}@layer components{.card-base{background-color:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-default)}.input-base{background-color:transparent;border:1px solid var(--input);color:var(--foreground)}.input-base::placeholder{color:var(--muted-foreground)}.input-base:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 20%,transparent)}.btn-primary{background-color:var(--primary);color:var(--primary-foreground);font-weight:500;box-shadow:var(--shadow-default)}.btn-primary:hover:not(:disabled){opacity:.92}.shadcn-radio-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;width:1rem;height:1rem;min-width:1rem;min-height:1rem;border:2px solid var(--border);border-radius:50%;background-color:var(--background);color:var(--primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;flex-shrink:0}.shadcn-radio-item:hover:not(:disabled){border-color:var(--primary)}.shadcn-radio-item[data-state=checked]{border-color:var(--primary);background-color:var(--background);color:var(--primary)}.shadcn-radio-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}.shadcn-radio-item:disabled{cursor:not-allowed;opacity:.5}.shadcn-radio-item span{display:flex;align-items:center;justify-content:center;pointer-events:none}.shadcn-radio-item span svg{width:.625rem;height:.625rem;fill:var(--primary)}[data-page=auth]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--muted)}[data-page=auth] .auth-card{width:100%;max-width:24rem;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-default);overflow:hidden}[data-page=auth] .auth-card-header{padding:1.75rem 1.5rem 0}[data-page=auth] .auth-card-title{font-size:1.5rem;font-weight:600;letter-spacing:var(--letter-spacing-default);color:var(--foreground);margin:0}[data-page=auth] .auth-card-description{font-size:.875rem;color:var(--muted-foreground);margin:.375rem 0 0;line-height:1.4}[data-page=auth] .auth-card-content{padding:1.5rem 1.5rem 1.75rem}[data-page=auth] .auth-form-group{margin-bottom:1rem}[data-page=auth] .auth-form-group:last-of-type{margin-bottom:0}[data-page=auth] .auth-label{display:block;font-size:.875rem;font-weight:500;color:var(--foreground);margin-bottom:.375rem}[data-page=auth] .auth-input{width:100%;height:2.5rem;padding:0 .75rem;font-size:.875rem;color:var(--foreground);background:transparent;border:1px solid var(--input);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}[data-page=auth] .auth-input::placeholder{color:var(--muted-foreground)}[data-page=auth] .auth-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 20%,transparent)}[data-page=auth] .auth-submit{width:100%;height:2.75rem;margin-top:1.25rem;font-size:.875rem;font-weight:500;color:var(--primary-foreground);background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-default);transition:opacity .15s}[data-page=auth] .auth-submit:hover:not(:disabled){opacity:.92}[data-page=auth] .auth-submit:disabled{opacity:.6;cursor:not-allowed}[data-page=auth] .auth-error{margin-top:1rem;padding:.5rem .75rem;font-size:.875rem;color:var(--destructive);background:color-mix(in srgb,var(--destructive) 12%,transparent);border-radius:var(--radius)}[data-page=auth] .auth-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);text-align:center;font-size:.875rem;color:var(--muted-foreground)}[data-page=auth] .auth-footer a,[data-page=auth] .auth-footer button.link-style{font-weight:500;color:var(--primary);text-decoration:none;background:none;border:none;padding:0;font:inherit;cursor:pointer}[data-page=auth] .auth-footer a:hover,[data-page=auth] .auth-footer button.link-style:hover{text-decoration:underline}[data-page=landing]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--background);font-family:var(--font-sans);color:var(--foreground);letter-spacing:var(--letter-spacing-default)}[data-page=landing] .landing-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:24rem;text-align:center}[data-page=landing] .landing-hero{width:100%;max-width:280px;aspect-ratio:1}[data-page=landing] .landing-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;color:var(--foreground);margin:0;letter-spacing:var(--letter-spacing-default)}[data-page=landing] .landing-copy{font-size:.9375rem;line-height:1.5;color:var(--muted-foreground);margin:0}[data-page=landing] .landing-copy strong{color:var(--foreground)}[data-page=landing] .landing-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}[data-page=landing] .landing-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius);text-decoration:none;transition:opacity .15s;cursor:pointer;border:none}[data-page=landing] .landing-btn-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-default)}[data-page=landing] .landing-btn-primary:hover{opacity:.92}[data-page=landing] .landing-btn-secondary{background:transparent;color:var(--foreground);border:1px solid var(--border)}[data-page=landing] .landing-btn-secondary:hover{background:var(--accent);color:var(--accent-foreground)}[data-page=onboarding]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--muted)}[data-page=onboarding] .onboarding-inner{width:100%;max-width:24rem;display:flex;flex-direction:column;gap:1.5rem}[data-page=onboarding] .onboarding-step{font-size:.875rem;color:var(--muted-foreground);margin:0}[data-page=onboarding] .onboarding-card{width:100%;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-default);overflow:hidden}[data-page=onboarding] .onboarding-card-header{padding:1.5rem 1.5rem 0;display:flex;flex-direction:column;gap:.375rem}[data-page=onboarding] .onboarding-card-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--foreground);margin:0;letter-spacing:var(--letter-spacing-default)}[data-page=onboarding] .onboarding-card-desc{font-size:.875rem;color:var(--muted-foreground);margin:0;line-height:1.4}[data-page=onboarding] .onboarding-card-content{padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:1rem}[data-page=onboarding] .onboarding-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}[data-page=onboarding] .onboarding-option{cursor:pointer;padding:1rem;border-radius:var(--radius);border:2px solid var(--border);transition:border-color .15s,background-color .15s}[data-page=onboarding] .onboarding-option:hover{border-color:var(--muted-foreground)}[data-page=onboarding] .onboarding-option.selected{border-color:var(--primary);background:var(--accent)}[data-page=onboarding] .onboarding-option p{font-size:.875rem;font-weight:500;color:var(--foreground);margin:0}[data-page=onboarding] .onboarding-field{display:flex;flex-direction:column;gap:.375rem}[data-page=onboarding] .onboarding-label{font-size:.875rem;font-weight:500;color:var(--foreground)}[data-page=onboarding] .onboarding-input{width:100%;height:2.5rem;padding:0 .75rem;font-size:.875rem;font-family:var(--font-sans);color:var(--foreground);background:transparent;border:1px solid var(--input);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}[data-page=onboarding] .onboarding-input::placeholder{color:var(--muted-foreground)}[data-page=onboarding] .onboarding-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 20%,transparent)}[data-page=onboarding] .onboarding-error{font-size:.875rem;color:var(--destructive)}[data-page=onboarding] .onboarding-btn{width:100%;height:2.75rem;font-size:.875rem;font-weight:500;font-family:var(--font-sans);color:var(--primary-foreground);background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-default);transition:opacity .15s}[data-page=onboarding] .onboarding-btn:hover:not(:disabled){opacity:.92}[data-page=onboarding] .onboarding-btn:disabled{opacity:.6;cursor:not-allowed}[data-page=onboarding] .onboarding-btn-icon{width:2.75rem;height:2.75rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}[data-page=onboarding] .onboarding-btn-outline{background:transparent;color:var(--foreground);border:1px solid var(--input)}[data-page=onboarding] .onboarding-btn-outline:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}[data-page=onboarding] .onboarding-radio-group{display:flex;gap:1rem}[data-page=onboarding] .onboarding-radio-item{display:flex;align-items:center;gap:.5rem}[data-page=onboarding] .onboarding-radio-item label{font-size:.875rem;font-weight:400;color:var(--foreground);cursor:pointer}[data-page=onboarding] .onboarding-code-block{flex:1 1;padding:.5rem .75rem;font-family:var(--font-mono);font-size:.875rem;color:var(--foreground);background:var(--muted);border-radius:var(--radius);word-break:break-all}[data-page=onboarding] .onboarding-code-row{display:flex;align-items:center;gap:.5rem}[data-page=onboarding] .onboarding-note{font-size:.875rem;color:var(--muted-foreground)}.app-shell{display:flex;height:100vh;background:var(--background);font-family:var(--font-sans)}.app-shell-main{flex:1 1;display:flex;flex-direction:column;overflow:hidden}@media (max-width:767px){.app-shell-main{padding-bottom:4rem}}.app-shell-content{flex:1 1;overflow:hidden}.side-nav{display:none;flex-direction:column;height:100%;width:4rem;border-right:1px solid var(--border);background:var(--sidebar-background)}@media (min-width:768px){.app-shell .side-nav{display:flex}.app-shell .bottom-nav{display:none}}@media (min-width:1024px){.side-nav{width:12rem}}.side-nav-header{padding:1rem 1rem 0}.side-nav-wordmark{display:none;font-family:var(--font-serif);font-size:1.125rem;color:var(--primary)}@media (min-width:1024px){.side-nav-wordmark{display:block}}.side-nav-links{flex:1 1;display:flex;flex-direction:column;padding:.5rem 0}.side-nav-link{display:flex;align-items:center;gap:.75rem;margin:.125rem .5rem;padding:.625rem .75rem;border-radius:var(--radius);color:var(--muted-foreground);text-decoration:none;font-size:.875rem;font-family:var(--font-sans);transition:background-color .15s,color .15s}.side-nav-link:hover{background:var(--accent);color:var(--accent-foreground)}.side-nav-link-active{background:var(--accent);color:var(--primary)}.side-nav-link-label{display:none}@media (min-width:1024px){.side-nav-link{justify-content:flex-start}.side-nav-link-label{display:inline}}@media (max-width:767px){.side-nav{display:none}}.side-nav-footer{flex-shrink:0;position:relative;padding:.5rem .5rem 1rem;border-top:1px solid var(--sidebar-border)}.side-nav-user-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius);background:transparent;color:var(--sidebar-foreground);font-size:.875rem;font-weight:500;font-family:var(--font-sans);letter-spacing:var(--letter-spacing-default);cursor:pointer;transition:background-color .15s,color .15s;text-align:left}.side-nav-user-trigger:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.side-nav-user-avatar{flex-shrink:0;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;overflow:hidden;background:var(--muted);isolation:isolate}.side-nav-user-avatar-img{display:block;width:100%;height:100%;object-fit:cover;vertical-align:middle}.side-nav-user-avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1rem;font-weight:600;font-family:var(--font-sans);color:var(--muted-foreground);background:var(--muted)}.side-nav-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width:1023px){.side-nav-user-name{display:none}}.side-nav-user-menu{position:absolute;bottom:100%;left:.5rem;right:.5rem;margin-bottom:.25rem;padding:.25rem;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-default);z-index:30}.side-nav-user-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;font-family:var(--font-sans);color:var(--popover-foreground);background:transparent;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background .15s;text-decoration:none;text-align:left}.side-nav-user-menu-item:hover{background:var(--muted);color:var(--foreground)}.side-nav-code-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100}.side-nav-code-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,22rem);padding:1.25rem;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-default);z-index:101}.side-nav-code-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;font-family:var(--font-sans);color:var(--card-foreground)}.side-nav-code-hint{margin:0 0 1rem;font-size:.8125rem;font-family:var(--font-sans);color:var(--muted-foreground);line-height:1.4}.side-nav-code-value-wrap{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;background:var(--muted);border-radius:var(--radius)}.side-nav-code-value{flex:1 1;font-size:.8125rem;font-family:var(--font-mono);color:var(--foreground);overflow:hidden;text-overflow:ellipsis}.side-nav-code-copy{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.8125rem;font-family:var(--font-sans);color:var(--primary);background:transparent;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background .15s}.side-nav-code-copy:hover{background:var(--accent);color:var(--accent-foreground)}.side-nav-code-none{margin:0 0 1rem;color:var(--muted-foreground)}.side-nav-code-close,.side-nav-code-none{font-size:.875rem;font-family:var(--font-sans)}.side-nav-code-close{width:100%;padding:.5rem .75rem;color:var(--foreground);background:var(--muted);border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s}.side-nav-code-close:hover{background:var(--accent);color:var(--accent-foreground)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;height:4rem;border-top:1px solid var(--border);background:var(--background);font-family:var(--font-sans)}@media (min-width:768px){.bottom-nav{display:none}}.bottom-nav-link{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;color:var(--muted-foreground);text-decoration:none;font-size:.625rem;font-weight:500;transition:color .15s}.bottom-nav-link:hover{color:var(--foreground)}.bottom-nav-link-active{color:var(--primary)}.bottom-nav-label{font-size:.625rem;font-weight:500}[data-page=chat]{height:100%;display:flex;flex-direction:column;background:var(--background);font-family:var(--font-sans)}[data-page=chat] .chat-header-row{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--background)}[data-page=chat] .chat-header-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--foreground)}[data-page=chat] .chat-messages{flex:1 1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}[data-page=chat] .chat-message{max-width:85%;padding:.75rem 1rem;border-radius:var(--radius);font-size:.9375rem;line-height:1.5;font-family:var(--font-sans);letter-spacing:var(--letter-spacing-default)}[data-page=chat] .chat-message.user{align-self:flex-end;background:var(--primary);color:var(--primary-foreground)}[data-page=chat] .chat-message.assistant{align-self:flex-start;background:var(--muted);color:var(--foreground)}[data-page=chat] .chat-message.assistant.chat-thinking{background:transparent;padding:.25rem 0;border-radius:0}[data-page=chat] .chat-markdown{margin:0;font-size:inherit;line-height:1.55}[data-page=chat] .chat-markdown p{margin:0 0 .75rem}[data-page=chat] .chat-markdown p:last-child{margin-bottom:0}[data-page=chat] .chat-markdown strong{font-weight:600;color:var(--foreground)}[data-page=chat] .chat-markdown ul{margin:.5rem 0 .75rem;padding-left:1.25rem;list-style-type:disc}[data-page=chat] .chat-markdown li{margin-bottom:.35rem}[data-page=chat] .chat-markdown li:last-child{margin-bottom:0}[data-page=chat] .chat-markdown h2,[data-page=chat] .chat-markdown h3{font-size:.9375rem;font-weight:600;margin:1rem 0 .35rem;color:var(--foreground)}[data-page=chat] .chat-markdown h2:first-child,[data-page=chat] .chat-markdown h3:first-child{margin-top:0}[data-page=chat] .chat-thinking{align-self:flex-start;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;min-height:2.5rem;border-radius:var(--radius);background:transparent;color:var(--foreground);font-size:.9375rem}[data-page=chat] .chat-thinking-lottie{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center}[data-page=chat] .chat-thinking-placeholder{width:24px;height:24px;border-radius:50%;background:var(--muted-foreground);opacity:.5;animation:chat-thinking-pulse 1.2s ease-in-out infinite}@keyframes chat-thinking-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}[data-page=chat] .chat-thinking-text{position:relative;overflow:visible}[data-page=chat] .chat-thinking-label{position:relative;z-index:1;color:var(--foreground)}[data-page=chat] .chat-thinking-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35) 50%,transparent);background-size:200% 100%;animation:chat-shimmer 1.5s ease-in-out infinite}@keyframes chat-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-page=chat] .chat-init-loading{padding:.75rem 1rem}[data-page=chat] .chat-init-pulse{display:inline-block;width:4rem;height:.75rem;border-radius:.25rem;background:var(--muted-foreground);opacity:.4;animation:chat-init-pulse 1.2s ease-in-out infinite}@keyframes chat-init-pulse{0%,to{opacity:.3}50%{opacity:.5}}[data-page=chat] .chat-typewriter-caret{display:inline-block;width:2px;height:1em;margin-left:2px;background:var(--primary);animation:chat-caret-blink .9s step-end infinite;vertical-align:text-bottom}@keyframes chat-caret-blink{50%{opacity:0}}[data-page=chat] .chat-input-area{padding:.75rem 1rem max(.75rem,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--background)}[data-page=chat] .chat-input-row{display:flex;gap:.5rem;align-items:flex-end}[data-page=chat] .chat-input{flex:1 1;min-height:2.5rem;max-height:8rem;padding:.5rem .75rem;font-size:.9375rem;font-family:var(--font-sans);color:var(--foreground);background:var(--card);border:1px solid var(--input);border-radius:var(--radius);resize:none;transition:border-color .15s,box-shadow .15s}[data-page=chat] .chat-input::placeholder{color:var(--muted-foreground)}[data-page=chat] .chat-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px color-mix(in srgb,var(--ring) 20%,transparent)}[data-page=chat] .chat-send{flex-shrink:0;height:2.5rem;padding:0 1rem;font-size:.875rem;font-weight:500;font-family:var(--font-sans);color:var(--primary-foreground);background:var(--primary);border:none;border-radius:var(--radius);box-shadow:var(--shadow-default);cursor:pointer;transition:opacity .15s}[data-page=chat] .chat-send:hover:not(:disabled){opacity:.92}[data-page=chat] .chat-send:disabled{opacity:.5;cursor:not-allowed}[data-page=chat] .chat-error{font-size:.875rem;color:var(--destructive);padding:0 1rem .5rem}[data-page=chat] .chat-history-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40;animation:chat-drawer-fade-in .2s ease-out}[data-page=chat] .chat-history-drawer{position:fixed;top:0;right:0;bottom:0;width:min(100%,420px);max-width:100%;background:var(--background);box-shadow:-4px 0 24px rgba(0,0,0,.12);z-index:50;display:flex;flex-direction:column;animation:chat-drawer-slide-in .25s ease-out}@keyframes chat-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes chat-drawer-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}[data-page=chat] .chat-history-drawer-header{flex-shrink:0;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border)}[data-page=chat] .chat-history-drawer-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}[data-page=chat] .chat-history-drawer-title{display:flex;align-items:center;gap:.5rem}[data-page=chat] .chat-history-drawer-title h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--foreground)}[data-page=chat] .chat-history-drawer-title-icon{flex-shrink:0;color:var(--muted-foreground)}[data-page=chat] .chat-history-drawer-close{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;background:transparent;color:var(--muted-foreground);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s}[data-page=chat] .chat-history-drawer-close:hover{background:var(--muted);color:var(--foreground)}[data-page=chat] .chat-history-drawer-count{margin:.25rem 0 .75rem;font-size:.8125rem;color:var(--muted-foreground)}[data-page=chat] .chat-history-drawer-search-wrap{margin-top:.5rem}[data-page=chat] .chat-history-drawer-search{width:100%;height:2.5rem;padding:0 .75rem;font-size:.875rem;font-family:var(--font-sans);color:var(--foreground);background:var(--muted);border:1px solid transparent;border-radius:var(--radius);transition:border-color .15s,background .15s}[data-page=chat] .chat-history-drawer-search::placeholder{color:var(--muted-foreground)}[data-page=chat] .chat-history-drawer-search:focus{outline:none;background:var(--background);border-color:var(--ring)}[data-page=chat] .chat-history-drawer-content{flex:1 1;overflow-y:auto;padding:1rem 1.25rem}[data-page=chat] .chat-history-drawer-empty{font-size:.9375rem;color:var(--muted-foreground);margin:0;padding:1.5rem 0;text-align:center}[data-page=chat] .chat-history-drawer-month{margin-bottom:1.5rem}[data-page=chat] .chat-history-drawer-month:last-child{margin-bottom:0}[data-page=chat] .chat-history-drawer-month-title{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .75rem}[data-page=chat] .chat-history-drawer-cards{display:flex;flex-direction:column;gap:.75rem}[data-page=chat] .chat-history-drawer-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s}[data-page=chat] .chat-history-drawer-card:hover{border-color:var(--input)}[data-page=chat] .chat-history-drawer-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}[data-page=chat] .chat-history-drawer-card-date{font-size:.8125rem;font-weight:500;color:var(--foreground)}[data-page=chat] .chat-history-drawer-card-actions{position:relative;flex-shrink:0}[data-page=chat] .chat-history-drawer-card-menu-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:transparent;color:var(--muted-foreground);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s}[data-page=chat] .chat-history-drawer-card-menu-btn:hover{background:var(--muted);color:var(--foreground)}[data-page=chat] .chat-history-drawer-card-menu{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:10rem;padding:.25rem;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:10}[data-page=chat] .chat-history-drawer-card-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;font-family:var(--font-sans);color:var(--foreground);background:transparent;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background .15s;text-align:left}[data-page=chat] .chat-history-drawer-card-menu-item:hover{background:var(--muted)}[data-page=chat] .chat-history-drawer-card-menu-item.danger{color:var(--destructive)}[data-page=chat] .chat-history-drawer-card-menu-item.danger:hover{background:var(--destructive);color:var(--destructive-foreground)}[data-page=chat] .chat-history-drawer-card-preview{font-size:.875rem;color:var(--muted-foreground);margin:.5rem 0 .35rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[data-page=chat] .chat-history-drawer-card-meta{font-size:.75rem;color:var(--muted-foreground);margin-bottom:.75rem}[data-page=chat] .chat-history-drawer-card-view{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;color:var(--primary);background:transparent;border:none;padding:0;cursor:pointer;transition:opacity .15s}[data-page=chat] .chat-history-drawer-card-view:hover{opacity:.85;text-decoration:underline}[data-page=chat] .chat-history-open-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:none;background:var(--muted);color:var(--foreground);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s}[data-page=chat] .chat-history-open-btn:hover{background:var(--muted-hover,color-mix(in srgb,var(--muted) 90%,black));color:var(--foreground)}[data-page=learn]{background:var(--background)!important;color:var(--foreground)!important;font-family:var(--font-sans)!important;min-height:100%;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom))}[data-page=learn] .learn-page{min-height:100%}[data-page=learn] .learn-title{font-family:var(--font-serif)!important;font-weight:500;font-size:1.25rem;color:var(--foreground)!important;margin:0 0 .25rem}[data-page=learn] .learn-subtitle,[data-page=learn] p{color:var(--muted-foreground);font-size:.875rem;margin:0 0 1rem}[data-page=learn] .learn-filters{display:flex;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem;margin:0 -1rem;padding-left:1rem;padding-right:1rem}[data-page=learn] .learn-filters button{flex-shrink:0;font-family:var(--font-sans);font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer}[data-page=learn] .learn-filters button.btn-primary,[data-page=learn] .learn-filters button[class*=bg-primary]{background:var(--primary)!important;color:var(--primary-foreground)!important;border-color:var(--primary)}[data-page=learn] .learn-card-link{display:block}[data-page=learn] .learn-card-link,[data-page=learn] .learn-card-link:focus,[data-page=learn] .learn-card-link:hover,[data-page=learn] .learn-card-link:visited{color:var(--foreground)!important;text-decoration:none!important}[data-page=learn] .learn-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media (min-width:768px){[data-page=learn] .learn-grid{grid-template-columns:repeat(2,1fr)}}[data-page=learn] .learn-card{background:var(--card)!important;color:var(--card-foreground)!important;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;min-height:100%;cursor:pointer}[data-page=learn] .learn-card,[data-page=learn] .learn-card:hover{box-shadow:var(--shadow-default)}[data-page=learn] .learn-card h3{font-family:var(--font-serif)!important;font-size:1rem;font-weight:500;color:var(--foreground)!important;margin:0}[data-page=learn] .learn-card p{font-size:.875rem;color:var(--muted-foreground);margin:.5rem 0 0;line-height:1.4}[data-page=learn] .learn-difficulty{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius);font-size:.75rem;font-weight:500}[data-page=learn] .learn-card [class*=bg-muted]{background:var(--muted)!important;color:var(--muted-foreground)!important}[data-page=learn] .learn-card [class*="bg-primary/10"]{background:color-mix(in srgb,var(--primary) 10%,transparent)!important;color:var(--primary)!important}[data-page=learn] .learn-card [class*="bg-primary/20"]{background:color-mix(in srgb,var(--primary) 20%,transparent)!important;color:var(--primary)!important}[data-page=learn] .learn-card [class*="bg-primary/30"]{background:color-mix(in srgb,var(--primary) 30%,transparent)!important;color:var(--primary)!important}[data-page=learn] .learn-card [class*=text-primary]{color:var(--primary)!important}[data-page=learn] .learn-card>div:last-child{font-size:.75rem;color:var(--muted-foreground);margin-top:0;padding-top:0}[data-page=lesson-player]{background:var(--background)!important;color:var(--foreground)!important;font-family:var(--font-sans)!important}[data-page=lesson-player] .lesson-player-close{padding:.5rem;border-radius:var(--radius);border:none;background:transparent;color:var(--muted-foreground);cursor:pointer}[data-page=lesson-player] .lesson-player-close:hover{background:var(--muted);color:var(--foreground)}[data-page=lesson-player] .lesson-player-intro-header{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:1.5rem!important;background:var(--background)!important;border-bottom:1px solid var(--border)!important}[data-page=lesson-player] .lesson-player-intro-progress{display:flex!important;flex-direction:row!important;gap:4px!important;min-height:8px!important;min-width:80px!important;flex:0 1 auto!important}[data-page=lesson-player] .lesson-player-intro-progress .lesson-player-progress-seg{flex:1 1!important;min-width:8px!important;height:8px!important;border-radius:999px!important;background:var(--muted)!important}[data-page=lesson-player] .lesson-player-intro-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;width:100%;max-width:22rem;margin-left:auto;margin-right:auto}@media (min-width:768px){[data-page=lesson-player] .lesson-player-intro-actions{max-width:700px}}[data-page=lesson-player] .lesson-player-btn-exit{padding:.875rem 1.25rem!important;font-size:1rem!important;font-weight:500!important;border-radius:.75rem!important;background:transparent!important;border:none!important}[data-page=lesson-player] .lesson-player-intro{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;width:100%}[data-page=lesson-player] .lesson-player-hero{flex-shrink:0;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;width:100%}[data-page=lesson-player] .lesson-player-title{font-family:var(--font-serif)!important;font-weight:500;font-size:1.5rem;color:var(--foreground)!important;margin:0 0 .5rem;text-align:center!important;width:100%}[data-page=lesson-player] .lesson-player-difficulty{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;margin-bottom:.5rem}[data-page=lesson-player] .lesson-player-difficulty.bg-muted,[data-page=lesson-player] .lesson-player-difficulty[class*=bg-muted]{background:var(--muted)!important;color:var(--muted-foreground)!important}[data-page=lesson-player] .lesson-player-difficulty.bg-primary,[data-page=lesson-player] .lesson-player-difficulty[class*=bg-primary]:not([class*="bg-primary/"]){background:var(--primary)!important;color:var(--primary-foreground)!important}[data-page=lesson-player] .lesson-player-difficulty[class*="bg-primary/10"],[data-page=lesson-player] .lesson-player-difficulty[class*="bg-primary/20"],[data-page=lesson-player] .lesson-player-difficulty[class*="bg-primary/30"]{color:var(--primary)!important}[data-page=lesson-player] .lesson-player-difficulty[class*="bg-primary/10"]{background:color-mix(in srgb,var(--primary) 10%,transparent)!important}[data-page=lesson-player] .lesson-player-difficulty[class*="bg-primary/20"]{background:color-mix(in srgb,var(--primary) 20%,transparent)!important}[data-page=lesson-player] .lesson-player-difficulty[class*="bg-primary/30"]{background:color-mix(in srgb,var(--primary) 30%,transparent)!important}[data-page=lesson-player] .lesson-player-desc{font-size:.875rem;color:var(--muted-foreground);margin:0;max-width:28rem;text-align:center!important}[data-page=lesson-player] .lesson-player-start-btn{margin-left:auto!important;margin-right:auto!important;max-width:20rem}[data-page=lesson-player] .lesson-player-intro-spacing{min-height:1.5rem;flex-shrink:0}[data-page=lesson-player] .lesson-player-details{display:flex;flex-direction:column;gap:.25rem;align-items:center}[data-page=lesson-player] .lesson-player-details .lesson-player-meta{margin:0}[data-page=lesson-player] .lesson-player-meta,[data-page=lesson-player] .lesson-player-muted{font-size:.875rem;color:var(--muted-foreground);margin:0 0 .5rem}[data-page=lesson-player] .lesson-player-meta{font-size:.75rem}[data-page=lesson-player] .lesson-player-btn,[data-page=lesson-player] .lesson-player-start-btn{font-family:var(--font-sans);font-weight:500;background:var(--primary)!important;color:var(--primary-foreground)!important;border:none;border-radius:var(--radius);padding:.625rem 1rem;cursor:pointer}[data-page=lesson-player] .lesson-player-btn:hover,[data-page=lesson-player] .lesson-player-start-btn:hover{background:color-mix(in srgb,var(--primary) 90%,black)!important}[data-page=lesson-player] .lesson-player-btn-outline{background:var(--muted)!important;color:var(--foreground)!important;border:2px solid var(--border)!important;font-family:var(--font-sans)!important;font-weight:600!important;font-size:1rem!important;padding:.875rem 1.25rem!important;border-radius:.75rem!important;min-height:2.75rem;cursor:pointer}[data-page=lesson-player] .lesson-player-btn-outline:hover{background:var(--accent)!important;color:var(--accent-foreground)!important;border-color:var(--input)!important}[data-page=lesson-player] .lesson-player-step{padding:1.5rem 1rem;font-family:var(--font-sans);display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;width:100%;box-sizing:border-box}[data-page=lesson-player] .lesson-player-step .lesson-player-card-wrap,[data-page=lesson-player] .lesson-player-step .lesson-player-tip-wrap{width:100%;max-width:22rem;box-sizing:border-box}@media (min-width:768px){[data-page=lesson-player] .lesson-player-step .lesson-player-card-wrap,[data-page=lesson-player] .lesson-player-step .lesson-player-tip-wrap{max-width:700px}}[data-page=lesson-player] .lesson-player-step-title-center{text-align:center!important}[data-page=lesson-player] .lesson-player-step-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)!important;margin:0 0 .5rem}[data-page=lesson-player] .lesson-player-step-title{font-family:var(--font-serif)!important;font-size:1.375rem;font-weight:600;color:var(--foreground)!important;margin:0 0 1.25rem;line-height:1.3}[data-page=lesson-player] .lesson-player-step-hero{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;width:100%}[data-page=lesson-player] .lesson-player-card-wrap{margin-bottom:1.25rem;width:100%;max-width:22rem}@media (min-width:768px){[data-page=lesson-player] .lesson-player-card-wrap{max-width:700px}}[data-page=lesson-player] .lesson-player-card{background:var(--card)!important;color:var(--card-foreground)!important;border:1px solid var(--border)!important;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}[data-page=lesson-player] .lesson-player-card-content{padding:1.25rem!important}[data-page=lesson-player] .lesson-player-body{font-size:1rem;line-height:1.6;color:var(--foreground)!important;margin:0}[data-page=lesson-player] .lesson-player-tip-wrap{margin-bottom:.5rem;width:100%;max-width:22rem}@media (min-width:768px){[data-page=lesson-player] .lesson-player-tip-wrap{max-width:700px}}[data-page=lesson-player] .lesson-player-tip{background:var(--accent)!important;color:var(--accent-foreground)!important;border-radius:.75rem;padding:1.25rem}[data-page=lesson-player] .lesson-player-tip-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)!important;margin:0 0 .5rem}[data-page=lesson-player] .lesson-player-tip-text{font-size:.9375rem;line-height:1.5;margin:0;color:var(--accent-foreground)!important}[data-page=lesson-player] .lesson-player-footer{padding:1.25rem 1rem max(1.25rem,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--background);display:flex;justify-content:center;align-items:center;width:100%;box-sizing:border-box}[data-page=lesson-player] .lesson-player-footer-inner{width:100%;max-width:22rem;margin-left:auto;margin-right:auto;display:flex;justify-content:center}[data-page=lesson-player] .lesson-player-footer-actions{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}@media (min-width:768px){[data-page=lesson-player] .lesson-player-footer-inner{max-width:700px}}[data-page=lesson-player] .lesson-player-btn-primary{padding:.875rem 1.25rem!important;font-size:1rem!important;font-weight:600!important;border-radius:.75rem!important}[data-page=lesson-player] .lesson-player-success-msg{background:color-mix(in srgb,var(--primary) 5%,var(--background))!important;border-radius:.75rem;padding:1.25rem!important;text-align:center!important;border:none!important;box-shadow:none!important}[data-page=lesson-player] .lesson-player-success-text{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem;line-height:1.6;margin:0;color:var(--primary)!important;font-weight:500}[data-page=lesson-player] .lesson-player-success-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:var(--primary)}[data-page=lesson-player] .lesson-player-success-meta{font-size:.8125rem;color:var(--muted-foreground);margin:1rem 0 0;text-align:center!important}[data-page=lesson-player] .lesson-player-tip .lesson-player-tip-text.text-center{text-align:center!important}[data-page=lesson-player] .lesson-player-skip{width:100%;text-align:center;font-size:.875rem;color:var(--muted-foreground);padding:.5rem;border:none;background:transparent;cursor:pointer}[data-page=lesson-player] .lesson-player-skip:hover{color:var(--foreground)}[data-page=lesson-player] .lesson-player-bar{padding:1rem 1.25rem!important;border-bottom:1px solid var(--border)!important;background:var(--background)!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}[data-page=lesson-player] .lesson-player-bar-progress{display:flex!important;flex-direction:row!important;gap:4px!important;min-height:8px!important;min-width:80px!important;flex:1 1 auto!important;margin-right:.75rem!important}[data-page=lesson-player] .lesson-player-bar-progress .lesson-player-progress-seg{flex:1 1!important;min-width:8px!important;height:8px!important;border-radius:999px!important}[data-page=lesson-player] .lesson-player-bar-progress .lesson-player-progress-seg.bg-primary{background:var(--primary)!important}[data-page=lesson-player] .lesson-player-bar-progress .lesson-player-progress-seg[class*="bg-primary/40"]{background:color-mix(in srgb,var(--primary) 40%,transparent)!important}[data-page=lesson-player] .lesson-player-bar-progress .lesson-player-progress-seg.bg-muted{background:var(--muted)!important}[data-page=lesson-player] .lesson-player-bar-close-wrap{flex:0 0 auto!important;margin-left:auto!important}[data-page=lesson-player] .lesson-player-progress-seg{border-radius:999px}[data-page=lesson-player] .lesson-player-progress-seg.bg-primary{background:var(--primary)!important}[data-page=lesson-player] .lesson-player-progress-seg[class*="bg-primary/40"]{background:color-mix(in srgb,var(--primary) 40%,transparent)!important}[data-page=lesson-player] .lesson-player-progress-seg.bg-muted{background:var(--muted)!important}[data-page=lesson-player] .lesson-player-checkin{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:1.5rem!important}[data-page=lesson-player] .lesson-player-checkin .lesson-player-step-title,[data-page=lesson-player] .lesson-player-checkin .lesson-player-step-title-center{text-align:center!important;margin-bottom:1.5rem}[data-page=lesson-player] .lesson-player-checkin-hero{width:100%;margin-bottom:24px}[data-page=lesson-player] .lesson-player-checkin-success{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}[data-page=lesson-player] .lesson-player-checkin-success .lesson-player-meta,[data-page=lesson-player] .lesson-player-checkin-success .lesson-player-success-meta,[data-page=lesson-player] .lesson-player-checkin-success .lesson-player-success-msg{text-align:center!important}[data-page=lesson-player] .lesson-player-checkin-success .lesson-player-success-meta{margin-top:24px}[data-page=lesson-player] .lesson-player-struggle{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:1.5rem!important;gap:0}[data-page=lesson-player] .lesson-player-struggle-hero{width:100%;margin-bottom:1.5rem}[data-page=lesson-player] .lesson-player-struggle-title{font-family:var(--font-serif)!important;font-size:1.375rem;font-weight:600;color:var(--foreground)!important;margin:0 0 1rem;text-align:center!important}[data-page=lesson-player] .lesson-player-struggle-message{font-size:.9375rem;line-height:1.5;color:var(--foreground);margin:0 0 1.5rem;max-width:28rem;text-align:center!important}[data-page=lesson-player] .lesson-player-struggle-tip{background:var(--accent)!important;color:var(--accent-foreground)!important;border-radius:.75rem;padding:1.25rem;margin-bottom:2rem;max-width:28rem;width:100%;text-align:center!important}[data-page=lesson-player] .lesson-player-struggle-tip .lesson-player-tip-text{margin:0;text-align:center!important}[data-page=lesson-player] .lesson-player-struggle-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:24rem}[data-page=lesson-player] .lesson-player-struggle .lesson-player-step-title,[data-page=lesson-player] .lesson-player-struggle .lesson-player-step-title-center{text-align:center!important;margin-bottom:.75rem}[data-page=lesson-player] .lesson-player-struggle .lesson-player-body{text-align:center!important}[data-page=lesson-player] .lesson-player-complete{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}[data-page=lesson-player] .lesson-player-complete-hero{width:100%;margin-bottom:24px}[data-page=lesson-player] .lesson-player-complete-title{font-family:var(--font-serif)!important;font-weight:500!important;font-size:1.5rem!important;color:var(--foreground)!important;text-align:center!important;margin:0 0 32px!important}[data-page=lesson-player] .lesson-player-complete-lesson-name{font-size:1.125rem!important;font-weight:600!important;color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 12%,var(--background))!important;padding:.5rem 1rem!important;border-radius:.5rem!important;margin:0 0 24px!important;text-align:center!important;display:inline-block!important}[data-page=lesson-player] .lesson-player-complete-rating{margin-bottom:24px}[data-page=lesson-player] .lesson-player-complete-message{font-size:.875rem!important;color:var(--muted-foreground)!important;text-align:center!important;margin:0 0 32px!important;max-width:20rem}[data-page=lesson-player] .lesson-player-complete .lesson-player-complete-actions{display:flex!important;flex-direction:column!important;gap:1rem!important;width:100%;max-width:22rem;margin-left:auto;margin-right:auto}[data-page=lesson-player] .lesson-player-checkin-actions{display:flex!important;flex-direction:column!important;gap:1rem!important;margin-top:.5rem;width:100%;max-width:24rem}[data-page=lesson-player] .lesson-player-rating{margin-top:.5rem;display:flex;flex-direction:column;gap:1.5rem}[data-page=lesson-player] .lesson-player-rating-group{flex-wrap:nowrap;gap:1rem!important}[data-page=lesson-player] .lesson-player-rating-group .lesson-player-rating-item{width:3.25rem!important;min-width:3.25rem!important;height:3.25rem!important;padding:0!important;margin-left:1rem!important;font-size:1rem!important;font-weight:600!important;font-family:var(--font-sans)!important;background:var(--muted)!important;color:var(--muted-foreground)!important;border:2px solid var(--border)!important;border-radius:.75rem}[data-page=lesson-player] .lesson-player-rating-group .lesson-player-rating-item:first-child{margin-left:0!important}[data-page=lesson-player] .lesson-player-rating-group .lesson-player-rating-item[data-state=on]{background:var(--primary)!important;color:var(--primary-foreground)!important;border-color:var(--primary)!important}[data-page=lesson-player] .lesson-player-rating-continue-wrap{width:100%}[data-page=lesson-player] .lesson-player-choice-actions{display:flex!important;flex-direction:column!important;gap:1rem!important;width:100%;max-width:24rem}[data-page=log] .log-page{min-height:100%;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));font-family:var(--font-sans)}[data-page=log] .log-title{font-family:var(--font-serif);font-weight:500;font-size:1.5rem;color:var(--foreground);margin:0 0 1rem}[data-page=log] .log-error{font-size:.875rem;color:var(--destructive);margin:0}[data-page=log] .log-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;max-width:28rem;margin:0 auto}[data-page=log] .log-card-wrapper{display:block;width:100%;min-height:5rem;padding:0;margin:0;border:none;background:transparent;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:opacity .15s}[data-page=log] .log-card-wrapper:hover:not(:disabled) .log-card{background:var(--muted);border-color:var(--input)}[data-page=log] .log-card-wrapper:disabled{opacity:.7;cursor:not-allowed}[data-page=log] .log-card{height:100%;min-height:5rem;transition:background .15s,border-color .15s}[data-page=log] .log-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:5rem;padding:1rem .75rem;text-align:center}[data-page=log] .log-card-icon{width:1.75rem;height:1.75rem;color:var(--primary)}[data-page=log] .log-card-title{font-size:.9375rem;font-weight:600;color:var(--card-foreground);margin:0}[data-page=log] .log-card-desc{font-size:.75rem;color:var(--muted-foreground);margin:0}[data-page=log] .log-card-success{display:flex;align-items:center;justify-content:center;color:var(--primary)}[data-page=log] .log-card-check{width:2rem;height:2rem}[data-page=log] .log-sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40}[data-page=log] .log-sheet-panel{position:fixed;left:0;right:0;bottom:0;max-height:85vh;background:var(--background);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);box-shadow:0 -4px 24px rgba(0,0,0,.12);z-index:50;overflow-y:auto;animation:log-sheet-slide .25s ease-out}@keyframes log-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}[data-page=log] .log-sheet-handle{width:2.5rem;height:.25rem;margin:.5rem auto;background:var(--muted-foreground);border-radius:2px;opacity:.5}[data-page=log] .log-sheet-content{padding:0 1rem max(2rem,env(safe-area-inset-bottom))}[data-page=log] .log-sheet-title{font-size:1.125rem;font-weight:600;font-family:var(--font-sans);color:var(--foreground);margin:0 0 1rem}[data-page=log] .log-sheet-field{margin-bottom:1rem}[data-page=log] .log-sheet-field label{display:block;font-size:.875rem;font-weight:500;color:var(--foreground);margin-bottom:.35rem}[data-page=log] .log-sheet-content .input-base,[data-page=log] .log-sheet-content input[type=number],[data-page=log] .log-sheet-content input[type=text]{height:3rem;min-height:3rem;padding:0 1rem;font-size:.9375rem;line-height:1.5;border:1px solid var(--border);background:var(--card);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}[data-page=log] .log-sheet-content .input-base:focus,[data-page=log] .log-sheet-content input[type=number]:focus,[data-page=log] .log-sheet-content input[type=text]:focus{outline:none;border-color:var(--input);box-shadow:0 0 0 2px color-mix(in srgb,var(--ring) 18%,transparent)}[data-page=log] .log-sheet-content .input-base::placeholder,[data-page=log] .log-sheet-content input::placeholder{color:var(--muted-foreground)}[data-page=log] .log-sheet-textarea{width:100%;min-height:4rem;padding:.5rem .75rem;font-size:.875rem;font-family:var(--font-sans);color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;transition:border-color .15s}[data-page=log] .log-sheet-textarea:focus{outline:none;border-color:var(--input);box-shadow:0 0 0 2px color-mix(in srgb,var(--ring) 18%,transparent)}[data-page=log] .log-sheet-textarea::placeholder{color:var(--muted-foreground)}[data-page=log] .log-sheet-radio-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}[data-page=log] .log-sheet-radio-pair{display:flex;align-items:center;gap:.35rem;position:relative;isolation:isolate}[data-page=log] .log-sheet-radio-pair [data-state=checked]+.log-sheet-radio-label{font-weight:600}[data-page=log] .log-sheet-radio-label{font-weight:400;cursor:pointer}[data-page=log] .log-sheet-inline{display:flex;align-items:center;gap:.5rem}[data-page=log] .log-sheet-inline input{flex:1 1;min-width:0}[data-page=log] .log-sheet-unit-row{display:flex;align-items:center;gap:.5rem}[data-page=log] .log-sheet-rating{display:flex;gap:.35rem}[data-page=log] .log-sheet-rating-btn{width:2.25rem;height:2.25rem;padding:0;font-size:.875rem;font-weight:600;font-family:var(--font-sans);color:var(--muted-foreground);background:var(--background);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s,color .15s}[data-page=log] .log-sheet-rating-btn:hover{background:var(--muted);color:var(--foreground);border-color:var(--input)}[data-page=log] .log-sheet-rating-btn.log-sheet-rating-active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);font-weight:600}[data-page=log] .log-sheet-error{font-size:.8125rem;color:var(--destructive);margin:0 0 .5rem}[data-page=log] .log-sheet-submit-wrap{margin-top:1.25rem;position:relative;z-index:1;isolation:isolate}[data-page=log] .log-sheet-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.75rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;font-family:var(--font-sans);color:var(--primary-foreground);background:var(--primary);border:none;border-radius:var(--radius);box-shadow:var(--shadow-default);cursor:pointer;transition:opacity .15s}[data-page=log] .log-sheet-submit:hover:not(:disabled){opacity:.92}[data-page=log] .log-sheet-submit:disabled{opacity:.6;cursor:not-allowed}[data-page=log] .log-sheet-submit:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}[data-page=log] .log-toast{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);padding:.5rem 1rem;font-size:.875rem;font-family:var(--font-sans);color:var(--primary-foreground);background:var(--primary);border-radius:var(--radius);box-shadow:var(--shadow-default);z-index:60;animation:log-toast-in .2s ease-out}@keyframes log-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(.5rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}[data-page=potato] .potato-page{min-height:100%;padding:1rem 1rem max(2rem,env(safe-area-inset-bottom));font-family:var(--font-sans);color:var(--foreground);background:var(--background)}[data-page=potato] .potato-hero-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:var(--muted)}[data-page=potato] .potato-name{font-family:var(--font-serif);font-weight:500;font-size:1.5rem;color:var(--foreground);margin:.5rem 0 .25rem;text-align:center}[data-page=potato] .potato-description{font-size:.875rem;color:var(--muted-foreground);text-align:center;margin:0 0 1.5rem}[data-page=potato] .potato-card{padding:16px!important;text-align:center;margin-bottom:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-default)}[data-page=potato] .potato-card-title{font-family:var(--font-serif);font-weight:500;font-size:1.125rem;color:var(--foreground);margin:0 0 .75rem;text-align:center}[data-page=potato] .potato-table{width:100%;border-collapse:collapse;font-size:.875rem}[data-page=potato] .potato-table td,[data-page=potato] .potato-table th{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}[data-page=potato] .potato-table th{font-weight:600;color:var(--foreground)}[data-page=potato] .potato-table td{color:var(--foreground)}[data-page=potato] .potato-table .potato-table-muted{color:var(--muted-foreground);font-size:.8125rem}}