:root{--app-bg:var(--tg-theme-bg-color,#fff);--app-bg-secondary:var(--tg-theme-secondary-bg-color,#f4f4f5);--app-text:var(--tg-theme-text-color,#111);--app-hint:var(--tg-theme-hint-color,#8e8e93);--app-accent:var(--tg-theme-button-color,#2481cc);--app-accent-text:var(--tg-theme-button-text-color,#fff);--app-success:#34c759;--app-danger:#ff3b30;--app-cell-filled:var(--app-accent);--app-surface:var(--app-bg-secondary);--app-surface-border:var(--app-hint);--app-radius:12px;--app-radius-sm:6px;--app-scrim:#00000080;--font-caption:13px;--font-body:16px;--font-subtitle:18px;--font-heading:20px;--font-title:24px;--font-display:32px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--tap-target:44px}@supports (background:color-mix(in srgb, red, blue)){:root{--app-surface:color-mix(in srgb, var(--app-hint) 14%, var(--app-bg-secondary))}}*{box-sizing:border-box}body{background:var(--app-bg);color:var(--app-text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;line-height:1.45}button,input{font:inherit}.screen-status{padding:0 var(--space-4);text-align:center;color:var(--app-hint);background:0 0;border:none;margin:40vh auto 0;display:block}.screen-status--inline{margin:var(--space-6) auto 0}.surface,.chip,.badge{background:var(--app-surface);border:1px solid var(--app-surface-border);border-radius:var(--app-radius)}.chip{padding:0 var(--space-3);font-size:var(--font-caption);height:var(--tap-target);color:var(--app-text);justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.badge{justify-content:center;align-items:center;gap:var(--space-1);padding:0 var(--space-3);font-size:var(--font-caption);height:32px;display:inline-flex;overflow:hidden}.icon-button{min-width:var(--tap-target);min-height:var(--tap-target);justify-content:center;align-items:center;display:inline-flex}.speak-button{font-size:var(--font-heading);background:0 0;border:none}.ghost-button{color:var(--app-accent);font:inherit;font-size:var(--font-body);padding:var(--space-3) var(--space-4);min-height:var(--tap-target);background:0 0;border:none}.screen-title{font-size:var(--font-title);margin:0 0 var(--space-4);font-weight:600;line-height:1.25}.overlay-title{font-size:var(--font-heading);margin:0 0 var(--space-4);font-weight:600;line-height:1.25}.modal-overlay{background:var(--app-scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--app-bg);border-radius:var(--app-radius);padding:var(--space-6);text-align:center}.modal-bonus{font-size:var(--font-display);color:var(--app-accent);margin:var(--space-2) 0;line-height:1.2}.sheet-overlay{background:var(--app-scrim);align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--app-bg);border-radius:var(--app-radius) var(--app-radius) 0 0;padding:var(--space-6);width:100%}.sheet-word{font-size:var(--font-title);margin:0}.sheet-translit,.sheet-pos{color:var(--app-hint);margin:var(--space-1) 0}.sheet-translation{font-size:var(--font-heading);margin:var(--space-2) 0}.sheet-example{color:var(--app-hint)}.found-sheet-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.guess-toast{bottom:var(--space-6);padding:var(--space-3) 20px;position:fixed;left:50%;transform:translate(-50%)}.primary-button{background:var(--app-accent);color:var(--app-accent-text);border-radius:var(--app-radius);padding:var(--space-4) var(--space-8);font-size:var(--font-subtitle);min-height:var(--tap-target);border:none}.primary-button--md{padding:var(--space-3) 20px;font-size:var(--font-body)}.modal-actions{gap:var(--space-3);margin-top:var(--space-4);justify-content:center;align-items:center;display:flex}.tutorial-overlay{z-index:1000;position:fixed;inset:0}.tutorial-spotlight{border-radius:var(--app-radius);pointer-events:none;transition:top .2s,left .2s,width .2s,height .2s;position:fixed;box-shadow:0 0 0 9999px #0009}.tutorial-tooltip{width:max-content;max-width:280px;padding:var(--space-4);color:var(--app-text);position:fixed}.tutorial-title{margin:0 0 var(--space-2);font-size:var(--font-subtitle);line-height:1.25}.tutorial-body{margin:0 0 var(--space-4);font-size:var(--font-body)}.tutorial-controls{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.tutorial-progress{color:var(--app-hint);font-size:var(--font-caption)}.tutorial-buttons{gap:var(--space-2);display:flex}.home{align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-4);flex-direction:column;min-height:100dvh;display:flex}.home-header{justify-content:space-between;align-items:center;width:100%;display:flex}.home-title{margin-top:var(--space-6)}.home-level{color:var(--app-hint);margin:0}.home-nav{gap:var(--space-3);display:flex}.home-nav button{color:var(--app-text);padding:var(--space-3) 20px;min-height:var(--tap-target);font-size:var(--font-body)}.home-header-right{align-items:center;gap:var(--space-2);display:flex}.help-button{color:var(--app-text);border-radius:50%;font-weight:600}.grid-wrap{padding:var(--space-6) var(--space-2) var(--space-2);display:flex;overflow-x:auto}.grid{margin-inline:auto;position:relative}.cell{width:calc(var(--cell-size) - 2px);height:calc(var(--cell-size) - 2px);background:var(--app-surface);border:1px solid var(--app-surface-border);border-radius:var(--app-radius-sm);justify-content:center;align-items:center;font-size:20px;font-weight:600;transition:background .2s,border-color .2s;display:flex;position:absolute}.cell-filled{background:var(--app-cell-filled);color:var(--app-accent-text);border-color:var(--app-cell-filled)}.slot-translation{z-index:1;color:var(--app-hint);white-space:nowrap;background:var(--app-bg);padding:0 var(--space-1);border-radius:var(--app-radius-sm);text-overflow:ellipsis;max-width:120px;font-size:12px;position:absolute;overflow:hidden}.letter-circle-wrap{flex-direction:column;align-items:center;display:flex}.current-word{min-height:32px;font-size:var(--font-title);letter-spacing:2px;margin:0 0 var(--space-1)}.letter-circle{touch-action:none;position:relative}.path-overlay{pointer-events:none;position:absolute;inset:0}.tile{background:var(--app-surface);border:1px solid var(--app-surface-border);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0;font-size:26px;font-weight:600;display:flex;position:absolute;top:-28px;left:-28px}.tile-selected{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-accent-text)}.letter-circle-finger{pointer-events:none;z-index:2;font-size:32px;transition:transform .3s;position:absolute;top:-16px;left:-16px}.game{align-items:center;gap:var(--space-2);min-height:var(--tg-viewport-stable-height,100dvh);flex-direction:column;padding:12px;display:flex}.game-header{width:100%;color:var(--app-hint);justify-content:space-between;align-items:center;display:flex}.hint-bar{gap:var(--space-2);display:flex}.letter-circle-shake.shake{animation:.4s letter-circle-shake}@keyframes letter-circle-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.found-count-badge:disabled{opacity:.5}.dictionary{padding:var(--space-4)}.dict-search{width:100%;padding:var(--space-3) var(--space-4);color:var(--app-text);font-size:16px}.dict-list{margin:var(--space-3) 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.dict-item{gap:var(--space-3);width:100%;padding:var(--space-3);color:var(--app-text);text-align:left;min-height:var(--tap-target);align-items:baseline;line-height:1.4;display:flex}.dict-greek{font-weight:600}.dict-translation{color:var(--app-hint);flex:1}.dict-seen{color:var(--app-hint);font-size:var(--font-caption)}.dict-more{font-size:var(--font-title);margin:0 auto;display:block}.settings{padding:var(--space-4)}.settings-row{padding:var(--space-3) 0;justify-content:space-between;align-items:center;display:flex}.lang-switch{background:var(--app-surface);border:1px solid var(--app-surface-border);border-radius:var(--app-radius);display:flex;overflow:hidden}.lang-option{color:var(--app-text);padding:var(--space-3) var(--space-4);min-height:var(--tap-target);background:0 0;border:none}.lang-active{background:var(--app-accent);color:var(--app-accent-text)}
