*{box-sizing:border-box;margin:0;padding:0}
html,body,#root{margin:0;padding:0;width:100%;min-height:100vh;background:#0D0E1A}
*{-webkit-tap-highlight-color:transparent}
.ft{font-family:'Nunito',sans-serif;background:#0D0E1A;min-height:100vh;color:#fff;overflow-x:hidden}
.ft-logo{font-family:'Fredoka One',sans-serif;font-size:22px;white-space:nowrap;display:flex;align-items:center;gap:4px}
.ft-logo-text{background:linear-gradient(135deg,#FF6B6B,#FFE66D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ft-logo-icon{-webkit-text-fill-color:initial;font-size:18px;line-height:1}
.ft-hdr{background:linear-gradient(180deg,#161728,#111220);padding:10px 12px 8px;border-bottom:1.5px solid rgba(255,255,255,0.06)}
.ft-hdr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ft-hdr-left{display:flex;flex-direction:column;gap:2px}
.ft-hdr-right{display:flex;align-items:center;gap:10px}
.ft-hdr-clock{text-align:right;flex-shrink:0}
.ft-hdr-lang{display:flex;align-items:center}
.ft-lang-trigger{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,0.07);border:1.5px solid rgba(255,255,255,0.1);border-radius:8px;padding:4px 7px;cursor:pointer;transition:border-color 0.15s;user-select:none}
.ft-lang-trigger:hover{border-color:rgba(255,255,255,0.25)}
.ft-lang-flag{display:flex;line-height:0}
.ft-lang-flag svg{width:16px;height:11px;border-radius:2px;display:block}
.ft-lang-code{font-size:10px;font-weight:800;color:rgba(255,255,255,0.6);letter-spacing:.3px}
.ft-lang-arrow{font-size:7px;color:rgba(255,255,255,0.35);margin-left:1px}
.ft-lang-menu{position:absolute;top:100%;right:0;margin-top:5px;background:#161728;border:1.5px solid rgba(255,255,255,0.1);border-radius:10px;padding:4px;min-width:140px;z-index:999;box-shadow:0 8px 30px rgba(0,0,0,0.5)}
.ft-lang-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer;transition:background 0.12s;font-size:12px;font-weight:600;color:rgba(255,255,255,0.5)}
.ft-lang-item:hover{background:rgba(255,255,255,0.06)}
.ft-lang-item.active{background:rgba(255,107,107,0.12);color:#fff}
.ft-lang-item .ft-lang-flag svg{width:18px;height:12px}
.ft-lang-label{white-space:nowrap}
.ft-clock-time{font-family:'Fredoka One',sans-serif;font-size:17px;color:#fff;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:0;min-width:6.6ch;display:inline-block;text-align:right}
.ft-clock-date{font-size:9px;color:rgba(255,255,255,0.4);margin-top:1px;text-align:right}
.ft-hdr-timers{display:flex;gap:6px;width:100%}
.ft-tchip{display:flex;flex-direction:column;align-items:center;gap:1px;background:rgba(255,255,255,0.05);border:1.5px solid rgba(255,255,255,0.09);border-radius:12px;padding:6px 4px;cursor:pointer;transition:border-color 0.18s,background 0.18s;flex:1;min-width:0;overflow:hidden}
.ft-tchip:active{transform:scale(0.93)}
.ft-tchip.running{border-color:var(--tc);background:rgba(var(--tcr),0.1)}
.ft-tchip.urgent{border-color:#FF6B6B!important;background:rgba(255,107,107,0.14)!important;animation:pulseChip 0.8s ease-in-out infinite}
.ft-tchip.expired{border-color:#6BCB77!important;background:rgba(107,203,119,0.1)!important}
.ft-tchip-row{display:flex;align-items:center;gap:4px}
.ft-tchip-emoji{font-size:13px;line-height:1}
.ft-tchip-name{font-size:9px;font-weight:800;color:rgba(255,255,255,0.45);letter-spacing:0.3px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ft-tchip-val{font-family:'Fredoka One',sans-serif;font-size:16px;line-height:1;color:rgba(255,255,255,0.35);font-variant-numeric:tabular-nums;width:100%;text-align:center;display:block;white-space:nowrap;min-width:0}
.ft-tchip.running .ft-tchip-val{color:var(--tc)}
.ft-tchip.urgent .ft-tchip-val{color:#FF6B6B}
.ft-tchip.expired .ft-tchip-val{color:#6BCB77}
.ft-alarm{position:fixed;inset:0;background:rgba(5,5,18,0.92);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:400;animation:alarmIn 0.3s ease}
.ft-alarm-emoji{font-size:96px;animation:bellSwing 0.5s ease-in-out infinite alternate;margin-bottom:12px}
.ft-alarm-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(var(--ar),0.18) 0%,transparent 70%)}
.ft-alarm-name{font-family:'Fredoka One',sans-serif;font-size:52px;color:#fff;position:relative;z-index:1}
.ft-alarm-sub{font-size:19px;color:rgba(255,255,255,0.5);font-weight:700;margin:6px 0 38px;position:relative;z-index:1}
.ft-alarm-btn{padding:18px 52px;background:linear-gradient(135deg,#FF6B6B,#FF8E53);border:none;border-radius:50px;color:#fff;font-family:'Fredoka One',sans-serif;font-size:24px;cursor:pointer;box-shadow:0 8px 28px rgba(255,107,107,0.45);position:relative;z-index:1;transition:transform 0.15s}
.ft-alarm-btn:active{transform:scale(0.92)}
.ft-home{padding:18px 14px 80px}
.ft-sec-title{font-family:'Fredoka One',sans-serif;font-size:20px;color:rgba(255,255,255,0.5);margin-bottom:12px}
.ft-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.ft-child-card{background:linear-gradient(145deg,var(--col),var(--cold));border-radius:20px;padding:18px 16px;cursor:pointer;transition:transform 0.18s;position:relative;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,0.35);text-align:center;display:flex;flex-direction:column;align-items:center}
.ft-child-card::before{content:'';position:absolute;top:-18px;right:-18px;width:72px;height:72px;background:rgba(255,255,255,0.11);border-radius:50%}
.ft-child-card:active{transform:scale(0.94)}
.ft-child-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,0.3);margin-bottom:7px;display:block}
.ft-child-emoji{font-size:40px;display:block;margin-bottom:7px}
.ft-child-name{font-family:'Fredoka One',sans-serif;font-size:21px;color:#fff}
.ft-child-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(0,0,0,0.22);border-radius:50px;padding:3px 9px;margin-top:7px;font-size:12px;font-weight:800;color:#fff}
.ft-child-prog{margin-top:7px;font-size:11px;color:rgba(255,255,255,0.75);font-weight:700}
.ft-admin-btn{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,0.04);border:2px dashed rgba(255,255,255,0.11);border-radius:14px;padding:14px;cursor:pointer;color:rgba(255,255,255,0.32);font-size:14px;font-weight:700;width:100%;transition:all 0.2s}
.ft-child-screen{display:flex;flex-direction:column;min-height:100vh}
.ft-child-hdr{background:linear-gradient(160deg,var(--cc),var(--ccd));padding:13px 15px 15px;flex-shrink:0}
.ft-child-hdr-top{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.ft-back{background:rgba(0,0,0,0.2);border:none;border-radius:11px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:17px;color:#fff;flex-shrink:0}
.ft-child-hdr-name{font-family:'Fredoka One',sans-serif;font-size:22px;color:#fff;flex:1}
.ft-ctimer-pill{display:flex;flex-direction:column;align-items:center;background:rgba(0,0,0,0.2);border-radius:11px;padding:5px 10px;cursor:pointer;min-width:60px;flex-shrink:0}
.ft-ctimer-lbl{font-size:8px;color:rgba(255,255,255,0.55);font-weight:800;letter-spacing:0.5px;text-transform:uppercase}
.ft-ctimer-val{font-family:'Fredoka One',sans-serif;font-size:17px;color:rgba(255,255,255,0.4);line-height:1.1}
.ft-ctimer-val.on{color:#FFE66D}
.ft-ctimer-val.urgent{color:#FF6B6B}
.ft-clock-sm{text-align:right;flex-shrink:0}
.ft-clock-sm-t{font-family:'Fredoka One',sans-serif;font-size:18px;color:#fff;line-height:1}
.ft-clock-sm-d{font-size:9px;color:rgba(255,255,255,0.55)}
.ft-mins-box{background:rgba(0,0,0,0.18);border-radius:14px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between}
.ft-mins-lbl{color:rgba(255,255,255,0.6);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.ft-mins-val{font-family:'Fredoka One',sans-serif;font-size:42px;color:#fff;line-height:1}
.ft-mins-sub{color:rgba(255,255,255,0.55);font-size:10px;font-weight:700;margin-top:1px}
.ft-progress-bar{margin-top:8px;height:4px;background:rgba(0,0,0,0.2);border-radius:99px;overflow:hidden}
.ft-progress-fill{height:100%;background:rgba(255,255,255,0.85);border-radius:99px;transition:width 0.4s}
.ft-countdown{background:rgba(0,0,0,0.14);border-radius:11px;padding:9px 11px;margin-top:7px;display:flex;align-items:center;justify-content:space-between}
.ft-countdown-lbl{color:rgba(255,255,255,0.55);font-size:10px}
.ft-countdown-task{font-size:12px;font-weight:800;color:#fff;margin-top:2px}
.ft-countdown-val{font-family:'Fredoka One',sans-serif;font-size:20px;color:#FFE66D;text-align:right}
.ft-countdown-sub{font-size:9px;color:rgba(255,255,255,0.45);text-align:right}
.ft-bnav{position:fixed;bottom:0;left:0;right:0;background:#141526;border-top:1.5px solid rgba(255,255,255,0.08);display:flex;padding:6px 4px max(12px,env(safe-area-inset-bottom));z-index:100;gap:2px}
.ft-bnav-it{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:5px 2px;border-radius:10px;transition:background 0.15s;border:none;background:transparent;min-width:0}
.ft-bnav-it:active{transform:scale(0.92)}
.ft-bnav-icon{font-size:20px;line-height:1;transition:transform 0.15s}
.ft-bnav-lbl{font-size:9px;font-weight:800;color:rgba(255,255,255,0.32);letter-spacing:0.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}
.ft-bnav-it.active .ft-bnav-lbl{color:var(--nav-color,#FF6B6B)}
.ft-bnav-it.active .ft-bnav-icon{transform:scale(1.18)}
.ft-bnav-sep{width:1px;background:rgba(255,255,255,0.07);margin:4px 2px;flex-shrink:0}
.ft-bnav-sync-ok .ft-bnav-icon{color:#6BCB77}
.ft-bnav-sync-err .ft-bnav-icon{color:#FF6B6B}
.ft-bnav-sync-ing .ft-bnav-icon{display:inline-block;animation:navSpin 1s linear infinite}
.ft-content{flex:1;padding:14px 11px 84px;overflow-y:auto}
.ft-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(min-width:520px){.ft-task-grid{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:760px){.ft-task-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.ft-task{background:#161728;border-radius:15px;padding:14px 10px;cursor:pointer;transition:transform 0.15s;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;min-height:120px;justify-content:center;position:relative}
.ft-task:active{transform:scale(0.94)}
.ft-task.done{border-color:#6BCB77;background:rgba(107,203,119,0.07)}
.ft-task.missed{border-color:rgba(255,107,107,0.38);background:rgba(255,107,107,0.05);opacity:0.65;cursor:default}
.ft-task-check{position:absolute;top:7px;right:7px;width:22px;height:22px;border-radius:6px;border:2px solid rgba(255,255,255,0.17);display:flex;align-items:center;justify-content:center;font-size:11px;transition:all 0.2s}
.ft-task.done .ft-task-check{background:#6BCB77;border-color:#6BCB77;color:#fff}
.ft-task-ic{font-size:34px;line-height:1;margin-bottom:2px}
.ft-task-img{width:48px;height:48px;border-radius:12px;object-fit:cover;margin-bottom:2px}
.ft-task-title{font-size:12px;font-weight:800;color:#fff;line-height:1.2;word-break:break-word}
.ft-task.done .ft-task-title{text-decoration:line-through;opacity:0.55}
.ft-task-due{font-size:10px;color:rgba(255,255,255,0.38);font-weight:600}
.ft-task-pen{font-size:10px;color:#FF6B6B;font-weight:700}
.ft-task-reward{font-family:'Fredoka One',sans-serif;font-size:16px;color:#FFE66D;margin-top:1px}
.ft-task-rsub{font-size:9px;color:rgba(255,255,255,0.32);font-weight:600}
.ft-media-hero{text-align:center;padding:12px 0 18px}
.ft-media-hero-lbl{font-size:10px;color:rgba(255,255,255,0.38);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.ft-media-hero-val{font-family:'Fredoka One',sans-serif;font-size:62px;color:#FFE66D;line-height:1}
.ft-media-hero-sub{font-size:12px;color:rgba(255,255,255,0.38);font-weight:700;margin-top:3px}
.ft-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(min-width:520px){.ft-media-grid{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:760px){.ft-media-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.ft-mcard{border-radius:15px;padding:12px;border:1.5px solid rgba(255,255,255,0.05);display:flex;flex-direction:column}
.ft-mcard-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.ft-mcard-icon{font-size:28px}
.ft-mcard-title{font-family:'Fredoka One',sans-serif;font-size:19px;color:#fff}
.ft-mcard-sub{font-size:11px;color:rgba(255,255,255,0.38);font-weight:600;margin-top:1px}
.ft-mprog-bg{height:7px;background:rgba(255,255,255,0.07);border-radius:99px;overflow:hidden;margin-bottom:5px}
.ft-mprog-fill{height:100%;border-radius:99px;transition:width 0.4s}
.ft-mstats{display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,0.38);font-weight:600;margin-bottom:9px}
.ft-mbtns{display:flex;gap:6px}
.ft-mbtn{flex:1;padding:9px 3px;background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.09);border-radius:10px;color:#fff;font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;cursor:pointer;text-align:center;transition:all 0.15s}
.ft-mbtn:active{transform:scale(0.92)}
.ft-mbtn.dis{opacity:0.28;cursor:not-allowed}
.ft-week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.ft-week-btn{background:rgba(255,255,255,0.07);border:none;border-radius:10px;width:38px;height:38px;font-size:17px;color:#fff;cursor:pointer}
.ft-week-lbl{font-family:'Fredoka One',sans-serif;font-size:14px;color:rgba(255,255,255,0.55)}
.ft-days-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:12px}
.ft-day{background:#161728;border-radius:10px;padding:7px 2px;text-align:center;cursor:pointer;transition:all 0.15s;border:2px solid transparent}
.ft-day.today{border-color:var(--cc,#FF6B6B)}
.ft-day.sel{background:var(--cc,#FF6B6B)}
.ft-day-lbl{font-size:8px;color:rgba(255,255,255,0.32);font-weight:800;text-transform:uppercase}
.ft-day-num{font-size:14px;font-weight:900;color:#fff;margin:2px 0}
.ft-day-dots{display:flex;gap:2px;justify-content:center;margin-top:2px;min-height:6px}
.ft-dot{width:4px;height:4px;border-radius:50%}
.ft-cal-task{background:#161728;border-radius:12px;padding:10px 12px;margin-bottom:7px;display:flex;align-items:center;gap:8px}
.ft-cal-ic{font-size:18px}
.ft-cal-info{flex:1}
.ft-cal-title{font-size:13px;font-weight:800;color:#fff}
.ft-cal-due{font-size:10px;color:rgba(255,255,255,0.32);margin-top:1px}
.ft-cal-status{font-size:17px}
.ft-cal-day-title{font-family:'Fredoka One',sans-serif;font-size:14px;color:rgba(255,255,255,0.42);margin-bottom:8px}
.ft-admin{min-height:100vh;background:#0D0E1A}
.ft-admin-hdr{background:#141526;padding:14px 14px 11px;display:flex;align-items:center;gap:8px;border-bottom:1.5px solid rgba(255,255,255,0.06)}
.ft-admin-title{font-family:'Fredoka One',sans-serif;font-size:21px;color:#fff}
.ft-tabs{display:flex;gap:5px;padding:11px 11px 0}
.ft-tab{flex:1;padding:9px 3px;background:rgba(255,255,255,0.04);border:2px solid transparent;border-radius:11px;color:rgba(255,255,255,0.38);font-family:'Nunito',sans-serif;font-size:10px;font-weight:800;cursor:pointer;text-align:center;transition:all 0.15s}
.ft-tab.active{background:rgba(255,107,107,0.12);border-color:rgba(255,107,107,0.5);color:#FF6B6B}
.ft-admin-body{padding:11px 11px 80px}
.ft-aitem{background:#161728;border-radius:14px;padding:12px 13px;margin-bottom:7px;display:flex;align-items:center;gap:10px}
.ft-aitem-info{flex:1;min-width:0}
.ft-aitem-title{font-size:13px;font-weight:800;color:#fff}
.ft-aitem-sub{font-size:10px;color:rgba(255,255,255,0.32);margin-top:2px}
.ft-aitem-actions{display:flex;gap:5px;flex-shrink:0}
.ft-ic-btn{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,0.07);border:none;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s}
.ft-ic-btn.del:hover{background:rgba(255,107,107,0.18)}
.ft-add-btn{width:100%;padding:12px;background:rgba(255,255,255,0.03);border:2px dashed rgba(255,255,255,0.11);border-radius:13px;color:rgba(255,255,255,0.32);font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;cursor:pointer;text-align:center;transition:all 0.15s;margin-top:3px}
.ft-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.72);display:flex;align-items:flex-end;justify-content:center;z-index:1000}
.ft-modal{background:#1C1D30;border-radius:20px 20px 0 0;padding:18px 15px calc(68px + env(safe-area-inset-bottom));width:100%;max-width:560px;max-height:88vh;overflow-y:auto}
.ft-modal-title{font-family:'Fredoka One',sans-serif;font-size:19px;color:#fff;margin-bottom:15px}
.ft-field{margin-bottom:12px}
.ft-lbl{display:block;font-size:10px;font-weight:800;color:rgba(255,255,255,0.38);margin-bottom:5px;text-transform:uppercase;letter-spacing:0.5px}
.ft-input{width:100%;padding:11px 12px;background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.09);border-radius:11px;color:#fff;font-family:'Nunito',sans-serif;font-size:14px;font-weight:700;outline:none;transition:border-color 0.2s}
.ft-input:focus{border-color:rgba(255,107,107,0.5)}
.ft-row{display:flex;gap:8px}
.ft-row .ft-field{flex:1}
.ft-col-grid{display:flex;gap:6px;flex-wrap:wrap}
.ft-col-sw{width:30px;height:30px;border-radius:50%;cursor:pointer;transition:transform 0.15s,border 0.15s;border:3px solid transparent}
.ft-col-sw.sel{border-color:#fff;transform:scale(1.15)}
.ft-emoji-grid{display:flex;gap:4px;flex-wrap:wrap}
.ft-emoji-opt{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,0.06);border:2px solid transparent;font-size:19px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s}
.ft-emoji-opt.sel{border-color:#FF6B6B;background:rgba(255,107,107,0.14)}
.ft-img-upload{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,0.04);border:1.5px dashed rgba(255,255,255,0.15);border-radius:13px;padding:12px 14px;cursor:pointer;transition:all 0.15s}
.ft-img-upload:hover{border-color:rgba(255,107,107,0.4);background:rgba(255,107,107,0.05)}
.ft-img-preview{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,0.2);flex-shrink:0}
.ft-img-preview-sq{width:56px;height:56px;border-radius:11px;object-fit:cover;border:2px solid rgba(255,255,255,0.2);flex-shrink:0}
.ft-img-placeholder{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,0.07);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.ft-img-placeholder-sq{width:56px;height:56px;border-radius:11px;background:rgba(255,255,255,0.07);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.ft-img-info{flex:1}
.ft-img-title{font-size:13px;font-weight:800;color:#fff;margin-bottom:3px}
.ft-img-sub{font-size:11px;color:rgba(255,255,255,0.38)}
.ft-img-remove{background:rgba(255,107,107,0.12);border:1.5px solid rgba(255,107,107,0.25);border-radius:8px;color:#FF6B6B;font-size:11px;font-weight:800;padding:4px 9px;cursor:pointer;margin-top:5px;display:inline-block}
.ft-task-img{width:48px;height:48px;border-radius:12px;object-fit:cover;margin-bottom:2px}
.ft-day-row{display:flex;gap:3px}
.ft-day-btn{flex:1;padding:6px 1px;background:rgba(255,255,255,0.06);border:2px solid transparent;border-radius:9px;color:rgba(255,255,255,0.32);font-family:'Nunito',sans-serif;font-size:10px;font-weight:800;cursor:pointer;text-align:center;transition:all 0.15s}
.ft-day-btn.sel{background:rgba(255,107,107,0.14);border-color:rgba(255,107,107,0.5);color:#FF6B6B}
.ft-assign-row{display:flex;gap:6px;flex-wrap:wrap}
.ft-assign-btn{padding:6px 11px;border-radius:50px;font-family:'Nunito',sans-serif;font-size:11px;font-weight:800;cursor:pointer;transition:all 0.15s;background:rgba(255,255,255,0.06);border:2px solid transparent;color:rgba(255,255,255,0.42)}
.ft-assign-btn.sel{border-color:var(--cc);color:#fff;background:rgba(var(--ccr),0.18)}
.ft-modal-acts{display:flex;gap:7px;margin-top:14px}
.ft-btn{flex:1;padding:11px;border:none;border-radius:11px;font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;cursor:pointer;transition:all 0.15s;text-align:center}
.ft-btn-pri{background:linear-gradient(135deg,#FF6B6B,#FF8E53);color:#fff}
.ft-btn-sec{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.45)}
.ft-tmodal{background:#1C1D30;border-radius:20px 20px 0 0;padding:20px 16px calc(68px + env(safe-area-inset-bottom));width:100%;max-width:600px}
.ft-tmod-badge{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.05);border-radius:13px;padding:11px 13px;margin-bottom:16px}
.ft-tmod-emoji{font-size:34px}
.ft-tmod-name{font-family:'Fredoka One',sans-serif;font-size:21px;color:#fff}
.ft-tmod-status{font-size:11px;color:rgba(255,255,255,0.38);font-weight:700;margin-top:2px}
.ft-tmod-active{background:rgba(255,255,255,0.04);border:1.5px solid rgba(255,255,255,0.09);border-radius:15px;padding:15px;text-align:center;margin-bottom:14px}
.ft-tmod-active-lbl{font-size:10px;color:rgba(255,255,255,0.38);font-weight:700;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:7px}
.ft-tmod-active-val{font-family:'Fredoka One',sans-serif;font-size:58px;color:#FFE66D;line-height:1}
.ft-tmod-active-val.urgent{color:#FF6B6B;animation:urgentFlash 0.6s ease-in-out infinite}
.ft-tmod-bar-bg{margin-top:9px;height:5px;background:rgba(255,255,255,0.07);border-radius:99px;overflow:hidden}
.ft-tmod-bar-fill{height:100%;background:linear-gradient(90deg,#FFE66D,#FF8E53);border-radius:99px;transition:width 1s linear}
.ft-preset-lbl{font-size:10px;font-weight:800;color:rgba(255,255,255,0.38);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:7px}
.ft-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:12px}
.ft-preset-btn{padding:9px 3px;background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.09);border-radius:10px;color:#fff;font-family:'Nunito',sans-serif;font-size:11px;font-weight:800;cursor:pointer;text-align:center;transition:all 0.15s}
.ft-preset-btn:active{transform:scale(0.91)}
.ft-custom-row{display:flex;gap:7px;align-items:flex-end;margin-bottom:14px}
.ft-custom-row .ft-field{flex:1;margin-bottom:0}
.ft-custom-start{padding:11px 15px;background:linear-gradient(135deg,#4ECDC4,#45B7AA);border:none;border-radius:10px;color:#fff;font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.ft-stop-btn{width:100%;padding:11px;background:rgba(255,107,107,0.1);border:1.5px solid rgba(255,107,107,0.28);border-radius:10px;color:#FF6B6B;font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;cursor:pointer;text-align:center;margin-bottom:7px}
.ft-pin-disp{background:rgba(255,255,255,0.04);border-radius:12px;padding:13px;text-align:center;margin-bottom:12px}
.ft-pin-title{font-size:11px;color:rgba(255,255,255,0.38);font-weight:700;margin-bottom:8px}
.ft-pin-dots{display:flex;gap:10px;justify-content:center}
.ft-pin-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.17);transition:background 0.15s}
.ft-pin-dot.on{background:#FF6B6B}
.ft-pin-err{color:#FF6B6B;font-size:11px;font-weight:700;text-align:center;margin-top:5px}
.ft-pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}
.ft-pin-btn{padding:14px;background:rgba(255,255,255,0.07);border:1.5px solid rgba(255,255,255,0.09);border-radius:12px;color:#fff;font-family:'Fredoka One',sans-serif;font-size:21px;cursor:pointer;text-align:center}
.ft-pin-btn:active{transform:scale(0.91)}
.ft-set-card{background:#161728;border-radius:15px;padding:14px;margin-bottom:9px}
.ft-set-title{font-size:13px;font-weight:800;color:#fff;margin-bottom:10px}
.ft-set-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.ft-warn-btn{width:100%;padding:10px;background:rgba(255,107,107,0.09);border:1.5px solid rgba(255,107,107,0.28);border-radius:10px;color:#FF6B6B;font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;cursor:pointer;text-align:center;margin-top:7px}
.ft-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#2A2B3D;border-radius:50px;padding:9px 18px;font-size:12px;font-weight:800;color:#fff;z-index:200;box-shadow:0 5px 18px rgba(0,0,0,0.45);white-space:nowrap;animation:toastIn 0.22s ease}
.ft-toast.ok{background:linear-gradient(135deg,#27AE60,#2ECC71)}
.ft-toast.err{background:linear-gradient(135deg,#C0392B,#E74C3C)}
.ft-toast.inf{background:linear-gradient(135deg,#1A5276,#2980B9)}
.ft-empty{text-align:center;padding:30px 16px;color:rgba(255,255,255,0.22);font-size:12px;font-weight:700}
.ft-fine-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(min-width:520px){.ft-fine-grid{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:760px){.ft-fine-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.ft-fine-card{background:#1C1020;border:1.5px solid rgba(255,107,107,0.15);border-radius:15px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;position:relative;min-height:100px;justify-content:center}
.ft-fine-icon{font-size:30px}
.ft-fine-title{font-size:13px;font-weight:800;color:#fff;line-height:1.2;word-break:break-word}
.ft-fine-sub{font-size:10px;color:rgba(255,107,107,0.7);font-weight:700}
.ft-fine-count{position:absolute;top:7px;right:7px;background:rgba(255,107,107,0.12);border:1.5px solid rgba(255,107,107,0.3);border-radius:8px;padding:3px 7px;display:flex;align-items:center;gap:3px}
.ft-fine-count-num{font-family:'Fredoka One',sans-serif;font-size:16px;color:#FF6B6B;line-height:1}
.ft-fine-count-lbl{font-size:8px;color:rgba(255,107,107,0.6);font-weight:800}
.ft-fine-actions{display:flex;gap:6px;margin-top:2px}
.ft-fine-btn{width:36px;height:36px;border-radius:10px;border:none;background:linear-gradient(135deg,#FF6B6B,#FF4444);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 10px rgba(255,107,107,0.35);transition:transform 0.12s}
.ft-fine-btn:active{transform:scale(0.88)}
.ft-fine-undo{width:36px;height:36px;border-radius:10px;border:1.5px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.35);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.12s}
.ft-fine-undo:active{transform:scale(0.88)}
.ft-bonus-btn{background:linear-gradient(135deg,#FFE66D,#FFB347);border:none;border-radius:11px;padding:5px 10px;cursor:pointer;font-size:13px;font-weight:800;color:#1a1200;display:flex;align-items:center;gap:4px;transition:transform 0.12s;flex-shrink:0}
.ft-bonus-btn:active{transform:scale(0.9)}
.ft-bonus-preset{flex:1;padding:10px 6px;background:rgba(255,230,109,0.07);border:1.5px solid rgba(255,230,109,0.2);border-radius:11px;color:rgba(255,230,109,0.8);font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;cursor:pointer;text-align:center;transition:all .15s}
.ft-bonus-preset.sel{background:rgba(255,230,109,0.18);border-color:#FFE66D;color:#FFE66D}
.ft-fab-toast{background:#1C1D30;border:1.5px solid rgba(255,255,255,0.1);border-radius:14px;padding:12px 14px;position:fixed;bottom:72px;right:14px;max-width:230px;box-shadow:0 6px 24px rgba(0,0,0,0.55);animation:toastIn 0.2s ease;z-index:200}
.ft-fab-toast-title{font-size:13px;font-weight:800;color:#fff;margin-bottom:4px}
.ft-fab-toast-detail{font-size:11px;color:rgba(255,255,255,0.45);line-height:1.55;white-space:pre-wrap}
.ft-gcal{min-height:100vh;background:#0D0E1A;display:flex;flex-direction:column}
.ft-gcal-hdr{background:linear-gradient(180deg,#161728,#111220);padding:10px 14px;border-bottom:1.5px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:space-between;gap:8px}
.ft-gcal-nav{display:flex;align-items:center;gap:10px}
.ft-gcal-month{font-family:'Fredoka One',sans-serif;font-size:17px;color:#fff;min-width:160px;text-align:center}
.ft-gcal-filter{display:flex;gap:5px;padding:8px 10px 4px;flex-wrap:wrap;background:rgba(255,255,255,0.02);border-bottom:1px solid rgba(255,255,255,0.05);align-items:center}
.ft-gcal-view-group{display:flex;gap:4px;margin-left:auto}

.ft-gcal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:6px 8px 2px}
.ft-gcal-dow{text-align:center;font-size:9px;font-weight:800;color:rgba(255,255,255,0.28);text-transform:uppercase;padding:3px 0}
.ft-gcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:0 8px 6px}
.ft-gcal-day{background:#161728;border-radius:9px;padding:5px 4px;min-height:50px;cursor:pointer;transition:all 0.15s;border:1.5px solid transparent}
.ft-gcal-day:active{transform:scale(0.93)}
.ft-gcal-day.today{border-color:rgba(255,107,107,0.55)}
.ft-gcal-day.sel{background:rgba(255,107,107,0.15);border-color:#FF6B6B}
.ft-gcal-day.empty{background:transparent;cursor:default;border-color:transparent}
.ft-gcal-day-num{font-size:11px;font-weight:800;color:rgba(255,255,255,0.65);line-height:1;margin-bottom:3px}
.ft-gcal-day.today .ft-gcal-day-num{color:#FF6B6B}
.ft-gcal-day.sel .ft-gcal-day-num{color:#fff}
.ft-gcal-dots{display:flex;flex-wrap:wrap;gap:2px}
.ft-gcal-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.ft-gcal-body{flex:1;padding:10px 10px 84px;overflow-y:auto}
.ft-gcal-sel-date{font-family:'Fredoka One',sans-serif;font-size:14px;color:rgba(255,255,255,0.45);margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}
.ft-gcal-ev{background:#161728;border-radius:13px;padding:11px 13px;margin-bottom:7px;display:flex;align-items:center;gap:10px;border-left:3px solid var(--ec,#FFE66D)}
.ft-gcal-ev-icon{font-size:22px;flex-shrink:0}
.ft-gcal-ev-info{flex:1;min-width:0}
.ft-gcal-ev-title{font-size:13px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-gcal-ev-sub{font-size:10px;color:rgba(255,255,255,0.35);margin-top:2px}
.ft-gcal-ev-who{font-size:10px;font-weight:700;margin-top:2px}
.ft-gcal-add-btn{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#FFE66D,#FFB347);border:none;color:#1a1200;font-size:20px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform 0.12s}
.ft-gcal-add-btn:active{transform:scale(0.9)}
input[type="range"]{accent-color:#FF6B6B}
input[type="range"]::-webkit-slider-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#FF6B6B,#FF8E53);cursor:pointer;border:none;box-shadow:0 2px 8px rgba(255,107,107,0.4)}
input[type="range"]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#FF6B6B,#FF8E53);cursor:pointer;border:none;box-shadow:0 2px 8px rgba(255,107,107,0.4)}

@keyframes syncPulse{0%,100%{opacity:1}50%{opacity:0.35}}
@keyframes pulseChip{0%,100%{box-shadow:0 0 0 0 rgba(255,107,107,0.5)}50%{box-shadow:0 0 0 5px rgba(255,107,107,0)}}
@keyframes alarmIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}
@keyframes bellSwing{from{transform:rotate(-14deg) scale(0.95)}to{transform:rotate(14deg) scale(1.08)}}
@keyframes urgentFlash{0%,100%{opacity:1}50%{opacity:0.45}}
@keyframes navSpin{to{transform:rotate(360deg)}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes ftFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes ftCardFlip{0%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}
@keyframes ftBounce{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes ftSlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.ft-game-screen{min-height:100vh;background:#0D0E1A;display:flex;flex-direction:column}
.ft-game-hdr{background:linear-gradient(180deg,#161728,#111220);padding:14px;border-bottom:1.5px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:10px}
.ft-game-title{font-family:'Fredoka One',sans-serif;font-size:19px;color:#fff;flex:1}
.ft-game-sub{font-size:10px;color:rgba(255,255,255,0.4);font-weight:700}
.ft-game-body{flex:1;padding:14px 11px 84px;overflow-y:auto;display:flex;flex-direction:column;align-items:center}
.ft-game-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;max-width:480px}
@media(min-width:520px){.ft-game-grid{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:760px){.ft-game-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.ft-game-tile{background:#161728;border-radius:15px;padding:14px 8px;cursor:pointer;transition:transform .15s;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-height:120px;justify-content:center;position:relative}
.ft-game-tile:active{transform:scale(.94)}
.ft-game-tile-icon{font-size:34px;line-height:1;margin-bottom:2px}
.ft-game-tile-name{font-size:12px;font-weight:800;color:#fff;line-height:1.2;word-break:break-word}
.ft-game-tile-desc{font-size:10px;color:rgba(255,255,255,0.38);font-weight:600}
.ft-game-tile-stat{font-size:9px;color:rgba(255,255,255,0.25);font-weight:700;margin-top:2px}
.ft-game-question{background:#161728;border:1.5px solid rgba(255,255,255,0.08);border-radius:18px;padding:28px 20px;text-align:center;width:100%;max-width:480px;margin-bottom:16px}
.ft-game-emoji{font-size:56px;margin-bottom:12px}
.ft-game-qtext{font-family:'Fredoka One',sans-serif;font-size:28px;color:#fff;margin-bottom:6px}
.ft-game-hint{font-size:13px;color:rgba(255,255,255,0.4);margin-bottom:18px}
.ft-game-input{width:100%;max-width:200px;padding:14px;background:rgba(255,255,255,0.06);border:2px solid rgba(255,255,255,0.12);border-radius:14px;color:#fff;font-family:'Fredoka One',sans-serif;font-size:28px;text-align:center;outline:none;transition:border-color 0.2s}
.ft-game-input:focus{border-color:#FF6B6B}
.ft-game-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:480px;margin-bottom:16px}
.ft-game-opt-btn{padding:16px;background:#161728;border:2px solid rgba(255,255,255,0.08);border-radius:14px;color:#fff;font-family:'Nunito',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all 0.15s;text-align:center}
.ft-game-opt-btn:active{transform:scale(0.93)}
.ft-game-opt-btn.correct{background:rgba(107,203,119,0.15);border-color:#6BCB77;color:#6BCB77}
.ft-game-opt-btn.wrong{background:rgba(255,107,107,0.15);border-color:#FF6B6B;color:#FF6B6B}
.ft-game-feedback{font-size:15px;font-weight:800;text-align:center;min-height:24px;margin-bottom:12px;animation:ftFadeIn 0.25s ease}
.ft-game-feedback.ok{color:#6BCB77}
.ft-game-feedback.err{color:#FF6B6B}
.ft-game-progress{margin-bottom:14px;width:100%;max-width:480px}
.ft-game-prog-bg{height:6px;background:rgba(255,255,255,0.06);border-radius:99px;overflow:hidden}
.ft-game-prog-fill{height:100%;background:linear-gradient(90deg,#FF6B6B,#FFE66D);border-radius:99px;transition:width 0.3s}
.ft-game-score{font-family:'Fredoka One',sans-serif;font-size:16px;color:rgba(255,255,255,0.5);text-align:center;margin-bottom:4px}
.ft-game-finish{text-align:center;animation:ftFadeIn 0.4s ease}
.ft-game-finish-score{font-family:'Fredoka One',sans-serif;font-size:64px;background:linear-gradient(135deg,#FF6B6B,#FFE66D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin:12px 0}
.ft-game-finish-lbl{font-size:14px;color:rgba(255,255,255,0.4);font-weight:700;margin-bottom:8px}
.ft-game-stars{font-size:40px;margin:12px 0;animation:ftBounce 0.5s ease 3}
.ft-game-finish-msg{font-size:15px;color:rgba(255,255,255,0.55);margin-bottom:20px}
/* Tic-Tac-Toe */
.ft-ttt-board{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;max-width:300px;margin-bottom:16px}
.ft-ttt-cell{aspect-ratio:1;background:#161728;border:2px solid rgba(255,255,255,0.08);border-radius:12px;font-size:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Fredoka One',sans-serif;transition:all .15s;font-weight:900}
.ft-ttt-cell:active{transform:scale(.92)}
.ft-ttt-cell.x{color:#FF6B6B}
.ft-ttt-cell.o{color:#4ECDC4}
.ft-ttt-status{font-family:'Fredoka One',sans-serif;font-size:20px;color:rgba(255,255,255,0.55);margin-bottom:14px;text-align:center}
/* Simon Says */
.ft-simon-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:280px;margin-bottom:14px}
.ft-simon-btn{aspect-ratio:1;border-radius:18px;border:3px solid rgba(255,255,255,0.1);cursor:pointer;transition:all .12s;font-size:0}
.ft-simon-btn:active{transform:scale(.92)}
.ft-simon-btn.lit{transform:scale(.96);border-color:rgba(255,255,255,0.5);box-shadow:0 0 20px rgba(255,255,255,0.3)}
.ft-simon-round{font-family:'Fredoka One',sans-serif;font-size:22px;color:#FFE66D;text-align:center;margin-bottom:10px}
/* Clock */
.ft-clock-face{width:200px;height:200px;border-radius:50%;background:#161728;border:3px solid rgba(255,255,255,0.12);position:relative;margin:0 auto 16px;flex-shrink:0}
.ft-clock-dot{position:absolute;top:50%;left:50%;width:10px;height:10px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);z-index:5}
.ft-clock-hand{position:absolute;bottom:50%;left:50%;transform-origin:bottom center;border-radius:99px}
.ft-clock-h{width:5px;height:55px;background:rgba(255,255,255,0.7)}
.ft-clock-m{width:3px;height:75px;background:rgba(255,255,255,0.4)}
/* Hangman */
.ft-hangman-word{display:flex;gap:6px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
.ft-hangman-ltr{width:36px;height:44px;background:#161728;border:2px solid rgba(255,255,255,0.08);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Fredoka One',sans-serif;font-size:22px;color:#fff;transition:all .2s}
.ft-hangman-ltr.ok{background:rgba(107,203,119,0.12);border-color:#6BCB77;color:#6BCB77}
.ft-hangman-kbd{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-width:400px}
.ft-hangman-key{width:36px;height:36px;background:#161728;border:1.5px solid rgba(255,255,255,0.08);border-radius:8px;color:#fff;font-family:'Nunito',sans-serif;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.ft-hangman-key:active{transform:scale(.9)}
.ft-hangman-key.good{background:rgba(107,203,119,0.1);border-color:#6BCB77;color:#6BCB77;opacity:.5;cursor:default}
.ft-hangman-key.bad{background:rgba(255,107,107,0.1);border-color:#FF6B6B;color:#FF6B6B;opacity:.5;cursor:default}
.ft-hangman-lives{display:flex;gap:4px;justify-content:center;margin-bottom:12px;font-size:24px}
.ft-mem-board{display:grid;gap:8px;width:100%;max-width:480px;margin-bottom:16px}
.ft-mem-card{aspect-ratio:1;background:linear-gradient(135deg,#4ECDC4,#45B7AA);border:none;border-radius:12px;font-size:28px;cursor:pointer;transition:all 0.25s;display:flex;align-items:center;justify-content:center;color:transparent;box-shadow:0 4px 12px rgba(0,0,0,0.25)}
.ft-mem-card:active{transform:scale(0.92)}
.ft-mem-card.flipped{background:#1C1D30;border:2px solid rgba(78,205,196,0.4);color:#fff;transform:rotateY(180deg)}
.ft-mem-card.matched{background:rgba(107,203,119,0.15);border:2px solid #6BCB77;color:#6BCB77;cursor:default;transform:rotateY(180deg)}
.ft-mem-card.matched:active{transform:rotateY(180deg)}
.ft-game-stats{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap;justify-content:center}
.ft-game-stat{text-align:center}
.ft-game-stat-val{font-family:'Fredoka One',sans-serif;font-size:22px;color:#FFE66D;line-height:1}
.ft-game-stat-lbl{font-size:9px;color:rgba(255,255,255,0.35);font-weight:800;text-transform:uppercase;letter-spacing:0.5px}
.ft-game-back{background:rgba(255,255,255,0.07);border:none;border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#fff;flex-shrink:0}
/* Dice */
.ft-dice{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:60px;height:60px;background:#fff;border-radius:10px;padding:8px}
.ft-dice-dot{width:12px;height:12px;border-radius:50%;background:#1a1a2e;margin:auto}
.ft-dice-grid{display:flex;gap:10px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
/* Memory seq */
.ft-mem-seq{display:flex;gap:8px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}
.ft-mem-seq-item{width:52px;height:60px;background:#161728;border:2px solid rgba(255,255,255,0.08);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:26px;transition:all .2s}
.ft-mem-seq-item.hidden{opacity:.3}
.ft-cover{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}
.ft-cover-fb{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:linear-gradient(135deg,rgba(78,205,196,0.15),rgba(255,107,107,0.1))}
.ft-cover-sm{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}
.ft-cover-fb-sm{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;background:linear-gradient(135deg,rgba(78,205,196,0.15),rgba(255,107,107,0.1))}
/* Scramble */
.ft-scramble-word{font-family:'Fredoka One',sans-serif;font-size:32px;color:#FFE66D;letter-spacing:8px;text-align:center;margin-bottom:12px}
