@import "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[120px\]{min-height:120px}.min-h-\[200px\]{min-height:200px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-\[44px\]{min-width:44px}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-\[8px\]{border-top-style:var(--tw-border-style);border-top-width:8px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[8px\]{border-left-style:var(--tw-border-style);border-left-width:8px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-transparent{border-color:#0000}.border-t-current{border-top-color:currentColor}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-transparent{background-color:#0000}.text-center{text-align:center}.text-left{text-align:left}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:italic::placeholder{font-style:italic}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-3:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}:root{--chalk-white:beige;--chalkboard-black:#1a1a1a;--chalk-gray:#6b7280;--paper-white:#fefefe;--paper-cream:#faf8f3;--ink-black:#2d3748;--ruled-line:#e5e7eb;--margin-red:#dc2626;--accent-gold:#d97706;--accent-blue:#3b82f6;--accent-green:#10b981;--error-red:#dc2626;--warning-yellow:#fbbf24;--success-green:#10b981;--chalk-dust:#f5f5dc1a;--shadow-soft:#0000001a}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;font-family:DM Sans,sans-serif;overflow-x:hidden}body{color:var(--ink-black);background:var(--paper-white)}.chalkboard{background-color:var(--chalkboard-black);background-blend-mode:overlay;background-image:url(/textures/chalkboard-noise.svg),linear-gradient(#1a1a1a 0%,#0f0f0f 100%);position:relative}.chalkboard:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 40%,#ffffff08 0%,#0000 60%);position:absolute;inset:0}.notebook-paper{background-color:var(--paper-cream);background-image:url(/textures/paper-texture.svg), repeating-linear-gradient(transparent, transparent 27px, var(--ruled-line) 27px, var(--ruled-line) 28px), linear-gradient(90deg, var(--margin-red) 0px, var(--margin-red) 2px, transparent 2px, transparent 50px);background-blend-mode:multiply, normal, normal;padding-left:55px}@media (min-width:640px){.notebook-paper{background-image:url(/textures/paper-texture.svg), repeating-linear-gradient(transparent, transparent 31px, var(--ruled-line) 31px, var(--ruled-line) 32px), linear-gradient(90deg, var(--margin-red) 0px, var(--margin-red) 2px, transparent 2px, transparent 60px);padding-left:70px}}.chalk-text{color:var(--chalk-white);text-shadow:0 1px 2px #0000004d,0 0 8px #f5f5dc66;letter-spacing:.02em;font-family:Lora,serif}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px;border-radius:4px}.chalkboard :focus-visible,.level-card:focus-visible{outline:3px solid var(--chalk-white);outline-offset:3px;box-shadow:0 0 0 6px #f5f5dc33}.notebook-paper :focus-visible,.question-card:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px;box-shadow:0 0 0 5px #3b82f61a}button:focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px}.submit-button:focus-visible{outline:3px solid var(--accent-blue);outline-offset:3px;box-shadow:0 0 0 6px #3b82f626}input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px;box-shadow:0 0 0 5px #3b82f61a}a:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px;border-radius:2px}.history-tab:focus-visible{outline:3px solid var(--accent-gold);outline-offset:2px;box-shadow:0 0 0 5px #f59e0b26}.level-card{background:var(--chalkboard-black);border:2px solid var(--chalk-gray);cursor:pointer;border-radius:.75rem;padding:1.5rem;transition:all .2s;position:relative}.level-card:hover{border-color:var(--chalk-white);transform:translateY(-4px);box-shadow:0 2px 8px #f5f5dc33}.level-card.selected{border-color:var(--accent-gold);background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%)}.level-card:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#f5f5dc0d 0%,#0000 70%);border-radius:.75rem;transition:opacity .2s;position:absolute;inset:0}.level-card:hover:after{opacity:1}.submit-button{background:var(--ink-black);color:var(--paper-white);border:2px solid var(--ink-black);cursor:pointer;border-radius:.5rem;padding:.75rem 1.5rem;font-family:DM Sans,sans-serif;font-weight:600;transition:all .15s;box-shadow:0 4px 6px -1px #0000001a}.submit-button:hover:not(:disabled){background:var(--paper-white);color:var(--ink-black);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.submit-button:disabled{opacity:.5;cursor:not-allowed}.submit-button:active:not(:disabled){transform:translateY(0)}.chalk-dust{background:var(--chalk-white);opacity:.6;pointer-events:none;border-radius:50%;width:4px;height:4px;animation:.8s ease-out forwards float-away;position:absolute}@keyframes float-away{0%{opacity:.6;transform:translate(0)scale(1)}to{transform:translate(var(--tx,0), var(--ty,-20px)) scale(0);opacity:0}}.chalk-spinner{border:3px solid #0000;border-top-color:var(--chalk-white);border-radius:50%;width:40px;height:40px;animation:1s linear infinite chalk-spin}@keyframes chalk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.paper-loader{background:var(--paper-cream);width:60px;height:80px;transform-style:preserve-3d;border-radius:4px;animation:1.2s ease-in-out infinite paper-flip;box-shadow:0 4px 12px #00000014}@keyframes paper-flip{0%,to{transform:rotateY(0)}50%{transform:rotateY(180deg)}}.page-transition{animation:.5s ease-in-out page-flip}@keyframes page-flip{0%{opacity:1;transform:perspective(1000px)rotateY(0)}50%{opacity:.5;transform:perspective(1000px)rotateY(90deg)}to{opacity:1;transform:perspective(1000px)rotateY(0)}}.question-card{background:var(--paper-cream);border:2px solid var(--ruled-line);cursor:pointer;border-radius:.5rem;padding:1rem;transition:all .2s;position:relative;overflow:hidden}.question-card:before{content:"";background:var(--accent-blue);width:4px;height:100%;transition:transform .2s;position:absolute;top:0;left:0;transform:scaleY(0)}.question-card:hover{border-color:var(--accent-blue);transform:translateY(-2px)rotate(.5deg);box-shadow:0 4px 12px #00000014}.question-card:hover:before{transform:scaleY(1)}.question-card.expanded{border-color:var(--accent-blue)}.error-display{background:var(--paper-white);border:2px dashed var(--error-red);border-radius:.5rem;padding:1.5rem;position:relative;box-shadow:0 4px 12px #00000014}.error-display:before{content:"";background:var(--paper-white);clip-path:polygon(0 0,100% 0,50% 100%);width:30px;height:20px;position:absolute;top:-2px;left:10%;transform:translateY(-100%)}.typewriter{white-space:pre-wrap;word-wrap:break-word;overflow:hidden}.typewriter-cursor{background:var(--chalk-white);width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.history-tab{background:var(--paper-cream);border:1px solid var(--ruled-line);cursor:pointer;border-bottom:none;border-radius:.5rem .5rem 0 0;margin-right:.25rem;padding:.5rem 1rem;transition:all .2s;position:relative}.history-tab:after{content:"";background:var(--paper-cream);height:2px;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.history-tab:hover{background:var(--paper-white);transform:translateY(-2px)}.history-tab.active{background:var(--paper-white);border-color:var(--accent-blue);z-index:1}.animate-fade-in{animation:.3s ease-in fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ink-text{color:var(--ink-black);font-family:Lora,serif}.ui-text{font-family:DM Sans,sans-serif}.ruled-line{border-bottom:1px solid var(--ruled-line)}.margin-line{border-left:2px solid var(--margin-red);padding-left:1rem}@media (max-width:767px){.level-card{padding:.875rem}.page-transition{animation-duration:.3s}button,a,input,textarea{min-height:44px}body{font-size:16px}textarea{font-size:16px!important}.chalk-dust{display:none}.notebook-textarea-wrapper{-webkit-tap-highlight-color:transparent}.notebook-paper{box-shadow:0 2px 8px #00000014}}@media (max-width:374px){.level-card{padding:.75rem}h1{font-size:1.25rem!important}h2{font-size:1.125rem!important}.notebook-paper{padding-left:45px}}@media (max-height:500px) and (orientation:landscape){.page-transition{animation:none}header{padding-top:.5rem!important;padding-bottom:.5rem!important}}@supports (padding:max(0px)){body{padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right))}header{padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
