:root{--glass: rgba(255, 255, 255, .14);--glass-strong: rgba(255, 255, 255, .22);--glass-border: rgba(255, 255, 255, .35);--text: #14163a;--text-soft: rgba(20, 22, 58, .65);--primary: #5b6cff;--primary-dark: #3f4ddb;--success: #2bb673;--danger: #ff5c7a;--radius: 24px;--shadow: 0 8px 32px rgba(20, 22, 58, .18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,system-ui,sans-serif;color:var(--text);background:linear-gradient(135deg,#a8c5ff,#d9c2ff 45%,#ffd1ec);background-attachment:fixed;overflow-x:hidden}.bg-blob{position:fixed;border-radius:50%;filter:blur(70px);opacity:.55;z-index:0;pointer-events:none;animation:float 18s ease-in-out infinite}.blob-1{width:380px;height:380px;background:#7e9bff;top:-80px;left:-60px}.blob-2{width:320px;height:320px;background:#ff9ed8;bottom:-60px;right:-40px;animation-delay:-6s}.blob-3{width:300px;height:300px;background:#9ef0d0;top:40%;left:55%;animation-delay:-12s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.1)}66%{transform:translate(-30px,25px) scale(.95)}}.app{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:20px 16px 120px}.card{background:var(--glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{font-size:38px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.brand h1{margin:0;font-size:26px;letter-spacing:-.5px}.subtitle{margin:2px 0 0;color:var(--text-soft);font-size:14px;font-weight:600}.mode-toggle{border:1px solid var(--glass-border);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);font-size:16px;font-weight:700;padding:14px 18px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s ease,background .2s ease}.mode-toggle:active{transform:scale(.95)}.mode-toggle.parent{background:#5b6cff59}.child-selector{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;margin-bottom:14px;scrollbar-width:none}.child-selector::-webkit-scrollbar{display:none}.child-pill{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:92px;padding:12px 16px;border-radius:20px;border:2px solid transparent;background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;font-weight:700;color:var(--text);transition:transform .15s ease,border-color .2s ease}.child-pill:active{transform:scale(.95)}.child-pill.active{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,white 10%);box-shadow:0 6px 20px color-mix(in srgb,var(--c) 40%,transparent)}.child-emoji{font-size:30px}.child-points{font-size:13px;color:var(--text-soft)}.progress-card{padding:18px 20px;margin-bottom:18px}.progress-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:12px}.points-badge{background:#ffd16673;padding:6px 12px;border-radius:999px;font-size:14px}.progress-bar{height:16px;border-radius:999px;background:#ffffff4d;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#5b6cff,#2bb673);transition:width .6s cubic-bezier(.34,1.56,.64,1)}.all-done{text-align:center;margin-top:12px;font-weight:800;font-size:18px;animation:pop .5s ease}@keyframes pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.level-row{display:flex;align-items:center;gap:10px;margin-top:12px}.level-badge{font-weight:800;font-size:14px;white-space:nowrap}.level-balance{font-weight:700;font-size:14px;white-space:nowrap}.level-bar{flex:1;height:10px;border-radius:999px;background:#ffffff4d;overflow:hidden}.level-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff8c42);transition:width .6s cubic-bezier(.34,1.56,.64,1)}.install-hint{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:14px;border-radius:16px;background:#fff6;border:1px solid var(--glass-border);font-size:14px;font-weight:600;line-height:1.35}.install-hint .btn-icon{width:40px;height:40px;flex:0 0 auto;font-size:16px}.notify-cta{width:100%;margin-bottom:16px;border:none;border-radius:18px;padding:15px 18px;font-size:16px;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#ffb24d,#ff7eb6);box-shadow:0 8px 24px #ff7eb666}.notify-cta:active{transform:scale(.97)}.notify-active{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:16px;font-weight:700;color:var(--text-soft)}.link-btn{background:none;border:none;color:var(--primary);font-weight:700;cursor:pointer;text-decoration:underline}.sync-row{display:flex;align-items:center;gap:12px;margin-top:4px}.sync-badge{font-weight:700;font-size:14px}.sync-ok{color:var(--success)}.sync-error{color:var(--danger)}.sync-idle{color:var(--text-soft)}.sync-push-btn{width:100%;margin-top:10px}.section-title{display:flex;align-items:center;gap:10px;margin:22px 4px 12px;font-size:20px}.balance-pill{margin-left:auto;background:#ffd16673;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:700}.admin-card{padding:18px 20px;margin-bottom:18px}.admin-card h3{margin:0 0 12px}.admin-card h3.admin-section{margin-top:20px}.mode-picker{margin-bottom:4px}.request-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--glass-strong);margin-bottom:8px;font-size:14px}.request-actions{display:flex;gap:6px}.reward-card{padding:16px;display:flex;flex-direction:column;gap:10px}.reward-card .task-points{background:#ffd16666;color:#9a6a00}.reward-card .task-actions{margin-top:auto}.child-admin-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.child-admin{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:14px;background:var(--glass-strong);border-left:4px solid;font-weight:600}.child-admin-actions{display:flex;gap:6px;flex:0 0 auto}.child-admin-actions .btn-icon{width:44px;height:40px;font-size:14px;font-weight:800}.add-child{gap:10px}.reset-btn{margin-top:12px;width:100%;color:var(--danger)}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.empty{grid-column:1 / -1;text-align:center;padding:40px;color:var(--text-soft);font-weight:600;font-size:18px}.task-card{padding:16px;display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,opacity .3s ease}.task-card:hover{transform:translateY(-3px)}.task-card.done{opacity:.7}.task-card.done .task-title{text-decoration:line-through}.task-card.rework{border-color:#ffb43cb3;box-shadow:0 0 0 2px #ffb43c4d}.task-card.due-soon{border-color:#ff9632bf;box-shadow:0 0 0 2px #ff963266;background:linear-gradient(#ffa03c1f,#ffa03c0a)}.task-card.overdue{border-color:#ff3c5ce6;box-shadow:0 0 0 3px #ff3c5c8c;background:linear-gradient(#ff466429,#ff46640d);animation:overduePulse 2s ease-in-out infinite}@keyframes overduePulse{0%,to{box-shadow:0 0 0 3px #ff3c5c80}50%{box-shadow:0 0 0 5px #ff3c5c47}}.due-flag{align-self:flex-start;font-size:12px;font-weight:800;padding:5px 11px;border-radius:999px;margin-bottom:2px}.due-flag-soon{background:#ff963240;color:#a85400}.due-flag-over{background:#ff3c5ce6;color:#fff}.chip-warn{background:#ff963247;color:#a85400}.chip-optional{background:#7ee7874d;color:#1f7a3a}.duty-picker{grid-template-columns:repeat(2,1fr)}.task-top{display:flex;justify-content:space-between;align-items:flex-start}.task-icon{font-size:44px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12))}.task-points{background:#5b6cff40;color:var(--primary-dark);font-weight:800;padding:4px 10px;border-radius:999px;font-size:14px}.task-title{font-size:18px;font-weight:700}.task-meta{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;font-weight:600;background:#ffffff59;padding:4px 9px;border-radius:999px;color:var(--text)}.chip-danger{background:#ff5c7a4d;color:#b3173a}.rework-note{background:#ffb43c38;border-radius:12px;padding:8px 10px;font-size:13px;font-weight:600}.photo-thumb{border:none;padding:0;border-radius:14px;overflow:hidden;cursor:pointer;background:none}.photo-thumb img{width:100%;height:110px;object-fit:cover;display:block}.task-actions{display:flex;gap:8px;margin-top:auto}.btn-big{flex:1;border:none;border-radius:16px;padding:16px;font-size:17px;font-weight:800;cursor:pointer;color:#fff;transition:transform .12s ease,filter .2s ease}.btn-big:active{transform:scale(.94)}.btn-primary{background:linear-gradient(135deg,#6c7cff,#4f5be0);color:#fff;border:none;border-radius:14px;padding:12px 18px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px #5b6cff66;transition:transform .12s ease}.btn-primary:active{transform:scale(.95)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:linear-gradient(135deg,#2bd47e,#1f9e5e)}.btn-icon{width:50px;height:50px;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-strong);font-size:20px;cursor:pointer;transition:transform .12s ease,background .2s ease}.btn-icon:active{transform:scale(.9)}.btn-danger{color:var(--danger)}.btn-ghost{background:transparent;border:1px solid var(--glass-border);border-radius:14px;padding:12px 18px;font-size:16px;font-weight:700;cursor:pointer;color:var(--text)}.fab-row{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:50;display:flex;gap:10px}.fab{border:none;background:linear-gradient(135deg,#6c7cff,#4f5be0);color:#fff;font-size:17px;font-weight:800;padding:15px 24px;border-radius:999px;cursor:pointer;box-shadow:0 10px 30px #4f5be080;transition:transform .15s ease}.fab:active{transform:scale(.94)}.fab-secondary{background:linear-gradient(135deg,#ffb24d,#ff8c42)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14163a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:460px;max-height:90vh;overflow-y:auto;padding:24px;background:#ffffff80;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal h2{margin:0 0 16px}.muted{color:var(--text-soft);margin-top:-8px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field>span{font-size:13px;font-weight:700;color:var(--text-soft)}.field-row{display:flex;gap:12px}.field-row .field{flex:1}input,select,textarea{font-family:inherit;font-size:16px;padding:12px 14px;border-radius:12px;border:1px solid var(--glass-border);background:#fff9;color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary)}textarea{resize:vertical}.icon-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.icon-option{aspect-ratio:1;font-size:22px;border:1px solid transparent;border-radius:10px;background:#ffffff73;cursor:pointer;transition:transform .1s ease}.icon-option:active{transform:scale(.9)}.icon-option.selected{border-color:var(--primary);background:#5b6cff40}.scope-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scope-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:14px;border:1px solid transparent;background:#ffffff73;cursor:pointer;transition:transform .1s ease,border-color .2s ease}.scope-option:active{transform:scale(.95)}.scope-option.selected{border-color:var(--primary);background:#5b6cff38}.scope-emoji{font-size:24px}.scope-name{font-size:12px;font-weight:700;text-align:center}.scope-hint{color:var(--text-soft);font-size:12px;margin-top:6px;display:block}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.photo-modal{max-width:520px}.full-photo{width:100%;border-radius:16px;margin-bottom:14px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;z-index:1}.auth-card{width:100%;max-width:400px;padding:30px 26px;text-align:center}.auth-card h1{margin:6px 0 4px;font-size:26px}.auth-logo{font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.auth-card .field{text-align:left;margin-top:14px}.auth-btn{width:100%;margin-top:10px;padding:16px;font-size:17px}.auth-alt{display:block;margin:14px auto 0}.auth-error{margin-top:14px;color:var(--danger);font-weight:700;font-size:14px}.invite-box{background:#ffffff73;border:1px dashed var(--glass-border);border-radius:14px;padding:14px;text-align:center;font-weight:600;margin-bottom:8px}.invite-code{font-size:26px;letter-spacing:4px;color:var(--primary-dark)}.app-footer{text-align:center;margin-top:30px;font-size:12px;color:var(--text-soft)}@media (max-width: 480px){.brand h1{font-size:22px}.field-row{flex-direction:column;gap:0}.icon-picker{grid-template-columns:repeat(6,1fr)}}:root[data-bg=arena] body{background:radial-gradient(circle at 50% 115%,#ff5e7a,#7b2ff7 52%,#180f3a) fixed}:root[data-bg=blocks] body{background:linear-gradient(#00000047,#0006),repeating-linear-gradient(60deg,#1c7a44 0,#1c7a44 22px,#17693a 22px,#17693a 44px),repeating-linear-gradient(-60deg,rgba(255,255,255,.06) 0 22px,transparent 22px 44px),#149e57;background-attachment:fixed}:root[data-bg=neon] body{background:linear-gradient(#0b0f2eb8,#0b0f2e66),repeating-linear-gradient(0deg,transparent 0 38px,rgba(0,240,255,.15) 38px 40px),repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,46,136,.13) 38px 40px),linear-gradient(#0b0f2e,#2a0b46);background-attachment:fixed}:root[data-bg=moto] body{background:radial-gradient(circle at 80% 12%,rgba(255,106,0,.32),transparent 46%),repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 14px,transparent 14px 40px),linear-gradient(125deg,#12131a,#2a0f1f 70%,#12131a);background-attachment:fixed}:root[data-bg=custom] body{background:linear-gradient(#080a1a73,#080a1a99),var(--custom-bg, none) center / cover fixed no-repeat,#0b0d1a}:root[data-dark]{--text: #f2f3ff;--text-soft: rgba(242,243,255,.72);--glass: rgba(18,16,46,.5);--glass-strong: rgba(30,26,68,.66);--glass-border: rgba(255,255,255,.22);--shadow: 0 10px 34px rgba(0,0,0,.45)}:root[data-dark] .bg-blob{display:none}:root[data-dark] .chip{background:#ffffff24}:root[data-dark] .progress-bar,:root[data-dark] .level-bar{background:#ffffff29}:root[data-dark] input,:root[data-dark] select,:root[data-dark] textarea{background:#ffffff1f;color:var(--text)}:root[data-dark] .modal{background:#181634f0}:root[data-dark] .btn-ghost{color:var(--text)}:root[data-dark] .icon-option,:root[data-dark] .scope-option{background:#ffffff1a}:root[data-dark] .points-badge{background:#ffd1664d;color:#ffe08a}:root[data-dark] .balance-pill{background:#ffd1664d;color:#ffe08a}.header-actions{display:flex;gap:10px;align-items:center}.look-btn{padding:14px 16px}.brand-logo{width:46px;height:46px;display:grid;place-items:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.brand-logo svg{width:46px;height:46px;display:block}.look-modal{max-width:470px}.look-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.look-tile{aspect-ratio:16 / 10;border-radius:14px;border:2px solid transparent;background-size:cover;background-position:center;cursor:pointer;display:flex;align-items:flex-end;padding:8px;color:#fff;box-shadow:inset 0 -34px 30px #0006}.look-tile.selected{border-color:#fff;box-shadow:0 0 0 3px var(--primary),inset 0 -34px 30px #0006}.look-name{font-weight:800;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.7)}.look-custom{align-items:center;justify-content:center;background:#ffffff24;border:2px dashed var(--glass-border)}.look-upload{cursor:pointer;font-weight:700;font-size:13px;text-align:center}.mascot-grid{display:flex;flex-wrap:wrap;gap:10px}.mascot-tile{width:62px;height:62px;border-radius:16px;border:2px solid transparent;background:#ffffff59;cursor:pointer;display:grid;place-items:center;padding:4px}.mascot-tile.selected{border-color:var(--primary);background:#5b6cff38}.mascot-tile svg{width:52px;height:52px;display:block}
