@import"https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--yellow: #FFD400;--yellow-dark: #D4A900;--teal: #1B998B;--teal-light: rgba(27,153,139,.12);--pink: #CC3366;--hot-pink: #FE00C1;--dark: #33373D;--darker: #2A2A2A;--near-black: #111111;--body-text: #333333;--mid-text: #444444;--light-text: #888888;--white: #FFFFFF;--off-white: #F8F7F2;--border: #DDDDDD;--font: "Courier Prime", "Courier New", monospace;--shadow-offset: -3px 3px 0px 0px rgba(0,0,0,.45);--shadow-offset-lg: -5px 5px 0px 0px rgba(0,0,0,.45);--radius-sm: 2px;--radius: 3px;--radius-md: 6px;--theme-primary: var(--yellow);--theme-secondary: var(--teal);--theme-surface: var(--white);--theme-text: var(--near-black)}html,body{height:100%;overflow-x:hidden}body{font-family:var(--font);background:var(--off-white);color:var(--body-text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100%;display:flex;flex-direction:column}.crossword-bg-dark{background-color:#3a3a3a;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px}.crossword-bg-light{background-color:#e8e5dc;background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px);background-size:36px 36px}.term-window{border-radius:8px;overflow:hidden;box-shadow:0 12px 32px #0006,0 0 0 2px var(--near-black)}.term-titlebar{background:#2a2a2a;padding:8px 12px;display:flex;align-items:center;gap:6px}.term-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.term-dot-r{background:#ff5f57}.term-dot-y{background:#ffbd2e}.term-dot-g{background:#28ca42}.term-titletext{font-family:Courier Prime,monospace;font-size:11px;color:#fff6;letter-spacing:.08em;margin:0 auto}.term-screen{background:#080c08;padding:16px;position:relative}.term-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 3px,rgba(0,0,0,.15) 3px,rgba(0,0,0,.15) 4px)}.term-line{font-family:Courier Prime,monospace;font-size:13px;line-height:1.7;color:#4af626;text-shadow:0 0 6px rgba(74,246,38,.5);white-space:pre-wrap;position:relative;z-index:2}.term-line-dim{color:#4af6268c;text-shadow:none}.term-line a,.term-line-dim a{color:#4af626;text-decoration:underline}.term-image{width:100%;border-radius:4px;margin:10px 0;position:relative;z-index:2;border:1px solid rgba(74,246,38,.3)}.receipt-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1.5px dashed rgba(17,17,17,.2)}.receipt-row-total{border-top:2px solid var(--near-black);border-bottom:none;margin-top:4px;padding-top:12px;font-weight:700}.receipt-item-label{flex:1 1 140px;font-size:14px}.receipt-item-qty{font-variant-numeric:tabular-nums;font-size:13px;color:var(--near-black);opacity:.7;flex:0 0 auto}.receipt-item-value{font-variant-numeric:tabular-nums;color:var(--teal);font-weight:700;flex:0 0 auto}.font-variant-serif{--font: Georgia, "Times New Roman", serif}.font-variant-condensed{--font: "Arial Narrow", "Helvetica Neue Condensed", sans-serif}.btn{display:inline-block;font-family:var(--font);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:12px 28px;border-radius:var(--radius);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .1s,box-shadow .1s;-webkit-tap-highlight-color:transparent}.btn:active{transform:translate(3px,-3px);box-shadow:none!important}.btn-primary{background:var(--theme-primary);color:var(--near-black);border-color:var(--near-black);box-shadow:var(--shadow-offset)}.btn-secondary{background:var(--near-black);color:var(--white);border-color:var(--near-black);box-shadow:var(--shadow-offset)}.btn-teal{background:var(--teal);color:var(--white);border-color:var(--teal);box-shadow:var(--shadow-offset)}.btn-outline{background:transparent;color:var(--near-black);border-color:var(--near-black);box-shadow:var(--shadow-offset)}.btn-full{display:block;width:100%;text-align:center}.btn-lg{font-size:17px;padding:16px 36px}.card{background:var(--white);border:2px solid var(--near-black);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-offset-lg)}.input{display:block;width:100%;font-family:var(--font);font-size:15px;color:var(--near-black);background:var(--white);border:2px solid var(--near-black);border-radius:var(--radius);padding:10px 14px;outline:none;transition:box-shadow .15s}.input:focus{box-shadow:var(--shadow-offset)}.input::placeholder{color:var(--light-text)}.tile{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--theme-primary);border:2px solid var(--near-black);box-shadow:var(--shadow-offset);font-family:var(--font);font-size:20px;font-weight:700;color:var(--near-black);text-transform:uppercase;flex-shrink:0}.tile-word{display:flex;gap:3px;flex-wrap:wrap}.badge{display:inline-block;font-family:var(--font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:var(--radius-sm);border:1.5px solid transparent}.badge-teal{background:var(--teal);color:var(--white)}.badge-yellow{background:var(--yellow);color:var(--near-black);border-color:var(--near-black)}.progress-bar-outer{height:10px;background:#0000001a;border-radius:5px;overflow:hidden;border:1.5px solid var(--near-black)}.progress-bar-fill{height:100%;background:var(--theme-primary);border-radius:3px;transition:width .5s ease}.toast{display:flex;align-items:flex-start;gap:12px;background:var(--white);border:2px solid var(--near-black);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow-offset)}@keyframes stepIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.step-enter{animation:stepIn .4s ease forwards}@keyframes correctFlash{0%{background:var(--theme-primary)}50%{background:var(--teal)}to{background:var(--theme-primary)}}.correct-flash{animation:correctFlash .6s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:shake .4s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 1s ease infinite}.safe-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}.safe-top{padding-top:max(16px,env(safe-area-inset-top))}
