:root{--bg-principal:#f8fafc;--bg-superficie:#fff;--texto-principal:#0f172a;--texto-secundario:#475569;--borda:#e2e8f0;--primary:#059669;--terminal-prompt:#10b981;--terminal-text:#0f172a;--success:#10b981;--danger:#ef4444;--radius:8px}[data-theme=dark]{--bg-principal:#0b0f19;--bg-superficie:#111827;--texto-principal:#f8fafc;--texto-secundario:#94a3b8;--borda:#1f2937;--terminal-prompt:#0f6;--terminal-text:#fff}body{background-color:var(--bg-principal);color:var(--texto-principal);margin:0;font-family:system-ui,-apple-system,sans-serif;transition:background-color .2s,color .2s;overflow-y:auto}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}@font-face{font-family:BootstrapIcons;src:url(/assets/bootstrap-icons-mSm7cUeB.woff2)format("woff2"),url(/assets/bootstrap-icons-BeopsB42.woff)format("woff");font-weight:400;font-style:normal;font-display:block}.bi{font-variant:normal;text-transform:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;font-family:BootstrapIcons!important}.ctrl_scrollbar{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--primary) 45%, var(--borda) 55%) transparent}.ctrl_scrollbar::-webkit-scrollbar{width:6px;height:6px}.ctrl_scrollbar::-webkit-scrollbar-track{background:0 0}.ctrl_scrollbar::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 35%, var(--borda) 65%);border-radius:999px}.ctrl_scrollbar::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--primary) 55%, var(--borda) 45%)}.ctrlthel-container{-webkit-user-select:none;user-select:none;align-items:center;font-family:Fira Code,JetBrains Mono,Courier New,monospace;font-size:1.25rem;display:inline-flex}.ctrlthel-prompt{color:var(--terminal-prompt);margin-right:4px;font-size:1rem;font-weight:700;transition:color .2s,transform .3s;display:inline-block}.ctrlthel-base{color:var(--terminal-text);letter-spacing:-.5px;font-weight:500;transition:color .2s,display .2s}.ctrlthel-name{color:var(--terminal-prompt);letter-spacing:-.5px;font-weight:500;transition:color .2s}.ctrlthel-path{color:var(--texto-secundario);font-weight:400}.ctrlthel-cursor{color:var(--terminal-prompt);font-weight:700;transition:color .2s;animation:1s step-end infinite ctrlthel-blink}@keyframes ctrlthel-blink{0%,to{opacity:1}50%{opacity:0}}.btn{border-radius:var(--radius,8px);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:600;transition:all .2s ease-in-out;display:inline-flex;position:relative}.btn-sm{padding:6px 12px;font-size:.875rem}.btn-md{padding:10px 20px;font-size:1rem}.btn-lg{padding:14px 28px;font-size:1.125rem}.btn-primary{background-color:var(--primary);color:#fff}.btn-secondary{background-color:var(--bg-superficie);border-color:var(--borda);color:var(--texto-principal)}.btn-ghost{color:var(--texto-principal);background-color:#0000}.btn-danger{background-color:var(--danger);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background-color:var(--borda)}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}}.btn-loading .btn-icon-wrapper{visibility:hidden}.btn-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.btn-sm.btn-icon-md .btn-icon-wrapper{font-size:.875rem}.btn-md.btn-icon-md .btn-icon-wrapper{font-size:1rem}.btn-lg.btn-icon-md .btn-icon-wrapper{font-size:1.125rem}.btn-icon-lg .btn-icon-wrapper{font-size:1.18rem}.btn-sm.btn-icon-lg{padding:5px 10px}.btn-md.btn-icon-lg{padding:9px 18px}.btn-lg.btn-icon-lg{padding:12px 26px}.btn-only-icon.btn-sm,.btn-only-icon.btn-sm.btn-icon-lg{width:2rem;height:2rem;padding:0}.btn-only-icon.btn-md{width:2.5rem;height:2.5rem;padding:0}.ctrl_modal_overlay{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0206178c;place-items:center;padding:1rem;animation:.18s ease-out ctrl_modal_overlay_in;display:grid;position:fixed;inset:0}.ctrl_modal_container{border:1px solid var(--borda);background-color:var(--bg-superficie);border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(86vh,760px);animation:.24s cubic-bezier(.2,.8,.2,1) ctrl_modal_container_in;display:grid;overflow:hidden;box-shadow:0 18px 45px #02061752}.ctrl_modal_header{z-index:1;border-bottom:1px solid var(--borda);background:var(--bg-superficie);justify-content:space-between;align-items:center;gap:.75rem;min-height:2rem;padding:.5rem 1rem;display:flex;position:sticky;top:0}.ctrl_modal_body{min-height:0;padding:1rem;overflow-y:auto}.ctrl_modal_footer{z-index:1;border-top:1px solid var(--borda);background:var(--bg-superficie);justify-content:flex-end;gap:.5rem;padding:.5rem 1rem;display:flex;position:sticky;bottom:0}.ctrl_modal_confirm_overlay{z-index:130;background-color:#02061780;place-items:start center;padding:1rem;display:grid;position:fixed;inset:0}.ctrl_modal_confirm{border:1px solid var(--borda);background-color:var(--bg-superficie);border-radius:12px;width:min(420px,100%);padding:1rem;box-shadow:0 14px 28px #02061747}.ctrl_modal_confirm h3{margin:0;font-size:1rem}.ctrl_modal_confirm p{color:var(--texto-secundario);margin:.5rem 0 1rem}.ctrl_modal_confirm_actions{justify-content:flex-end;gap:.5rem;display:flex}@keyframes ctrl_modal_overlay_in{0%{opacity:0}to{opacity:1}}@keyframes ctrl_modal_container_in{0%{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.ctrl_modal_container{border-radius:12px;max-height:92vh}}.ctrl_header{z-index:50;background-color:var(--bg-superficie);border-bottom:1px solid var(--borda);-webkit-backdrop-filter:blur(8px);justify-content:space-between;align-items:center;height:3rem;padding:0 1.5rem;transition:background-color .2s,border-color .2s;display:flex;position:sticky;top:0}.ctrl_header_left{min-width:170px}.ctrl_logo_btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.ctrl_header_right{align-items:center;gap:1.5rem;display:flex}.ctrl_header_nav{gap:1rem;display:flex}.ctrl_user_area{position:relative}.ctrl_avatar_btn{border:2px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:1rem;display:flex;overflow:hidden}.ctrl_avatar_img{object-fit:cover;width:100%;height:100%}.ctrl_dropdown{background-color:var(--bg-superficie);border:1px solid var(--borda);border-radius:var(--radius);z-index:60;width:14rem;padding:.5rem 0;font-family:Fira Code,JetBrains Mono,monospace;font-size:.875rem;position:absolute;top:3rem;right:0;box-shadow:0 4px 6px -1px #0000001a}.ctrl_dropdown_item{text-align:left;width:100%;color:var(--texto-principal);cursor:pointer;background:0 0;border:none;align-items:center;padding:.6rem 1rem;transition:background-color .2s;display:flex}.ctrl_dropdown_item:hover{background-color:var(--bg-principal)}.ctrl_dropdown_item.danger{color:var(--danger)}.ctrl_login_body_text{color:var(--texto-secundario);margin:0;line-height:1.5}.ctrl_routines_switcher{display:none}@media (width<=768px){.ctrl_header{height:3.2rem;padding:0 .75rem}.ctrl_header_right{gap:.5rem}.ctrl_header_nav{gap:.4rem}.ctrl_header_left{flex:1;min-width:0}.ctrl_routines_switcher{align-items:center;gap:.18rem;animation:.18s ease-out both routines-switcher-enter;display:inline-flex}.ctrl_routines_switcher_icon{color:var(--primary);margin-right:.25rem;font-size:1rem}.ctrl_routines_switcher button{color:var(--texto-secundario);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.36rem .48rem;font-size:.78rem;font-weight:700;transition:color .16s,background-color .16s}.ctrl_routines_switcher button.is-active{color:var(--texto-principal);background:color-mix(in srgb, var(--primary) 12%, var(--bg-superficie))}.ctrl_routines_nav_item,.ctrl_routines_desktop_logo{display:none}}@keyframes routines-switcher-enter{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.ctrl_routines_switcher{animation:none}}.app-shell{background:radial-gradient(circle at 20% -20%, #10b9811f, transparent 35%), var(--bg-principal);grid-template-rows:auto minmax(0,1fr);min-height:100dvh;display:grid;overflow:hidden}.app-shell-main{box-sizing:border-box;width:100%;max-width:1160px;min-height:0;margin:0 auto;padding:1rem;overflow:hidden}@media (width<=768px){.app-shell-main{padding:.5rem .75rem}}.home-page{align-content:start;display:grid}.home-panel{border-radius:var(--radius);border:1px dashed var(--borda);background:linear-gradient(135deg, color-mix(in srgb, var(--bg-superficie) 86%, transparent), color-mix(in srgb, var(--primary) 8%, var(--bg-superficie)));text-align:center;box-sizing:border-box;align-content:center;justify-items:center;gap:.5rem;min-height:18rem;padding:2rem 1.25rem;display:grid}.home-eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:Fira Code,JetBrains Mono,monospace;font-size:.75rem;font-weight:700}.home-panel h1{margin:0;font-size:clamp(1.7rem,7vw,2.4rem)}.home-description{max-width:28rem;color:var(--texto-secundario);margin:0;line-height:1.5}.day-nav{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--borda));background:radial-gradient(circle at 20% -35%, color-mix(in srgb, var(--primary) 24%, transparent), transparent 58%), linear-gradient(160deg, var(--bg-superficie), color-mix(in srgb, var(--primary) 9%, var(--bg-superficie)));border-radius:16px;gap:.65rem;padding:.7rem;display:grid}.day-nav-top{grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;display:grid}.day-nav-arrow{border:1px solid var(--borda);background:var(--bg-superficie);width:2.1rem;height:2.1rem;color:var(--texto-principal);cursor:pointer;border-radius:999px;font-size:1.4rem;line-height:1}.day-nav-current{border:1px solid color-mix(in srgb, var(--primary) 58%, var(--borda));background:color-mix(in srgb, var(--bg-superficie) 76%, var(--primary));width:100%;min-height:2.1rem;color:var(--texto-principal);cursor:pointer;border-radius:999px;padding:.35rem .7rem;font-size:.86rem;font-weight:700}.day-nav-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.36rem;display:grid}.day-pill{border:1px solid var(--borda);background:var(--bg-superficie);color:var(--texto-principal);cursor:pointer;border-radius:12px;align-content:space-between;justify-items:center;gap:.08rem;min-height:84px;padding:.4rem .18rem .46rem;display:grid}.day-pill.is-selected{border-color:color-mix(in srgb, var(--primary) 80%, var(--borda));box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 22%, transparent)}.day-pill-weekday{color:var(--texto-secundario);font-size:.68rem}.day-pill-date{color:var(--texto-principal);font-size:.9rem}.day-pill-rings{place-items:center;width:30px;height:30px;display:grid;position:relative}.day-ring{border-radius:50%;display:block;position:absolute}.day-ring:after{content:"";inset:var(--ring-thickness);background:var(--bg-superficie);border-radius:50%;position:absolute}.ring-personal{--ring-color:color-mix(in srgb, var(--primary) 90%, #fff)}.ring-groups{--ring-color:#38bdf8}.day-sheet-overlay{z-index:140;padding:.6rem .6rem calc(env(safe-area-inset-bottom) + .6rem);background:#02061773;align-items:end;display:grid;position:fixed;inset:0;overflow-x:hidden}.day-sheet{box-sizing:border-box;border:1px solid var(--borda);background:var(--bg-superficie);scrollbar-gutter:stable both-edges;border-radius:18px;width:min(100%,680px);max-height:82vh;margin:0 auto;padding:.8rem;overflow:hidden scroll}.day-sheet-head{grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;gap:.5rem;display:grid}.day-sheet-head h3{text-align:center;text-transform:capitalize;color:var(--texto-principal);margin:0;font-size:.98rem}.day-sheet-nav{border:1px solid var(--borda);background:var(--bg-superficie);width:2rem;height:2rem;color:var(--texto-principal);cursor:pointer;border-radius:999px;font-size:1.3rem;line-height:1}.day-sheet-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;margin-top:.6rem;display:grid}.day-sheet-weekdays span{color:var(--texto-secundario);text-align:center;font-size:.7rem}.day-sheet-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:30px;gap:.28rem;min-height:calc(180px + 1.4rem);margin-top:.35rem;display:grid}.day-sheet-cell{border:1px solid var(--borda);background:var(--bg-superficie);color:var(--texto-principal);cursor:pointer;border-radius:10px;align-content:center;justify-items:center;gap:.08rem;min-height:30px;display:grid}.day-sheet-cell.is-blank{cursor:default;background:0 0;border-color:#0000}.day-sheet-cell.is-selected{border-color:color-mix(in srgb, var(--primary) 85%, var(--borda))}.day-sheet-cell.is-outside strong{color:var(--texto-secundario);opacity:.7}.day-sheet-cell strong{color:var(--texto-principal);font-size:.7rem}.day-sheet-dots{gap:.2rem;display:flex}.day-sheet-dots .dot{background:color-mix(in srgb, var(--borda) 80%, transparent);border-radius:50%;width:5px;height:5px}.day-sheet-dots .dot.personal.is-on{background:color-mix(in srgb, var(--primary) 90%, #fff)}.day-sheet-dots .dot.groups.is-on{background:#38bdf8}@media (width>=900px){.day-sheet-overlay{place-items:center;padding:1rem}.day-sheet{border:1px solid var(--borda);border-radius:18px;width:min(680px,100%)}}.routines-page{grid-auto-rows:max-content;align-content:start;gap:.5rem;min-height:0;display:grid}.routines-page.is-routine-view{grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;height:100%;min-height:0;overflow:hidden}.routines-day-strip-wrap{gap:.5rem;display:grid}.routines-open-calendar-btn{border:1px solid var(--borda);background:color-mix(in srgb, var(--bg-superficie) 82%, var(--primary));color:var(--texto-principal);cursor:pointer;border-radius:999px;justify-self:end;padding:.4rem .75rem;font-size:.8rem;font-weight:700}.routines-day-btn{border:1px solid var(--borda);background:var(--bg-superficie);border-radius:12px;gap:.4rem;padding:.45rem;display:grid}.routines-main-actions button{justify-content:flex-start;width:100%}.routines-list{gap:.52rem;padding-bottom:.35rem;padding-right:0;display:grid;overflow:visible}.routines-page.is-routine-view .routines-main-panel{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.routines-page.is-routine-view .routines-list{scrollbar-width:thin;-ms-overflow-style:auto;min-height:0;max-height:calc(100dvh - 20.5rem);padding-bottom:.7rem;padding-right:.18rem;overflow:hidden auto}.routines-page.is-routine-view .routines-list::-webkit-scrollbar{width:6px;height:6px}.routines-item{border:1px solid var(--borda);background:var(--bg-superficie);box-sizing:border-box;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(74px,24%);align-items:center;gap:.5rem;width:100%;padding:.58rem;display:grid}.routines-item.has-fill{grid-template-columns:minmax(0,1fr) minmax(132px,48%);align-items:start}.routines-item-top{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.routines-item-main{gap:.36rem;min-width:0;display:grid}.routines-kind-chip{background:color-mix(in srgb, var(--primary) 14%, var(--bg-superficie));color:var(--texto-principal);border-radius:999px;align-items:center;gap:.28rem;padding:.14rem .46rem;font-size:.72rem;font-weight:700;display:inline-flex}.routines-item[data-kind=GRUPO] .routines-kind-chip{background:color-mix(in srgb, #3b82f6 14%, var(--bg-superficie));color:color-mix(in srgb, #1d4ed8 78%, var(--texto-principal))}.routines-item-body h3{overflow-wrap:anywhere;margin:0;font-size:.89rem}.routines-scheduled-time{letter-spacing:.02em;color:color-mix(in srgb, var(--primary) 76%, var(--texto-principal));margin-top:.22rem;font-size:1.18rem;font-weight:800;line-height:1.1;display:block}.routines-item-body p,.routines-item-body span{color:var(--texto-secundario);overflow-wrap:anywhere;margin:.12rem 0 0;font-size:.78rem}.routines-progress-block{gap:.2rem;margin-top:.36rem;display:grid}.routines-progress-track{background:color-mix(in srgb, var(--borda) 75%, transparent);border-radius:999px;width:100%;height:7px;overflow:hidden}.routines-progress-fill{border-radius:inherit;background:color-mix(in srgb, var(--primary) 72%, #60a5fa);height:100%;display:block}.routines-progress-block small{color:var(--texto-secundario);font-size:.72rem}.routines-item.is-done{border-color:color-mix(in srgb, var(--success) 62%, var(--borda));background:color-mix(in srgb, var(--success) 8%, var(--bg-superficie))}.routines-item-actions{align-content:center;justify-self:end;justify-items:center;gap:.34rem;width:100%;min-width:0;display:grid}.routines-check-square{border:2px solid var(--borda);color:#0000;cursor:pointer;background:0 0;border-radius:10px;width:38px;height:38px;font-size:1.1rem;font-weight:800;line-height:1;transition:all .2s}.routines-check-glyph{opacity:0;transition:opacity .16s;display:inline-block}.routines-check-glyph.is-visible{opacity:1}.routines-check-square:disabled{cursor:default}.routines-item.is-done .routines-check-square{border-color:color-mix(in srgb, var(--success) 75%, var(--borda));background:color-mix(in srgb, var(--success) 70%, var(--bg-superficie));color:color-mix(in srgb, var(--bg-superficie) 25%, #06110c)}.routines-action-zone{border:1px solid var(--borda);background:color-mix(in srgb, var(--primary) 16%, var(--bg-superficie));color:var(--texto-principal);cursor:pointer;text-align:center;border-radius:10px;padding:.34rem .5rem;font-size:.76rem;font-weight:700}.routines-action-zone-compact{min-width:86px;padding:.28rem .46rem;font-size:.72rem}.routines-fill-box{gap:.34rem;width:100%;display:grid}.routines-fill-field{gap:.14rem;display:grid}.routines-fill-field span{color:var(--texto-secundario);font-size:.68rem}.routines-fill-field input{border:1px solid var(--borda);background:var(--bg-superficie);color:var(--texto-principal);border-radius:8px;width:100%;min-width:0;padding:.3rem .42rem;font-size:.72rem}.routines-locked-label,.routines-locked-time{color:var(--texto-secundario);text-align:center;width:100%;font-size:.68rem;line-height:1}.routines-locked-label.placeholder,.routines-locked-time.placeholder{visibility:hidden}.routines-item.is-done .routines-action-zone{background:color-mix(in srgb, var(--success) 18%, var(--bg-superficie))}.routines-grid-profile{gap:.75rem;display:grid}.routines-grid-profile .routines-panel{border:1px solid var(--borda);background:var(--bg-superficie);border-radius:12px;padding:.72rem}.routines-profile-head{align-items:flex-start;gap:.65rem;display:flex}.routines-profile-meta{min-width:0}.routines-avatar{border:2px solid color-mix(in srgb, var(--primary) 72%, var(--borda));background:color-mix(in srgb, var(--primary) 18%, var(--bg-superficie));border-radius:50%;place-items:center;width:2.85rem;height:2.85rem;font-weight:800;display:grid}.routines-profile-head h2,.routines-profile-head p{margin:0}.routines-profile-head p{color:var(--texto-secundario);margin-top:.2rem;font-size:.84rem}.routines-meta-chips{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.routines-meta-chip{border:1px solid var(--borda);color:var(--texto-secundario);background:color-mix(in srgb, var(--bg-superficie) 88%, var(--primary));border-radius:999px;padding:.12rem .46rem;font-size:.72rem}.routines-panel-head{margin-bottom:.55rem}.routines-panel-head h2,.routines-panel-head small{margin:0}.routines-panel-head small{color:var(--texto-secundario);margin-top:.14rem;display:block}.routines-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.routines-stat{border:1px solid var(--borda);background:var(--bg-superficie);border-radius:12px;padding:.6rem}.routines-stat p,.routines-stat strong{margin:0}.routines-stat p{color:var(--texto-secundario);font-size:.78rem}.routines-stat strong{margin-top:.2rem;font-size:1.15rem;display:block}.routines-groups,.routines-approvals,.routines-personal-table{gap:.45rem;display:grid}.routines-group-card,.routines-approval-card,.routines-personal-row{border:1px solid var(--borda);background:color-mix(in srgb, var(--bg-superficie) 86%, transparent);border-radius:11px;padding:.65rem}.routines-entity-head{justify-content:space-between;align-items:center;gap:.45rem;display:flex}.routines-entity-chip{background:color-mix(in srgb, var(--primary) 14%, var(--bg-superficie));color:var(--texto-secundario);border-radius:999px;padding:.12rem .45rem;font-size:.7rem;font-weight:700}.routines-group-card h3,.routines-group-card p,.routines-group-card strong,.routines-approval-card h3,.routines-approval-card p,.routines-approval-card span,.routines-personal-row h4,.routines-personal-row p,.routines-personal-row span{margin:0}.routines-group-card p,.routines-approval-card p,.routines-personal-row p{color:var(--texto-secundario);margin-top:.2rem;font-size:.82rem}.routines-group-card p strong,.routines-personal-row p strong{color:var(--texto-principal)}.routines-group-card strong,.routines-approval-card span,.routines-personal-row span{background:color-mix(in srgb, var(--primary) 14%, var(--bg-superficie));border-radius:999px;margin-top:.32rem;padding:.12rem .45rem;font-size:.78rem;display:inline-block}@media (width>=760px){.routines-page{gap:1rem}.routines-item{grid-template-columns:minmax(0,1fr) minmax(92px,22%)}.routines-item.has-fill{grid-template-columns:minmax(0,1fr) minmax(170px,44%)}.routines-page.is-routine-view .routines-list{max-height:calc(100dvh - 21.5rem)}.routines-grid-profile{grid-template-columns:1fr 1fr}.routines-grid-profile>:first-child{grid-column:1/-1}}@media (width>=1024px){.routines-main-panel{padding:.95rem}}.nihongo-alphabet-instruction{color:var(--texto-secundario);text-align:center;margin:0;font-size:.82rem}.nihongo-alphabet-track{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:0;padding:.5rem 0;display:grid}.nihongo-alphabet-tile{min-width:0;min-height:6.5rem;color:var(--texto-secundario);opacity:.45;justify-items:center;gap:.15rem;transition:color .2s,opacity .2s;display:grid;position:relative;overflow:hidden}.nihongo-alphabet-kana{white-space:nowrap;align-items:baseline;line-height:1.1;display:inline-flex}.nihongo-alphabet-kana-main{font-size:clamp(1.6rem,7vw,2.2rem)}.nihongo-alphabet-kana-small{font-size:clamp(1.2rem,5.25vw,1.65rem)}.nihongo-alphabet-tile.is-history-1,.nihongo-alphabet-tile.is-next-1{opacity:.7}.nihongo-alphabet-tile.is-current{color:var(--texto-principal);opacity:1}.nihongo-alphabet-tile.is-current .nihongo-alphabet-kana-main{font-size:clamp(2.4rem,10.5vw,3.3rem);font-weight:700}.nihongo-alphabet-tile.is-current .nihongo-alphabet-kana-small{font-size:clamp(1.8rem,7.875vw,2.475rem);font-weight:700}.nihongo-alphabet-tile.is-empty{opacity:0}.nihongo-alphabet-tile.is-correct{color:var(--success);opacity:1}.nihongo-alphabet-tile.is-incorrect{color:var(--danger);opacity:1}.nihongo-alphabet-caption{align-items:baseline;gap:.25rem;font-family:Fira Code,JetBrains Mono,monospace;font-size:.7rem;display:flex}.nihongo-alphabet-caption-typed{color:var(--danger);text-decoration:line-through}.nihongo-alphabet-caption-correct{color:var(--success)}@media (prefers-reduced-motion:reduce){.nihongo-alphabet-tile{transition:none}}.nihongo-practice-panel{border:1px solid var(--borda);background:var(--bg-superficie);border-radius:12px;gap:1rem;padding:.85rem;display:grid}.nihongo-mode-selector{border:1px solid var(--borda);background:var(--bg-principal);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding:.25rem;display:grid}.nihongo-mode-selector button{color:var(--texto-secundario);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.55rem .4rem;font-size:.8rem;font-weight:700}.nihongo-mode-selector button.is-active{border-color:color-mix(in srgb, var(--primary) 58%, var(--borda));background:color-mix(in srgb, var(--primary) 16%, var(--bg-superficie));color:var(--texto-principal)}.nihongo-prompt{text-align:center;justify-items:center;gap:.35rem;padding:.45rem 0 .65rem;display:grid}.nihongo-prompt p{color:var(--texto-secundario);margin:0;font-size:.82rem}.nihongo-prompt strong{color:var(--texto-principal);letter-spacing:.04em;font-size:clamp(3rem,16vw,5rem);line-height:1.1}.nihongo-script-tag{text-transform:uppercase;border-radius:999px;padding:.14rem .45rem;font-family:Fira Code,JetBrains Mono,monospace;font-size:.68rem}.nihongo-script-tag.is-hiragana{background:color-mix(in srgb, var(--primary) 15%, var(--bg-superficie));color:var(--primary)}.nihongo-script-tag.is-katakana{background:color-mix(in srgb, #38bdf8 15%, var(--bg-superficie));color:#38bdf8}.nihongo-input-label{justify-items:center;gap:.3rem;display:grid;position:relative}.nihongo-input-label input{box-sizing:border-box;border:1px solid var(--borda);background:color-mix(in srgb, var(--bg-principal) 76%, var(--bg-superficie));width:100%;max-width:260px;color:var(--texto-principal);font:inherit;text-align:center;border-radius:9px;outline:none;padding:.78rem .8rem;font-size:1rem}.nihongo-input-label input:focus{border-color:color-mix(in srgb, var(--primary) 75%, var(--borda));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent)}.nihongo-input-label input[aria-invalid=true]{border-color:var(--danger)}.nihongo-input-help{color:var(--texto-secundario);text-align:center;margin:0;font-size:.7rem}.nihongo-stats{color:var(--texto-secundario);flex-wrap:wrap;justify-content:center;gap:.4rem;font-size:.75rem;display:flex}.nihongo-stats span{border:1px solid var(--borda);background:color-mix(in srgb, var(--bg-superficie) 82%, transparent);border-radius:999px;padding:.25rem .55rem}.nihongo-stats strong{color:var(--texto-principal)}.nihongo-answer-preview{min-height:1.35rem;display:grid}.nihongo-kana-preview{min-height:1.45rem;color:var(--texto-secundario);letter-spacing:.04em;text-align:center;font-size:1.15rem}.nihongo-answer-comparison{flex-wrap:wrap;justify-content:center;gap:.12rem;min-height:1.35rem;display:flex}.nihongo-answer-letter{min-width:.75rem;color:var(--texto-secundario);text-align:center;font-family:Fira Code,JetBrains Mono,monospace;font-size:.9rem;font-weight:700}.nihongo-answer-letter.is-correct{color:var(--success)}.nihongo-answer-letter.is-incorrect{color:var(--danger);text-decoration:underline}.nihongo-answer-letter.is-pending{color:var(--texto-secundario);opacity:.55}.nihongo-result-overlay{z-index:120;background:#020617b8;place-items:center;padding:1rem;animation:.16s ease-out both nihongo-result-fade-in;display:grid;position:fixed;inset:0}.nihongo-result-modal{border:1px solid var(--borda);background:var(--bg-superficie);box-sizing:border-box;border-radius:14px;width:fit-content;min-width:min(18rem,100vw - 2rem);max-width:calc(100vw - 2rem);padding:1.25rem;animation:.18s ease-out both nihongo-result-pop-in;display:block;position:relative;box-shadow:0 20px 60px #00000059}.nihongo-result-modal.is-correct{border-color:color-mix(in srgb, var(--success) 65%, var(--borda))}.nihongo-result-modal.is-incorrect{border-color:color-mix(in srgb, var(--danger) 65%, var(--borda))}.nihongo-result-icon{border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;font-size:1.6rem;font-weight:800;display:grid;position:absolute;top:1.25rem;left:1.25rem}.nihongo-result-modal.is-correct .nihongo-result-icon{background:color-mix(in srgb, var(--success) 20%, transparent);color:var(--success)}.nihongo-result-modal.is-incorrect .nihongo-result-icon{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}.nihongo-result-content{text-align:center;gap:.18rem;width:100%;min-width:0;display:grid}.nihongo-result-content h2,.nihongo-result-content strong,.nihongo-result-content span,.nihongo-result-content small{overflow-wrap:anywhere;margin:0}.nihongo-result-content h2{text-align:left;margin-bottom:1rem;padding-left:3.75rem;font-size:1.25rem}.nihongo-result-content strong{color:var(--texto-principal);font-size:1.4rem}.nihongo-result-content span,.nihongo-result-content small{color:var(--texto-secundario);font-size:1.05rem}.nihongo-meaning-highlight{border:1px solid color-mix(in srgb, var(--primary) 42%, var(--borda));background:color-mix(in srgb, var(--primary) 12%, var(--bg-superficie));border-radius:8px;gap:.1rem;margin:.35rem 0;padding:.55rem .7rem;display:grid}.nihongo-meaning-highlight small{color:var(--primary);text-transform:uppercase;font-size:.85rem;font-weight:700}.nihongo-meaning-highlight strong{color:var(--texto-principal);font-size:1.35rem}.nihongo-correct-answer{text-align:center;justify-items:center;gap:.25rem;padding:.45rem 0;display:grid}.nihongo-correct-answer .nihongo-kana-romaji-list{justify-content:center;gap:1rem;width:100%}.nihongo-correct-answer .nihongo-kana-romaji-unit strong{color:var(--texto-principal);font-size:2rem}.nihongo-correct-answer .nihongo-kana-romaji-unit span{color:var(--texto-secundario);font-size:1rem}.nihongo-comparison-pair{gap:1.4rem;margin:.4rem 0;display:grid}.nihongo-comparison-pair>div{justify-items:center;gap:.25rem;min-width:0;display:grid}.nihongo-comparison-pair>div+div{border-top:1px solid var(--borda);padding-top:1rem}.nihongo-comparison-pair>div>span{color:var(--texto-secundario);font-size:.95rem;font-weight:700}.nihongo-comparison-pair .nihongo-answer-comparison{justify-content:center;min-height:1.6rem}.nihongo-kana-romaji-list{flex-wrap:wrap;align-items:flex-start;gap:.8rem;display:flex}.nihongo-kana-romaji-unit{justify-items:center;gap:.12rem;min-width:2rem;display:grid}.nihongo-kana-romaji-unit strong{color:var(--texto-principal);font-size:1.65rem;line-height:1.1}.nihongo-kana-romaji-unit span{color:var(--texto-secundario);font-family:Fira Code,JetBrains Mono,monospace;font-size:1rem;line-height:1.1}.nihongo-kana-romaji-unit.is-correct strong,.nihongo-kana-romaji-unit.is-correct span{color:var(--success)}.nihongo-kana-romaji-unit.is-incorrect strong,.nihongo-kana-romaji-unit.is-incorrect span{color:var(--danger)}.nihongo-kana-romaji-unit.is-correction-reference strong,.nihongo-kana-romaji-unit.is-correction-reference span{color:var(--success)}.nihongo-kana-romaji-unit.is-missing strong,.nihongo-kana-romaji-unit.is-missing span{color:var(--texto-secundario);opacity:.8}.nihongo-comparison-pair>div:last-child .nihongo-kana-romaji-unit strong,.nihongo-comparison-pair>div:last-child .nihongo-kana-romaji-unit span{color:var(--texto-principal);opacity:1}@keyframes nihongo-result-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nihongo-result-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=760px){.nihongo-practice-panel{width:100%;max-width:680px;margin:0 auto;padding:1.2rem}.nihongo-comparison-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem;position:relative}.nihongo-comparison-pair>div+div{border-top:0;padding-top:0}.nihongo-result-modal{max-width:min(42rem,100vw - 2rem)}.nihongo-comparison-pair:after{content:"";background:var(--borda);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.nihongo-result-overlay,.nihongo-result-modal{animation:none}}.nihongo-placeholder{border:1px dashed var(--borda);text-align:center;border-radius:12px;justify-items:center;gap:.3rem;padding:2.5rem 1rem;display:grid}.nihongo-placeholder p{color:var(--texto-principal);margin:0;font-size:1.2rem;font-weight:700}.nihongo-placeholder span{color:var(--texto-secundario);font-size:.85rem}.nihongo-page{align-content:start;gap:.85rem;display:grid}.nihongo-page-header{gap:.7rem;display:grid}.nihongo-heading{align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.nihongo-symbol{border:1px solid color-mix(in srgb, var(--primary) 58%, var(--borda));border-radius:var(--radius);background:color-mix(in srgb, var(--primary) 12%, var(--bg-superficie));width:3rem;height:3rem;color:var(--primary);place-items:center;font-size:1.55rem;font-weight:700;display:grid}.nihongo-eyebrow{color:var(--texto-secundario);text-transform:uppercase;margin:0;font-family:Fira Code,JetBrains Mono,monospace;font-size:.72rem}.nihongo-heading h1{margin:.12rem 0 0;font-size:clamp(1.6rem,8vw,2.2rem)}.nihongo-description{color:var(--texto-secundario);margin:.2rem 0 0;font-size:.88rem}.nihongo-menu{gap:.5rem;display:grid}.nihongo-menu-selector{border:1px solid var(--borda);background:var(--bg-principal);border-radius:10px;gap:.3rem;padding:.25rem;display:flex}.nihongo-menu-selector button{color:var(--texto-secundario);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1 1 0;padding:.55rem .4rem;font-size:.8rem;font-weight:700}.nihongo-menu-selector button.is-active{border-color:color-mix(in srgb, var(--primary) 58%, var(--borda));background:color-mix(in srgb, var(--primary) 16%, var(--bg-superficie));color:var(--texto-principal)}.nihongo-menu-selector button:disabled{cursor:not-allowed;opacity:.45}.nihongo-empty-state{border:1px dashed var(--borda);color:var(--texto-secundario);text-align:center;border-radius:12px;margin:0;padding:1rem;font-size:.85rem}.nihongo-panel{border:1px dashed var(--borda);border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--bg-superficie) 86%, transparent), color-mix(in srgb, var(--primary) 8%, var(--bg-superficie)));text-align:center;place-items:center;min-height:14rem;padding:1rem;display:grid}.nihongo-panel p{color:var(--texto-secundario);margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=760px){.nihongo-page{gap:1.25rem}.nihongo-page-header{grid-template-columns:1fr auto;align-items:end}.nihongo-menu,.nihongo-empty-state{width:100%;max-width:680px;margin:0 auto}}
