:root{--color-bg: #fdf6ec;--color-primary: #5b4bd6;--color-primary-dark: #4234a8;--color-accent: #ff8a3d;--color-success: #35b06b;--color-danger: #e2493d;--color-text: #2b2340;--color-muted: #7a7391;--color-card: #ffffff;--color-border: #e6ddf5;--cell-size: 48px;--radius: 16px;--font-heading: "Baloo 2", "Noto Sans Malayalam", sans-serif;--font-body: "Noto Sans", "Noto Sans Malayalam", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:linear-gradient(180deg,#fff7ec,#f2ecff);color:var(--color-text);font-family:var(--font-body);font-size:18px}button,input{font-family:inherit}.app-shell{min-height:100%;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 48px}.screen{width:100%;max-width:980px}.btn{font-family:var(--font-heading);font-weight:700;font-size:1rem;padding:12px 20px;border-radius:999px;border:none;cursor:pointer;background:var(--color-card);color:var(--color-text);border:2px solid var(--color-border);transition:transform .1s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #5b4bd626}.btn:active{transform:translateY(0)}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover{background:var(--color-primary-dark)}.btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--large{font-size:1.2rem;padding:16px 32px}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-muted)}.home-title{font-family:var(--font-heading);font-size:2.6rem;text-align:center;color:var(--color-primary);margin-bottom:4px}.home-subtitle{text-align:center;color:var(--color-muted);margin-top:0;margin-bottom:32px}.picker-section{background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius);padding:20px 24px;margin-bottom:20px}.picker-section h2{font-family:var(--font-heading);font-size:1.1rem;margin-top:0;color:var(--color-primary-dark)}.picker-row{display:flex;flex-wrap:wrap;gap:12px}.picker-btn{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;padding:14px 22px;border-radius:14px;border:3px solid var(--color-border);background:#fff;cursor:pointer;display:flex;align-items:center;gap:8px}.picker-btn--small{font-size:.9rem;padding:8px 14px;border-radius:10px}.picker-btn--selected{border-color:var(--color-primary);background:#efeaff;color:var(--color-primary-dark)}.picker-btn__flag{font-size:1.3rem}.home-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:28px}.home-back{margin-bottom:8px}.name-screen{display:flex;flex-direction:column;align-items:center}.name-form{background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius);padding:40px;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:420px;width:100%}.name-form h1{font-family:var(--font-heading);color:var(--color-primary);text-align:center;margin:0}.name-input{font-size:1.4rem;padding:14px 18px;border-radius:12px;border:3px solid var(--color-border);width:100%;text-align:center}.name-input:focus{outline:none;border-color:var(--color-primary)}.puzzle-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.puzzle-stats{display:flex;gap:16px;font-weight:600;flex-wrap:wrap}.puzzle-body{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}.puzzle-side{flex:1;min-width:280px}.puzzle-actions{display:flex;gap:12px;margin-bottom:16px}.crossword-grid{display:grid;gap:2px;background:var(--color-border);border:3px solid var(--color-primary);border-radius:8px;padding:4px;width:max-content}.crossword-grid--easy{--cell-size: 58px}.crossword-cell{width:var(--cell-size);height:var(--cell-size);position:relative;background:#fff}.crossword-cell--blank{background:transparent}.crossword-cell--active-word{background:#f2ecff}.crossword-cell--active{background:#ffe9c7}.crossword-cell--wrong .crossword-cell__input{color:var(--color-danger)}.crossword-cell__number{position:absolute;top:1px;left:3px;font-size:.62rem;font-weight:700;color:var(--color-muted);pointer-events:none}.crossword-cell__input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:1.3rem;font-weight:700;text-transform:uppercase;color:var(--color-text);padding:0}.crossword-cell__input:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.clue-lists{display:flex;flex-direction:column;gap:20px}.clue-group h3{font-family:var(--font-heading);color:var(--color-primary-dark);margin-bottom:8px}.clue-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.clue-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;cursor:pointer;border:2px solid transparent}.clue-item:hover{background:#f7f4ff}.clue-item--active{background:#efeaff;border-color:var(--color-primary)}.clue-item--done{opacity:.55;text-decoration:line-through}.clue-item__image{font-size:1.4rem}.clue-item__number{font-weight:700;color:var(--color-primary-dark)}.clue-item__text{flex:1}.clue-item__listen{border:none;background:transparent;cursor:pointer;font-size:1.1rem}.completion-screen{display:flex;flex-direction:column;align-items:center;text-align:center}.completion-screen h1{font-family:var(--font-heading);color:var(--color-primary)}.score-card{background:var(--color-card);border:3px solid var(--color-primary);border-radius:20px;padding:24px 48px;margin:16px 0}.score-card__score{font-family:var(--font-heading);font-size:3.2rem;color:var(--color-accent)}.score-card__label{color:var(--color-muted);font-weight:600}.stat-row{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap;justify-content:center}.stat-pill{background:#fff;border:2px solid var(--color-border);border-radius:999px;padding:10px 18px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px}.stat-pill span{font-size:.7rem;font-weight:500;color:var(--color-muted)}.leaderboard-screen h1{font-family:var(--font-heading);color:var(--color-primary)}.leaderboard-table{width:100%;border-collapse:collapse;background:var(--color-card);border-radius:var(--radius);overflow:hidden;margin-top:16px}.leaderboard-table th,.leaderboard-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.leaderboard-table th{background:#f2ecff;color:var(--color-primary-dark);font-family:var(--font-heading)}.leaderboard-empty{color:var(--color-muted);text-align:center;margin-top:32px;font-size:1.1rem}@media (max-width: 640px){.home-title{font-size:2rem}.puzzle-body{flex-direction:column}.crossword-grid{margin:0 auto}}
