.public-content-sync-notice{color:#855b14;text-align:center;background:#fff5dc;margin:0;padding:8px 16px;font-size:13px}.campus-card--games-entry{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.games-entry-icon{background:linear-gradient(145deg,#fff2cf,#dff5ff);border:1px solid #f4dca9;border-radius:18px;justify-content:center;align-items:center;width:54px;height:54px;display:flex;overflow:hidden;box-shadow:0 7px 18px #245b821f}.games-entry-icon svg{width:50px;height:50px}.games-entry-copy h2{margin:0 0 4px;font-size:1.02rem}.games-entry-copy p{color:var(--color-muted,#66736e);margin:0;font-size:.88rem}.games-page,.game-coming-page,.sudoku-overview{max-width:980px}.game-center-heading{margin-bottom:18px}.game-catalog{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.game-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#dce5e1);color:inherit;border-radius:22px;grid-template-columns:auto 1fr;align-items:center;gap:14px;min-height:122px;padding:20px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.game-card:hover{border-color:#a9c8bc;transform:translateY(-2px);box-shadow:0 12px 30px #1f4d3d17}.game-card--coming-soon{background:color-mix(in srgb, var(--color-surface,#fff) 94%, #eef3f1)}.game-card[aria-disabled=true]{cursor:default}.game-card[aria-disabled=true]:hover{border-color:var(--color-border,#dce5e1);box-shadow:none;transform:none}.game-card--testing{background:color-mix(in srgb, var(--color-surface,#fff) 91%, #fff1c7);border-color:#e9d59e}.game-card--testing>.game-card-status{color:#785a10;background:#fff0c2}.game-card-icon,.game-coming-icon{--game-icon-bg-a:#fff2d8;--game-icon-bg-b:#e2f5ff;--game-icon-border:#f1d6ad;background:linear-gradient(145deg, var(--game-icon-bg-a), var(--game-icon-bg-b));border:1px solid var(--game-icon-border);border-radius:20px;justify-content:center;align-items:center;width:66px;height:66px;display:flex;overflow:hidden;box-shadow:0 8px 20px #2a4e6e1a}.game-card-icon svg,.game-coming-icon svg{width:62px;height:62px}.game-icon-theme--nonogram{--game-icon-bg-a:#e4f7f3;--game-icon-bg-b:#edf0ff;--game-icon-border:#bee3dc}.game-icon-theme--patterns{--game-icon-bg-a:#f1e8ff;--game-icon-bg-b:#ffe9ef;--game-icon-border:#dcc9f1}.game-icon-theme--hanoi{--game-icon-bg-a:#e2f5ff;--game-icon-bg-b:#fff1d4;--game-icon-border:#c8e3ed}.game-icon-theme--tangram{--game-icon-bg-a:#fff0d7;--game-icon-bg-b:#e9ecff;--game-icon-border:#ecd2b0}.game-icon-theme--logic-order{--game-icon-bg-a:#e8f0ff;--game-icon-bg-b:#f2e8ff;--game-icon-border:#cad8f1}.game-icon-theme--maze{--game-icon-bg-a:#e2f7eb;--game-icon-bg-b:#e5f5ff;--game-icon-border:#c6e7d4}.game-icon-theme--memory-matrix{--game-icon-bg-a:#f3e9ff;--game-icon-bg-b:#ffecf4;--game-icon-border:#dccaf0}.game-icon-theme--number-link{--game-icon-bg-a:#e0f6ff;--game-icon-bg-b:#e8f7ec;--game-icon-border:#c5e4e9}.game-icon-theme--klotski{--game-icon-bg-a:#fff1d7;--game-icon-bg-b:#ffe8e2;--game-icon-border:#efd2b7}.game-card-copy{gap:5px;padding-right:70px;display:grid}.game-card-copy strong{font-size:1.02rem}.game-card-copy small{color:var(--color-muted,#66736e);line-height:1.5}.game-card-status{color:#27614f;background:#edf5f1;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:700}.game-card>.game-card-status{position:absolute;top:16px;right:16px}.game-card--coming-soon>.game-card-status{color:#747c79;background:#f1f2f2}.game-card--active .game-card-copy{padding-right:0}.sudoku-animation-anchor{flex:0 0 66px;width:66px;height:66px;display:block}.sudoku-animation-anchor--large{flex-basis:82px;width:82px;height:82px}.game-card--active,.game-card--nonogram,.game-card--patterns,.sudoku-overview-heading,.nonogram-overview-heading,.pattern-overview-heading{isolation:isolate;position:relative;overflow:hidden}.game-card--active>.game-card-icon,.game-card--active>.game-card-copy,.game-card--nonogram>:not(.nonogram-launch),.game-card--patterns>:not(.pattern-launch),.sudoku-overview-heading>:not(.sudoku-launch),.nonogram-overview-heading>:not(.nonogram-launch),.pattern-overview-heading>:not(.pattern-launch){z-index:2;position:relative}.sudoku-launch{--target-x:53px;--target-y:50%;pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.sudoku-launch--right{--target-x:calc(100% - 42px)}.sudoku-launch:not(.is-visible)>*{animation-play-state:paused!important}.sudoku-launch-piece{animation:5.2s cubic-bezier(.2,.72,.2,1) infinite sudoku-piece-flight;animation-delay:var(--delay);color:#245b65;height:21px;left:var(--sx);opacity:0;top:var(--sy);background:linear-gradient(145deg,#fffffffa,#ffdfa9eb 42%,#80dccce0);border:1px solid #ffffffd6;border-radius:6px;justify-content:center;align-items:center;width:21px;font-size:10px;font-weight:900;display:flex;position:absolute;box-shadow:0 5px 14px #2b6c6733,0 0 12px #ffbe5c33}.sudoku-launch-piece--1{color:#32649b;background:linear-gradient(145deg,#fff,#dceeff 46%,#d8f5ec)}.sudoku-launch-piece--2{color:#a2533b;background:linear-gradient(145deg,#fff9df,#ffd2ba 52%,#ffe98e)}.sudoku-launch-piece--3{color:#6656a7;background:linear-gradient(145deg,#f2eaff,#e0ddff 45%,#c9f1e8)}.sudoku-launch-row,.sudoku-launch-column,.sudoku-launch-box{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:linear-gradient(100deg,#ffffffd1,#ffe097b8,#78d9c9c2,#abc4ffb3);border:1px solid #fffc;position:absolute;box-shadow:0 7px 22px #366f6929,0 0 18px #ffc66833}.sudoku-launch-row{border-radius:999px;grid-template-columns:repeat(9,1fr);align-items:center;gap:2px;width:154px;padding:5px 8px;animation:5.2s cubic-bezier(.18,.76,.22,1) infinite sudoku-row-scan;display:grid;top:48%;left:-170px}.sudoku-launch-column{left:var(--target-x);border-radius:10px;grid-template-rows:repeat(9,1fr);gap:1px;padding:5px 6px;animation:5.2s cubic-bezier(.18,.76,.22,1) infinite sudoku-column-scan;display:grid;top:-160px;transform:translate(-50%)}.sudoku-launch-row i,.sudoku-launch-column i,.sudoku-launch-box i{color:#285f72;text-align:center;font-size:8px;font-style:normal;font-weight:900}.sudoku-launch-box{border-radius:11px;grid-template-columns:repeat(3,1fr);gap:2px;width:58px;padding:6px;animation:5.2s cubic-bezier(.2,.72,.2,1) infinite sudoku-box-scan;display:grid;top:-64px;left:52%}.sudoku-launch-box i{background:#ffffff8c;border-radius:3px;justify-content:center;align-items:center;height:12px;display:flex}.sudoku-launch-board{--board-step:25%;background-color:#ffffffdb;background-image:linear-gradient(90deg,#4083766b 1px,#0000 1px),linear-gradient(#4083766b 1px,#0000 1px),linear-gradient(135deg,#ffe2a073,#76d7c666,#9ab9ff5c);background-size:var(--board-step) 100%, 100% var(--board-step), 100% 100%;height:64px;left:var(--target-x);opacity:0;top:var(--target-y);border:2px solid #3985739e;border-radius:8px;width:64px;animation-duration:5.2s;animation-iteration-count:infinite;position:absolute;transform:translate(-50%,-50%)scale(.7);box-shadow:0 8px 24px #1e635838,0 0 20px #ffbe5b3d}.sudoku-launch-board i{color:#2f6c5a;background:#ffffffe0;border-radius:999px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sudoku-launch-board--4{--board-step:25%;animation-name:sudoku-board-four}.sudoku-launch-board--6{--board-step:16.666%;animation-name:sudoku-board-six}.sudoku-launch-board--9{--board-step:11.111%;animation-name:sudoku-board-nine}.sudoku-launch-burst{height:78px;left:var(--target-x);opacity:0;top:var(--target-y);background:radial-gradient(circle,#fffffff5 0 10%,#ffd67494 22%,#5dd5be61 43%,#87a7ff29 56%,#0000 70%);border:2px solid #ffcd659e;border-radius:50%;width:78px;animation:5.2s ease-out infinite sudoku-final-burst;position:absolute;transform:translate(-50%,-50%)scale(.2)}@keyframes sudoku-piece-flight{0%{left:var(--sx);opacity:0;top:var(--sy);transform:translate(-50%,-50%) rotate(var(--spin)) scale(.35)}3.5%{opacity:.96}19%{left:var(--target-x);opacity:.84;top:var(--target-y);transform:translate(-50%,-50%)rotate(0)scale(.54)}23%,to{left:var(--target-x);opacity:0;top:var(--target-y);transform:translate(-50%,-50%)scale(.2)}}@keyframes sudoku-row-scan{0%,20%{opacity:0;left:-170px;transform:translateY(-50%)skew(-8deg)}22.5%{opacity:.94}35%{left:var(--target-x);opacity:.92;transform:translate(-50%,-50%)skew(0)}39%,to{left:var(--target-x);opacity:0;transform:translate(-50%,-50%)scale(.7)}}@keyframes sudoku-column-scan{0%,30%{opacity:0;top:-160px}32.5%{opacity:.94}45%{opacity:.9;top:var(--target-y);transform:translate(-50%,-50%)}49%,to{opacity:0;top:var(--target-y);transform:translate(-50%,-50%)scale(.7)}}@keyframes sudoku-box-scan{0%,40%{opacity:0;top:-64px;left:52%;transform:translate(-50%,-50%)rotate(-10deg)}42.5%{opacity:.96}60%{left:var(--target-x);opacity:.92;top:var(--target-y);transform:translate(-50%,-50%)rotate(0)}64%,to{left:var(--target-x);opacity:0;top:var(--target-y);transform:translate(-50%,-50%)scale(.72)}}@keyframes sudoku-board-four{0%,61%,72.5%,to{opacity:0;transform:translate(-50%,-50%)scale(.66)rotate(-5deg)}65%,70%{opacity:.96;transform:translate(-50%,-50%)scale(.92)rotate(0)}}@keyframes sudoku-board-six{0%,68.5%,81.5%,to{opacity:0;transform:translate(-50%,-50%)scale(.72)rotate(4deg)}72.5%,79%{opacity:.96;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes sudoku-board-nine{0%,77.5%,94%,to{opacity:0;transform:translate(-50%,-50%)scale(.76)}82.5%,90%{opacity:.98;transform:translate(-50%,-50%)scale(1.08)}}@keyframes sudoku-final-burst{0%,85%{opacity:0;transform:translate(-50%,-50%)scale(.2)}90%{opacity:.95;transform:translate(-50%,-50%)scale(.72)}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}@media (width<=520px){.sudoku-launch-piece:nth-of-type(n+13){display:none}.sudoku-launch-row{transform-origin:0;width:132px}.sudoku-launch-row i{font-size:7px}}@media (prefers-reduced-motion:reduce){.sudoku-launch{display:none}}.nonogram-launch{--target-x:53px;--target-y:54%;pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.nonogram-launch--right{--target-x:calc(100% - 44px);--target-y:52%}.nonogram-launch:not(.is-visible)>*{animation-play-state:paused!important}.nonogram-launch-board{height:66px;left:var(--target-x);opacity:0;top:var(--target-y);background:#ffffffe6;border:2px solid #2b6f5bc2;border-radius:9px;grid-template-columns:repeat(5,1fr);gap:1px;width:66px;padding:3px;animation:5.6s ease-in-out infinite nonogram-board-cycle;display:grid;position:absolute;transform:translate(-50%,-50%)scale(.72)rotate(-4deg);box-shadow:0 8px 24px #215e4c38,0 0 18px #ffc35b33}.nonogram-launch-board>i{background:#ddece6b8;border-radius:2px;min-width:0;min-height:0;display:block}.nonogram-launch-board>i.is-filled{animation:5.6s cubic-bezier(.2,.78,.2,1) infinite nonogram-pixel-assemble;animation-delay:var(--pixel-delay);opacity:0;z-index:2;background:linear-gradient(145deg,#2a8167,#1f5f50);position:relative;box-shadow:0 2px 5px #195d4b38}.nonogram-launch-board>i.tone-1{background:linear-gradient(145deg,#34a487,#26705d)}.nonogram-launch-board>i.tone-2{background:linear-gradient(145deg,#3a8fbb,#356a98)}.nonogram-launch-board>i.tone-3{background:linear-gradient(145deg,#eea94d,#d67b45)}.nonogram-launch-column-clues,.nonogram-launch-row-clues{color:#245b4b;left:var(--target-x);opacity:0;top:var(--target-y);font-size:7px;font-weight:900;display:grid;position:absolute}.nonogram-launch-column-clues{grid-template-columns:repeat(5,1fr);gap:1px;width:66px;animation:5.6s cubic-bezier(.2,.78,.2,1) infinite nonogram-clues-from-top;transform:translate(-50%,-48px)}.nonogram-launch-row-clues{grid-template-rows:repeat(5,1fr);gap:1px;width:22px;height:66px;animation:5.6s cubic-bezier(.2,.78,.2,1) infinite nonogram-clues-from-left;transform:translate(-49px,-50%)}.nonogram-launch-column-clues i,.nonogram-launch-row-clues i{background:#fff8daeb;border:1px solid #ddbb616b;border-radius:4px;justify-content:center;align-items:center;min-height:10px;font-style:normal;display:flex}.nonogram-launch-sparkle{color:#edae3f;left:var(--target-x);opacity:0;text-shadow:0 0 8px #ffd058b3;top:var(--target-y);font-size:14px;animation:5.6s ease-out infinite nonogram-sparkle;position:absolute}.nonogram-launch-sparkle.sparkle-one{transform:translate(33px,-35px)}.nonogram-launch-sparkle.sparkle-two{animation-delay:.18s;transform:translate(-43px,28px)scale(.72)}.nonogram-launch-burst{height:82px;left:var(--target-x);opacity:0;top:var(--target-y);background:radial-gradient(circle,#fffffff5 0 9%,#ffd67485 20%,#4fc8a84d 44%,#0000 70%);border:2px solid #ffcd658c;border-radius:50%;width:82px;animation:5.6s ease-out infinite nonogram-final-burst;position:absolute;transform:translate(-50%,-50%)scale(.2)}@keyframes nonogram-board-cycle{0%,13%,to{opacity:0;transform:translate(-50%,-50%)scale(.72)rotate(-4deg)}20%,88%{opacity:.98;transform:translate(-50%,-50%)scale(1)rotate(0)}95%{opacity:0;transform:translate(-50%,-50%)scale(1.08)}}@keyframes nonogram-pixel-assemble{0%,18%{opacity:0;transform:translate(var(--fly-x), var(--fly-y)) rotate(-28deg) scale(.32)}23%{opacity:.96}43%,88%{opacity:1;transform:translate(0)rotate(0)scale(1)}95%,to{opacity:0;transform:translate(0)scale(.65)}}@keyframes nonogram-clues-from-top{0%,5%{opacity:0;transform:translate(-50%,-76px)}14%,82%{opacity:.95;transform:translate(-50%,-48px)}92%,to{opacity:0;transform:translate(-50%,-42px)}}@keyframes nonogram-clues-from-left{0%,9%{opacity:0;transform:translate(-79px,-50%)}18%,82%{opacity:.95;transform:translate(-49px,-50%)}92%,to{opacity:0;transform:translate(-43px,-50%)}}@keyframes nonogram-sparkle{0%,63%{opacity:0}70%{opacity:1}82%{opacity:.72}92%,to{opacity:0}}@keyframes nonogram-final-burst{0%,72%{opacity:0;transform:translate(-50%,-50%)scale(.2)}79%{opacity:.82;transform:translate(-50%,-50%)scale(.72)}91%,to{opacity:0;transform:translate(-50%,-50%)scale(1.65)}}@media (width<=520px){.nonogram-launch-row-clues{transform:translate(-47px,-50%)}.nonogram-launch-column-clues{transform:translate(-50%,-46px)}}@media (prefers-reduced-motion:reduce){.nonogram-launch-board{opacity:1;animation:none;transform:translate(-50%,-50%)scale(1)}.nonogram-launch-board>i.is-filled{opacity:1;animation:none;transform:none}.nonogram-launch-column-clues{opacity:1;animation:none;transform:translate(-50%,-48px)}.nonogram-launch-row-clues{opacity:1;animation:none;transform:translate(-49px,-50%)}.nonogram-launch-sparkle,.nonogram-launch-burst{display:none}}.game-coming-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#dce5e1);text-align:center;border-radius:28px;flex-direction:column;align-items:center;max-width:560px;margin:24px auto;padding:44px 30px;display:flex}.game-coming-icon{border-radius:26px;width:92px;height:92px}.game-coming-icon svg{width:86px;height:86px}.game-coming-card h1{margin:18px 0 8px}.game-coming-card p{color:var(--color-muted,#66736e);margin:5px 0;line-height:1.65}.game-coming-card .button{margin-top:20px}.sudoku-overview-heading{justify-content:space-between;align-items:center;display:flex}.sudoku-overview-heading .game-card-status{margin-bottom:8px;display:inline-flex}.sudoku-start{min-width:180px;margin:8px 0 20px}.sudoku-overview-actions{align-items:center;gap:12px;margin:8px 0 20px;display:flex}.sudoku-overview-actions .sudoku-start{margin:0}.sudoku-ranking-trigger{color:#765415;background:linear-gradient(135deg,#fff7dc,#ffedb7);border:1px solid #ecd18c;border-radius:14px;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-size:.76rem;font-weight:800;text-decoration:none;display:inline-flex}.sudoku-ranking-trigger>span{font-size:1.05rem}.sudoku-ranking-trigger:hover{background:linear-gradient(135deg,#fff2c4,#ffe391)}.sudoku-tutorial-banner{background:linear-gradient(135deg,#fff8dc,#edf8f3);border:1px solid #e5ce82;border-radius:20px;gap:10px;margin:0 0 18px;padding:16px 18px;display:grid}.sudoku-tutorial-banner>div:first-child{gap:4px;display:grid}.sudoku-tutorial-banner span{color:#8a6519;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:850}.sudoku-tutorial-banner strong{color:#234f40;font-size:1rem}.sudoku-tutorial-banner p{color:#586c64;margin:0;font-size:.8rem;line-height:1.55}.sudoku-tutorial-banner small{color:#6c756f;justify-self:end;font-size:.72rem}.sudoku-tutorial-progress{background:#245f4c1f;border-radius:999px;height:8px;overflow:hidden}.sudoku-tutorial-progress i{border-radius:inherit;background:linear-gradient(90deg,#f0b84f,#35a77d);height:100%;transition:width .25s;display:block}.sudoku-info-trigger{color:#77551d;cursor:pointer;font:inherit;background:#fff9ec;border:1px solid #efd7a9;border-radius:14px;align-items:center;gap:6px;min-height:44px;padding:8px 11px;font-size:.76rem;font-weight:750;display:inline-flex}.sudoku-info-trigger>span{color:#fff;background:#f5b94f;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;font-family:Georgia,serif;font-size:.82rem;font-weight:800;display:inline-flex}.sudoku-info-trigger:hover{background:#fff3d8}.sudoku-info-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:120;background:#122b238c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sudoku-info-dialog{background:#fff;border:1px solid #26675229;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,620px);max-height:min(88dvh,760px);display:grid;overflow:hidden;box-shadow:0 28px 80px #06231c4d}.sudoku-info-dialog>header{background:linear-gradient(135deg,#eff9f4,#fff8e8);border-bottom:1px solid #e2eee8;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px 16px;display:flex}.sudoku-info-dialog>header h2{margin:3px 0 0;font-size:1.18rem}.sudoku-info-kicker{color:#3c8068;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.sudoku-info-dialog>header>button{color:#526860;cursor:pointer;font:inherit;background:#fff;border:1px solid #dce9e3;border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;height:38px;padding:0;font-size:1.4rem;display:flex}.sudoku-info-content{overscroll-behavior:contain;gap:16px;padding:18px 20px;display:grid;overflow-y:auto}.sudoku-info-content article{gap:6px;display:grid}.sudoku-info-content h3{color:#245e4b;margin:0;font-size:.9rem}.sudoku-info-content p,.sudoku-info-content ul{color:#526860;margin:0;font-size:.82rem;line-height:1.72}.sudoku-info-content .sudoku-info-rule{color:#315f50;font-weight:700}.sudoku-info-content ul{gap:5px;padding-left:1.25rem;display:grid}.sudoku-info-closing{background:#f0f8f4;border-radius:14px;padding:12px 14px;font-weight:700;color:#315f50!important}.sudoku-info-done{margin:0 20px calc(18px + env(safe-area-inset-bottom))}.sudoku-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.sudoku-stats article{background:var(--color-surface,#fff);border:1px solid var(--color-border,#dce5e1);border-radius:18px;gap:8px;padding:18px;display:grid}.sudoku-stats small{color:var(--color-muted,#66736e)}.sudoku-stats strong{color:#245e4b;font-size:1.45rem}.sudoku-my-rank-card{color:var(--ink);background:linear-gradient(145deg,#fffaf0,#eefaf6 58%,#edf4ff);border:1px solid #39846c33;border-radius:20px;gap:14px;margin-top:14px;padding:16px;text-decoration:none;display:grid;box-shadow:0 10px 28px #235f4d14}.sudoku-my-rank-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;display:grid}.sudoku-my-rank-heading>span{background:#fff0b8;border-radius:13px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.28rem;display:flex}.sudoku-my-rank-heading>div{gap:2px;display:grid}.sudoku-my-rank-heading small,.sudoku-my-rank-metrics small{color:var(--muted);font-size:.68rem}.sudoku-my-rank-heading strong{color:#265f4e;font-size:1.15rem}.sudoku-my-rank-heading i,.sudoku-ranking-header>small{color:#8a7260;align-items:center;gap:5px;font-size:.65rem;font-style:normal;font-weight:750;display:inline-flex}.sudoku-my-rank-heading i:before,.sudoku-ranking-header>small>i{content:"";background:#d09253;border-radius:50%;width:7px;height:7px;display:block}.sudoku-my-rank-heading i.is-live,.sudoku-ranking-header>small.is-live{color:#277457}.sudoku-my-rank-heading i.is-live:before,.sudoku-ranking-header>small.is-live>i{background:#35a779;box-shadow:0 0 0 4px #35a7791f}.sudoku-my-rank-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sudoku-my-rank-metrics>span{background:#ffffffbd;border-radius:13px;gap:3px;padding:10px 11px;display:grid}.sudoku-my-rank-metrics strong{color:#265f4e;font-size:1.05rem}.sudoku-my-rank-card>p{color:var(--muted);margin:0;font-size:.76rem}.sudoku-ranking-page{max-width:900px;padding-bottom:110px}.sudoku-ranking-header{background:linear-gradient(145deg,#fffaf0,#edf9f5 60%,#eef4ff);border:1px solid #2f79622e;border-radius:22px;gap:14px;padding:18px;display:grid}.sudoku-ranking-header>a{color:#2c6c58;justify-self:start;font-size:.76rem;font-weight:750;text-decoration:none}.sudoku-ranking-header>div{align-items:center;gap:13px;display:flex}.sudoku-ranking-header>div>span{background:linear-gradient(145deg,#fff0aa,#ffd774);border-radius:17px;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.7rem;display:flex;box-shadow:0 8px 18px #9c6f1b24}.sudoku-ranking-header h1{color:#174f3f;margin:0;font-size:1.45rem}.sudoku-ranking-header p{color:var(--muted);margin:4px 0 0;font-size:.78rem;line-height:1.55}.sudoku-ranking-header>small{justify-self:end}.sudoku-ranking-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.sudoku-ranking-summary article{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:4px;padding:13px;display:grid}.sudoku-ranking-summary small{color:var(--muted);font-size:.67rem}.sudoku-ranking-summary strong{color:#245e4b;font-size:1.18rem}.sudoku-ranking-podium{background:linear-gradient(#fff9e0e6,#ebf8f3d6);border:1px solid #347e6726;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:9px;margin-bottom:14px;padding:17px 12px 12px;display:grid}.sudoku-ranking-podium article{text-align:center;background:#ffffffd1;border:1px solid #327b6321;border-radius:17px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:12px 7px;display:flex}.sudoku-ranking-podium article.is-place-1{order:2;min-height:158px;transform:translateY(-7px);box-shadow:0 10px 24px #9c6f1b21}.sudoku-ranking-podium article.is-place-2{order:1;min-height:141px}.sudoku-ranking-podium article.is-place-3{order:3;min-height:132px}.sudoku-ranking-podium article>span{font-size:1.3rem}.sudoku-ranking-podium article>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.76rem;overflow:hidden}.sudoku-ranking-podium article>small{color:#77623a;font-size:.63rem}.sudoku-ranking-list{gap:8px;display:grid}.sudoku-ranking-row{background:var(--surface);border:1px solid var(--line);border-radius:17px;grid-template-columns:34px 44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:10px 12px;display:grid}.sudoku-ranking-row.is-me{background:#f0faf6;border-color:#28806252}.sudoku-ranking-position{color:#66766f;justify-content:center;align-items:center;font-size:.86rem;font-weight:850;display:flex}.sudoku-ranking-position.is-top-1{color:#a17213}.sudoku-ranking-position.is-top-2{color:#66737e}.sudoku-ranking-position.is-top-3{color:#a15f38}.sudoku-ranking-name{gap:4px;min-width:0;display:grid}.sudoku-ranking-name>strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.79rem;display:flex;overflow:hidden}.sudoku-ranking-name em{color:#236e54;background:#dff3eb;border-radius:999px;padding:2px 6px;font-size:.56rem;font-style:normal}.sudoku-ranking-name>small,.sudoku-ranking-score>small{color:var(--muted);font-size:.62rem}.sudoku-ranking-score{text-align:right;justify-items:end;gap:4px;display:grid}.sudoku-ranking-score>strong{color:#245e4b;font-size:.92rem}.sudoku-ranking-more{margin:14px auto 0}.sudoku-ranking-pinned{z-index:4;background:linear-gradient(#f1f7f500,#f1f7f5 30%);padding:18px 0 8px;position:sticky;bottom:64px;left:0;right:0}.sudoku-ranking-pinned .sudoku-ranking-row{box-shadow:0 10px 28px #1a564429}.sudoku-ranking-empty{margin-top:18px}.hint-choice-card,.recent-game-list{background:var(--color-surface,#fff);border:1px solid var(--color-border,#dce5e1);border-radius:20px;margin-top:16px;padding:20px}.hint-choice-card h2{margin:0 0 6px;font-size:1rem}.hint-choice-card p{color:var(--color-muted,#66736e);margin:0 0 14px}.hint-choice-actions{flex-wrap:wrap;gap:10px;display:flex}.recent-game-list{flex-wrap:wrap;gap:8px;display:flex}.recent-game-list span{color:#3d5f54;background:#f2f7f5;border-radius:999px;padding:7px 10px;font-size:.82rem}.sudoku-loading{justify-content:center;align-items:center;min-height:55vh;display:flex}.app-content--game{padding-bottom:18px}.sudoku-play-page{max-width:720px;margin:0 auto;padding:4px 0 26px}.sudoku-play-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:10px;display:grid}.sudoku-play-header>div{text-align:center;gap:2px;display:grid}.sudoku-play-header small{color:var(--color-muted,#66736e);font-size:.76rem}.sudoku-play-header>:last-child{justify-self:end}.sudoku-text-button{color:#315f50;cursor:pointer;font:inherit;background:0 0;border:0;padding:8px 0;font-size:.82rem}.sudoku-meta{color:var(--color-muted,#66736e);flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:10px;font-size:.8rem;display:flex}.sudoku-lesson{background:#f2f8f5;border:1px solid #d8e9e1;border-radius:16px;max-width:590px;margin:0 auto 10px;padding:12px 16px}.sudoku-lesson p{color:#536a61;margin:4px 0 0;font-size:.86rem}.sudoku-lesson.is-guided{background:linear-gradient(135deg,#fff9e7,#eff9f4);border:2px solid #e4c872;box-shadow:0 8px 22px #54735b1a}.sudoku-guided-task{background:#ffffffc7;border:1px solid #c09d3b42;border-radius:12px;gap:3px;margin-top:10px;padding:9px 11px;display:grid}.sudoku-guided-task span{color:#927020;font-size:.68rem;font-weight:850}.sudoku-guided-task b{color:#284e41;font-size:.83rem;line-height:1.5}.sudoku-feedback{color:#315f50;opacity:0;text-align:center;align-items:center;height:2.8em;margin:4px 0;padding:0 8px;font-size:.85rem;line-height:1.35;transition:opacity .16s;display:grid;overflow:hidden}.sudoku-feedback.is-visible{opacity:1}.sudoku-hint-offer{color:#725c0a;cursor:pointer;background:#fff8db;border:1px solid #eedb8c;border-radius:999px;margin:0 auto 8px;padding:7px 13px;display:block}.sudoku-board{aspect-ratio:1;background:#244f41;border:3px solid #244f41;border-radius:12px;grid-auto-rows:minmax(0,1fr);gap:1px;width:100%;max-width:min(590px,100vw - 34px);margin:0 auto;display:grid;overflow:hidden}.sudoku-cell{appearance:none;box-sizing:border-box;color:#246a87;cursor:pointer;background:#fff;border:0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;font-size:clamp(1rem,4vw,1.55rem);display:flex;position:relative}.sudoku-cell.box-right{border-right:2px solid #244f41}.sudoku-cell.box-bottom{border-bottom:2px solid #244f41}.sudoku-cell.is-given{color:#243d35;font-weight:800}.sudoku-cell.is-peer{background:#f0f7f4}.sudoku-cell.is-same-value{background:#e0f3eb}.sudoku-cell.is-same-value strong{font-size:1.22em;font-weight:950;line-height:1}.sudoku-cell.is-selected{background:#d8eee5;box-shadow:inset 0 0 0 2px #3b8a6d}.sudoku-cell.is-conflict{color:#bd3c32;background:#fff0ef}.sudoku-board.is-guided .sudoku-cell:disabled{cursor:default;opacity:1}.sudoku-cell.is-guided-scope{background:#fff4c9}.sudoku-cell.is-guided-muted{color:#87928e;background:#f2f4f3}.sudoku-cell.is-guided-target{cursor:pointer;z-index:2;background:#fff0a8;animation:1.05s ease-in-out infinite sudoku-guided-target;box-shadow:inset 0 0 0 3px #dca82f}.sudoku-cell.is-guided-target.is-soft{animation-duration:1.65s;box-shadow:inset 0 0 0 2px #dca82f}.sudoku-board.has-guided-error .sudoku-cell.is-guided-target{background:#ffe0da;animation:.5s sudoku-guided-error;box-shadow:inset 0 0 0 3px #cf5648}@keyframes sudoku-guided-target{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.06);transform:scale(.94)}}@keyframes sudoku-guided-error{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.sudoku-notes{grid-template-columns:repeat(3,1fr);width:92%;height:92%;font-size:clamp(.36rem,1.25vw,.62rem);line-height:1;display:grid}.sudoku-board--4 .sudoku-notes,.sudoku-board--6 .sudoku-notes{grid-template-columns:repeat(2,1fr)}.sudoku-notes i{justify-content:center;align-items:center;font-style:normal;display:flex}.sudoku-keypad{gap:7px;max-width:590px;margin:10px auto 0;display:grid}.sudoku-keypad button{color:#245e4b;cursor:pointer;background:#e8f3ee;border:1px solid #d0e5db;border-radius:12px;min-height:45px;font-size:1.18rem;font-weight:800}.sudoku-keypad button:active{background:#cfe8dd;transform:translateY(1px)}.sudoku-keypad button:disabled{color:#adb5b1;cursor:default;opacity:.52;background:#f2f4f3;border-color:#e5e9e7}.sudoku-keypad button:disabled:active{background:#f2f4f3;transform:none}.sudoku-keypad.is-guided button:not(:disabled){background:linear-gradient(135deg,#ffe9a2,#dff3e9);border-color:#dfbd58;box-shadow:0 4px 12px #816a2824}.sudoku-tools{justify-content:center;gap:7px;max-width:590px;margin:10px auto 0;display:flex}.sudoku-tools button{color:#4e645c;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;min-height:48px;padding:5px;font-size:1.15rem;display:flex}.sudoku-tools button span{font-size:.67rem}.sudoku-tools button.is-active{color:#21664f;background:#e3f1eb}.sudoku-tools button:disabled{cursor:default;opacity:.35}.sudoku-overlay{z-index:80;background:#142721ad;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sudoku-overlay>section{text-align:center;z-index:2;background:#fff;border-radius:24px;gap:12px;width:100%;max-width:360px;padding:30px;display:grid;position:relative;box-shadow:0 24px 70px #0000003d}.sudoku-overlay h2,.sudoku-overlay p{margin:0}.sudoku-complete-mark{color:#257055;background:#dff1e9;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto;font-size:1.6rem;font-weight:900;display:flex}.sudoku-complete-mark.is-failure{color:#b94235;background:#fde7e4}.sudoku-result-card.is-success{animation:.58s cubic-bezier(.18,.88,.32,1.25) sudoku-result-card-success}.sudoku-result-card.is-failure{animation:.5s ease-out sudoku-result-card-failure}.sudoku-result-card.is-success .sudoku-complete-mark{animation:.72s cubic-bezier(.2,.9,.3,1.35) 80ms both sudoku-result-mark-success;box-shadow:0 0 #37ae7f59}.sudoku-result-card.is-failure .sudoku-complete-mark{animation:.62s ease-out 50ms both sudoku-result-mark-failure}.sudoku-result-effects{aspect-ratio:1;pointer-events:none;z-index:1;width:min(92vw,500px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sudoku-result-effects i{display:block;position:absolute;top:48%;left:50%}.sudoku-result-effects.is-success i{animation:sudoku-result-firework .88s var(--delay) cubic-bezier(.16,.72,.28,1) both;transform-origin:50% 0;background:#f3bd32;border-radius:999px;width:6px;height:14px}.sudoku-result-effects.is-success i:nth-child(4n+2){background:#27b7d4}.sudoku-result-effects.is-success i:nth-child(4n+3){background:#f06d72}.sudoku-result-effects.is-success i:nth-child(4n+4){background:#60ba78}.sudoku-result-effects.is-failure i{animation:sudoku-result-failure-piece 1s var(--delay) ease-in both;height:8px;left:var(--x);background:#df776b;border-radius:50%;width:8px;top:18%}.sudoku-result-effects.is-failure i:nth-child(3n+2){background:#e2a346;width:6px;height:6px}.sudoku-result-effects.is-failure i:nth-child(3n+3){background:#adbbb5}@keyframes sudoku-result-card-success{0%{opacity:0;transform:translateY(18px)scale(.88)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sudoku-result-card-failure{0%{opacity:0;transform:translateY(14px)scale(.94)}38%{transform:translate(-5px)scale(1)}60%{transform:translate(4px)scale(1)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes sudoku-result-mark-success{0%{opacity:0;transform:scale(.25)rotate(-24deg)}70%{opacity:1;transform:scale(1.14)rotate(4deg);box-shadow:0 0 0 18px #37ae7f00}to{transform:scale(1)rotate(0);box-shadow:0 0 0 24px #37ae7f00}}@keyframes sudoku-result-mark-failure{0%{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1.12);box-shadow:0 0 0 14px #b9423521}to{transform:scale(1);box-shadow:0 0 0 22px #b9423500}}@keyframes sudoku-result-firework{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-20px) scale(.3)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(var(--distance)) rotate(120deg) scale(.75)}}@keyframes sudoku-result-failure-piece{0%{opacity:0;transform:translateY(-20px)scale(.45)}22%{opacity:.9}to{opacity:0;transform:translateY(230px)rotate(190deg)scale(.85)}}@media (prefers-reduced-motion:reduce){.sudoku-cell.is-guided-target,.sudoku-board.has-guided-error .sudoku-cell.is-guided-target,.sudoku-result-card,.sudoku-result-card .sudoku-complete-mark,.sudoku-result-effects i{animation:none!important}.sudoku-result-effects{display:none}}@media (width<=700px){.campus-card--games-entry{grid-template-columns:auto 1fr}.campus-card--games-entry .button{grid-column:1/-1;width:100%}.game-catalog{grid-template-columns:1fr}.game-card{min-height:108px;padding:16px}.game-card-icon{border-radius:18px;width:60px;height:60px}.game-card-icon svg{width:57px;height:57px}.game-card-copy{padding-right:62px}.sudoku-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sudoku-overview-actions{flex-wrap:wrap;align-items:stretch}.sudoku-start{flex:1 0 100%}.sudoku-ranking-trigger,.sudoku-info-trigger{flex:1;justify-content:center}.sudoku-my-rank-heading{grid-template-columns:auto 1fr}.sudoku-my-rank-heading>i{grid-column:2}.sudoku-ranking-row{grid-template-columns:28px 38px minmax(0,1fr) auto;gap:8px;padding-inline:9px}.sudoku-ranking-row .user-avatar--medium{width:38px;height:38px}.sudoku-ranking-score>small{max-width:112px}.sudoku-info-backdrop{align-items:flex-end;padding:0}.sudoku-info-dialog{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:88dvh}.sudoku-play-page{padding-top:0}.sudoku-board{border-radius:8px}.sudoku-keypad,.sudoku-tools{max-width:calc(100vw - 34px)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#0b1f3a;--muted:#607089;--line:#d7e5f3;--surface:#fff;--surface-soft:#f3f8ff;--surface-accent:#e7f4ff;--brand:#2563eb;--brand-strong:#1d4ed8;--brand-ink:#fff;--warning:#d96d54;--science:#06b6d4;--innovation:#7c3aed;--growth:#10b981;--brand-gradient:linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);--innovation-gradient:linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--shadow:0 20px 60px #1e4fa326;font-synthesis:none;font-family:Inter,Noto Sans Myanmar,Myanmar Text,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--surface-soft)}body{min-width:320px;color:var(--ink);background:var(--surface-soft);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #2563eb4d}.button{cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 16px;font-weight:650;display:inline-flex}.button--primary{color:var(--brand-ink);background:var(--brand)}.button--primary:hover{background:var(--brand-strong)}.button:disabled,input:disabled{cursor:wait;opacity:.68}.button--secondary{border-color:var(--line);background:var(--surface)}.button--block{width:100%}.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}.eyebrow{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:750;display:inline-block}.brand-link{align-items:center;gap:10px;font-weight:750;display:inline-flex}.brand-icon,.app-brand-icon,.hero-phone-logo{width:40px;height:40px;color:var(--brand-ink);background:var(--brand);border-radius:13px;flex:0 0 40px;place-items:center;display:grid;overflow:hidden}.brand-icon img,.app-brand-icon img{object-fit:cover;width:100%;height:100%}.language-switch{z-index:45;display:inline-flex;position:relative}.language-switch-trigger{border:1px solid var(--line);width:42px;height:42px;color:var(--brand);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.language-switch-trigger svg{width:20px;height:20px}.language-switch-menu{z-index:60;top:calc(100% + 7px);border:1px solid var(--line);width:max-content;min-width:150px;color:var(--ink);background:var(--surface);border-radius:14px;padding:5px;display:grid;position:absolute;inset-inline-end:0;overflow:hidden;box-shadow:0 12px 32px #16221e29}.language-switch-menu button{min-height:40px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:8px 10px;display:flex}.language-switch-menu button[aria-selected=true]{color:var(--brand);background:var(--surface-accent);font-weight:750}.language-switch--compact .language-switch-trigger{width:38px;height:38px}.public-page{min-height:100vh;overflow:hidden}.public-header{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:18px 20px;display:flex}.public-actions{align-items:center;gap:10px;display:flex}.hero-section{grid-template-columns:minmax(0,1.1fr) minmax(300px,390px);align-items:center;gap:clamp(36px,7vw,96px);max-width:1120px;margin:0 auto;padding:clamp(48px,8vw,100px) 20px;display:grid}.hero-copy h1{letter-spacing:-.055em;max-width:760px;margin:16px 0 20px;font-size:clamp(2.5rem,6vw,5.3rem);line-height:1.02}.hero-copy p{max-width:670px;color:var(--muted);margin:0 0 28px;font-size:clamp(1rem,2vw,1.2rem);line-height:1.75}.hero-button{padding-inline:20px}.hero-phone{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:28px;overflow:hidden;transform:rotate(1.5deg)}.hero-phone-header{color:var(--brand-ink);background:var(--brand);align-items:center;gap:11px;padding:17px;display:flex}.hero-phone-logo{color:var(--brand);background:var(--surface)}.hero-phone-header div{gap:3px;display:grid}.hero-phone-header small{opacity:.78}.hero-phone-body{background:var(--surface-soft);min-height:370px;padding:24px 20px}.hero-phone-body>span{color:var(--brand);font-size:.8rem;font-weight:750}.hero-phone-body h2{margin:10px 0;font-size:1.22rem}.hero-phone-body p{color:var(--muted);margin:0;line-height:1.65}.hero-phone-metrics{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}.hero-phone-metrics span{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:5px;padding:15px;font-size:.78rem;display:grid}.hero-phone-metrics strong{font-size:1.5rem}.hero-phone-nav{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding:8px;display:grid}.hero-phone-nav span{min-width:0;color:var(--muted);justify-items:center;gap:5px;padding:8px 2px;font-size:.7rem;display:grid}.hero-phone-nav span:first-child{color:var(--brand);background:var(--surface-accent);border-radius:10px}.feature-section{max-width:1120px;margin:0 auto;padding:30px 20px 100px}.feature-section>h2{margin:10px 0 24px;font-size:clamp(1.7rem,4vw,2.7rem)}.feature-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.feature-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:24px}.feature-icon{width:44px;height:44px;color:var(--brand);background:var(--surface-accent);border-radius:14px;place-items:center;display:grid}.feature-card h3{margin:18px 0 8px}.feature-card p{color:var(--muted);margin:0;line-height:1.65}.school-site{background:var(--surface-soft);min-height:100vh;overflow:hidden}.site-header{border-bottom:1px solid var(--line);background:#fffffff5}.site-header-top{justify-content:space-between;align-items:center;gap:16px;width:min(100%,1120px);margin:0 auto;padding:16px 20px 10px;display:flex}.site-actions{align-items:center;gap:9px;display:flex}.site-login{white-space:nowrap;min-height:40px;padding:8px 12px;font-size:.8rem}.site-nav{scrollbar-width:none;gap:5px;width:min(100%,1120px);margin:0 auto;padding:4px 20px 10px;display:flex;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{min-height:38px;color:var(--muted);white-space:nowrap;border-radius:11px;flex:none;padding:9px 12px;font-size:.82rem;font-weight:700}.site-nav a.active{color:var(--brand);background:var(--surface-accent)}.site-hero{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;gap:clamp(30px,7vw,90px);width:min(100%,1120px);margin:0 auto;padding:clamp(54px,9vw,104px) 20px;display:grid}.site-hero h1{letter-spacing:-.055em;max-width:760px;margin:15px 0 18px;font-size:clamp(2.7rem,6vw,5.4rem);line-height:1.02}.site-hero-summary{max-width:680px;color:var(--ink);margin:0 0 14px;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:650;line-height:1.65}.site-intro-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:20px;margin-bottom:24px;padding:22px}.site-hero .site-intro-card h1{color:var(--ink);-webkit-text-fill-color:currentColor;letter-spacing:0;background:0 0;margin:10px 0 12px;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.5}.site-intro-summary{-webkit-line-clamp:3;color:var(--muted);-webkit-box-orient:vertical;margin:0 0 12px;font-size:.9rem;line-height:1.8;display:-webkit-box;overflow:hidden}.site-intro-details summary{min-height:38px;color:var(--brand);cursor:pointer;align-items:center;gap:4px;font-size:.82rem;font-weight:750;list-style:none;display:inline-flex}.site-intro-details summary::-webkit-details-marker{display:none}.site-intro-details summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}.site-intro-details summary svg{width:16px;height:16px}.site-intro-collapse,.site-intro-details[open] .site-intro-expand{display:none}.site-intro-details[open] .site-intro-collapse{display:inline}.site-intro-details[open] summary svg{transform:rotate(90deg)}.site-intro-details .site-rich-text{border-top:1px solid var(--line);color:var(--muted);margin:12px 0 0;padding-top:14px;font-size:.94rem;line-height:1.9}.site-intro-details[open]+*{margin-top:12px}.site-hero-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;scroll-margin-top:96px;display:flex}.site-hero-install{gap:8px;max-width:380px;display:grid}.site-hero-install .pwa-install-guide{width:min(100%,380px)}.site-hero-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:26px;gap:12px;padding:28px;display:grid}.site-hero-card-icon{width:52px;height:52px;color:var(--brand-ink);background:var(--brand);border-radius:17px;place-items:center;display:grid}.site-hero-card strong{margin-top:6px;font-size:1.15rem}.site-hero-card p{color:var(--muted);margin:0;line-height:1.7}.site-hero-card a,.site-news-section>header>a,.site-news-card>span{color:var(--brand);align-items:center;gap:3px;font-size:.82rem;font-weight:750;display:inline-flex}.site-hero-card a svg,.site-news-card>span svg{width:16px;height:16px}.site-news-section{width:min(100%,1120px);margin:0 auto;padding:24px 20px 90px}.site-news-section>header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.site-news-section h2{margin:8px 0 0;font-size:clamp(1.7rem,4vw,2.5rem)}.site-news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.site-news-card{border:1px solid var(--line);background:var(--surface);border-radius:19px;align-content:start;gap:9px;min-width:0;padding:20px;display:grid}.site-news-card time,.site-news-detail time{color:var(--brand);font-size:.72rem;font-weight:750}.site-news-card h2,.site-news-card h3{overflow-wrap:anywhere;margin:0;font-size:1.04rem;line-height:1.45}.site-news-card p{overflow-wrap:anywhere;color:var(--muted);margin:0;font-size:.84rem;line-height:1.65}.site-news-card>span{margin-top:5px}.site-list-page,.site-article{width:min(100%,820px);margin:0 auto;padding:clamp(46px,8vw,82px) 20px 90px}.site-list-page>header,.site-article>header{margin-bottom:30px}.site-list-page>header h1,.site-article>header h1{overflow-wrap:anywhere;letter-spacing:-.045em;margin:12px 0 14px;font-size:clamp(2.25rem,6vw,4.4rem);line-height:1.06}.site-list-page>header p,.site-article>header p{color:var(--muted);margin:0;font-size:1rem;line-height:1.75}.site-news-list{gap:12px;display:grid}.site-news-list .site-news-card{padding:22px}.site-rich-text{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.9}.site-article>.site-rich-text{border-top:1px solid var(--line);color:var(--ink);padding-top:25px;font-size:1rem}.site-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:17px;grid-column:1/-1;margin:0;padding:26px}.site-footer{border-top:1px solid var(--line);width:min(100%,1120px);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin:0 auto;padding:28px 20px;font-size:.78rem;display:flex}.site-footer strong{color:var(--ink)}.site-footer a{color:var(--brand);font-weight:700}html[data-locale=my] .site-hero h1,html[data-locale=my] .site-list-page>header h1,html[data-locale=my] .site-article>header h1{letter-spacing:0;line-height:1.35}.content-heading{isolation:isolate;background:linear-gradient(135deg,#fff 22%,#edf8f3 100%);border:1px solid #176b541f;border-radius:21px;align-items:center;min-height:116px;padding:16px 43% 16px 4px;position:relative;overflow:hidden;box-shadow:0 10px 26px #1c58440f}.content-heading>div{z-index:2;text-shadow:-1px -1px #fffffff5,1px -1px #fffffff5,-1px 1px #fffffff5,1px 1px #fffffff5,0 2px 9px #fffffffa;min-width:0;position:relative}.content-heading-art{z-index:0;filter:drop-shadow(0 11px 14px #1c58441f);object-fit:contain;object-position:right center;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:none;height:119%;display:block;position:absolute;inset:-9% -3% -10% auto}.content-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.content-module-card{aspect-ratio:1;min-width:0;color:var(--ink);background:var(--surface);isolation:isolate;border:1px solid #176b5421;border-radius:20px;align-items:end;padding:13px;display:grid;position:relative;overflow:hidden;box-shadow:0 9px 24px #1c58440e}.content-module-card:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#fff0,#ffffffed 34%,#fffffffa 100%);position:absolute;inset:42% 0 0}.content-module-card--finance{background:linear-gradient(145deg,#fff 28%,#fff8e4 100%)}.content-module-card--courseware{background:linear-gradient(145deg,#fff 28%,#eaf7f0 100%)}.content-module-card--news{background:linear-gradient(145deg,#fff 28%,#eef8ff 100%)}.content-module-card--pages{background:linear-gradient(145deg,#fff 28%,#fff3ed 100%)}.content-module-art{z-index:0;object-fit:contain;object-position:top right;filter:drop-shadow(0 10px 12px #1c58441a);pointer-events:none;-webkit-user-select:none;user-select:none;width:92%;max-width:none;height:72%;position:absolute;top:-3%;right:-7%}.content-module-card--finance .content-module-art,.content-module-card--news .content-module-art{width:94%;height:73%;top:-1%;right:-5%}.content-module-copy{z-index:2;gap:5px;min-width:0;padding-inline-end:17px;display:grid;position:relative}.content-module-title{align-items:center;gap:6px;min-width:0;display:flex}.content-module-title svg{width:17px;height:17px;color:var(--brand);flex:none}.content-module-title strong{overflow-wrap:anywhere;min-width:0;font-size:.9rem;line-height:1.4}.content-module-copy small{min-height:2.8em;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.68rem;line-height:1.4;display:-webkit-box;overflow:hidden}.content-module-chevron{z-index:2;width:16px;height:16px;color:var(--brand);position:absolute;bottom:34px;right:11px}.content-public-link{margin-top:14px}@media (width<=390px){.content-heading{min-height:106px;padding-inline-end:41%}.content-heading-art{height:111%;inset:-5% -6% -6% auto}.content-module-grid{gap:8px}.content-module-card{border-radius:17px;padding:11px}.content-module-title strong{font-size:.82rem}.content-module-copy small{font-size:.63rem}}.website-editor{padding-top:0}.website-editor-fields{gap:14px;display:grid}.website-publish-help{border:1px solid var(--line);background:var(--surface-accent);border-radius:13px;padding:12px}.language-fieldset{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:12px;min-width:0;margin:0;padding:14px;display:grid}.language-fieldset legend{color:var(--brand);padding:0 7px;font-size:.82rem;font-weight:800}.login-page{width:min(100%,860px);min-height:100vh;margin:0 auto;padding:18px 18px 64px}.login-topbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:40px;display:flex}.login-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:26px;grid-template-columns:.9fr 1.1fr;align-items:start;gap:44px;padding:clamp(24px,6vw,48px);display:grid}.login-copy h1{letter-spacing:-.045em;margin:14px 0 12px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.login-copy p{color:var(--muted);margin:0;line-height:1.7}.login-form{gap:16px;display:grid}.login-human-check{gap:8px;min-width:0;display:grid}.login-human-check>span{font-weight:650}.login-human-code{margin-top:4px;font-weight:400;display:block}.login-human-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite login-human-spin}@keyframes login-human-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-human-spinner{animation:none}}.login-form label:not(.remember-row){gap:7px;font-weight:650;display:grid}.login-form input[type=text],.login-form input[type=password],.login-form input:not([type]){border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--surface-soft);border-radius:13px;padding:11px 13px}.remember-row{color:var(--muted);align-items:center;gap:9px;font-size:.9rem;display:flex}.remember-row input{width:18px;height:18px;accent-color:var(--brand)}.form-help,.form-notice{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.form-notice{color:var(--brand);font-weight:650}.form-notice--error{color:#a63f32}.setup-page{width:min(100%,760px)}.setup-panel{grid-template-columns:1fr}.setup-form{padding:0}.setup-form label>small{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.45}.setup-school-fieldset{background:var(--surface-soft)}.preview-panel{border:1px dashed var(--line);background:#ffffff73;border-radius:22px;grid-template-columns:.9fr 1.1fr;gap:44px;margin-top:22px;padding:26px;display:grid}.preview-panel h2{margin:10px 0 8px}.preview-panel p{color:var(--muted);margin:0;line-height:1.6}.role-preview-grid{gap:8px;display:grid}.role-preview-button{border:1px solid var(--line);min-height:46px;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:13px;justify-content:space-between;align-items:center;padding:9px 13px;display:flex}.app-viewport{background:var(--surface-soft);width:min(100%,480px);min-height:100svh;box-shadow:0 0 0 1px var(--line);margin:0 auto}.app-header{z-index:20;min-height:76px;color:var(--brand-ink);background:var(--brand);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex;position:sticky;top:0}.app-brand{align-items:center;gap:9px;min-width:0;display:flex}.app-brand-icon{width:38px;height:38px;color:var(--brand);background:var(--surface);flex-basis:38px}.app-brand div{gap:2px;min-width:0;display:grid}.app-brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-brand span{opacity:.78;font-size:.72rem}.app-header-actions{align-items:center;gap:6px;display:flex}.app-header .language-switch-trigger{color:var(--brand-ink);background:#ffffff1f;border-color:#ffffff52}.app-header .language-switch-menu{color:var(--ink)}.icon-button{width:38px;height:38px;color:inherit;cursor:pointer;background:#ffffff1f;border:0;border-radius:12px;place-items:center;display:grid}.page-back-button{z-index:40;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));border:1px solid var(--line);width:34px;height:34px;color:var(--brand);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 8px 22px #16221e2e}.page-back-button--app{right:max(14px,50vw - 226px);bottom:calc(84px + env(safe-area-inset-bottom))}.page-back-button svg{width:17px;height:17px}.page-title-row{align-items:flex-start;gap:7px;min-width:0;display:flex}.page-title-row--display{align-items:center}.app-content{min-height:calc(100svh - 146px);padding:20px 16px 100px;position:relative}.app-content--conversation{padding-bottom:0}.bottom-nav{z-index:30;width:min(100%,480px);padding:7px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;gap:2px;margin:0 auto;transition:opacity .16s,transform .16s;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:0;min-height:54px;color:var(--muted);border-radius:11px;align-content:center;place-items:center;gap:4px;font-size:.7rem;display:grid}.bottom-nav a.active{color:var(--brand);background:var(--surface-accent)}.bottom-nav svg{width:19px;height:19px}.nav-icon-wrap,.icon-button--badge{position:relative}.nav-icon-wrap{place-items:center;display:grid}.unread-badge{border:2px solid var(--surface);color:#fff;background:#cf3c35;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:.62rem;font-style:normal;font-weight:850;line-height:1;display:inline-grid}.unread-badge--floating{top:-8px;position:absolute;inset-inline-end:-13px}.icon-button--badge .unread-badge--floating{top:-6px;border-color:var(--brand);inset-inline-end:-7px}.live-message-toast{z-index:45;top:calc(84px + env(safe-area-inset-top));width:max-content;max-width:min(100% - 28px,452px);min-height:42px;color:var(--brand);background:#fffffffa;border:1px solid #176b5433;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:.76rem;font-weight:800;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 9px 24px #16221e2e}.live-message-toast svg{width:18px;height:18px}.page-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-heading h1{letter-spacing:-.025em;margin:0;font-size:1.55rem}.page-heading p{color:var(--muted);margin:5px 0 0;font-size:.82rem;line-height:1.5}.page-heading--action{align-items:flex-start}.page-heading--action .button{flex:none;min-height:40px;padding:8px 10px;font-size:.78rem}.communications-heading{isolation:isolate;align-items:center;min-height:108px;padding:14px 42% 14px 4px;position:relative;overflow:hidden}.communications-heading>div{z-index:2;text-shadow:-1px -1px #fffffff0,1px -1px #fffffff0,-1px 1px #fffffff0,1px 1px #fffffff0,0 2px 9px #fffffffa;min-width:0;position:relative}.communications-heading-art{z-index:0;filter:drop-shadow(0 11px 14px #1c58441c);object-fit:contain;object-position:right center;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:none;height:116%;display:block;position:absolute;inset:-8% -2% -8% auto}.dashboard-page>.page-heading p{color:var(--brand);margin:5px 0 0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.metric-grid article{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:4px;padding:14px;display:grid}.metric-grid strong{font-size:1.55rem}.metric-grid span{color:var(--muted);font-size:.78rem}.notice-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:17px}.notice-card>span{color:var(--brand);font-size:.75rem;font-weight:750}.notice-card h2{margin:9px 0 7px;font-size:1.04rem}.notice-card p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.65}.notice-card a{color:var(--brand);align-items:center;gap:2px;margin-top:12px;font-size:.78rem;font-weight:700;display:inline-flex}.notice-card a svg{width:15px;height:15px}.section-title{margin:22px 0 10px;font-size:.9rem}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;align-content:start;gap:6px;min-height:112px;padding:14px;display:grid}.quick-card>span{width:36px;height:36px;color:var(--brand);background:var(--surface-accent);border-radius:11px;place-items:center;margin-bottom:3px;display:grid}.quick-card strong{font-size:.9rem}.quick-card small{color:var(--muted);font-size:.72rem;line-height:1.45}.campus-home{gap:15px;display:grid}.campus-hero{isolation:isolate;background:linear-gradient(135deg,#fff9e9 0%,#edf8f3 58%,#dff2e9 100%);border:1px solid #176b5421;border-radius:24px;align-items:center;min-height:184px;padding:24px 44% 22px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 30px #1c584414}.campus-hero:before{content:"";background:#ffd36e4d;border-radius:50%;width:74px;height:74px;position:absolute;inset:-28px auto auto -24px}.campus-hero-copy{z-index:2;text-shadow:-1px -1px #ffffffeb,1px -1px #ffffffeb,-1px 1px #ffffffeb,1px 1px #ffffffeb,0 2px 10px #fffffffa;min-width:0;position:relative}.campus-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,5vw,1.78rem);line-height:1.28}.campus-hero p{color:#42665a;max-width:230px;margin:9px 0 0;font-size:.85rem;line-height:1.65}.campus-hero-art{z-index:0;filter:drop-shadow(0 14px 18px #1c584424);object-fit:contain;object-position:right center;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:none;height:100%;display:block;position:absolute;inset:0 -4% 0 auto}.campus-home-stack{gap:12px;display:grid}.campus-card{background:var(--surface);isolation:isolate;border:1px solid #176b5421;border-radius:20px;min-width:0;padding:17px;position:relative;overflow:hidden;box-shadow:0 9px 24px #1c58440e}.campus-card--school{background:linear-gradient(145deg,#fff 35%,#f1faf5 100%)}.campus-card--family{background:linear-gradient(145deg,#fff 35%,#fff7ee 100%)}.campus-card--notice{background:linear-gradient(145deg,#fff 35%,#f2f9ff 100%)}.campus-card--finance{background:linear-gradient(145deg,#fff 35%,#fff9e9 100%)}.campus-card-heading{min-height:116px;padding-right:40%;display:block}.campus-card-heading>div{z-index:2;text-shadow:-1px -1px #fffffff0,1px -1px #fffffff0,-1px 1px #fffffff0,1px 1px #fffffff0,0 2px 9px #fffffffa;min-width:0;position:relative}.campus-card-eyebrow{color:var(--brand);letter-spacing:.08em;margin-bottom:7px;font-size:.7rem;font-weight:800;display:block}.campus-card h2{overflow-wrap:anywhere;margin:0;font-size:1.12rem;line-height:1.38}.campus-card-art{z-index:0;filter:drop-shadow(0 11px 14px #1c58441c);object-fit:contain;object-position:right center;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:none;height:100%;max-height:none;display:block;position:absolute;inset:0 -3% 0 auto}.campus-card--notice .campus-card-art,.campus-card--finance .campus-card-art{height:70%;inset:15% -1% 15% auto}.campus-school-meta,.home-family-list,.home-notice-copy,.home-finance-grid,.campus-card-link,.campus-card-empty,.campus-card-footnote{z-index:2;position:relative}.home-notice-copy,.campus-card-empty,.campus-card-footnote{text-shadow:-1px -1px #fffffff0,1px -1px #fffffff0,-1px 1px #fffffff0,1px 1px #fffffff0,0 2px 8px #fffffffa}.campus-school-meta{border-top:1px solid #176b541a;flex-wrap:wrap;gap:7px;padding-top:11px;display:flex}.campus-school-meta span{color:#315e50;background:#e4f2ecd1;border-radius:999px;align-items:center;gap:5px;min-width:0;padding:6px 9px;font-size:.7rem;font-weight:700;display:inline-flex}.campus-school-meta svg{flex:none;width:14px;height:14px}.home-family-list{border-top:1px solid #176b541a;gap:7px;padding-top:10px;display:grid}.home-family-row{background:#ffffffb8;border-radius:13px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:8px 9px;display:grid}.home-family-row>div{gap:2px;min-width:0;display:grid}.home-family-row strong,.home-family-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-family-row strong{font-size:.82rem}.home-family-row small{color:var(--muted);font-size:.66rem}.home-family-row>span{color:#9b573e;background:#fff0e5;border-radius:999px;padding:4px 7px;font-size:.64rem;font-weight:800}.home-notice-copy{border-top:1px solid #176b541a;padding-top:11px}.home-notice-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:9px;font-size:.66rem;display:flex}.home-notice-meta span{color:var(--brand);background:var(--surface-accent);border-radius:999px;padding:4px 8px;font-weight:800}.home-notice-copy h3{overflow-wrap:anywhere;margin:10px 0 6px;font-size:.96rem;line-height:1.45}.home-notice-copy p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.65;display:-webkit-box;overflow:hidden}.home-notice-copy a,.campus-card-link{color:var(--brand);align-items:center;gap:2px;margin-top:11px;font-size:.74rem;font-weight:800;display:inline-flex}.home-notice-copy a svg,.campus-card-link svg{width:14px;height:14px}.home-finance-grid{border-top:1px solid #176b541a;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:11px;display:grid}.home-finance-grid>div{background:#ffffffbf;border-radius:13px;gap:4px;min-width:0;padding:10px 11px;display:grid}.home-finance-grid span{color:var(--muted);font-size:.68rem}.home-finance-grid strong{overflow-wrap:anywhere;font-size:.91rem;line-height:1.35}.campus-card-empty{color:var(--muted);border-top:1px solid #176b541a;margin:0;padding:12px 0 2px;font-size:.76rem;line-height:1.55}.campus-card-empty--compact{margin-top:8px;padding-top:9px}.campus-card-footnote{color:var(--muted);margin-top:10px;font-size:.68rem;line-height:1.5;display:block}html[data-locale=my] .campus-hero h1{letter-spacing:0;line-height:1.5}html[data-locale=my] .campus-hero p,html[data-locale=my] .campus-card h2{line-height:1.7}@media (width<=390px){.communications-heading{min-height:98px;padding-inline-end:40%}.communications-heading-art{height:108%;inset:-4% -5% -4% auto}.campus-hero{min-height:174px;padding:20px 43% 20px 16px}.campus-hero-art{width:auto;height:100%;inset:0 -7% 0 auto}.campus-hero h1{font-size:1.3rem}.campus-card-heading{min-height:108px;padding-right:38%}.campus-card-art{width:auto;height:100%;inset:0 -5% 0 auto}.home-family-row{grid-template-columns:30px minmax(0,1fr)}.home-family-row>span{display:none}}.search-box{border:1px solid var(--line);min-height:46px;color:var(--muted);background:var(--surface);border-radius:14px;align-items:center;gap:9px;margin-bottom:13px;padding:10px 12px;font-size:.83rem;display:flex}.search-box input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.list-stack{gap:9px;display:grid}.list-row{border:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;background:var(--surface);cursor:pointer;border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.list-icon{width:44px;height:44px;color:var(--brand);background:var(--surface-accent);border-radius:13px;place-items:center;display:grid}.user-avatar{width:44px;height:44px;color:var(--brand-ink);background:var(--brand);border:1px solid #176b5424;border-radius:13px;flex:0 0 44px;place-items:center;font-size:1rem;font-weight:800;line-height:1;display:grid;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-avatar--small{border-radius:10px;flex-basis:30px;width:30px;height:30px;font-size:.72rem}.user-avatar--medium{flex-basis:44px;width:44px;height:44px}.user-avatar--large{border-radius:17px;flex-basis:58px;width:58px;height:58px;font-size:1.25rem}.avatar-preview-trigger{cursor:zoom-in;background:0 0;border:0;border-radius:13px;flex:none;place-items:center;padding:0;display:grid}.avatar-preview-trigger:focus-visible{outline-offset:2px;outline:3px solid #176b5447}.message-row--selectable .avatar-preview-trigger{pointer-events:none}.avatar-preview-backdrop{z-index:1100;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#030807d1;place-items:center;display:grid;position:fixed;inset:0}.avatar-preview-dialog{width:min(86vw,390px);color:var(--ink);background:var(--surface);border-radius:22px;gap:16px;padding:14px;display:grid;box-shadow:0 24px 70px #00000052}.avatar-preview-dialog>header{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.avatar-preview-dialog>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.avatar-preview-dialog>header button{width:36px;height:36px;color:var(--muted);background:var(--surface-soft);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.4rem;display:grid}.user-avatar--preview{border-radius:22px;flex-basis:auto;place-self:center;width:min(76vw,330px);height:min(76vw,330px);font-size:5rem}.list-copy{gap:4px;min-width:0;display:grid}.list-copy strong,.list-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-copy strong{font-size:.88rem}.list-copy small{color:var(--muted);font-size:.72rem}.list-meta{color:var(--muted);justify-items:end;font-size:.68rem;display:grid}.list-meta i{background:var(--warning);border-radius:50%;width:8px;height:8px;margin-top:7px}.segmented-control{border:1px solid var(--line);background:var(--surface);border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:14px;padding:4px;display:grid}.segmented-control a{min-height:42px;color:var(--muted);border-radius:11px;justify-content:center;align-items:center;gap:7px;font-size:.82rem;font-weight:700;display:flex}.segmented-control a[aria-current=page]{color:var(--brand);background:var(--surface-accent)}.segmented-control svg{width:17px;height:17px}.message-section-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:13px;display:grid}.message-section-nav a{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--muted);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:5px;padding:7px 6px;font-size:.72rem;font-weight:750;display:flex;position:relative}.message-section-nav a[aria-current=page]{color:var(--brand);background:var(--surface-accent);border-color:#176b5447}.message-section-nav a>span:not(.unread-badge){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.message-section-nav svg{flex:none;width:16px;height:16px}.contact-directory form{margin:0}.contact-directory button.list-row{font:inherit}.contact-directory button.list-row:disabled{cursor:wait;opacity:.65}.contact-directory-search{margin-bottom:5px}.contact-online-count{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 9px;margin:0 3px 11px;font-size:.66rem;line-height:1.4;display:flex}.contact-online-role{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.contact-online-role-circle{border:1px solid;border-radius:50%;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;font-size:.5rem;line-height:1;display:inline-flex}.contact-role-groups{gap:9px;display:grid}.contact-role-group{border:1px solid var(--line);background:var(--surface);border-radius:15px;overflow:hidden}.contact-role-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:10px 12px;list-style:none;display:flex}.contact-role-group>summary::-webkit-details-marker{display:none}.contact-role-group>summary>span{align-items:center;gap:8px;display:flex}.contact-role-group>summary strong{font-size:.82rem}.contact-role-group>summary small{min-width:24px;height:24px;color:var(--brand);background:var(--surface-accent);border-radius:999px;place-items:center;padding:0 6px;font-size:.65rem;font-weight:800;display:grid}.contact-role-group>summary>svg{width:17px;height:17px;color:var(--muted);transition:transform .16s}.contact-role-group[open]>summary>svg{transform:rotate(90deg)}.contact-role-group>.list-stack{padding:0 8px 8px}.contact-role-group .list-row{background:var(--surface-soft);border-radius:12px;min-height:66px}.contact-name{align-items:center;gap:7px;min-width:0;display:flex}.contact-presence-dot{background:#a4ada9;border-radius:50%;flex:0 0 8px;width:8px;height:8px}.contact-presence-dot--online{background:#22a565;box-shadow:0 0 0 3px #22a56526,0 0 7px #22a56573}.group-chat-row{border:1px solid var(--line);min-height:88px;color:var(--ink);background:var(--surface);border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid;position:relative}.group-chat-row:has(.group-chat-card-link){cursor:pointer}.group-chat-card-link{z-index:2;border-radius:inherit;position:absolute;inset:0}.group-chat-card-link:focus-visible{outline-offset:2px;outline:3px solid #176b544d}.group-chat-row .list-copy{align-self:center}.group-chat-row .list-copy small+small{color:var(--brand)}.group-chat-sections{gap:13px;display:grid}.group-chat-section{gap:8px;display:grid}.group-chat-section-heading{min-height:42px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:7px 10px;display:grid}.group-chat-section-heading strong{font-size:.78rem}.group-chat-section-count{min-width:25px;height:25px;color:var(--brand);background:var(--surface-accent);border-radius:999px;place-items:center;padding:0 7px;font-size:.66rem;font-weight:800;display:grid}.group-chat-section--collapsible{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:0;overflow:hidden}.group-chat-section--collapsible>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 18px;list-style:none}.group-chat-section--collapsible>summary::-webkit-details-marker{display:none}.group-chat-section--collapsible>summary>svg{width:17px;height:17px;color:var(--muted);transition:transform .16s}.group-chat-section--collapsible[open]>summary>svg{transform:rotate(90deg)}.group-chat-section--collapsible>.group-chat-list{padding:0 8px 8px}.group-chat-meta{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.group-chat-meta time{color:inherit}.group-chat-action{justify-items:end;gap:5px;max-width:92px;display:grid}.group-chat-action form{margin:0}.group-chat-action>svg{width:17px;height:17px;color:var(--brand)}.button--small{min-height:34px;padding:6px 10px;font-size:.68rem}.status-text{color:var(--muted);text-align:end;font-size:.62rem}.status-text--active{color:var(--brand)}.compose-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:13px;padding:0 14px}.compose-card summary{min-height:48px;color:var(--brand);cursor:pointer;padding:14px 0;font-size:.86rem;font-weight:750;list-style:none}.compose-card summary::-webkit-details-marker{display:none}.compose-card[open] summary{border-bottom:1px solid var(--line)}.stack-form{gap:13px;padding:15px 0;display:grid}.stack-form label{color:var(--ink);gap:6px;font-size:.8rem;font-weight:700;display:grid}.stack-form input,.stack-form select,.stack-form textarea,.message-composer textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--surface-soft);font:inherit;border-radius:12px;padding:10px 11px;line-height:1.5}.stack-form input,.stack-form select{min-height:44px}.stack-form textarea,.message-composer textarea{resize:vertical}.contact-picker{border:0;min-width:0;margin:0;padding:0}.contact-picker legend{color:var(--ink);margin-bottom:7px;font-size:.8rem;font-weight:700}.contact-picker-list{gap:7px;max-height:250px;padding:1px;display:grid;overflow-y:auto}.contact-option{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;border-radius:14px;grid-template-columns:44px minmax(0,1fr);align-items:center;min-height:64px;padding:9px;position:relative;gap:10px!important;display:grid!important}.contact-option>input{opacity:0;width:1px;min-height:1px;position:absolute}.contact-option:has(input:checked){border-color:var(--brand);background:var(--surface-accent);box-shadow:0 0 0 2px #176b541f}.contact-option>span:last-child{gap:4px;min-width:0;display:grid}.contact-option strong,.contact-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact-option strong{font-size:.82rem}.contact-option small{color:var(--muted);font-size:.68rem;font-weight:500}.notice-list{gap:10px;display:grid}.notice-card--communication{gap:8px;display:grid}.notice-card--communication h2,.notice-card--communication p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.notice-card--communication>small{color:var(--muted);font-size:.68rem}.notice-card-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.notice-card-meta span{color:var(--brand);background:var(--surface-accent);border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:750}.notice-card-meta time{color:var(--muted);font-size:.66rem}.empty-state{border:1px dashed var(--line);min-height:150px;color:var(--muted);text-align:center;background:#ffffff73;border-radius:16px;align-content:center;place-items:center;gap:9px;padding:20px;display:grid}.empty-state p{margin:0;font-size:.82rem;line-height:1.5}.empty-state svg{color:var(--brand)}.conversation-list .list-meta{gap:4px;max-width:88px}.conversation-list .list-meta time{white-space:nowrap;font-size:.62rem}.conversation-header{align-items:center;gap:11px;margin-bottom:18px;display:flex}.conversation-header h1{margin:0;font-size:1.2rem}.conversation-header p{color:var(--muted);margin:3px 0 0;font-size:.72rem}.conversation-header--group,.conversation-header--direct{z-index:19;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7faf8f7;border:1px solid #d8e1dde6;border-radius:15px;gap:10px;min-height:66px;margin:-5px -4px 14px;padding:9px 7px;position:sticky;top:76px;box-shadow:0 5px 16px #16221e14}.conversation-header-copy{flex:auto;min-width:0}.conversation-header--group h1,.conversation-header--direct h1{overflow-wrap:anywhere;font-size:1rem;line-height:1.35}.group-avatar{color:var(--brand);background:var(--surface-accent)}.group-avatar svg{width:22px;height:22px}.group-avatar-picker{cursor:pointer;flex:none;display:block;position:relative}.group-avatar-picker-badge{border:2px solid var(--surface);color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:-4px;right:-4px}.group-avatar-picker-badge svg{width:11px;height:11px}.group-avatar-picker:has(input:focus-visible) .group-avatar{outline-offset:2px;outline:3px solid #176b544d}.group-header-menu{flex:none;position:relative}.group-header-menu-trigger{width:40px;height:40px;color:var(--brand);background:var(--surface-accent);cursor:pointer;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.group-header-menu-trigger svg{width:22px;height:22px}.group-header-menu-popover{z-index:4;border:1px solid var(--line);background:var(--surface);border-radius:13px;gap:4px;width:168px;padding:6px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 10px 28px #16221e2e}.group-header-menu-popover button{min-height:42px;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;font-size:.76rem;font-weight:750;display:flex}.group-header-menu-popover button:hover,.group-header-menu-popover button:active{color:var(--brand);background:var(--surface-accent)}.group-header-menu-popover button svg{width:18px;height:18px}.group-avatar-error{margin-top:-4px}.group-panel-backdrop{z-index:70;padding:18px 10px calc(18px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a191461;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.group-panel-sheet{border:1px solid var(--line);background:var(--surface);border-radius:20px;grid-template-rows:auto minmax(0,1fr);width:min(100%,460px);max-height:min(72svh,620px);display:grid;overflow:hidden;box-shadow:0 18px 50px #0a19143d}.group-panel-sheet>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 14px;display:flex}.group-panel-sheet>header h2{margin:0;font-size:1rem}.group-panel-sheet>header button{width:34px;height:34px;color:var(--muted);background:var(--surface-soft);cursor:pointer;font:inherit;border:0;border-radius:10px;place-items:center;padding:0;font-size:1.25rem;display:grid}.group-member-list{gap:6px;max-height:220px;padding:9px 0;display:grid;overflow-y:auto}.group-panel-sheet .group-member-list{max-height:none;padding:12px}.group-member-row{background:var(--surface-soft);border-radius:10px;align-items:center;gap:8px;min-width:0;padding:6px;display:flex}.group-member-row>span:last-child{gap:2px;min-width:0;display:grid}.group-member-row strong,.group-member-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-member-row strong{font-size:.75rem}.group-member-row small{color:var(--muted);font-size:.64rem}.group-settings-form{gap:9px;padding:10px 0;display:grid}.group-panel-sheet .group-settings-form{padding:14px;overflow-y:auto}.group-settings-form label{color:var(--ink);gap:5px;font-size:.7rem;font-weight:750;display:grid}.group-settings-form select{border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--ink);background:var(--surface-soft);font:inherit;border-radius:10px;padding:8px 9px}.icon-button--light{color:var(--brand);background:var(--surface-accent);flex:none}.message-thread{touch-action:pan-y;flex-direction:column;gap:9px;min-height:260px;padding-bottom:14px;display:flex}.message-thread--positioning{visibility:hidden}.message-time-divider{color:var(--muted);align-self:center;margin:7px 0 1px;font-size:.64rem;line-height:1.3}.message-row{align-items:flex-end;gap:7px;width:100%;display:flex}.message-row--own{flex-direction:row-reverse}.message-row--selectable{cursor:pointer;border-radius:14px;padding:5px;position:relative}.message-row--selected{background:var(--surface-accent);box-shadow:inset 0 0 0 1px #18775b29}.message-row--selectable .message-bubble,.message-row--selectable .user-avatar{pointer-events:none}.message-selection-check{border:1px solid var(--line);color:#fff;background:var(--surface);border-radius:50%;align-self:center;place-items:center;width:24px;min-width:24px;height:24px;font-size:.72rem;font-weight:800;display:grid}.message-row--selected .message-selection-check{border-color:var(--brand);background:var(--brand)}.message-row .message-bubble{max-width:calc(86% - 18px)}.message-avatar-spacer{width:34px;min-width:34px;height:1px}.message-bubble{border:1px solid var(--line);background:var(--surface);border-radius:5px 15px 15px;align-self:flex-start;max-width:86%;padding:10px 12px}.message-bubble--own{color:#f8fffc;background:var(--brand);border-color:#0000;border-radius:15px 5px 15px 15px;align-self:flex-end}.message-bubble--media-only{color:var(--ink);background:0 0;border:0;padding:0}.message-bubble--media-only.message-bubble--own{color:var(--ink);background:0 0}.message-bubble--media-only>small,.message-bubble--media-only.message-bubble--own>small{color:var(--muted);margin:5px 2px 0}.message-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.86rem;line-height:1.55}.message-courseware-share{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;min-width:min(250px,66vw);display:grid}.message-courseware-share .list-icon{border-radius:11px;grid-row:span 2;width:38px;height:38px}.message-courseware-share strong{overflow-wrap:anywhere;font-size:.78rem;line-height:1.35}.message-courseware-share a{color:var(--brand);align-items:center;gap:3px;font-size:.68rem;font-weight:800;display:flex}.message-courseware-share a svg{width:14px;height:14px}.message-bubble--own .message-courseware-share .list-icon{color:#fff;background:#ffffff29}.message-bubble--own .message-courseware-share a{color:#fff}.message-bubble small{color:var(--muted);margin-top:5px;font-size:.62rem;display:block}.message-bubble--own small{color:#ffffffb8}.message-read-status{text-align:end;white-space:nowrap}.message-sender-label{color:var(--brand);margin:-2px 0 5px;font-size:.66rem;font-weight:800;display:block}.message-reply-quote{border-left:3px solid var(--brand);color:var(--ink);background:var(--surface-soft);border-radius:7px;gap:2px;margin-bottom:7px;padding:6px 8px;font-size:.68rem;line-height:1.35;display:grid}.message-reply-quote strong,.message-reply-quote span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-bubble--own .message-reply-quote{color:#f8fffc;background:#ffffff24;border-left-color:#ffffffd1}.message-delete-form{justify-content:flex-end;margin:4px 0 -4px;display:flex}.message-delete-form button{width:27px;height:27px;color:var(--muted);cursor:pointer;background:#0000000a;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.message-delete-form button svg{width:14px;height:14px}.message-bubble--own .message-delete-form button{color:#ffffffd1;background:#ffffff24}.conversation-page{min-height:calc(100svh - 166px)}.message-thread-end{flex:none;width:1px;min-height:1px}.message-composer{z-index:35;width:min(100%,480px);padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#f7faf8;border:0;border-top:1px solid #d8e1ddf2;border-radius:0;grid-template-columns:minmax(0,1fr);gap:7px;margin:0;display:grid;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -4px 16px #16221e14}html[data-keyboard-open=true] .message-composer{padding:5px max(6px, env(safe-area-inset-right)) 3px max(6px, env(safe-area-inset-left));gap:4px}.message-composer textarea{background:var(--surface);min-height:48px;max-height:120px}.message-composer-error{margin:0}.message-composer-reply{border-left:3px solid var(--brand);min-width:0;color:var(--ink);background:var(--surface-accent);border-radius:9px;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;padding:7px 8px;display:grid}.message-composer-reply span{gap:2px;min-width:0;display:grid}.message-composer-reply strong,.message-composer-reply small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-composer-reply strong{font-size:.7rem}.message-composer-reply small{color:var(--muted);font-size:.64rem}.message-composer-reply button{width:30px;height:30px;color:var(--muted);font:inherit;cursor:pointer;background:#ffffffb8;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.2rem;display:grid}.message-composer-toolbar{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.message-composer-tools{align-items:center;gap:3px;min-width:0;display:flex}.composer-tool-button,.message-send-button{width:38px;min-width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;padding:0;display:grid}.composer-tool-button:hover,.composer-tool-button:active,.composer-tool-button[aria-expanded=true]{color:var(--brand);background:var(--surface-accent)}.composer-tool-button:disabled,.composer-tool-button--disabled{cursor:not-allowed;opacity:.42}.composer-tool-button--voice{color:var(--brand)}.composer-tool-button--recording{color:#fff;background:#c73333;animation:1.2s ease-in-out infinite voice-recording-pulse}.composer-tool-button--recording:hover,.composer-tool-button--recording:active{color:#fff;background:#a92323}.composer-tool-button svg,.message-send-button svg{width:20px;height:20px}.message-composer-media{position:relative}.media-source-menu{z-index:3;border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:4px;width:max-content;min-width:178px;max-width:calc(100vw - 32px);padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 10px 30px #16221e2e}.media-source-option{min-height:42px;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:.78rem;font-weight:750;display:flex}.media-source-option:hover,.media-source-option:active{color:var(--brand);background:var(--surface-accent)}.media-source-option svg{flex:none;width:19px;height:19px}.composer-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.message-send-button{color:#fff;background:var(--brand);width:44px}.message-send-button:disabled{cursor:wait;opacity:.58}.message-composer--locked{min-height:58px;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:.74rem;line-height:1.45;display:flex}.message-composer--locked svg{width:20px;height:20px;color:var(--brand);flex:none}.message-composer-optimization{min-height:36px;color:var(--brand);background:var(--surface-accent);border-radius:11px;align-items:center;gap:8px;padding:7px 9px;font-size:.72rem;line-height:1.4;display:flex}.message-composer-optimization svg{flex:none;width:18px;height:18px}.message-composer-selection{min-width:0;color:var(--ink);background:var(--surface-accent);border-radius:11px;grid-template-columns:40px minmax(0,1fr) 32px;align-items:center;gap:8px;padding:5px 6px;font-size:.72rem;display:grid}.message-composer-selection img{object-fit:cover;border-radius:8px;width:40px;height:40px}.message-composer-selection>span{min-width:0}.message-composer-selection strong,.message-composer-selection small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.message-composer-selection small{color:var(--muted)}.message-composer-selection-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.message-composer-selection button{width:30px;height:30px;color:var(--muted);cursor:pointer;font:inherit;background:#ffffffb8;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.message-composer-image-selection{background:var(--surface-accent);border-radius:12px;gap:6px;padding:6px;display:grid}.message-composer-image-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.message-composer-image-item{aspect-ratio:1;background:var(--surface-soft);border-radius:8px;min-width:0;position:relative;overflow:hidden}.message-composer-image-item img{object-fit:cover;width:100%;height:100%;display:block}.message-composer-image-item button{color:#fff;width:22px;height:22px;font:inherit;cursor:pointer;background:#0000009e;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:2px;right:2px}.message-composer-image-summary{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;display:flex}.message-composer-image-summary button{color:var(--muted);font:inherit;cursor:pointer;background:#ffffffb8;border:0;border-radius:8px;padding:4px 7px;font-size:.64rem}.message-composer-recording{color:#a92323;background:#fff0f0;border-radius:11px;align-items:center;gap:8px;min-height:36px;padding:7px 9px;font-size:.72rem;line-height:1.4;display:flex}.message-composer-recording-dot{background:#c73333;border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 4px #c733331f}@keyframes voice-recording-pulse{0%,to{box-shadow:0 0 #c733333d}50%{box-shadow:0 0 0 5px #c7333300}}@media (prefers-reduced-motion:reduce){.composer-tool-button--recording{animation:none}}.message-composer-emoji{position:relative}.emoji-choice{border:1px solid var(--line);color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;place-items:center;display:grid}.emoji-picker{z-index:2;border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(340px,100vw - 40px);padding:8px;display:grid;position:absolute;bottom:calc(100% + 10px);left:-1px;box-shadow:0 10px 30px #16221e2e}.emoji-group{background:var(--surface-soft);border-radius:10px;gap:3px;padding:5px;display:grid}.emoji-group-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:750;overflow:hidden}.emoji-group-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.emoji-choice{border-color:#0000;border-radius:9px;min-width:0;min-height:36px;font-size:1.18rem}.emoji-choice:active,.emoji-choice:hover{border-color:var(--line);background:var(--surface-accent)}.message-bubble:has(.message-attachment){width:min(86%,300px);max-width:min(86%,300px)}.message-bubble:has(.voice-message){width:auto;max-width:min(86%,300px)}.message-attachment{gap:7px;min-width:0;display:grid}.message-attachment--clean-media{gap:0}.message-attachment-preview{aspect-ratio:4/3;cursor:zoom-in;background:#00000014;border:0;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.message-attachment-preview img{object-fit:contain;width:100%;height:100%;display:block}.message-attachment-video-trigger{aspect-ratio:16/9;cursor:zoom-in;background:#111;border:0;border-radius:10px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.message-attachment-video-trigger video{pointer-events:none}.message-attachment-play{color:#fff;background:#00000094;border-radius:50%;place-items:center;width:46px;height:46px;padding-left:3px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000038}.message-attachment video{object-fit:contain;background:#111;border-radius:10px;width:100%;height:100%;display:block}.message-attachment audio{width:100%;min-width:0;height:38px;display:block}.voice-message{min-width:86px;max-width:240px;min-height:34px;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.voice-message svg{flex:none;width:19px;height:19px}.voice-message strong{font-size:.78rem;font-weight:800}.voice-message--playing svg{animation:.85s ease-in-out infinite alternate voice-playing-pulse}.voice-message+audio{display:none}@keyframes voice-playing-pulse{0%{opacity:.46}to{opacity:1}}.message-image-grid{border-radius:11px;gap:3px;width:min(72vw,300px);display:grid;overflow:hidden}.message-image-grid--count-2,.message-image-grid--count-3,.message-image-grid--count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.message-image-grid--count-5,.message-image-grid--count-6,.message-image-grid--count-7,.message-image-grid--count-8,.message-image-grid--count-9{grid-template-columns:repeat(3,minmax(0,1fr))}.message-image-grid-item{aspect-ratio:1;cursor:zoom-in;background:#00000014;border:0;min-width:0;padding:0;overflow:hidden}.message-image-grid-item img{object-fit:cover;width:100%;height:100%;display:block}.message-attachment-meta{min-width:0;color:var(--ink);background:var(--surface-soft);border-radius:10px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;display:grid}.message-attachment-meta svg{width:18px;height:18px}.message-attachment-meta--document{grid-template-columns:minmax(0,1fr) 32px}.message-document-preview-trigger{min-width:0;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:0;display:grid}.message-document-preview-trigger>span{min-width:0}.message-document-preview-trigger strong,.message-document-preview-trigger small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.message-document-preview-trigger strong{font-size:.72rem}.message-document-preview-trigger small{color:var(--muted);font-size:.62rem}.message-attachment-meta--document>a:last-child{width:30px;height:30px;color:var(--brand);background:var(--surface-accent);border-radius:8px;place-items:center;display:grid}.message-attachment-details{min-width:0}.message-attachment-name{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:750;display:block;overflow:hidden}.message-attachment-size{color:var(--muted);margin-top:1px;font-size:.62rem;display:block}.message-attachment-actions{align-items:center;gap:4px;display:flex}.message-attachment-actions a{width:30px;height:30px;color:var(--brand);background:var(--surface-accent);border-radius:8px;place-items:center;display:grid}.message-attachment-actions svg{width:16px;height:16px}.message-attachment-expired{color:var(--muted);margin:0;font-size:.72rem}.message-bubble--own .message-attachment-meta{color:#f8fffc;background:#ffffff24}.message-bubble--own .message-document-preview-trigger small{color:#ffffffb8}.message-bubble--own .message-attachment-meta--document>a:last-child{color:#fff;background:#ffffff29}.message-bubble--own .message-attachment-size{color:#ffffffb8}.message-bubble--own .message-attachment-actions a{color:#fff;background:#ffffff29}.message-bubble>.message-attachment+p{margin-top:8px}.message-bubble--pending{min-width:116px}.message-bubble--pending .message-image-grid,.message-bubble--pending .message-attachment-video-trigger{margin-bottom:7px}.message-bubble--pending .message-image-grid-item{cursor:default}.message-bubble--pending .message-attachment-video-trigger{pointer-events:none}.message-bubble--pending .message-attachment-meta{grid-template-columns:28px minmax(0,1fr)}.message-upload-status{color:#ffffffc7;align-items:center;gap:5px;margin-top:6px;display:flex}.message-upload-status>span:last-child{gap:1px;display:grid}.message-upload-status small{color:inherit;margin:0;font-size:.62rem}.message-upload-status small+small{opacity:.82}.message-upload-status-dot{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px;animation:.9s ease-in-out infinite alternate upload-status-pulse}.message-upload-status--failed{color:#ffe1dc}.message-upload-status--failed .message-upload-status-dot{animation:none}.message-upload-actions{justify-content:flex-end;gap:5px;margin-top:7px;display:flex}.message-upload-actions button{color:#fff;font:inherit;cursor:pointer;background:#ffffff29;border:0;border-radius:8px;padding:4px 7px;font-size:.62rem;font-weight:750}@keyframes upload-status-pulse{0%{opacity:.35}to{opacity:1}}.message-action-backdrop{z-index:90;padding:16px max(12px, env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#111c1975;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.message-action-sheet{border:1px solid var(--line);width:min(100%,460px);color:var(--ink);background:var(--surface);border-radius:20px;overflow:hidden;box-shadow:0 22px 60px #0a181447}.message-action-sheet>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.message-action-sheet>header span{gap:3px;min-width:0;display:grid}.message-action-sheet>header strong,.message-action-sheet>header small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-action-sheet>header strong{font-size:.76rem}.message-action-sheet>header small{color:var(--muted);font-size:.68rem}.message-action-sheet>header button{width:34px;min-width:34px;height:34px;color:var(--muted);background:var(--surface-soft);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;display:grid}.message-action-options{gap:7px;padding:12px;display:grid}.message-action-options>button,.message-action-options form button{width:100%;min-height:44px;color:var(--ink);text-align:left;background:var(--surface-soft);font:inherit;cursor:pointer;border:0;border-radius:12px;padding:9px 12px;font-size:.78rem;font-weight:750}.message-action-options form{margin:0}.message-action-options .message-action-danger{color:#a63f32;background:#b9383814}.message-forward-sheet{max-height:min(78dvh,680px)}.message-forward-content{gap:9px;min-height:0;padding:12px;display:grid}.message-forward-list{overscroll-behavior:contain;gap:6px;max-height:min(52dvh,430px);display:grid;overflow-y:auto}.message-forward-list form{margin:0}.message-forward-list form>button{width:100%;min-height:50px;color:var(--ink);text-align:left;background:var(--surface-soft);font:inherit;cursor:pointer;border:0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;display:grid}.message-forward-list form>button:disabled{cursor:wait;opacity:.58}.message-forward-list form>button>span{gap:2px;min-width:0;display:grid}.message-forward-list form>button strong,.message-forward-list form>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-forward-list form>button small{color:var(--muted);font-size:.64rem}.message-forward-list form>button>svg{width:17px;height:17px;color:var(--brand)}.message-selection-toolbar{z-index:40;width:min(100%,480px);min-height:62px;padding:9px max(9px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(9px, env(safe-area-inset-left));border:0;border-top:1px solid var(--line);background:#f7faf8;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;display:grid;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -4px 16px #16221e14}.message-selection-toolbar strong{text-align:center;font-size:.74rem}.message-selection-toolbar button{min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:11px;padding:8px 10px;font-size:.7rem;font-weight:750}.message-selection-cancel{color:var(--muted);background:var(--surface-soft)}.message-selection-delete{color:#fff;background:var(--brand);align-items:center;gap:5px;display:flex}.message-selection-delete svg{width:16px;height:16px}.message-selection-delete:disabled{cursor:not-allowed;opacity:.5}.media-viewer-backdrop{z-index:1000;color:#fff;overscroll-behavior:contain;background:#030807f7;display:grid;position:fixed;inset:0}.media-viewer{width:100%;min-width:0;min-height:100dvh;display:grid;position:relative;overflow:hidden}.media-viewer-header{z-index:2;min-height:64px;padding:calc(10px + env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));background:linear-gradient(#00000094,#0000);justify-content:flex-end;align-items:center;gap:14px;display:flex;position:absolute;top:0;left:0;right:0}.media-viewer-header span{font-size:.74rem;font-weight:750}.media-viewer-close{color:#fff;width:42px;height:42px;font:inherit;cursor:pointer;background:#ffffff24;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.7rem;display:grid}.media-viewer-stage{min-width:0;min-height:100dvh;padding:calc(72px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) calc(26px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));touch-action:pan-y;place-items:center;display:grid;position:relative}.media-viewer-media{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid}.media-viewer-media img,.media-viewer-media video{max-width:100%;max-height:calc(100dvh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;display:block}.media-viewer-media video{background:#000;width:min(100%,960px)}.media-viewer-nav{z-index:2;color:#fff;width:46px;height:52px;font:inherit;cursor:pointer;background:#ffffff21;border:0;border-radius:14px;place-items:center;padding:0;font-size:2rem;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.media-viewer-nav--previous{left:max(10px, env(safe-area-inset-left))}.media-viewer-nav--next{right:max(10px, env(safe-area-inset-right))}.media-viewer-nav:disabled{visibility:hidden}@media (width<=540px){.media-viewer-nav{top:auto;bottom:calc(18px + env(safe-area-inset-bottom));width:44px;height:44px;transform:none}.media-viewer-nav--previous{left:calc(50% - 58px)}.media-viewer-nav--next{right:calc(50% - 58px)}.media-viewer-stage{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.media-viewer-media img,.media-viewer-media video{max-height:calc(100dvh - 164px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}.document-preview-backdrop{z-index:1001;color:var(--ink);overscroll-behavior:contain;background:#081411b8;place-items:center;padding:0;display:grid;position:fixed;inset:0}.document-preview-dialog{background:var(--surface);grid-template-rows:auto minmax(0,1fr);width:min(100%,900px);min-width:0;height:100dvh;display:grid;overflow:hidden;box-shadow:0 24px 80px #07161247}.document-preview-dialog>header{min-width:0;padding:calc(10px + env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr) auto 40px;align-items:center;gap:8px;display:grid}.document-preview-dialog>header>span{gap:2px;min-width:0;display:grid}.document-preview-dialog>header strong,.document-preview-dialog>header small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-preview-dialog>header strong{font-size:.78rem}.document-preview-dialog>header small{color:var(--muted);font-size:.64rem}.document-preview-dialog>header>a{min-height:36px;color:var(--brand);background:var(--surface-accent);border-radius:10px;align-items:center;gap:5px;padding:7px 9px;font-size:.68rem;font-weight:750;display:flex}.document-preview-dialog>header>a svg{width:16px;height:16px}.document-preview-dialog>header>button{width:38px;height:38px;color:var(--muted);background:var(--surface-soft);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;display:grid}.document-preview-body{min-width:0;min-height:0;padding:12px max(10px, env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));overscroll-behavior:contain;background:#eef3f0;overflow:auto}.document-preview-body>iframe{background:#fff;border:0;border-radius:12px;width:100%;height:100%;min-height:calc(100dvh - 84px);display:block}.document-preview-state{min-height:48vh;color:var(--brand);justify-content:center;align-items:center;gap:8px;font-size:.76rem;font-weight:750;display:flex}.document-preview-state--error{color:var(--muted);text-align:center;flex-direction:column}.document-preview-state--error svg{color:#a63f32;width:34px;height:34px}.document-preview-state--error a{color:#fff;background:var(--brand);border-radius:10px;padding:8px 11px}.document-preview-section{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;margin:0 auto 12px;padding:16px;box-shadow:0 3px 14px #16221e0d}.document-preview-section h3{color:var(--brand);margin:0 0 10px;font-size:.78rem}.document-preview-text{gap:8px;display:grid}.document-preview-text p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.78rem;line-height:1.65}.document-preview-table-wrap{border:1px solid var(--line);border-radius:9px;width:100%;overflow:auto}.document-preview-table-wrap table{border-collapse:collapse;min-width:100%;color:var(--ink);background:#fff;font-size:.7rem}.document-preview-table-wrap td{border:1px solid var(--line);overflow-wrap:anywhere;vertical-align:top;min-width:84px;max-width:240px;padding:7px 8px}.document-preview-truncated{color:#7a5b12;background:#fff7da;border-radius:10px;margin:8px auto;padding:9px 11px;font-size:.68rem;line-height:1.5}@media (width>=720px){.document-preview-backdrop{padding:24px}.document-preview-dialog{border-radius:20px;height:min(92dvh,820px)}.document-preview-body>iframe{min-height:680px}}html[data-conversation-page=true]:not([data-keyboard-open=true]) .page-back-button--app{bottom:calc(var(--conversation-composer-height,116px) + 12px)}html[data-keyboard-open=true] .bottom-nav{opacity:0;pointer-events:none;transform:translateY(110%)}html[data-keyboard-open=true] .page-back-button--app{opacity:0;pointer-events:none}.file-action{color:var(--muted);justify-items:end;gap:5px;display:grid}.file-action small{font-size:.66rem}.file-action svg{width:17px;height:17px}.stack-form input[type=file]{min-height:48px;padding:8px;font-size:.76rem}.stack-form input[type=file]::file-selector-button{min-height:32px;color:var(--brand);background:var(--surface-accent);font:inherit;cursor:pointer;border:0;border-radius:9px;margin-right:9px;padding:6px 9px;font-weight:700}.courseware-filters{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;padding:12px;display:grid}.courseware-filters label{min-width:0;color:var(--ink);gap:6px;font-size:.72rem;font-weight:750;display:grid}.courseware-filters select{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--ink);background:var(--surface-soft);font:inherit;border-radius:11px;padding:8px 9px}.courseware-filter-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.courseware-filter-actions .button{min-height:40px;padding:8px 10px;font-size:.74rem}.courseware-catalog,.courseware-subject-groups{gap:10px;display:grid}.courseware-grade-group,.courseware-subject-group{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden}.courseware-grade-group>summary,.courseware-subject-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:12px 13px;list-style:none;display:flex}.courseware-grade-group>summary::-webkit-details-marker{display:none}.courseware-subject-group>summary::-webkit-details-marker{display:none}.courseware-summary::-webkit-details-marker{display:none}.courseware-grade-group>summary>span,.courseware-subject-group>summary>span{gap:3px;min-width:0;display:grid}.courseware-grade-group>summary strong,.courseware-subject-group>summary strong{overflow-wrap:anywhere;font-size:.88rem}.courseware-grade-group>summary small,.courseware-subject-group>summary small{color:var(--muted);font-size:.66rem}.courseware-grade-group>summary>svg,.courseware-subject-group>summary>svg,.courseware-expand svg{flex:none;transition:transform .15s}.courseware-grade-group[open]>summary>svg,.courseware-subject-group[open]>summary>svg,.courseware-card[open] .courseware-expand svg{transform:rotate(90deg)}.courseware-grade-group[open]>summary{color:var(--brand);background:var(--surface-accent)}.courseware-subject-groups{border-top:1px solid var(--line);background:var(--surface-soft);padding:10px}.courseware-subject-group{border-radius:14px}.courseware-subject-group[open]>summary{color:var(--brand)}.courseware-list{border-top:1px solid var(--line);gap:9px;padding:0 9px 9px;display:grid}.courseware-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;overflow:hidden}.courseware-summary{cursor:pointer;grid-template-columns:42px minmax(0,1fr) 24px;align-items:start;gap:9px;padding:12px 10px;list-style:none;display:grid}.courseware-summary .list-icon{width:42px;height:42px}.courseware-copy{gap:6px;min-width:0;display:grid}.courseware-copy>strong{overflow-wrap:anywhere;font-size:.9rem;line-height:1.4}.courseware-description{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.5;overflow:hidden}.courseware-copy small{color:var(--muted);font-size:.66rem;line-height:1.45}.courseware-tags{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.courseware-tags span{max-width:100%;color:var(--brand);text-overflow:ellipsis;white-space:nowrap;background:var(--surface-accent);border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:750;overflow:hidden}.courseware-expand{width:24px;height:34px;color:var(--brand);place-items:center;display:grid}.courseware-preview{border-top:1px solid var(--line);background:var(--surface-soft);gap:10px;padding:11px;display:grid}.courseware-preview>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.courseware-preview>header strong{color:var(--brand);font-size:.78rem}.courseware-preview>header span{color:var(--muted);font-size:.66rem;font-weight:750}.courseware-preview-frame,.courseware-preview-image{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%}.courseware-preview-frame--pdf{height:min(62svh,560px)}.courseware-preview-frame--text{height:260px}.courseware-preview-image{object-fit:contain;max-height:560px;display:block}.courseware-preview-audio{width:100%;margin:8px 0}.courseware-office-preview{border:1px solid var(--line);overscroll-behavior:contain;background:#eef3f0;border-radius:12px;width:100%;max-height:min(62svh,560px);padding:10px;overflow:auto}.courseware-office-preview .document-preview-state{min-height:150px}.courseware-office-preview .document-preview-section{margin-bottom:9px;padding:12px}.courseware-office-preview .document-preview-section:last-of-type{margin-bottom:0}.courseware-preview-unsupported{border:1px dashed var(--line);min-height:150px;color:var(--muted);text-align:center;background:var(--surface);border-radius:12px;align-content:center;place-items:center;gap:8px;padding:20px;display:grid}.courseware-preview-unsupported svg{color:var(--brand)}.courseware-preview-unsupported p{max-width:290px;margin:0;font-size:.76rem;line-height:1.55}.courseware-preview-download{width:100%;min-height:40px;font-size:.76rem}.courseware-preview-download svg{width:17px;height:17px}.courseware-preview-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.courseware-preview-actions .button{width:100%;min-width:0;min-height:40px;padding:8px 9px;font-size:.72rem}.courseware-preview-share svg{width:17px;height:17px}.courseware-share-sheet{max-height:min(84dvh,720px)}.courseware-share-content{overscroll-behavior:contain;gap:13px;min-height:0;padding:12px;display:grid;overflow-y:auto}.courseware-share-content>section{gap:7px;display:grid}.courseware-share-content h3{color:var(--muted);margin:0;font-size:.7rem}.courseware-share-content .message-forward-list{max-height:none}.manage-create-card,.manage-accounts-section{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:15px}.manage-heading{isolation:isolate;align-items:center;min-height:92px;padding-inline-end:38%;position:relative;overflow:hidden}.manage-heading>div{z-index:2;text-shadow:-1px -1px #f2f7f5f5,1px -1px #f2f7f5f5,-1px 1px #f2f7f5f5,1px 1px #f2f7f5f5,0 2px 9px #f2f7f5fa;min-width:0;position:relative}.manage-heading-art{z-index:0;filter:drop-shadow(0 9px 12px #1c58441c);object-fit:contain;object-position:right center;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:none;height:112%;display:block;position:absolute;inset:-6% -2% -6% auto}.manage-create-card{margin-bottom:14px;scroll-margin-top:76px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading h2{margin:0;font-size:1rem}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:.74rem;line-height:1.5}.section-heading--compact{margin-bottom:11px}.section-icon{width:40px;height:40px;color:var(--brand);background:var(--surface-accent);border-radius:12px;flex:none;place-items:center;display:grid}.section-icon svg{width:19px;height:19px}.manage-account-form{padding-bottom:0}.manage-account-form label small{color:var(--muted);font-size:.66rem;font-weight:500;line-height:1.45}.account-search{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 14px;display:grid}.account-search label{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--muted);background:var(--surface-soft);border-radius:12px;align-items:center;gap:8px;padding:0 10px;display:flex}.account-search label svg{flex:none;width:17px;height:17px}.account-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.account-search .button{min-height:42px;padding:8px 12px}.account-create-link{margin-bottom:12px}.account-empty{color:var(--muted);text-align:center;margin:2px 0 0;padding:20px 10px;font-size:.76rem}.account-role-groups{gap:16px;display:grid}.account-role-group{min-width:0}.account-role-heading{border:1px solid var(--line);cursor:pointer;background:var(--surface-soft);border-radius:13px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:6px 10px;list-style:none;display:flex}.account-role-heading::-webkit-details-marker{display:none}.account-role-title{align-items:center;gap:8px;min-width:0;display:flex}.account-role-chevron{color:var(--brand);font-size:1.2rem;font-weight:800;line-height:1;transition:transform .16s}.account-role-group[open] .account-role-chevron{transform:rotate(90deg)}.account-role-icon{width:25px;height:25px;color:var(--brand);background:var(--surface-accent);border-radius:8px;flex:0 0 25px;place-items:center;display:grid}.account-role-icon svg{width:14px;height:14px}.account-role-icon--admin{color:#7c5a17;background:#fff2cb}.account-role-icon--teacher{color:#36654e;background:#e3f2e9}.account-role-icon--student{color:#34647a;background:#e7f4fa}.account-role-icon--parent{color:#9b573e;background:#fff0e5}.account-role-heading h3{color:var(--brand);margin:0;font-size:.86rem}.account-role-count{min-width:24px;height:24px;color:var(--brand);background:var(--surface-accent);border-radius:999px;flex:none;place-items:center;padding:0 7px;font-size:.66rem;font-weight:800;display:inline-grid}.account-role-group[open] .account-list{margin-top:8px}.account-list{gap:9px;display:grid}.account-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px;display:grid}.account-row>.list-icon{grid-area:1/1}.account-row>.list-copy{grid-area:1/2}.account-row:target{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);scroll-margin-top:92px}.account-badges{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:6px;min-width:0;display:flex}.role-badge,.status-dot{border-radius:999px;align-items:center;min-height:24px;padding:4px 8px;font-size:.64rem;font-weight:750;display:inline-flex}.role-badge{color:var(--brand);background:var(--surface-accent)}.status-dot{color:var(--muted);background:var(--surface);gap:5px}.status-dot:before{background:var(--muted);content:"";border-radius:50%;width:7px;height:7px}.status-dot--active:before{background:var(--brand)}.status-dot--disabled:before{background:#a63f32}.account-maintenance-controls{display:contents}.account-maintenance-actions{grid-area:1/3;justify-content:flex-end;align-self:start;gap:7px;min-width:0;display:flex}.account-status-form{margin:0}.account-action-button{border-radius:9px;min-height:30px;padding:5px 10px;font-size:.68rem;line-height:1.2}.account-status-button--disable{color:#a63f32;background:#fff7f5;border-color:#a63f324d}.account-status-button--enable{color:var(--brand);background:var(--surface-accent);border-color:#176b544d}.account-password-toggle{color:var(--brand);background:var(--surface);font-weight:800}.account-maintenance-body{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-column:1/-1;gap:13px;padding:12px 10px;display:grid}.account-maintenance-body p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.5}.account-maintenance-body .form-notice{color:var(--brand)}.account-maintenance-body .form-notice--error{color:#a63f32}.account-password-form{padding:0}.account-password-form label small{color:var(--muted);font-size:.66rem;font-weight:500;line-height:1.45}.account-maintenance-feedback{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:9px 10px}.account-maintenance-locked{color:var(--muted);grid-column:1/-1;padding-left:54px;font-size:.66rem;line-height:1.45}@media (width<=390px){.manage-heading{min-height:86px;padding-inline-end:36%}.manage-heading-art{height:103%;inset:-1% -6% -2% auto}.account-role-title{gap:6px}}.relationship-section{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-bottom:14px;padding:15px}.relationship-feedback{border:1px solid var(--line);background:var(--surface);border-radius:13px;margin-bottom:14px;padding:11px 13px}.relationship-form{padding-bottom:0}.relationship-form label small{color:var(--muted);font-size:.66rem;font-weight:500;line-height:1.45}.relationship-list{gap:10px;display:grid}.relationship-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;padding:12px}.relationship-card>header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.relationship-card>header>div{gap:3px;min-width:0;display:grid}.relationship-card>header strong{overflow-wrap:anywhere;font-size:.9rem}.relationship-card>header small{color:var(--muted);font-size:.68rem}.relationship-card>header>span{min-width:26px;min-height:26px;color:var(--brand);background:var(--surface-accent);border-radius:999px;place-items:center;padding:3px 7px;font-size:.68rem;font-weight:800;display:grid}.relationship-links{gap:7px;margin-top:10px;display:grid}.relationship-links--standalone{margin-top:0}.relationship-link-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.relationship-link-row>span{overflow-wrap:anywhere;min-width:0;font-size:.76rem;line-height:1.45}.relationship-link-row--stacked>span{gap:3px;display:grid}.relationship-link-row--stacked strong{font-size:.78rem}.relationship-link-row--stacked small{color:var(--muted);font-size:.66rem}.relationship-link-row--action{color:inherit;text-decoration:none;transition:border-color .16s,background .16s,transform .16s}.relationship-link-row--action:hover{border-color:color-mix(in srgb, var(--brand) 42%, var(--line));background:var(--surface-accent);transform:translateY(-1px)}.relationship-link-row--action:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 28%, transparent);outline-offset:2px}.relationship-link-row--action>svg{width:16px;height:16px;color:var(--brand);flex:none}.relationship-link-row form{flex:none}.text-button{color:#a63f32;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:5px 8px;font-size:.68rem;font-weight:750}.text-button:disabled{opacity:.55;cursor:wait}.relationship-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:10px;display:grid}.relationship-inline-form label{min-width:0;color:var(--ink);gap:5px;font-size:.72rem;font-weight:700;display:grid}.relationship-inline-form select{border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--ink);background:var(--surface);font:inherit;border-radius:11px;padding:8px 9px}.relationship-inline-form .button{min-height:40px;padding:8px 10px;font-size:.72rem}.relationship-empty{min-height:120px;margin-top:10px}.relationship-empty-inline{color:var(--muted);margin:0;padding:8px 2px;font-size:.72rem}.relationship-current-title{margin:17px 0 9px;font-size:.8rem}.relationship-account-help{color:var(--muted);margin:11px 0 0;font-size:.72rem;line-height:1.5}.relationship-account-help a{color:var(--brand);font-weight:750}.greeting-management-link{margin-bottom:14px}.greeting-library{margin-top:14px}.greeting-filters,.greeting-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.greeting-filters label{gap:6px;min-width:0;font-size:.75rem;display:grid}.greeting-filters select,.greeting-filters input{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--ink);background:var(--surface);font:inherit;border-radius:12px;padding:8px}.greeting-search{grid-column:1/-1}.greeting-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;padding:14px}.greeting-card--disabled{background:var(--surface-soft)}.greeting-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.greeting-card>header>div{min-width:0}.greeting-card>header p{overflow-wrap:anywhere;margin:6px 0;line-height:1.65}.greeting-card>header small{color:var(--muted);font-size:.7rem}.greeting-card .status-dot{flex-shrink:0}.greeting-card-actions{justify-content:flex-end;margin:8px 0;display:flex}.greeting-edit>summary{color:var(--brand);cursor:pointer;padding:8px 0;font-size:.8rem;font-weight:700}.greeting-edit-form{margin-top:10px}.relationship-action-panel,.relationship-current-module{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-bottom:14px;overflow:hidden}.relationship-action-trigger{cursor:pointer;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:11px;min-height:70px;padding:14px;list-style:none;display:grid}.relationship-action-trigger::-webkit-details-marker{display:none}.relationship-action-trigger>span:nth-child(2){gap:4px;min-width:0;display:grid}.relationship-action-trigger strong{font-size:.9rem}.relationship-action-trigger small{color:var(--muted);font-size:.69rem;line-height:1.45}.relationship-action-trigger>svg{color:var(--muted);transition:transform .16s}.relationship-action-panel[open] .relationship-action-trigger>svg{transform:rotate(90deg)}.relationship-action-body{border-top:1px solid var(--line);padding:0 14px 14px}.relationship-operations{gap:12px;padding-top:14px;display:grid}.relationship-operation{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;padding:13px}.relationship-operation:target{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);scroll-margin-top:92px}.relationship-operation h3{margin:0;font-size:.86rem}.relationship-operation>p{color:var(--muted);margin:5px 0 0;font-size:.7rem;line-height:1.5}.relationship-operation .relationship-form{padding-top:12px}.relationship-auto-number{color:var(--muted);font-size:.68rem;line-height:1.5;display:block}.relationship-current-module{padding:15px}.relationship-current-module .button{margin-top:13px}.relationship-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:14px;display:grid}.relationship-module-card--greetings{background:linear-gradient(145deg,#fff 28%,#fff8e4 100%)}.relationship-module-card--unbound{background:linear-gradient(145deg,#fff 28%,#fff3ed 100%)}.relationship-module-card--current{background:linear-gradient(145deg,#fff 28%,#eaf7f0 100%)}.relationship-module-card--greetings .content-module-art{width:98%;height:73%;top:-1%;right:-9%}.relationship-module-card--unbound .content-module-art{width:96%;height:74%;top:-1%;right:-8%}.relationship-module-card:last-child:nth-child(odd){aspect-ratio:2;grid-column:1/-1}.relationship-module-card:last-child:nth-child(odd):after{inset:36% 0 0}.relationship-module-card:last-child:nth-child(odd) .content-module-art{object-position:right center;width:58%;height:108%;top:-11%;right:-2%}.relationship-module-card:last-child:nth-child(odd) .content-module-copy{max-width:58%}.relationship-module-card:last-child:nth-child(odd) .content-module-chevron{bottom:35px}.relationship-current-search{margin-bottom:14px}.relationship-current-groups{gap:12px;display:grid}.relationship-current-group{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.relationship-group-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:54px;padding:10px 12px;list-style:none;display:grid}.relationship-group-summary::-webkit-details-marker{display:none}.relationship-group-summary>span:first-child{gap:3px;min-width:0;display:grid}.relationship-group-summary strong{overflow-wrap:anywhere;font-size:.88rem}.relationship-group-summary small{color:var(--muted);font-size:.66rem}.relationship-group-summary>svg{color:var(--muted);transition:transform .16s}.relationship-current-group[open] .relationship-group-summary>svg{transform:rotate(90deg)}.relationship-group-count{min-width:26px;height:26px;color:var(--brand);background:var(--surface-accent);border-radius:999px;place-items:center;padding:0 7px;font-size:.68rem;font-weight:800;display:inline-grid}.relationship-group-body{border-top:1px solid var(--line);background:var(--surface-soft);gap:15px;padding:14px;display:grid}.relationship-group-body>section>h3{align-items:center;gap:6px;margin:0;font-size:.78rem;display:flex}.relationship-group-body>section>h3 span{color:var(--muted);font-size:.66rem}.relationship-current-empty{color:var(--muted);text-align:center;margin:0;padding:24px 10px;font-size:.75rem}.focused-operation-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08231e6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.focused-operation-dialog{width:min(100%,480px);max-height:min(90dvh,720px);color:var(--ink);background:var(--surface);border:1px solid #0f544929;border-radius:20px;padding:16px;overflow:auto;box-shadow:0 28px 80px #05241f47}.focused-operation-dialog>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.focused-operation-dialog>header>div{gap:4px;min-width:0;display:grid}.focused-operation-dialog>header h2{margin:0;font-size:1rem}.focused-operation-dialog>header p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.45}.focused-operation-dialog>header>button{width:34px;height:34px;color:var(--muted);background:var(--surface-soft);font:inherit;cursor:pointer;border:0;border-radius:50%;flex:0 0 34px;place-items:center;padding:0;font-size:1.35rem;display:grid}.focused-operation-person{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:center;gap:9px;margin-top:13px;padding:9px 10px;display:flex}.focused-operation-person .list-icon{border-radius:10px;flex:0 0 32px;width:32px;height:32px}.focused-operation-person strong{overflow-wrap:anywhere;min-width:0;font-size:.78rem}.focused-operation-dialog .relationship-form,.focused-operation-dialog .account-password-form{margin-top:13px;padding:0}.focused-operation-dialog .account-maintenance-feedback{margin-top:12px}.focused-operation-cancel{width:100%;margin-top:10px}@media (width<=600px){.focused-operation-backdrop{align-items:flex-end;padding:0}.focused-operation-dialog{border-radius:20px 20px 0 0;width:100%;max-height:92dvh}}@media (width<=390px){.relationship-module-grid{gap:8px}}.profile-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;align-items:center;gap:12px;padding:16px;display:flex}.profile-avatar{width:52px;height:52px;color:var(--brand-ink);background:var(--brand);border-radius:16px;place-items:center;display:grid}.profile-card div{flex:1;gap:4px;min-width:0;display:grid}.profile-card small{color:var(--muted)}.profile-card--link{color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}.profile-card--link:active{transform:scale(.99)}.profile-card--link:focus-visible{outline-offset:2px;outline:3px solid #176b5433}.profile-card--link>svg{width:18px;height:18px;color:var(--muted);flex:none}.profile-account-avatar-card{justify-items:center;padding-block:22px}.profile-avatar-picker{cursor:pointer;position:relative;display:grid!important}.user-avatar--picker{border-radius:26px;flex-basis:88px;width:88px;height:88px;font-size:1.8rem;box-shadow:0 8px 22px #174b3b26}.profile-avatar-picker-badge{border:3px solid var(--surface);width:30px;height:30px;color:var(--brand-ink);background:var(--brand);border-radius:50%;place-items:center;font-size:1.15rem;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-5px;right:-5px}.profile-avatar-picker-input{opacity:0;border:0;height:1px;position:absolute;overflow:hidden;width:1px!important;min-height:1px!important;padding:0!important}.profile-avatar-picker:has(input:focus-visible) .user-avatar--picker{outline-offset:3px;outline:3px solid #176b543d}.profile-account-remove{justify-self:start}.save-success-toast{z-index:70;top:calc(84px + env(safe-area-inset-top));width:max-content;max-width:calc(100% - 32px);color:var(--brand-ink);text-align:center;background:var(--brand);border-radius:999px;padding:11px 16px;font-size:.82rem;font-weight:750;animation:1.35s both save-success-toast;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #10533f3d}@keyframes save-success-toast{0%{opacity:0;transform:translate(-50%,-8px)}12%,74%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-5px)}}.settings-section{margin:20px 0}.settings-section .section-title{margin-top:0}.profile-security{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.profile-security>summary{background:var(--surface);border:0;border-radius:0;list-style:none}.profile-security>summary::-webkit-details-marker{display:none}.profile-security>summary>svg{transition:transform .16s}.profile-security[open]>summary>svg{transform:rotate(90deg)}.profile-security-body{border-top:1px solid var(--line);padding:14px}.profile-security-body>p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.55}.profile-security-body>.form-notice{color:var(--brand);margin-top:12px}.profile-security-body>.form-notice--error{color:#a63f32}.profile-password-form{padding-bottom:0}.profile-password-form label small{color:var(--muted);font-size:.66rem;font-weight:500;line-height:1.45}.mfa-secret{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:10px 12px;display:block}.mfa-backup-codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.mfa-backup-codes code{border:1px solid var(--line);background:var(--surface-soft);text-align:center;border-radius:10px;padding:8px}.audit-list{margin-top:12px}.audit-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:flex-start;gap:11px;padding:12px;display:flex}.profile-signout{margin-top:18px}.profile-menu{margin-top:16px}.profile-version-trailing{color:var(--muted);align-items:center;gap:9px;display:flex}.profile-version-dot{background:#e47a20;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #e47a2024}.version-identity-card{grid-template-columns:auto minmax(0,1fr);align-items:center}.version-identity-card>div{gap:4px;min-width:0;display:grid}.version-identity-card strong{overflow-wrap:anywhere;font-size:.92rem}.version-identity-card small{color:var(--muted);font-size:.7rem}.version-logo{object-fit:cover;border:1px solid var(--line);background:var(--surface-soft);border-radius:17px;width:58px;height:58px}.version-logo--fallback{color:var(--brand);background:var(--surface-accent);place-items:center;display:grid}.version-logo--fallback svg{width:28px;height:28px}.version-status-card{margin-top:14px}.version-status{color:var(--muted);background:var(--surface-soft);border-radius:12px;align-items:center;gap:8px;padding:10px 11px;font-size:.72rem;font-weight:750;display:flex}.version-status>span{background:#86928e;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.version-status--current{color:var(--brand);background:var(--surface-accent)}.version-status--current>span{background:var(--brand);box-shadow:0 0 0 4px #176b541f}.version-status--available{color:#a95714;background:#fff7eb}.version-status--available>span{background:#e47a20;box-shadow:0 0 0 4px #e47a2024}.version-status--offline{color:#a63f32;background:#fff4f1}.version-status--offline>span{background:#c85e4f}.version-number{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;gap:4px;padding:12px;display:grid}.version-number small{color:var(--muted);font-size:.66rem}.version-number strong{overflow-wrap:anywhere;letter-spacing:.02em;font-size:1rem}.version-number--latest{background:#fffaf3;border-color:#e47a2040}.version-update-warning{color:var(--muted);text-align:center;margin:0;font-size:.65rem;line-height:1.5}.version-details-card,.version-notes-card{margin-top:14px}.version-details-card dl{gap:0;margin:0;display:grid}.version-details-card dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 0;display:grid}.version-details-card dl>div:last-child{border-bottom:0}.version-details-card dt,.version-details-card dd{margin:0;font-size:.7rem}.version-details-card dt{color:var(--muted)}.version-details-card dd{text-align:right}.version-notes-card p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.6}.settings-form{gap:14px;display:grid}.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;gap:12px;padding:15px;display:grid}.cache-status-card,.cache-clean-card{gap:13px;display:grid}.cache-usage-number{background:var(--surface-accent);border-radius:14px;justify-content:space-between;align-items:end;gap:10px;padding:16px;display:flex}.cache-usage-number strong{color:var(--brand);font-size:1.6rem}.cache-usage-number span{color:var(--muted);font-size:.78rem}.cache-clean-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}@media (width<=420px){.cache-clean-actions{grid-template-columns:1fr}}.settings-card h2{margin:0;font-size:.88rem}.settings-card>label:not(.setting-switch-row):not(.settings-check-row),.settings-field-grid label{color:var(--ink);gap:6px;font-size:.78rem;font-weight:700;display:grid}.settings-card>label:not(.setting-switch-row):not(.settings-check-row) input,.settings-card>label:not(.setting-switch-row):not(.settings-check-row) select,.settings-card>label:not(.setting-switch-row):not(.settings-check-row) textarea,.settings-field-grid input,.settings-field-grid select{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--surface-soft);font:inherit;border-radius:12px;padding:10px 11px;line-height:1.5}.settings-card textarea{resize:vertical}.settings-card label small{color:var(--muted);font-size:.66rem;font-weight:500;line-height:1.5}.settings-card-heading{align-items:flex-start;gap:10px;display:flex}.settings-card-heading>div{gap:4px;display:grid}.settings-card-heading small{color:var(--muted);font-size:.7rem;line-height:1.45}.settings-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-switch-list{gap:0}.settings-switch-list>h2{margin-bottom:4px}.setting-switch-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:10px 0;display:grid;position:relative}.setting-switch-row:last-child{border-bottom:0}.setting-switch-copy{gap:3px;display:grid}.setting-switch-copy strong{font-size:.76rem}.setting-switch-copy small{color:var(--muted);font-size:.66rem;font-weight:500;line-height:1.45}.setting-switch-row>input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.setting-switch-control{border:1px solid var(--line);background:#d7dedb;border-radius:999px;flex:0 0 44px;width:44px;height:26px;transition:background .16s,border-color .16s;position:relative}.setting-switch-control:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #10211c33}.setting-switch-row>input:checked+.setting-switch-control{border-color:var(--brand);background:var(--brand)}.setting-switch-row>input:checked+.setting-switch-control:after{transform:translate(18px)}.setting-switch-row>input:focus-visible+.setting-switch-control{outline-offset:2px;outline:3px solid #176b5433}.setting-switch-row--locked{cursor:default}.setting-switch-row--locked .setting-switch-control{opacity:.75}.settings-policy-card{gap:10px}.settings-help{color:var(--muted);margin:0;font-size:.7rem;line-height:1.55}.settings-push-status{color:var(--muted);background:var(--surface-soft);border-radius:11px;margin:0;padding:10px 11px;font-size:.69rem;line-height:1.5}.settings-push-status--active{color:var(--brand);background:var(--surface-accent)}.settings-push-status--denied,.settings-push-status--error{color:#a63f32;background:#fff4f1}.push-test-block{gap:9px;padding-top:2px;display:grid}.settings-install-card{overflow:hidden}.profile-general-cache-link{margin:14px 0}.pwa-install-button:disabled{cursor:default}.pwa-share-backdrop{z-index:1100;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030807c7;place-items:center;display:grid;position:fixed;inset:0}.pwa-share-dialog{width:min(100%,380px);color:var(--ink);background:var(--surface);border-radius:22px;gap:16px;padding:18px;display:grid;box-shadow:0 24px 70px #0000004d}.pwa-share-dialog>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pwa-share-dialog>header>div{gap:5px;display:grid}.pwa-share-dialog h2,.pwa-share-dialog p{margin:0}.pwa-share-dialog h2{font-size:1rem}.pwa-share-dialog p{color:var(--muted);font-size:.72rem;line-height:1.55}.pwa-share-dialog>header>button{width:38px;height:38px;color:var(--muted);background:var(--surface-soft);font:inherit;cursor:pointer;border:0;border-radius:50%;flex:0 0 38px;place-items:center;padding:0;font-size:1.5rem;display:grid}.pwa-share-qr{border:1px solid var(--line);min-height:280px;color:var(--muted);background:#fff;border-radius:18px;place-items:center;padding:12px;font-size:.72rem;display:grid}.pwa-share-qr img{width:min(100%,320px);height:auto;image-rendering:pixelated;display:block}.pwa-install-guide{color:var(--ink);background:var(--surface-accent);border:1px solid #176b542e;border-radius:13px;gap:7px;padding:12px;display:grid}.pwa-install-guide strong{font-size:.75rem}.pwa-install-guide p{margin:0;font-size:.7rem;line-height:1.6}.pwa-install-guide small{color:var(--muted);font-size:.66rem;line-height:1.5}.pwa-update-notice{z-index:90;right:max(12px, env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));width:min(430px,100% - 24px);color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;border:1px solid #176b5438;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 auto;padding:12px;display:grid;position:fixed;box-shadow:0 14px 34px #10302638}.pwa-update-copy{gap:3px;min-width:0;display:grid}.pwa-update-copy strong{font-size:.78rem}.pwa-update-copy small{color:var(--muted);font-size:.65rem;line-height:1.45}.pwa-update-actions{align-items:center;gap:6px;display:flex}.pwa-update-actions button{min-height:36px;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:7px 10px;font-size:.7rem;font-weight:800}.pwa-update-later{color:var(--muted);background:var(--surface-soft)}.pwa-update-apply{color:var(--brand-ink);background:var(--brand)}.pwa-update-apply:disabled{cursor:wait;opacity:.7}.policy-list{gap:8px;display:grid}.policy-list p{background:var(--surface-soft);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 11px;font-size:.72rem;display:flex}.policy-list strong{color:var(--brand);white-space:nowrap}.settings-logo-preview{object-fit:cover;border:1px solid var(--line);background:var(--surface-soft);border-radius:18px;width:76px;height:76px}.settings-check-row{color:#a63f32;align-items:center;gap:8px;font-size:.72rem;font-weight:700;display:flex}.settings-check-row input{accent-color:#a63f32;width:17px;height:17px}.student-number-preview{background:var(--surface-accent);border:1px dashed #176b5459;border-radius:13px;gap:5px;padding:13px;display:grid}.student-number-preview span,.student-number-preview small{color:var(--muted);font-size:.66rem;line-height:1.45}.student-number-preview strong{overflow-wrap:anywhere;color:var(--brand);letter-spacing:.03em;font-size:1rem}.settings-card input[type=file]{padding:8px;font-size:.72rem}.settings-card input[type=file]::file-selector-button{min-height:32px;color:var(--brand);background:var(--surface-accent);font:inherit;border:0;border-radius:9px;margin-right:8px;padding:6px 9px;font-weight:700}html[data-font-scale=large]{font-size:18px}.error-page{text-align:center;place-content:center;min-height:100vh;padding:24px;display:grid}.error-page h1{margin:0;font-size:2rem}.error-page p{color:var(--muted)}.error-page pre{text-align:left;background:var(--surface);max-width:min(700px,90vw);padding:16px;overflow:auto}@media (width<=760px){.public-header{align-items:flex-start}.public-actions{flex-direction:column-reverse;align-items:flex-end}.public-actions .button{min-height:40px;padding:8px 11px;font-size:.8rem}.hero-section{grid-template-columns:1fr;padding-top:36px}.hero-phone{justify-self:center;width:min(100%,390px);transform:none}.settings-field-grid{grid-template-columns:1fr}.pwa-update-notice{grid-template-columns:1fr;gap:9px}.pwa-update-actions{justify-content:flex-end}.feature-grid{grid-template-columns:1fr}.site-hero{grid-template-columns:1fr;padding-top:44px}.site-hero-actions{width:100%;display:grid}.site-hero-actions>.button,.site-hero-install,.site-hero-install>.button{width:100%}.site-hero-install{max-width:none}.site-hero-card{width:min(100%,420px)}.site-news-grid{grid-template-columns:1fr}.login-panel,.preview-panel{grid-template-columns:1fr;gap:24px}}@media (width>=761px){.pwa-update-notice{margin:0;bottom:24px;left:auto;right:24px}}@media (width<=420px){.public-header{padding-inline:16px}.brand-link>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}.hero-section,.feature-section{padding-inline:16px}.hero-copy h1{font-size:clamp(2.25rem,12vw,3.1rem)}.site-header-top{align-items:flex-start;padding-inline:14px}.site-header-top .brand-link{min-width:0}.site-header-top .brand-link>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:104px;overflow:hidden}.site-actions{flex-direction:row;align-items:center}.site-actions .language-switch-trigger{width:38px;height:38px}.site-login{min-height:36px;padding:6px 9px}.site-nav{padding-inline:14px}.site-hero,.site-news-section,.site-list-page,.site-article{padding-inline:16px}.site-hero h1{font-size:clamp(2.35rem,12vw,3.2rem)}html[data-locale=my] .site-hero h1{font-size:clamp(2.05rem,10vw,2.65rem)}.site-hero-card{padding:21px}.site-news-section>header{align-items:flex-end}.site-footer{flex-direction:column;align-items:flex-start;padding-inline:16px}.login-page{padding-inline:14px}.login-topbar{align-items:flex-start}.login-topbar .language-switch{justify-content:flex-end}.login-panel{padding:24px 18px}.preview-panel{padding:20px 16px}.app-header .language-switch-trigger{width:36px;height:36px}.app-brand strong{max-width:112px}html[data-locale=my] .app-brand strong{max-width:96px}.page-heading--action{align-items:center}.list-row{grid-template-columns:42px minmax(0,1fr) auto;padding-inline:10px}}@media (prefers-reduced-motion:no-preference){.button,.quick-card,.list-row,.bottom-nav a{transition:background-color .12s,color .12s,transform .12s}.button:active,.quick-card:active,.list-row:active{transform:scale(.985)}}.finance-page{gap:1rem;display:grid}.finance-overview-link{color:var(--brand);justify-self:start;align-items:center;min-height:38px;padding:0 .35rem;font-size:.86rem;font-weight:750;text-decoration:none;display:inline-flex}.finance-overview-link:hover{text-decoration:underline}.finance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.finance-summary article,.finance-panel{background:var(--surface,#fff);border:1px solid #0f54491f;border-radius:18px;box-shadow:0 10px 28px #10413b0f}.finance-summary article{gap:.35rem;padding:1rem 1.15rem;display:grid}.finance-summary small{color:var(--muted,#60756f)}.finance-summary strong{color:#0b554b;font-size:1.35rem}.finance-overview-actions{gap:.85rem;display:grid}.finance-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.finance-quick-grid .quick-card{min-height:132px;text-decoration:none}.finance-quick-grid .quick-card:hover{background:#f8fcfb;border-color:#176b5459}.finance-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);align-items:start;gap:1rem;display:grid}.finance-layout>div,.finance-layout>aside{gap:1rem;display:grid}.finance-panel{padding:1rem}.finance-plan-form,.finance-payment-form{gap:.85rem;display:grid}.finance-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.finance-form-grid label,.finance-student-search label,.finance-payment-form label{gap:.35rem;display:grid}.finance-form-grid input,.finance-form-grid select,.finance-student-search input,.finance-payment-form input,.finance-payment-form select,.finance-settings textarea,.finance-settings select,.receipt-actions input{width:100%;color:inherit;background:#fff;border:1px solid #cbdad6;border-radius:10px;padding:.7rem .75rem}.finance-form-wide{grid-column:1/-1}.form-help{color:var(--muted,#60756f);margin:0;font-size:.86rem}.finance-segments{justify-content:flex-start}.finance-segments label{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.finance-selected-student{background:#eef9f6;border:1px solid #acd8cf;border-radius:12px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.finance-selected-student>div{gap:.2rem;display:grid}.finance-selected-student span,.finance-selected-student small{color:#476b64}.finance-search-results{z-index:3;background:#fff;border:1px solid #cbdad6;border-radius:12px;max-height:320px;margin-top:.35rem;display:grid;position:relative;overflow:auto;box-shadow:0 14px 32px #0a36301f}.finance-search-results button{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #e6efed;gap:.2rem;padding:.75rem;display:grid}.finance-search-results button:hover{background:#eef9f6}.finance-search-results span,.finance-search-results small{color:#60756f}.finance-search-results p{color:#60756f;padding:.75rem}.finance-invoice-toolbar{grid-template-columns:minmax(0,1fr) minmax(150px,210px);gap:.65rem;margin-bottom:.8rem;display:grid}.finance-invoice-toolbar input,.finance-invoice-toolbar select{color:inherit;background:#fff;border:1px solid #cbdad6;border-radius:11px;width:100%;min-height:44px;padding:.65rem .75rem}.finance-invoice-list,.finance-receipt-list{gap:.7rem;display:grid}.finance-invoice{border:1px solid #dce8e5;border-radius:14px;padding:.85rem}.finance-invoice header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.finance-invoice header div{gap:.2rem;display:grid}.finance-invoice header span:not(.finance-status){color:#60756f}.finance-status{white-space:nowrap;border-radius:999px;padding:.3rem .55rem;font-size:.76rem;font-weight:700}.finance-status--unpaid{color:#a33a26;background:#fff0ed}.finance-status--partial{color:#826000;background:#fff7d8}.finance-status--paid{color:#187551;background:#e8f8f0}.finance-status--cancelled{color:#68706e;background:#ecefee}.finance-invoice-numbers{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.75rem;display:grid}.finance-invoice-numbers p{background:#f6faf9;border-radius:10px;gap:.2rem;margin:0;padding:.55rem;display:grid}.finance-invoice-numbers small{color:#60756f}.finance-invoice-actions{flex-wrap:wrap;align-items:start;gap:.5rem;margin-top:.75rem;display:flex}.finance-invoice-actions>.button{flex:180px}.finance-payment-form{background:#f6faf9;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.5rem;padding:.75rem}.finance-payment-form button{grid-column:1/-1}.finance-dialog-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;background:#08231e6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.finance-dialog{background:#fff;border:1px solid #0f544929;border-radius:20px;width:min(100%,560px);max-height:min(88dvh,720px);padding:1.1rem;overflow:auto;box-shadow:0 28px 80px #05241f47}.finance-dialog>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.finance-dialog>header h2,.finance-dialog>header p{margin:0}.finance-dialog>header p{color:#60756f;margin-top:.25rem;font-size:.86rem}.finance-dialog-close{color:#176b54;cursor:pointer;background:#eef7f4;border:0;border-radius:999px;flex:0 0 38px;justify-content:center;align-items:center;height:38px;font-size:1.45rem;display:flex}.finance-payment-summary{background:#eef9f6;border-radius:13px;justify-content:space-between;align-items:center;margin-top:1rem;padding:.8rem;display:flex}.finance-payment-summary span{color:#60756f}.finance-payment-summary strong{color:#0b554b;font-size:1.15rem}.finance-dialog .finance-payment-form{margin-top:.85rem;padding:0}.finance-receipt-list a{color:inherit;border:1px solid #dce8e5;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:center;gap:.8rem 1.25rem;padding:.8rem;text-decoration:none;display:grid}.finance-receipt-list a:hover{background:#f1faf7}.finance-receipt-list span,.finance-receipt-list small{color:#60756f}.finance-receipt-list a.is-void{opacity:.65;text-decoration:line-through}.finance-receipt-primary,.finance-receipt-student{gap:.15rem;min-width:0;display:grid}.finance-receipt-primary strong,.finance-receipt-primary span,.finance-receipt-student strong,.finance-receipt-student span{overflow-wrap:anywhere}.finance-receipt-student{text-align:right;justify-items:end}.finance-receipt-student span{font-size:.82rem}.finance-receipt-back{justify-self:start}.receipt-sheet{color:#101820;background:#fff;border:1px solid #dbe4ed;border-radius:8px;width:100%;max-width:1120px;min-height:720px;margin:0 auto;padding:30px 38px;position:relative}.receipt-school-header{text-align:center;border-bottom:5px solid #ec2637;justify-content:center;align-items:center;gap:1.25rem;padding-bottom:14px;display:flex}.receipt-school-header img{object-fit:contain;flex:none;max-width:95px;height:75px}.receipt-school-header div{justify-items:center;min-width:0;display:grid}.receipt-school-header h2{gap:.12rem;margin:0 0 .25rem;font-size:1.65rem;line-height:1.18;display:grid}.receipt-school-header h2 span{display:block}.receipt-school-header p{color:#47607c;margin:.12rem}.receipt-sheet>h1{text-align:center;margin:1rem 0;font-size:1.55rem}.receipt-meta-grid{grid-template-columns:1fr 1fr;gap:.55rem 2rem;display:grid}.receipt-meta-grid p{border-bottom:1px solid #48607e;grid-template-columns:150px 1fr;margin:0;padding:.3rem 0;display:grid}.receipt-table{border-collapse:collapse;width:100%;margin-top:1rem}.receipt-table th,.receipt-table td{text-align:left;border:1px solid #7187a3;padding:.55rem .7rem}.receipt-table th:last-child,.receipt-table td:last-child{text-align:right}.receipt-payment-row{background:#eef7f5}.receipt-payment-meta{flex-wrap:wrap;gap:1.2rem;margin-top:.8rem;display:flex}.receipt-payment-meta p{margin:0}.receipt-policy{background:#f7fafe;border:1px solid #c5d3e5;border-radius:12px;margin-top:1rem;padding:.65rem .8rem;font-size:.82rem}.receipt-policy p{margin:.25rem 0}.receipt-signatures{page-break-inside:avoid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem);margin-top:5.5rem;display:grid}.receipt-signature-field{text-align:center;border-top:1px solid #7187a3;min-width:0;padding-top:.65rem}.receipt-signature-field span{line-height:1.35;display:block}.receipt-signature-field--stamp{position:relative}.receipt-school-stamp{z-index:2;opacity:.8;filter:saturate(.94)contrast(.96);mix-blend-mode:multiply;pointer-events:none;transform-origin:50%;-webkit-user-select:none;user-select:none;width:clamp(88px,10.5vw,112px);max-width:145%;height:auto;display:block;position:absolute;bottom:calc(100% - 18px);left:50%;transform:translate(-50%)rotate(-6deg)}.receipt-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.receipt-actions form{gap:.4rem;display:flex}.receipt-void-mark{color:#be1b1b2e;z-index:2;font-size:8rem;font-weight:900;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-22deg)}.receipt-void-reason{color:#b51f1f;font-weight:700}@media (width>=901px){.finance-invoice-list{border:1px solid #dce8e5;border-radius:14px;gap:0;overflow:hidden}.finance-invoice{border:0;border-bottom:1px solid #e4ecea;border-radius:0;grid-template-columns:minmax(190px,1.1fr) minmax(330px,1.5fr) minmax(190px,auto);align-items:center;gap:.85rem;display:grid}.finance-invoice:last-child{border-bottom:0}.finance-invoice--readonly{grid-template-columns:minmax(220px,1fr) minmax(380px,1.6fr)}.finance-invoice-numbers,.finance-invoice-actions{margin-top:0}.finance-invoice-actions{flex-wrap:nowrap;justify-content:flex-end}.finance-invoice-actions>.button{flex:none}.finance-invoice>.form-help{grid-column:1/-1}.app-viewport--finance{width:min(100%,1280px)}.app-viewport--finance .app-content{padding-inline:clamp(24px,3vw,40px)}.app-viewport--finance .bottom-nav{border:1px solid var(--line);border-radius:18px;width:min(100% - 32px,640px);padding-bottom:7px;bottom:16px;box-shadow:0 12px 34px #1030262e}.app-viewport--finance .page-back-button--app{bottom:100px;right:max(20px,50vw - 620px)}}@media (width<=900px){.finance-layout{grid-template-columns:1fr}.finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-sheet{padding:20px;overflow-x:auto}}@media (width<=620px){.finance-summary,.finance-quick-grid,.finance-form-grid,.finance-payment-form,.receipt-meta-grid,.finance-invoice-numbers,.finance-invoice-toolbar{grid-template-columns:1fr}.receipt-meta-grid p{grid-template-columns:120px 1fr}.finance-dialog-backdrop{align-items:flex-end;padding:0}.finance-dialog{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:90dvh}.finance-receipt-list a{grid-template-columns:1fr}.finance-receipt-student{text-align:left;border-top:1px solid #e5eeeb;justify-items:start;padding-top:.55rem}}@page{size:auto;margin:8mm}@media print{html,body{background:#fff;width:auto;min-width:0;margin:0;padding:0}.app-viewport{width:auto;min-height:0;box-shadow:none;background:#fff;margin:0}.app-content,.finance-page{min-height:0;margin:0;padding:0;display:block}.app-header,.bottom-nav,.page-back-button,.live-message-toast,.pwa-update-notice,.finance-page>:not(#receipt-print){display:none!important}#receipt-print{box-sizing:border-box;width:auto;max-width:none;min-height:0;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:0;border-radius:0;margin:0;padding:4mm 5mm;font-family:KaiTi,STKaiti,Kaiti SC,DFKai-SB,serif;position:static;overflow:visible}.receipt-school-header,.receipt-meta-grid,.receipt-payment-meta,.receipt-policy,.receipt-signatures{break-inside:avoid;page-break-inside:avoid}.receipt-table{break-inside:auto}.receipt-table thead{display:table-header-group}.receipt-table tr{break-inside:avoid;page-break-inside:avoid}.receipt-meta-grid p{gap:2mm;grid-template-columns:minmax(25mm,auto) minmax(0,1fr)!important}.receipt-meta-grid span{overflow-wrap:anywhere;min-width:0}.receipt-signature-field{min-height:10mm;padding-top:3mm}.receipt-school-stamp{opacity:.8;width:28mm;max-width:none;bottom:calc(100% - 5mm)}#receipt-print{padding:2mm 4mm;font-size:8.2pt}.receipt-school-header{border-bottom-width:1mm;gap:3mm;padding-bottom:.8mm}.receipt-school-header img{width:auto;max-width:27mm;height:22mm}.receipt-school-header h2{gap:.3mm;margin:0;font-size:15pt;line-height:1.08}.receipt-school-header h2 span:first-child{font-synthesis:weight;font-size:22pt;font-weight:800;line-height:1.05}.receipt-school-header h2 span:nth-child(2){font-size:15pt;font-weight:400;line-height:1.08}.receipt-school-header p{margin:0;font-size:8.2pt;line-height:1.25}.receipt-sheet>h1{margin:1.6mm 0 1.3mm;font-size:15pt;line-height:1.12}.receipt-meta-grid{gap:.8mm 3mm;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}.receipt-meta-grid p{gap:1mm;padding:1mm 0;font-size:13pt;line-height:1.22;grid-template-columns:max-content minmax(0,1fr)!important}.receipt-meta-grid p:nth-child(4) span{overflow-wrap:normal;white-space:nowrap}.receipt-table{margin-top:1.8mm;font-size:13pt;line-height:1.22}.receipt-table th,.receipt-table td{padding:1mm 1.2mm}.receipt-payment-meta{gap:3mm;margin-top:2mm;font-size:11pt;line-height:1.25}.receipt-policy{border-radius:2mm;margin-top:2mm;padding:1.6mm 1.2mm;font-size:8pt;line-height:1.32}.receipt-policy p{margin:.25mm 0}.receipt-signatures{gap:4mm;margin-top:21mm}.receipt-signature-field{min-height:5mm;padding-top:1.2mm;font-size:11pt;line-height:1.22}.receipt-school-stamp{width:38.3mm;bottom:calc(100% - 17mm)}.receipt-actions{display:none!important}}@media screen{html,body{background:radial-gradient(circle at 8% 5%, #06b6d41c, transparent 26rem), radial-gradient(circle at 92% 18%, #7c3aed14, transparent 28rem), var(--surface-soft)}body:before{z-index:-1;content:"";opacity:.42;pointer-events:none;background-image:linear-gradient(#2563eb09 1px,#0000 1px),linear-gradient(90deg,#2563eb09 1px,#0000 1px);background-size:28px 28px;position:fixed;inset:0}.button{isolation:isolate;border-radius:16px;transition:transform .16s,box-shadow .16s,border-color .16s,filter .16s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb8,0 8px 20px #1e4fa31f}.button:before,.icon-button:before,.language-switch-trigger:before,.message-send-button:before,.page-back-button:before{z-index:-1;border-radius:inherit;content:"";opacity:.62;pointer-events:none;background:linear-gradient(#ffffffb8,#fff0);height:42%;position:absolute;inset:1px 12% auto}.button--primary,.message-send-button{color:#fff;background:var(--brand-gradient);border-color:#ffffff57;box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #07347d3d,0 9px 22px #2563eb3d,0 3px 9px #06b6d42e}.button--primary:hover{background:var(--brand-gradient);filter:saturate(1.08)brightness(1.04)}.button--secondary{color:#183a68;-webkit-backdrop-filter:blur(16px)saturate(1.3);background:linear-gradient(135deg,#fffffff0,#e2f4ffd1);border-color:#6891c54d}.language-switch-trigger,.icon-button,.page-back-button{isolation:isolate;-webkit-backdrop-filter:blur(18px)saturate(1.45);background:linear-gradient(135deg,#ffffff40,#d7f0ff1f);border:1px solid #ffffff61;transition:transform .16s,background .16s,box-shadow .16s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff85,0 8px 18px #05265929}.icon-button--badge{overflow:visible}.icon-button--badge .unread-badge--floating{z-index:1}.page-back-button{color:var(--brand);background:linear-gradient(135deg,#fffffff5,#e1f4ffe0);border-color:#779ecf4d}.language-switch-menu,.avatar-preview-dialog{-webkit-backdrop-filter:blur(24px)saturate(1.35);background:#ffffffeb;border-color:#6891c542;box-shadow:0 18px 42px #16448a2e}.app-viewport{background:radial-gradient(circle at 100% 3%,#06b6d41a,#0000 16rem),linear-gradient(#f8fbff 0%,#f2f8ff 55%,#f7faff 100%);box-shadow:0 0 0 1px #7ea0c947,0 24px 80px #1b478c21}.app-header,.hero-phone-header{background:radial-gradient(circle at 18% -30%,#ffffff47,#0000 48%),linear-gradient(120deg,#0b3b72 0%,#1559a7 45%,#078ca9 100%);box-shadow:0 8px 26px #06387138}.app-header .language-switch-trigger,.app-header .icon-button{color:#fff;background:linear-gradient(135deg,#ffffff3d,#ade7ff1a);border-color:#ffffff57}.app-brand-icon,.brand-icon,.hero-phone-logo{border:1px solid #fff9;box-shadow:0 8px 18px #05295c29}.bottom-nav{-webkit-backdrop-filter:blur(22px)saturate(1.4);background:#f8fcffdb;border-top-color:#7099ca3d;box-shadow:0 -10px 30px #1b478c17}.bottom-nav a{min-height:54px;transition:color .16s,background .16s,transform .16s}.bottom-nav a.active{color:#124f9d;background:linear-gradient(135deg,#dbeffff5,#d3f9fbeb);box-shadow:inset 0 1px #fff,0 5px 15px #2563eb1c}.page-heading h1,.site-hero h1,.site-list-page>header h1,.site-article>header h1,.login-copy h1,.hero-copy h1{color:#12366a;background:var(--innovation-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.communications-heading,.content-heading{background:radial-gradient(circle at 10% 12%,#06b6d424,#0000 44%),linear-gradient(135deg,#ffffffe6,#e1f0ffd1);border-color:#669bd538;border-radius:22px;box-shadow:inset 0 1px #fff,0 12px 32px #1f4c911a}.communications-heading-art,.content-heading-art,.campus-hero-art,.campus-card-art,.content-module-art{filter:drop-shadow(0 12px 17px #1b4e9229)}.segmented-control{-webkit-backdrop-filter:blur(16px)saturate(1.25);background:#ffffffc7;border-color:#6795cc42;border-radius:18px;padding:5px;box-shadow:inset 0 1px #fff,0 8px 22px #1c488b14}.segmented-control a{border:1px solid #0000;border-radius:14px;min-height:44px;transition:color .16s,border-color .16s,background .16s,box-shadow .16s;position:relative}.segmented-control a[aria-current=page]{color:#0e5ba7;background:linear-gradient(135deg,#daeffffa,#cff8faf0);border-color:#ffffffb8;box-shadow:inset 0 1px #fff,0 6px 16px #2563eb21}.message-section-nav a{background:linear-gradient(135deg,#fffffff0,#f1f8ffe0);border-color:#6795cc42;border-radius:14px;min-height:44px;transition:color .16s,border-color .16s,background .16s,box-shadow .16s,transform .16s;box-shadow:inset 0 1px #fff,0 7px 18px #1c488b12}.message-section-nav a[aria-current=page]{color:#0e5ba7;background:linear-gradient(135deg,#def0fffa,#d4f9f8f0);border-color:#2563eb47;box-shadow:inset 0 1px #fff,0 7px 18px #2563eb1f}.list-row,.group-chat-row,.quick-card,.notice-card,.metric-grid article,.contact-role-group,.campus-card,.content-module-card,.site-hero-card,.site-news-card,.login-panel,.language-fieldset{background-color:#ffffffe6;border-color:#6e97c740;box-shadow:inset 0 1px #fff,0 9px 25px #1e498b13}.list-row,.group-chat-row,.quick-card,.content-module-card,.site-news-card{transition:border-color .16s,box-shadow .16s,transform .16s}.list-icon,.quick-card>span,.feature-icon,.site-hero-card-icon{color:#fff;background:var(--brand-gradient);box-shadow:inset 0 1px #ffffff80,0 7px 16px #2563eb2e}.user-avatar{background:var(--brand-gradient);border-color:#ffffffb3;box-shadow:inset 0 1px #ffffff7a,0 7px 16px #2563eb29}.campus-hero{background:radial-gradient(circle at 12% 0,#06b6d426,#0000 42%),linear-gradient(135deg,#fafdff 0%,#eaf4ff 58%,#e6f9fa 100%);border-color:#6a9dd438;box-shadow:0 13px 34px #1b4c8f1a}.campus-card--school,.campus-card--family,.campus-card--notice,.campus-card--finance{background:linear-gradient(145deg,#fffffffa 34%,#e8f4fff0 100%)}.content-module-card--finance,.content-module-card--courseware,.content-module-card--news,.content-module-card--pages{background:linear-gradient(145deg,#fffffffa 28%,#e6f4fff0 100%)}.message-bubble--own{background:var(--brand-gradient);border-color:#ffffff42;box-shadow:0 8px 22px #2563eb2b}.message-composer{-webkit-backdrop-filter:blur(22px)saturate(1.35);background:#f4f9ffe6;border-top-color:#7099ca40;box-shadow:0 -8px 26px #1b478c1a}.message-send-button{isolation:isolate;border-radius:15px;min-width:44px;min-height:44px;position:relative;overflow:hidden}input:not([type=checkbox]):not([type=radio]),textarea,select,.search-box{background-color:#ffffffeb;border-color:#6e97c747;box-shadow:inset 0 1px #fff}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus,select:focus{border-color:#2563eb8c;box-shadow:0 0 0 4px #06b6d41f}@media (hover:hover) and (pointer:fine){.button:not(:disabled):hover,.icon-button:not(:disabled):hover,.language-switch-trigger:not(:disabled):hover,.page-back-button:hover,.message-section-nav a:hover,.bottom-nav a:hover{transform:translateY(-1px)}.list-row:hover,.group-chat-row:hover,.quick-card:hover,.content-module-card:hover,.site-news-card:hover{border-color:#2563eb4d;transform:translateY(-1px);box-shadow:inset 0 1px #fff,0 12px 28px #1e498b1f}}.button:not(:disabled):active,.icon-button:not(:disabled):active,.language-switch-trigger:not(:disabled):active,.page-back-button:active,.message-section-nav a:active,.bottom-nav a:active{transform:translateY(1px)scale(.985);box-shadow:inset 0 2px 5px #0a306929,0 3px 10px #1e498b1a}}@media screen and (prefers-reduced-motion:reduce){.button,.icon-button,.language-switch-trigger,.page-back-button,.bottom-nav a,.message-section-nav a,.list-row,.group-chat-row,.quick-card,.content-module-card,.site-news-card{transition:none}}@media screen and (prefers-reduced-transparency:reduce){.button--secondary,.language-switch-trigger,.icon-button,.page-back-button,.language-switch-menu,.avatar-preview-dialog,.bottom-nav,.segmented-control,.message-composer{-webkit-backdrop-filter:none;background-color:#f8fbff}}@media screen and (forced-colors:active){.button,.language-switch-trigger,.icon-button,.page-back-button,.segmented-control a,.message-section-nav a,.bottom-nav a,.list-row,.group-chat-row{color:buttontext;box-shadow:none;forced-color-adjust:auto;background:canvas;border:1px solid buttontext}.button--primary,.message-send-button,.segmented-control a[aria-current=page],.message-section-nav a[aria-current=page],.bottom-nav a.active{color:highlighttext;background:highlight}}@media screen{.role-preview-button,.group-header-menu-trigger,.group-panel-sheet>header button,.message-action-sheet>header button,.document-preview-dialog>header>button,.pwa-share-dialog>header>button,.composer-tool-button:not(.composer-tool-button--recording),.message-composer-reply button,.message-composer-selection button,.message-composer-image-summary button,.message-selection-cancel,.pwa-update-later{color:#345374;background:linear-gradient(135deg,#fffffff0,#e1f3ffdb);border:1px solid #729bcc3d;box-shadow:inset 0 1px #fff,0 6px 15px #1e498b14}.group-header-menu-trigger,.composer-tool-button:not(.composer-tool-button--recording){min-width:40px;min-height:40px}.message-action-options>button:not(.message-action-danger),.message-forward-list form>button{background:linear-gradient(135deg,#fffffffa,#eaf6ffeb);border:1px solid #729bcc33;box-shadow:inset 0 1px #fff}.message-action-options form:not(:has(.message-action-danger)) button{background:linear-gradient(135deg,#fffffffa,#eaf6ffeb);border:1px solid #729bcc33;box-shadow:inset 0 1px #fff}.pwa-update-notice,.message-action-sheet,.pwa-share-dialog,.document-preview-dialog{-webkit-backdrop-filter:blur(24px)saturate(1.35);background:#fffffff0;border-color:#6891c547;box-shadow:0 20px 52px #16448a33}.pwa-update-apply{color:#fff;background:var(--brand-gradient);border:1px solid #ffffff57;border-radius:13px;min-height:40px;box-shadow:inset 0 1px #fff9,0 7px 17px #2563eb33}.message-selection-delete{color:#fff;background:linear-gradient(135deg,#dc4c64,#b42348);border:1px solid #ffffff57;min-height:40px;box-shadow:inset 0 1px #ffffff70,0 7px 17px #b4234830}.message-action-options .message-action-danger,.account-status-button--disable,.text-button{color:#a63f32}.app-viewport .page-heading h1{color:#12366a;-webkit-text-fill-color:#12366a;text-shadow:none;background:0 0;-webkit-background-clip:border-box;background-clip:border-box}.page-back-button{z-index:80;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));color:#135fb1;opacity:1;visibility:visible;pointer-events:auto;background:linear-gradient(135deg,#fffffffa,#d2f1fff0);border:1px solid #2563eb57;flex:0 0 42px;place-items:center;width:42px;min-width:42px;height:42px;display:grid;position:fixed;box-shadow:inset 0 1px #fff,0 10px 26px #18489138,0 0 0 3px #ffffff80}.page-back-button--app{right:max(16px,50vw - 224px);bottom:calc(86px + env(safe-area-inset-bottom))}.page-back-button svg{stroke-width:2.5px;width:19px;height:19px}}@media screen and (prefers-reduced-transparency:reduce){.page-back-button{-webkit-backdrop-filter:none;background:#f8fbff}}@media screen and (forced-colors:active){.app-viewport .page-heading h1{color:canvastext;-webkit-text-fill-color:CanvasText}.page-back-button{color:buttontext;box-shadow:none;background:canvas;border:1px solid buttontext}}body:has(.school-site--home){min-width:0}.school-site--home{background:#f7fafc}.school-site--home .site-header{background:#fff}.school-site--home .button{min-height:42px;box-shadow:none;-webkit-backdrop-filter:none;border-radius:12px}.school-site--home .button:before{display:none}.school-site--home .button--primary{color:#fff;background:#226b91;border-color:#226b91}.school-site--home .button--primary:hover{background:#185774}.school-site--home .button--secondary{color:#245267;background:#fff;border-color:#c9dce2}.school-site--home .site-hero{padding:32px 20px 24px;display:block}.school-site--home .site-intro-card{background:linear-gradient(120deg,#fff 25%,#edf6f1 100%);border-color:#d8e7e5;border-radius:26px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:12px 28px;margin:0;padding:30px;display:grid;box-shadow:0 10px 32px #25524e0f}.site-intro-copy{grid-area:1/1;min-width:0}.school-site--home .site-intro-card h1{color:#183e43;-webkit-text-fill-color:currentColor;letter-spacing:0;overflow-wrap:anywhere;background:0 0;max-width:580px;margin:12px 0 16px;font-size:clamp(1.45rem,3vw,2.3rem);line-height:1.5}html[data-locale=my] .school-site--home .site-intro-card h1{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.65}.school-site--home .site-intro-summary{color:#526c71;grid-area:2/1;margin:0;font-size:.94rem}.school-site--home .site-hero-actions{grid-area:3/1;gap:10px;width:auto;display:flex}.school-site--home .site-hero-actions>.button{width:auto}.site-intro-art{object-fit:contain;object-position:right center;grid-area:1/2/4;width:100%;height:270px;display:block}.school-site--home .site-intro-details{grid-column:1/-1;min-width:0}.school-site--home .site-intro-details summary{color:#226b91}.site-features-section{width:min(100%,1120px);margin:0 auto;padding:20px 20px 32px}.site-section-heading{margin-bottom:20px}.school-site--home .eyebrow{color:#26746a}.site-section-heading h2,.school-site--home .site-news-section h2,.site-app-banner h2{color:#234950;margin:8px 0 10px;font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.55}.site-section-heading p{color:#61767b;margin:0;font-size:.88rem;line-height:1.8}.site-features-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.site-feature-card{color:#234950;background:#fff;border:1px solid #dce8e7;border-radius:20px;flex-direction:column;min-width:0;padding:18px;display:flex;box-shadow:0 5px 16px #25524e06}.site-feature-card--languages{background:linear-gradient(#edf6fc,#fff 75%)}.site-feature-card--growth{background:linear-gradient(#faf5e8,#fff 75%)}.site-feature-card--family{background:linear-gradient(#edf6ef,#fff 75%)}.site-feature-card--digital{background:linear-gradient(#eff4fb,#fff 75%)}.site-feature-picture{place-items:center;height:128px;margin-bottom:12px;display:grid}.site-feature-picture img{object-fit:contain;width:100%;height:100%;display:block}.site-feature-card h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:1rem;line-height:1.55}.site-feature-card p{color:#61767b;overflow-wrap:anywhere;flex:1;margin:0 0 12px;font-size:.82rem;line-height:1.75}.site-feature-link,.site-app-login{color:#226b91;align-items:center;gap:4px;font-size:.8rem;font-weight:700;display:inline-flex}.site-feature-link svg{width:15px;height:15px}.site-feature-card:hover{border-color:#94b9b0}.site-feature-card:focus-visible{outline-offset:3px;outline:2px solid #226b91}.school-site--home .site-news-section{padding:20px 20px 32px}.school-site--home .site-news-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.school-site--home .site-news-card{background:#fff;border-color:#dce8e7;gap:10px;max-width:540px;padding:18px;box-shadow:0 5px 16px #25524e06}.site-news-cover{background:linear-gradient(135deg,#eaf4ed,#f6f3e7);border-radius:12px;height:174px;margin-bottom:4px;overflow:hidden}.site-news-cover img{object-fit:contain;width:100%;height:100%;padding:10px;display:block}.school-site--home .site-news-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.site-app-banner{background:linear-gradient(120deg,#edf5fa,#f0f7ef);border:1px solid #d8e7e5;border-radius:24px;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:20px;width:min(100% - 40px,1080px);margin:16px auto 48px;padding:26px;scroll-margin-top:24px;display:grid}.site-app-copy{grid-area:1/1;min-width:0}.site-app-description{color:#61767b;grid-area:2/1;margin:0;font-size:.9rem;line-height:1.8}.site-app-actions{flex-wrap:wrap;grid-area:3/1;align-items:center;gap:14px;display:flex}.site-app-actions .site-hero-install{width:auto;max-width:100%}.site-app-art{object-fit:contain;grid-area:1/2/4;width:100%;height:190px;display:block}@media (width<=760px){.school-site--home .site-hero{padding:20px 16px 18px}.school-site--home .site-intro-card{border-radius:22px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px 12px;padding:20px}.site-intro-art{object-position:right center;grid-row:1;height:clamp(120px,30vw,170px)}.school-site--home .site-intro-card h1{margin:8px 0 0;font-size:clamp(1.15rem,4vw,1.4rem);line-height:1.45}html[data-locale=my] .school-site--home .site-intro-card h1{font-size:1.15rem}.school-site--home .site-intro-summary{grid-column:1/-1;font-size:.88rem}.school-site--home .site-hero-actions{flex-wrap:wrap;grid-column:1/-1}.school-site--home .site-hero-actions>.button{flex:120px;min-width:0;font-size:.8rem}.site-features-section{padding:14px 16px 24px}.site-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-feature-card{border-radius:18px;padding:14px}.site-feature-picture{height:104px}.site-feature-card h3{font-size:.95rem}.site-feature-card p{font-size:.78rem}.school-site--home .site-news-section{padding:14px 16px 24px}.site-app-banner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px 12px;width:calc(100% - 32px);margin:8px auto 32px;padding:20px}.site-app-banner h2{margin-bottom:0;font-size:clamp(1.15rem,4vw,1.4rem)}.site-app-art{grid-row:1;height:120px}.site-app-description{grid-column:1/-1}.site-app-actions{flex-direction:column;grid-column:1/-1;align-items:flex-start}.site-app-actions .site-hero-install{width:100%}}@media (width<=360px){.site-feature-card{padding:11px}.site-feature-picture{height:90px}}body:has(.school-site--campus){min-width:0}.school-site--campus{background:#f7fafc}.school-site--campus .site-header{background:#fff}.school-site--campus .button{max-width:100%;min-height:42px;box-shadow:none;-webkit-backdrop-filter:none;text-align:center;border-radius:12px}.school-site--campus .button:before{display:none}.school-site--campus .button--primary{color:#fff;background:#226b91;border-color:#226b91}.school-site--campus .button--primary:hover{background:#185774}.learning-page,.homework-list-page,.homework-detail-page,.homework-editor-page{gap:15px;display:grid}.learning-hero,.homework-list-hero,.homework-editor-hero,.homework-detail-hero{isolation:isolate;background:linear-gradient(135deg,#fff9e8 0%,#ecf9f5 56%,#e7f6ff 100%);border:1px solid #227e6f24;border-radius:24px;align-items:center;min-height:170px;padding:23px 43% 22px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #195f5014}.learning-hero:before,.homework-list-hero:before,.homework-editor-hero:before,.homework-detail-hero:before{content:"";background:#ffd05b4d;border-radius:50%;width:74px;height:74px;position:absolute;inset:-30px auto auto -24px}.learning-hero>div,.homework-list-hero>div,.homework-editor-hero>div,.homework-detail-hero>div{z-index:2;min-width:0;position:relative}.learning-hero>svg,.homework-list-hero>svg,.homework-editor-hero>svg,.homework-detail-hero>svg{z-index:1;filter:drop-shadow(0 12px 14px #176b541f);width:48%;height:100%;position:absolute;bottom:0;right:-2%}.learning-hero span,.homework-list-hero>div>span,.homework-editor-hero>div>span{color:var(--brand);letter-spacing:.08em;font-size:.7rem;font-weight:900}.learning-hero h1,.homework-list-hero h1,.homework-editor-hero h1,.homework-detail-hero h1{letter-spacing:-.025em;margin:6px 0 0;font-size:clamp(1.35rem,5vw,1.7rem);line-height:1.35}.learning-hero p,.homework-list-hero p,.homework-editor-hero p,.homework-detail-hero p{color:#496a63;margin:8px 0 0;font-size:.8rem;line-height:1.65}.homework-list-hero .button{min-height:40px;margin-top:13px;padding:8px 13px;font-size:.74rem}.learning-module-grid{gap:12px;display:grid}.learning-module-card{min-height:178px;color:var(--ink);background:#fff;border:1px solid #176b5421;border-radius:22px;grid-template-columns:42% minmax(0,1fr);align-items:center;padding:15px 17px 15px 7px;display:grid;position:relative;overflow:hidden;box-shadow:0 9px 24px #1c58440f}.learning-module-card--courseware{background:linear-gradient(135deg,#f4fbff,#fff 55%,#eaf8f2)}.learning-module-card--homework{background:linear-gradient(135deg,#fff9e8,#fff 55%,#edf9f5)}.learning-module-card>svg{filter:drop-shadow(0 9px 11px #176b541a);width:100%;height:145px}.learning-module-card>div{z-index:2;min-width:0;position:relative}.learning-module-card>div>span{color:#176b54;background:#dbf3eae6;border-radius:999px;margin-bottom:7px;padding:5px 9px;font-size:.65rem;font-weight:850;display:inline-flex}.learning-module-card h2{margin:0;font-size:1.12rem}.learning-module-card p{color:var(--muted);margin:7px 0 11px;font-size:.75rem;line-height:1.55}.learning-module-card strong{color:var(--brand);font-size:.75rem}.campus-card--homework-entry{background:linear-gradient(135deg,#fff9e9,#fff 48%,#e7f8f2);grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px 10px;min-height:138px;display:grid}.homework-entry-art{filter:drop-shadow(0 7px 9px #176b541a);grid-row:1;width:98px;height:100px}.homework-entry-copy{min-width:0}.homework-entry-copy h2{font-size:1.04rem}.homework-entry-copy p{color:var(--muted);margin:5px 0 0;font-size:.72rem;line-height:1.5}.campus-card--homework-entry .button{grid-column:1/-1;min-height:40px;font-size:.76rem}.homework-card-list{gap:10px;display:grid}.homework-card{min-width:0;color:var(--ink);background:#fff;border:1px solid #176b5421;border-radius:19px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;display:grid;box-shadow:0 7px 19px #1c58440d}.homework-card-icon{color:#176b54;background:#e2f5ed;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.homework-card-icon--en{background:#e6f3ff}.homework-card-icon--my{background:#fff2cf}.homework-card-copy{gap:4px;min-width:0;display:grid}.homework-card-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.4;overflow:hidden}.homework-card-copy>span:not(.homework-card-topline),.homework-card-copy>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;line-height:1.45;overflow:hidden}.homework-card-topline{justify-content:space-between;align-items:center;gap:7px;min-width:0;display:flex}.homework-card-topline em{color:var(--brand);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-style:normal;font-weight:800;overflow:hidden}.homework-status{color:#176b54;white-space:nowrap;background:#e5f5ee;border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:.62rem;font-style:normal;font-weight:850;display:inline-flex}.homework-status--draft{color:#765f22;background:#fff3cc}.homework-status--closed,.homework-status--archived{color:#62706c;background:#eef1f0}.homework-card-score{min-width:45px;color:var(--brand);justify-items:end;gap:1px;display:grid}.homework-card-score strong{font-size:.9rem}.homework-card-score small{color:#efad2f;letter-spacing:-.05em;font-size:.65rem}.homework-card-chevron{width:17px;color:var(--brand)}.homework-card-list .empty-state svg{width:120px;height:90px}.homework-form-card,.homework-question-editor,.homework-preview-list,.homework-results-section,.homework-detail-meta{background:#fff;border:1px solid #176b5421;border-radius:20px;padding:16px;box-shadow:0 8px 22px #1c58440d}.homework-builder,.homework-questions-section{gap:14px;display:grid}.homework-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.homework-form-grid label,.homework-question-editor>label,.homework-question-fields label,.homework-pair-grid label{min-width:0;color:var(--muted);gap:6px;font-size:.7rem;font-weight:750;display:grid}.homework-form-wide{grid-column:1/-1}.homework-setting-list{border-top:1px solid var(--line);gap:9px;margin-top:15px;padding-top:14px;display:grid}.homework-setting-list label{color:var(--ink);align-items:flex-start;gap:9px;font-size:.75rem;line-height:1.5;display:flex}.homework-setting-list input{width:18px;height:18px;accent-color:var(--brand);margin:1px 0 0}.homework-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.homework-section-heading h2{margin:0;font-size:1.05rem}.homework-section-heading span{color:var(--muted);font-size:.68rem}.homework-section-heading .button{min-height:38px;padding:7px 10px;font-size:.7rem}.homework-question-list{gap:12px;display:grid}.homework-question-editor{gap:13px;display:grid}.homework-question-editor>header{grid-template-columns:34px minmax(0,1fr) 34px;align-items:end;gap:9px;display:grid}.homework-question-editor>header>strong{color:#176b54;background:#dff4eb;border-radius:12px;place-items:center;width:34px;height:34px;display:grid}.homework-question-editor>header label{color:var(--muted);gap:4px;font-size:.65rem;font-weight:750;display:grid}.homework-question-editor>header button{color:#a94f45;background:#fff0ed;border:0;border-radius:11px;place-items:center;width:34px;height:34px;font-size:1.2rem;display:grid}.homework-question-fields{gap:12px;display:grid}.homework-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.homework-pair-grid{gap:9px;display:grid}.homework-pair-grid>div{background:#f5faf8;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;display:grid}.homework-editor-actions{z-index:8;bottom:calc(72px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #176b5421;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;display:grid;position:sticky;box-shadow:0 8px 24px #1c58441f}.page-level-back{width:fit-content;color:var(--brand);align-items:center;gap:4px;font-size:.76rem;font-weight:800;display:inline-flex}.page-level-back svg{width:17px}.homework-detail-hero{min-height:190px}.homework-detail-hero .homework-status{margin-bottom:4px}.homework-detail-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.homework-detail-tags span{color:#315e50;background:#e8f6f0e6;border-radius:999px;padding:5px 8px;font-size:.63rem;font-weight:750}.homework-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.homework-detail-meta>div{background:#f4faf7;border-radius:13px;gap:4px;padding:11px;display:grid}.homework-detail-meta span{color:var(--muted);font-size:.64rem}.homework-detail-meta strong{overflow-wrap:anywhere;font-size:.76rem;line-height:1.45}.homework-ready-card,.homework-result-card{text-align:center;background:linear-gradient(135deg,#fff 20%,#eaf9f3);border:1px solid #176b5424;border-radius:21px;align-items:center;gap:12px;padding:17px;display:grid;box-shadow:0 9px 23px #1c58440f}.homework-ready-card{text-align:left;grid-template-columns:38% minmax(0,1fr)}.homework-ready-card svg{width:100%;height:120px}.homework-ready-card h2,.homework-result-card h2{margin:0;font-size:1.08rem}.homework-ready-card p,.homework-result-card p{color:var(--muted);margin:6px 0 11px;font-size:.72rem;line-height:1.55}.homework-result-card--celebrate{background:linear-gradient(135deg,#fff8dd,#fff 46%,#e7f8f1);animation:.46s ease-out homework-arrive}.homework-result-stars{color:#f1ae2e;letter-spacing:.08em;font-size:1.8rem}.homework-result-card>div>strong{color:var(--brand);font-size:1.18rem}.homework-preview-list,.homework-results-section{gap:10px;display:grid}.homework-preview-list h2,.homework-results-section h2{margin:0;font-size:1rem}.homework-preview-list article{background:#f5faf8;border-radius:13px;gap:4px;padding:11px;display:grid}.homework-preview-list article strong{font-size:.78rem}.homework-preview-list article span{color:var(--brand);font-size:.65rem;font-weight:800}.homework-preview-list article small{color:var(--muted);font-size:.67rem;line-height:1.5}.homework-manage-actions{flex-wrap:wrap;gap:8px;display:flex}.homework-manage-actions form{flex:110px}.homework-manage-actions .button{width:100%}.homework-results-section>header p{color:var(--muted);margin:4px 0 0;font-size:.7rem}.homework-results-list{gap:7px;display:grid}.homework-results-list article{background:#f5faf8;border-radius:13px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px;display:grid}.homework-results-list article>span{gap:2px;display:grid}.homework-results-list article>span:nth-child(2){text-align:right}.homework-results-list strong{font-size:.76rem}.homework-results-list small{color:var(--muted);font-size:.62rem}.homework-results-list em{color:#efad2f;letter-spacing:-.04em;font-size:.7rem;font-style:normal}.app-content--homework-play{padding:0!important}.homework-play-page{color:#153c3a;background:linear-gradient(#eef9ff 0%,#f9fbff 42%,#f1faf6 100%);grid-template-rows:auto 1fr auto;min-height:calc(100dvh - 92px);display:grid}.homework-play-ready{text-align:center;align-content:center;place-items:center;gap:10px;min-height:calc(100dvh - 92px);padding:26px}.homework-play-ready>svg{width:min(75vw,280px);height:190px}.homework-play-ready>span{color:#176b54;background:#dcf2e9;border-radius:999px;padding:5px 10px;font-size:.68rem;font-weight:850}.homework-play-ready h1{margin:0;font-size:1.5rem}.homework-play-ready p{color:#5c726e;max-width:330px;margin:0 0 10px;font-size:.82rem;line-height:1.7}.homework-play-ready .button{width:min(100%,320px);min-height:50px}.homework-play-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;padding:16px 18px 11px}.homework-play-header>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.homework-play-header span{color:#347668;font-size:.7rem;font-weight:800}.homework-play-header strong{text-overflow:ellipsis;white-space:nowrap;max-width:58%;font-size:.78rem;overflow:hidden}.homework-progress-track{background:#dceae6;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.homework-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#36bc99,#25a6cb);height:100%;transition:width .22s;display:block}.homework-question-stage{text-align:center;align-content:start;justify-items:center;gap:12px;min-width:0;padding:24px 18px;display:grid}.homework-question-number{color:#176b54;background:#dff4eb;border-radius:12px;place-items:center;width:34px;height:34px;font-size:.78rem;font-weight:900;display:grid}.homework-question-stage h1{max-width:380px;margin:0;font-size:clamp(1.2rem,5.5vw,1.55rem);line-height:1.45}.homework-question-stage>p{color:#5f7771;margin:0;font-size:.76rem;line-height:1.6}.homework-listening-art{width:min(57vw,230px);height:135px}.homework-audio-button{color:#fff;background:linear-gradient(135deg,#2cb58f,#239fc4);border:0;border-radius:999px;align-items:center;gap:9px;min-height:48px;padding:10px 18px;font-size:.8rem;font-weight:850;display:inline-flex;box-shadow:0 8px 18px #1e978238}.homework-audio-button span{color:#176b54;background:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.65rem;display:grid}.homework-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;max-width:390px;margin-top:4px;display:grid}.homework-choice-grid button{color:#244b47;text-align:left;background:#fff;border:2px solid #0000;border-radius:16px;align-items:center;gap:9px;min-height:62px;padding:10px;font-size:.78rem;font-weight:750;display:flex;box-shadow:0 6px 16px #1c58440f}.homework-choice-grid button span{color:#176b54;background:#e3f5ed;border-radius:10px;flex:none;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.homework-choice-grid button.selected{background:#eaf8f3;border-color:#2eaa8b;transform:translateY(-1px)}.homework-match-list{gap:9px;width:100%;max-width:400px;display:grid}.homework-match-list label{text-align:left;background:#fff;border-radius:15px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:10px;display:grid;box-shadow:0 6px 16px #1c58440f}.homework-match-list strong{overflow-wrap:anywhere;font-size:.76rem}.homework-match-list label>span{color:#2a9c82;font-weight:900}.homework-match-list select{min-width:0;font-size:.72rem}.homework-answer-error{font-weight:750;color:#a64f45!important}.homework-play-actions{padding:11px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#ffffffeb;border-top:1px solid #176b541f;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.homework-play-actions form{display:grid}.homework-play-actions .button{min-height:48px}.content-module-card--homework{background:linear-gradient(145deg,#fff 28%,#fff7dc 100%)}.content-module-art--svg{width:92%;height:73%;top:-4%;right:-6%}@keyframes homework-arrive{0%{opacity:0;transform:translateY(9px)scale(.98)}to{opacity:1;transform:none}}.app-content--homework-editor{padding-bottom:24px}.homework-editor-hero--compact{min-height:142px;padding-block:18px}.homework-editor-hero--compact>svg{width:42%}.learning-hero,.learning-module-card,.homework-list-hero,.homework-card{animation:.34s cubic-bezier(.2,.78,.25,1) both homework-card-enter}.learning-module-card:nth-child(2),.homework-card:nth-child(2){animation-delay:70ms}.learning-module-card:active,.homework-card:active{transform:scale(.985)}.homework-stepper{background:#ffffffdb;border:1px solid #176b5421;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:7px;display:grid;box-shadow:0 7px 20px #1c58440d}.homework-stepper button{color:#71817d;text-align:left;background:0 0;border:0;border-radius:13px;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:7px;display:grid}.homework-stepper button>span{color:#48635d;background:#eef4f2;border-radius:10px;place-items:center;width:27px;height:27px;font-size:.66rem;font-weight:900;display:grid}.homework-stepper button>strong{text-overflow:ellipsis;font-size:.66rem;line-height:1.35;overflow:hidden}.homework-stepper button.is-active{color:#145b49;background:linear-gradient(135deg,#e4f7ef,#e8f6ff)}.homework-stepper button.is-active>span{color:#fff;background:linear-gradient(135deg,#2cb58f,#279fc5);box-shadow:0 5px 11px #259f8f33}.homework-stepper button.is-complete>span{color:#176b54;background:#dff4eb}.homework-step-panel{animation:.26s ease-out both homework-step-enter}.homework-step-panel[hidden]{display:none!important}.homework-step-heading{align-items:center;gap:10px;margin-bottom:15px;display:flex}.homework-step-heading>span{color:#176b54;background:#dff4eb;border-radius:12px;flex:none;place-items:center;width:34px;height:34px;font-size:.76rem;font-weight:900;display:grid}.homework-step-heading h2{margin:0;font-size:1.02rem}.homework-step-heading p{color:var(--muted);margin:3px 0 0;font-size:.68rem;line-height:1.5}.homework-question-editor>header>div{gap:3px;min-width:0;display:grid}.homework-question-editor>header>div>span{color:var(--muted);font-size:.62rem;font-weight:750}.homework-question-editor>header>div>b{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.homework-type-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.homework-type-picker>button{color:#315a51;text-align:left;background:#fff;border:2px solid #e1ece8;border-radius:15px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:10px;transition:border-color .15s,background .15s,transform .15s;display:grid}.homework-type-picker>button>span{color:#176b54;background:#e6f5ef;border-radius:11px;place-items:center;width:34px;height:34px;font-size:1rem;font-weight:900;display:grid}.homework-type-picker>button strong,.homework-type-picker>button small{display:block}.homework-type-picker>button strong{font-size:.7rem;line-height:1.35}.homework-type-picker>button small{color:var(--muted);margin-top:3px;font-size:.57rem;line-height:1.45}.homework-type-picker>button.is-selected{background:#edfaf5;border-color:#35aa8b;transform:translateY(-1px)}.homework-review-card{background:linear-gradient(145deg,#fff 22%,#edf9f4);border:1px solid #176b5421;border-radius:20px;gap:13px;padding:16px;display:grid;box-shadow:0 8px 22px #1c58440d}.homework-review-summary{flex-wrap:wrap;gap:7px;display:flex}.homework-review-summary strong{width:100%;font-size:.9rem}.homework-review-summary span{color:#315e50;background:#e5f5ee;border-radius:999px;padding:5px 8px;font-size:.64rem;font-weight:750}.homework-review-questions{gap:7px;display:grid}.homework-review-questions article{background:#ffffffdb;border-radius:13px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:9px;display:grid}.homework-review-questions article>span{color:#176b54;background:#dff4eb;border-radius:10px;place-items:center;width:30px;height:30px;font-size:.68rem;font-weight:900;display:grid}.homework-review-questions article div{gap:2px;min-width:0;display:grid}.homework-review-questions strong{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.homework-review-questions small{color:var(--muted);font-size:.61rem}.app-viewport--homework-editor .homework-editor-actions{bottom:calc(10px + env(safe-area-inset-bottom))}.homework-editor-actions--step-1{grid-template-columns:minmax(0,1fr)}.homework-editor-actions--step-3{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-editor-actions--step-3 .button:last-child{grid-column:1/-1}.homework-buddy-eyes,.homework-cloud-eyes{transform-box:fill-box;transform-origin:50%;animation:3.4s .55s homework-blink}.homework-buddy-board{transform-box:fill-box;transform-origin:50%;animation:.52s cubic-bezier(.2,.86,.3,1.25) .18s both homework-board-check}.homework-buddy-pencil{transform-box:fill-box;transform-origin:20% 80%;animation:.6s ease-out .26s both homework-pencil-tick}.homework-ready-cloud{animation:.52s cubic-bezier(.2,.84,.3,1.15) both homework-cloud-arrive}.homework-listening-art.is-listening{animation:.9s ease-in-out infinite alternate homework-listening-breathe}.homework-listening-art.is-listening .homework-cloud-sound{animation:.68s ease-in-out infinite alternate homework-sound-rays}.app-content--homework-play{min-height:0;overflow:hidden}.homework-play-page{height:calc(100dvh - 86px);min-height:0;overflow:hidden}.homework-play-ready{grid-template-rows:auto auto auto auto auto;align-content:center;height:100%;min-height:0}.homework-play-ready>svg{height:154px}.homework-question-stage{overscroll-behavior:contain;align-content:start;gap:10px;min-height:0;padding:18px;overflow-y:auto}.homework-question-stage--arrive{animation:.22s ease-out both homework-question-enter}.homework-listening-art{height:94px}.homework-audio-button{transition:transform .13s,box-shadow .16s}.homework-audio-button:active{transform:scale(.97)}.homework-audio-button.is-playing{box-shadow:0 9px 22px #1e97824d}.homework-audio-symbol{overflow:hidden}.homework-audio-waves{justify-content:center;align-items:center;gap:2px;background:0 0!important;border-radius:0!important;width:16px!important;height:15px!important;display:flex!important}.homework-audio-waves i{background:#176b54;border-radius:999px;width:3px;animation:.54s ease-in-out infinite alternate homework-audio-wave}.homework-audio-waves i:first-child{height:7px}.homework-audio-waves i:nth-child(2){height:14px;animation-delay:.11s}.homework-audio-waves i:nth-child(3){height:9px;animation-delay:.22s}.homework-choice-grid button{transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.homework-choice-grid button:active{transform:scale(.985)}.homework-choice-grid button.selected{animation:.18s ease-out homework-answer-pop;box-shadow:0 8px 20px #2aa68521}.homework-match-guide{color:#317261;background:#e4f5ef;border-radius:999px;min-height:30px;padding:6px 10px;font-size:.68rem;font-weight:800}.homework-match-columns{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:7px;width:100%;max-width:410px;display:grid}.homework-match-columns>div{gap:8px;display:grid}.homework-match-columns button{color:#244b47;text-align:center;background:#fff;border:2px solid #0000;border-radius:15px;align-content:center;gap:3px;min-height:62px;padding:9px;font-size:.75rem;transition:border-color .15s,background .15s,transform .15s;display:grid;box-shadow:0 6px 16px #1c58440f}.homework-match-columns button:active{transform:scale(.975)}.homework-match-columns button.is-selected{background:#e7f8f1;border-color:#2eaa8b;transform:translateY(-2px)}.homework-match-columns button.is-matched{background:#f0fbf7;border-color:#8dd9c2}.homework-match-columns button strong{overflow-wrap:anywhere;font-size:.76rem}.homework-match-columns button small{color:#2a8e75;font-size:.58rem;line-height:1.35}.homework-match-bridge{color:#2eaa8b;font-size:1rem;font-weight:950}.homework-play-actions{z-index:4;flex:none;position:relative}.homework-result-card--celebrate{animation:.52s cubic-bezier(.18,.88,.32,1.18) homework-result-arrive;position:relative;overflow:hidden}.homework-result-celebration{width:126px;height:98px;margin:-4px auto -3px;position:relative}.homework-result-buddy{z-index:2;width:126px;height:98px;animation:.76s cubic-bezier(.2,.88,.3,1.2) 90ms both homework-buddy-celebrate;position:relative}.homework-result-celebration i{z-index:1;opacity:0;width:7px;height:12px;animation:homework-confetti .82s calc(var(--piece) * 32ms) ease-out both;background:#ffd15f;border-radius:3px;position:absolute;top:65%;left:50%}.homework-result-celebration i:nth-of-type(3n+2){background:#6fd8c5}.homework-result-celebration i:nth-of-type(3n){background:#ff8b78}.homework-result-celebration i:first-of-type{--x:-52px;--y:-46px;--r:-70deg}.homework-result-celebration i:nth-of-type(2){--x:-36px;--y:-68px;--r:35deg}.homework-result-celebration i:nth-of-type(3){--x:-15px;--y:-54px;--r:-25deg}.homework-result-celebration i:nth-of-type(4){--x:9px;--y:-72px;--r:80deg}.homework-result-celebration i:nth-of-type(5){--x:31px;--y:-55px;--r:-45deg}.homework-result-celebration i:nth-of-type(6){--x:52px;--y:-40px;--r:65deg}.homework-result-celebration i:nth-of-type(7){--x:-60px;--y:-22px;--r:25deg}.homework-result-celebration i:nth-of-type(8){--x:59px;--y:-17px;--r:-65deg}.homework-result-celebration i:nth-of-type(9){--x:-43px;--y:-31px;--r:92deg}.homework-result-celebration i:nth-of-type(10){--x:43px;--y:-35px;--r:-90deg}.homework-result-stars{color:#d8dfdc;letter-spacing:0;justify-content:center;gap:5px;display:flex}.homework-result-stars span.is-earned{color:#f1ae2e}.homework-result-card--celebrate .homework-result-stars span{animation:.42s cubic-bezier(.2,.9,.3,1.35) both homework-star-pop}.homework-result-card--celebrate .homework-result-stars span:nth-child(2){animation-delay:.12s}.homework-result-card--celebrate .homework-result-stars span:nth-child(3){animation-delay:.24s}.homework-result-card small{color:var(--muted);font-size:.66rem;line-height:1.5}@keyframes homework-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes homework-step-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@keyframes homework-question-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes homework-answer-pop{0%{transform:scale(.98)}70%{transform:scale(1.015)}to{transform:translateY(-1px)}}@keyframes homework-blink{0%,44%,50%,to{transform:scaleY(1)}47%{transform:scaleY(.12)}}@keyframes homework-board-check{0%{opacity:.3;transform:translateY(7px)rotate(4deg)scale(.92)}to{opacity:1;transform:none}}@keyframes homework-pencil-tick{0%{opacity:0;transform:translate(8px,-7px)rotate(12deg)}55%{opacity:1;transform:translate(-2px,2px)rotate(-8deg)}to{opacity:1;transform:none}}@keyframes homework-cloud-arrive{0%{opacity:0;transform:translateY(12px)scale(.92)}to{opacity:1;transform:none}}@keyframes homework-listening-breathe{0%{transform:scale(.985)}to{transform:scale(1.025)}}@keyframes homework-sound-rays{0%{opacity:.35;transform:scale(.9)}to{opacity:1;transform:scale(1.08)}}@keyframes homework-audio-wave{0%{transform:scaleY(.55)}to{transform:scaleY(1)}}@keyframes homework-result-arrive{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@keyframes homework-buddy-celebrate{0%{opacity:0;transform:translateY(18px)scale(.88)rotate(-4deg)}65%{opacity:1;transform:translateY(-4px)scale(1.04)rotate(3deg)}to{opacity:1;transform:none}}@keyframes homework-confetti{0%{opacity:0;transform:translate(0)rotate(0)}25%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}@keyframes homework-star-pop{0%{opacity:0;transform:scale(.25)rotate(-18deg)}to{opacity:1;transform:none}}html[data-locale=my] .learning-hero h1,html[data-locale=my] .homework-list-hero h1,html[data-locale=my] .homework-editor-hero h1,html[data-locale=my] .homework-detail-hero h1,html[data-locale=my] .homework-question-stage h1{letter-spacing:0;line-height:1.7}@media (width<=380px){.learning-hero,.homework-list-hero,.homework-editor-hero,.homework-detail-hero{min-height:158px;padding:19px 41% 18px 15px}.learning-module-card{grid-template-columns:39% minmax(0,1fr);padding-inline-end:13px}.learning-module-card>svg{height:130px}.homework-form-grid,.homework-option-grid{grid-template-columns:minmax(0,1fr)}.homework-form-wide{grid-column:auto}.homework-pair-grid>div{grid-template-columns:minmax(0,1fr)}.homework-card{grid-template-columns:44px minmax(0,1fr) auto;padding:12px}.homework-card-icon{width:44px;height:44px}.homework-type-picker{grid-template-columns:minmax(0,1fr)}}@media (width<=340px){.homework-choice-grid{grid-template-columns:minmax(0,1fr)}.homework-stepper button{grid-template-columns:24px minmax(0,1fr);padding:6px 4px}.homework-stepper button>span{width:24px;height:24px}}@media (height<=740px){.homework-play-ready{gap:7px;padding:18px}.homework-play-ready>svg{height:124px}.homework-question-stage{gap:8px;padding-block:13px}.homework-listening-art{height:72px}.homework-choice-grid button{min-height:54px}}@media (prefers-reduced-motion:reduce){.learning-hero,.learning-module-card,.homework-list-hero,.homework-card,.homework-step-panel,.homework-question-stage--arrive,.homework-result-card--celebrate,.homework-buddy-eyes,.homework-buddy-board,.homework-buddy-pencil,.homework-ready-cloud,.homework-listening-art.is-listening,.homework-listening-art.is-listening .homework-cloud-sound,.homework-audio-waves i,.homework-choice-grid button.selected,.homework-result-buddy,.homework-result-celebration i,.homework-result-card--celebrate .homework-result-stars span{animation:none!important}.homework-progress-track span,.homework-choice-grid button,.homework-type-picker>button,.homework-match-columns button,.homework-audio-button{scroll-behavior:auto;transition:none}}.school-site--campus .button--secondary{color:#245267;background:#fff;border-color:#c9dce2}.school-site--campus .eyebrow{color:#26746a;letter-spacing:0}.school-site--campus .site-article,.school-site--campus .site-list-page{width:min(100%,1040px);padding:28px 20px 48px}.school-site--campus .site-campus-heading{background:linear-gradient(120deg,#fff,#eef6f0);border:1px solid #d8e7e5;border-radius:24px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:10px 22px;margin-bottom:24px;padding:24px;display:grid}.site-campus-heading-copy{grid-area:1/1;min-width:0}.school-site--campus .site-campus-heading h1{color:#234950;-webkit-text-fill-color:currentColor;letter-spacing:0;overflow-wrap:anywhere;background:0 0;margin:8px 0 0;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.5}html[data-locale=my] .school-site--campus .site-campus-heading h1{font-size:clamp(1.3rem,2.8vw,2rem);line-height:1.65}.site-campus-heading-art{object-fit:contain;grid-area:1/2/3;width:100%;height:170px;display:block}.school-site--campus .site-campus-heading-summary{color:#61767b;overflow-wrap:anywhere;grid-area:2/1;margin:0;font-size:.94rem;line-height:1.85}.site-campus-content{background:#fff;border:1px solid #dce8e7;border-radius:22px;padding:24px}.site-campus-content h2,.site-campus-locations h2{color:#234950;margin:0 0 16px;font-size:1.2rem;line-height:1.7}.site-campus-copy>p{color:#526c71;margin:0;font-size:.94rem}.site-campus-copy>p+p{border-top:1px solid #e5eeee;margin-top:20px;padding-top:20px}.site-contact-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.site-campus-locations{margin-top:32px}.site-campus-locations-heading h2{margin:8px 0}.site-campus-locations-heading>p{color:#61767b;margin:0 0 20px;font-size:.9rem;line-height:1.8}.site-campus-maps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.site-campus-map-card{background:#fff;border:1px solid #dce8e7;border-radius:22px;min-width:0;padding:20px}.site-campus-map-card h3{color:#234950;margin:0 0 8px;font-size:1.1rem;line-height:1.7}.site-campus-map-card header p{color:#61767b;margin:0 0 6px;font-size:.84rem}.site-campus-position{color:#61767b;-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;font-size:.78rem}.site-campus-map{background:#eef4f3;border:0;border-radius:14px;width:100%;height:260px;margin:16px 0;display:block}.site-campus-map-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.site-campus-map-actions .button{font-size:.82rem}.site-copy-position{gap:6px;min-width:0;display:grid}.site-copy-position [role=status]{color:#61767b;max-width:240px;font-size:.78rem;line-height:1.7}.site-map-help{color:#61767b;margin:14px 0 0;font-size:.8rem;line-height:1.8}.school-site--campus .site-news-list{grid-template-columns:repeat(2,minmax(0,1fr))}.school-site--campus .site-news-card{box-shadow:none;border-color:#dce8e7}@media (width<=760px){.school-site--campus .site-article,.school-site--campus .site-list-page{padding:20px 16px 32px}.school-site--campus .site-campus-heading{border-radius:22px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px 12px;padding:20px}.school-site--campus .site-campus-heading h1{font-size:clamp(1.2rem,4vw,1.45rem)}html[data-locale=my] .school-site--campus .site-campus-heading h1{font-size:1.2rem}.site-campus-heading-art{grid-row:1;height:120px}.school-site--campus .site-campus-heading-summary{grid-column:1/-1;font-size:.88rem}.site-campus-content,.site-campus-map-card{padding:20px}.site-campus-maps-grid,.school-site--campus .site-news-list{grid-template-columns:minmax(0,1fr)}}.nonogram-overview{max-width:980px}.nonogram-overview-heading{justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden}.nonogram-overview-heading .game-card-status{margin-bottom:8px;display:inline-flex}.nonogram-play-page{max-width:720px;margin:0 auto;padding:4px 0 28px}.nonogram-zoom-controls{justify-content:center;align-items:center;gap:6px;margin:0 auto 8px;display:flex}.nonogram-zoom-controls button{color:#315f50;cursor:pointer;font:inherit;background:#fff;border:1px solid #d6e4de;border-radius:9px;min-height:32px;padding:4px 10px;font-size:.75rem}.nonogram-zoom-controls button:first-child,.nonogram-zoom-controls button:nth-of-type(2){width:34px;font-size:1rem}.nonogram-zoom-controls button:disabled{cursor:default;opacity:.35}.nonogram-zoom-controls span{color:#62726c;text-align:center;min-width:42px;font-size:.7rem}.nonogram-scroll{overscroll-behavior:contain;scrollbar-width:thin;max-width:100%;margin:0 auto;padding:2px 2px 8px;overflow:auto}.nonogram-board{--nonogram-ink:#24634f;touch-action:none;-webkit-user-select:none;user-select:none;background:#244f41;border:3px solid #244f41;border-radius:10px;width:max-content;margin:0 auto;display:grid;overflow:hidden}.nonogram-board.is-sunset,.nonogram-reveal.is-sunset{--nonogram-ink:#e96f61}.nonogram-board.is-ocean,.nonogram-reveal.is-ocean{--nonogram-ink:#3289bd}.nonogram-board.is-berry,.nonogram-reveal.is-berry{--nonogram-ink:#a45f9d}.nonogram-board.is-gold,.nonogram-reveal.is-gold{--nonogram-ink:#d79a2b}.nonogram-board.is-violet,.nonogram-reveal.is-violet{--nonogram-ink:#7467ba}.nonogram-corner{background:#e8f1ed;border-bottom:2px solid #244f41;border-right:2px solid #244f41;grid-area:1/1}.nonogram-column-clue,.nonogram-row-clue{color:#173f33;font-size:var(--nonogram-clue-font,16px);letter-spacing:.01em;text-shadow:0 0 .01px;background:#f6faf8;justify-content:center;align-items:center;gap:4px;font-weight:900;line-height:1.12;transition:background .16s,color .16s,opacity .16s;display:flex}.nonogram-column-clue{border-bottom:2px solid #244f41;border-right:1px solid #b8cbc3;flex-direction:column;padding:5px 1px}.nonogram-row-clue{white-space:nowrap;border-bottom:1px solid #b8cbc3;border-right:2px solid #244f41;flex-direction:row;gap:3px;padding:1px 5px}.nonogram-column-clue.is-complete,.nonogram-row-clue.is-complete{color:#7d9189;opacity:.58;text-decoration:line-through}.nonogram-column-clue.is-highlighted,.nonogram-row-clue.is-highlighted{color:#71580e;opacity:1;background:#fff0b9;text-decoration:none}.nonogram-cell{color:#8d9b96;cursor:pointer;font:inherit;font-size:calc(var(--nonogram-cell) * .64);height:var(--nonogram-cell);min-width:0;min-height:0;width:var(--nonogram-cell);background:#fff;border:1px solid #bfd0c9;border-top:0;border-left:0;justify-content:center;align-items:center;margin:0;padding:0;font-weight:500;display:flex;position:relative}.nonogram-cell.is-filled{background:var(--nonogram-ink);color:#0000}.nonogram-cell.is-cross{background:#f4f7f6}.nonogram-cell.is-cross span{transform:translateY(-.04em)}.nonogram-cell.group-right{border-right:2px solid #244f41}.nonogram-cell.group-bottom{border-bottom:2px solid #244f41}.nonogram-cell.is-hint-line:not(.is-filled){background:#fff9df}.nonogram-cell.is-guided-target{z-index:2;animation:1.05s ease-in-out infinite sudoku-guided-target;box-shadow:inset 0 0 0 3px #e0ae32}.nonogram-cell.is-guided-muted{cursor:default;opacity:.48}.nonogram-board.has-guided-error .nonogram-cell.is-guided-target{background:#ffe0da;animation:.5s sudoku-guided-error;box-shadow:inset 0 0 0 3px #cf5648}.nonogram-tools{justify-content:center;gap:5px;max-width:620px;margin:8px auto 0;display:flex}.nonogram-tools button{color:#4e645c;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:11px;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;min-height:52px;padding:5px 2px;font-size:1.08rem;display:flex}.nonogram-tools button span{white-space:nowrap;font-size:.62rem}.nonogram-tools button.is-active{color:#1f6750;background:#e1f0ea;box-shadow:inset 0 0 0 1px #c3ded3}.nonogram-tools button:disabled{cursor:default;opacity:.3}.nonogram-tool-fill{background:#28644f;border-radius:3px;width:17px;height:17px;display:block}.nonogram-result-card{max-width:390px!important}.nonogram-result-delay-shield{touch-action:none;z-index:90;background:0 0;position:fixed;inset:0}.nonogram-reveal{--nonogram-ink:#24634f;aspect-ratio:1;background:#f4f8f6;border:5px solid #fff;border-radius:16px;gap:1px;width:min(52vw,190px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 10px 28px #18463729}.nonogram-reveal i{opacity:0;background:#ffffffd1;display:block}.nonogram-reveal i.is-filled{background:var(--nonogram-ink);opacity:1;animation:.36s both nonogram-pixel-reveal}.nonogram-reveal i:nth-child(5n+2){animation-delay:40ms}.nonogram-reveal i:nth-child(5n+3){animation-delay:80ms}.nonogram-reveal i:nth-child(5n+4){animation-delay:.12s}.nonogram-reveal i:nth-child(5n){animation-delay:.16s}@keyframes nonogram-pixel-reveal{0%{opacity:0;transform:scale(.2)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.nonogram-cell.is-guided-target,.nonogram-board.has-guided-error .nonogram-cell.is-guided-target,.nonogram-reveal i.is-filled{animation:none!important}}@media (width<=520px){.nonogram-overview-heading{align-items:flex-start}.nonogram-play-page{padding-top:0}.nonogram-scroll{margin-left:-2px;margin-right:-2px}.nonogram-tools{max-width:calc(100vw - 30px)}.nonogram-tools button span{font-size:.58rem}}.pattern-launch{--target-x:53px;--target-y:52%;pointer-events:none;z-index:3;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0;overflow:hidden}.pattern-launch--right{--target-x:calc(100% - 48px);justify-content:flex-end;padding-right:17px}.pattern-launch:not(.is-visible)>*{animation-play-state:paused!important}.pattern-launch-shape,.pattern-launch-question{color:#f06f62;background:#fffffff0;border:2px solid #ffffffe6;border-radius:13px;justify-content:center;align-items:center;width:36px;height:36px;font-size:19px;font-style:normal;font-weight:950;animation:5.4s ease-in-out infinite pattern-shape-cycle;display:flex;box-shadow:0 6px 18px #4348852e}.pattern-launch .shape-two{color:#13aa91;animation-delay:.11s}.pattern-launch .shape-three{color:#6e63d7;animation-delay:.22s}.pattern-launch-arrow{color:#71817b;font-size:12px;font-style:normal;font-weight:900;animation:5.4s ease-in-out infinite pattern-arrow-pulse}.pattern-launch-question{color:#9a6c20;background:linear-gradient(145deg,#fff5c9,#e9e7ff);animation:5.4s ease-in-out infinite pattern-question-reveal}.pattern-launch-options{left:var(--target-x);opacity:0;top:calc(var(--target-y) + 29px);gap:2px;animation:5.4s ease-in-out infinite pattern-option-pop;display:flex;position:absolute;transform:translate(-50%,6px)}.pattern-launch-options b{color:#648078;background:#fff;border:1px solid #dce6e2;border-radius:6px;justify-content:center;align-items:center;width:16px;height:16px;font-size:8px;display:flex}.pattern-launch-options b:nth-child(2){color:#15a98f}.pattern-launch em{color:#f0b239;left:var(--target-x);opacity:0;top:var(--target-y);font-size:17px;font-style:normal;animation:5.4s ease-out infinite pattern-sparkle;position:absolute;transform:translate(25px,-30px)}@keyframes pattern-shape-cycle{0%,8%,96%,to{opacity:0;transform:translateY(-32px)scale(.7)rotate(-20deg)}18%,64%{opacity:1;transform:translateY(0)scale(1)rotate(0)}76%{opacity:.25;transform:translateY(4px)scale(.86)rotate(15deg)}}@keyframes pattern-arrow-pulse{0%,14%,to{opacity:0}23%,64%{opacity:.8}76%{opacity:0}}@keyframes pattern-question-reveal{0%,27%,to{opacity:0;transform:scale(.45)rotate(-25deg)}37%,68%{opacity:1;transform:scale(1)rotate(0)}78%{opacity:.15;transform:scale(.8)}}@keyframes pattern-option-pop{0%,55%,to{opacity:0;transform:translate(-50%,12px)scale(.7)}65%,88%{opacity:1;transform:translate(-50%)scale(1)}}@keyframes pattern-sparkle{0%,67%{opacity:0;transform:translate(25px,-30px)scale(.3)}75%{opacity:1;transform:translate(25px,-30px)scale(1.2)}92%,to{opacity:0;transform:translate(25px,-30px)scale(.6)}}.pattern-overview{max-width:980px}.pattern-overview-heading{justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden}.pattern-overview-heading .game-card-status{margin-bottom:8px;display:inline-flex}.pattern-play-page{max-width:820px;margin:0 auto;padding:4px 0 30px}.pattern-loading{justify-content:center;align-items:center;min-height:55vh;display:flex}.pattern-play-page .sudoku-play-header>button{color:#315f50;cursor:pointer;font:inherit;background:0 0;border:0;padding:8px 0;font-size:.82rem}.pattern-play-page .sudoku-play-header>div span{color:#6b7773;font-size:.73rem}.sudoku-game-meta{color:#697871;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:0 0 12px;font-size:.8rem;display:flex}.pattern-lesson{background:linear-gradient(135deg,#fffaf0,#eff8f5);border:1px solid #dbe9e3;border-radius:18px;max-width:720px;margin:0 auto 14px;padding:14px 18px}.pattern-lesson strong{color:#214f43}.pattern-lesson p{color:#61716a;margin:4px 0 0;font-size:.86rem;line-height:1.55}.pattern-lesson.is-guided{border:2px solid #e6c35b;box-shadow:0 8px 22px #5c4c1a17}.pattern-demo{background:#ffffffd1;border:1px solid #eadca9;border-radius:15px;margin-top:12px;padding:9px 10px}.pattern-demo>small,.pattern-practice-label{color:#846719;letter-spacing:.02em;font-size:.72rem;font-weight:900;display:block}.pattern-demo-sequence{justify-content:center;align-items:center;display:flex;overflow:hidden}.pattern-demo-sequence>span{align-items:center;min-width:0;display:flex;position:relative}.pattern-demo-sequence i{color:#9aa9a4;font-size:.9rem;font-style:normal;font-weight:900}.pattern-demo-sequence .pattern-frame{width:clamp(42px,9vw,65px);height:clamp(42px,9vw,65px)}.pattern-demo-sequence .is-answer{background:#e8f8f1;border:2px solid #4ab38f;border-radius:11px}.pattern-demo-sequence .is-answer b{color:#fff;background:#2f9f79;border-radius:999px;justify-content:center;align-items:center;width:17px;height:17px;font-size:.6rem;display:flex;position:absolute;top:-3px;right:-3px}.pattern-explicit-rule{background:#fff2bd;border-radius:10px;padding:8px 10px;font-weight:800;color:#664e08!important;margin-top:9px!important}.pattern-practice-label{max-width:740px;margin:0 auto 6px;padding-left:7px}.pattern-guided-steps{flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px;display:flex}.pattern-guided-steps span{color:#8b9692;background:#edf1ef;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}.pattern-guided-steps span.is-active{color:#775d0c;background:#fff0b7}.pattern-guided-steps .button{min-height:34px;margin-left:auto;padding:6px 13px}.pattern-question-board{background:linear-gradient(145deg,#fff,#f5f9fb 52%,#fff8e8);border:1px solid #d8e5e1;border-radius:24px;max-width:760px;min-height:210px;margin:0 auto;padding:22px;overflow:hidden;box-shadow:0 10px 30px #2b524614}.pattern-sequence{justify-content:center;align-items:center;gap:7px;min-height:165px;display:flex}.pattern-sequence-item{align-items:center;gap:7px;min-width:0;display:flex}.pattern-sequence-item>i{color:#8da09a;font-size:1.5rem;font-style:normal;font-weight:900}.pattern-frame{width:112px;height:112px;display:block;overflow:visible}.pattern-sequence .pattern-frame{width:clamp(64px,11vw,100px);height:clamp(64px,11vw,100px)}.pattern-sequence-item.is-missing{color:#9a6f19;background:#fff6cd;border:2px dashed #d9ad3f;border-radius:20px;justify-content:center;align-items:center;width:clamp(64px,11vw,100px);height:clamp(64px,11vw,100px);font-size:2rem;display:flex}.pattern-matrix{background:#335e53;border:3px solid #335e53;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:2px;max-width:390px;margin:0 auto;display:grid;overflow:hidden}.pattern-matrix-cell{aspect-ratio:1;background:#fff;justify-content:center;align-items:center;display:flex}.pattern-matrix-cell .pattern-frame{width:100%;height:100%}.pattern-matrix-cell.is-missing{color:#9b6e16;background:#fff5c8;font-size:2rem}.pattern-question-board.guided-stage-0 .pattern-sequence,.pattern-question-board.guided-stage-0 .pattern-matrix{animation:1.4s ease-in-out infinite pattern-guided-observe}.pattern-question-board.guided-stage-1{box-shadow:0 0 0 3px #e8c75d,0 10px 30px #2b524614}.pattern-demo.focus-color-cycle .pattern-token,.pattern-question-board.focus-color-cycle.guided-stage-1 .pattern-token,.pattern-demo.focus-shape-cycle .pattern-token,.pattern-question-board.focus-shape-cycle.guided-stage-1 .pattern-token,.pattern-demo.focus-count .pattern-token,.pattern-question-board.focus-count.guided-stage-1 .pattern-token,.pattern-demo.focus-position .pattern-token,.pattern-question-board.focus-position.guided-stage-1 .pattern-token{animation:1.25s ease-in-out infinite pattern-focus-token}@keyframes pattern-guided-observe{0%,to{filter:saturate(.9);transform:scale(.99)}50%{filter:saturate(1.2);transform:scale(1.01)}}@keyframes pattern-focus-token{0%,to{filter:drop-shadow(0 0 #ecb42d00);opacity:.86}50%{filter:drop-shadow(0 0 5px #ecb42dad);opacity:1}}.pattern-feedback{color:#315f50;text-align:center;background:#f1f7f4;border-radius:999px;max-width:650px;margin:9px auto;padding:8px 14px;font-size:.82rem}.pattern-feedback.is-feedback{color:#735816;background:#fff5d7}.pattern-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:760px;margin:14px auto 0;display:grid}.pattern-options.count-3,.pattern-options.count-6{grid-template-columns:repeat(3,minmax(0,1fr))}.pattern-options button{cursor:pointer;background:#fff;border:2px solid #d7e4df;border-radius:18px;justify-content:center;align-items:center;min-height:122px;padding:7px;transition:transform .14s,border-color .14s,opacity .14s;display:flex;position:relative;box-shadow:0 5px 14px #2c524612}.pattern-options button:hover:not(:disabled){border-color:#58aa91;transform:translateY(-2px)}.pattern-options button:disabled{cursor:default;opacity:.5}.pattern-options button.is-wrong{opacity:.38;background:#fff0ed;border-color:#df766a}.pattern-options button.is-revealed{opacity:1;background:#e8f8f1;border-color:#31a978;animation:1s ease-in-out infinite pattern-answer-glow}.pattern-options .pattern-frame{width:92px;height:92px}.pattern-options button>span{color:#44665b;background:#edf5f2;border-radius:999px;justify-content:center;align-items:center;width:21px;height:21px;font-size:.65rem;font-weight:900;display:flex;position:absolute;bottom:7px;right:7px}@keyframes pattern-answer-glow{0%,to{box-shadow:0 0 #31a97833}50%{box-shadow:0 0 0 7px #31a9782e}}.pattern-toolbar{justify-content:center;margin-top:12px;display:flex}.pattern-toolbar button{color:#4f665e;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-width:70px;display:flex}.pattern-toolbar button span{font-size:1.45rem}.pattern-toolbar button b{font-size:.7rem}.sudoku-pause-overlay,.sudoku-complete-overlay{z-index:100;background:#142721ad;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sudoku-pause-overlay>section,.sudoku-complete-overlay>section{text-align:center;background:#fff;border-radius:24px;gap:12px;width:100%;max-width:390px;padding:30px;display:grid;box-shadow:0 24px 70px #0000003d}.sudoku-complete-overlay h2,.sudoku-complete-overlay p{margin:0}@media (width<=700px){.pattern-overview-heading{align-items:flex-start}.pattern-play-page{padding-top:0}.pattern-question-board{border-radius:18px;min-height:166px;padding:12px 7px}.pattern-sequence{gap:2px;min-height:140px}.pattern-sequence-item{gap:2px}.pattern-sequence-item>i{font-size:.9rem}.pattern-frame,.pattern-sequence .pattern-frame{width:clamp(48px,14.5vw,80px);height:clamp(48px,14.5vw,80px)}.pattern-sequence-item.is-missing{border-radius:12px;width:clamp(53px,16vw,88px);height:clamp(53px,16vw,88px);font-size:1.4rem}.pattern-options,.pattern-options.count-3,.pattern-options.count-6{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pattern-options button{border-radius:14px;min-height:94px;padding:3px}.pattern-options .pattern-frame{width:clamp(69px,22vw,92px);height:clamp(69px,22vw,92px)}.pattern-guided-steps .button{flex-basis:100%;margin-left:0}}@media (width<=520px){.pattern-launch-shape:nth-of-type(2),.pattern-launch-shape:nth-of-type(3),.pattern-launch-arrow{display:none}}@media (width<=390px){.pattern-sequence-item>i{display:none}.pattern-question-board{padding-left:3px;padding-right:3px}}@media (prefers-reduced-motion:reduce){.pattern-launch>*{animation:none!important}.pattern-launch-shape:first-child,.pattern-launch-question{opacity:1;transform:none}.pattern-launch-options,.pattern-launch em{display:none}.pattern-question-board.guided-stage-0 .pattern-sequence,.pattern-question-board.guided-stage-0 .pattern-matrix,.pattern-options button.is-revealed,.pattern-token{animation:none!important}}.homework-section-tabs{background:#eef7f4;border:1px solid #d7e9e3;border-radius:999px;align-items:center;gap:4px;width:fit-content;margin:18px 0;padding:4px;display:flex}.homework-section-tabs a,.homework-section-tabs strong{color:#39655a;border-radius:999px;padding:8px 16px;font-size:.84rem;text-decoration:none}.homework-section-tabs strong{color:#174f40;background:#fff;box-shadow:0 3px 10px #1c52431a}.homework-content-page,.homework-content-editor,.homework-correction-page{max-width:1040px;margin:0 auto;padding-bottom:32px}.homework-content-hero-icon{color:#8a5d00;background:linear-gradient(145deg,#fff0a8,#ffcf6b);border-radius:25px;justify-content:center;align-items:center;width:96px;height:96px;font-size:2.2rem;animation:3.2s ease-in-out infinite homework-float;display:flex;transform:rotate(5deg);box-shadow:0 12px 28px #be8b202e}.homework-content-list{gap:14px;display:grid}.homework-content-card{background:linear-gradient(135deg,#fff,#f7fbfa);border:1px solid #d9e7e2;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 8px 24px #204e410f}.homework-content-card h2,.homework-content-card p{margin:5px 0}.homework-content-card>div>span,.homework-content-card small{color:#6b7c76;font-size:.76rem}.homework-content-card-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.homework-content-card-actions form{margin:0}.homework-content-form{gap:16px;display:grid}.homework-content-items,.homework-content-item-list{gap:12px;display:grid}.homework-content-item{background:#f7fbfa;border:1px solid #dcebe6;border-radius:18px;gap:12px;padding:16px;display:grid}.homework-content-item>header{justify-content:space-between;align-items:center;display:flex}.homework-content-item>header button{color:#a64b40;cursor:pointer;background:#fff0ed;border:0;border-radius:999px;width:32px;height:32px}.homework-stepper--five{grid-template-columns:repeat(5,minmax(0,1fr))}.homework-stepper--five button{min-width:0}.homework-stepper--five strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.homework-goal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.homework-goal-grid button{color:#41675d;cursor:pointer;background:#f6faf9;border:2px solid #dce9e5;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:130px;transition:all .18s;display:flex}.homework-goal-grid button span{background:#fff;border-radius:999px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex;box-shadow:0 5px 14px #1e534514}.homework-goal-grid button.is-selected{color:#145b47;background:linear-gradient(145deg,#e7f8f2,#fff8da);border-color:#4bb18f;transform:translateY(-2px)}.homework-type-picker--v3{grid-template-columns:repeat(3,minmax(0,1fr))}.homework-type-picker--v3 button{min-height:70px}.homework-target-picker{background:linear-gradient(145deg,#f8fbff,#f0faf6);border:1px solid #d8e8e3;border-radius:20px;margin-top:16px;padding:16px}.homework-target-picker>h3{margin:0 0 10px}.homework-target-picker>div:first-of-type{gap:8px;display:flex}.homework-target-picker>div:first-of-type button{color:#49685f;cursor:pointer;background:#fff;border:1px solid #d5e3df;border-radius:999px;padding:9px 15px}.homework-target-picker>div:first-of-type button.is-selected{color:#fff;background:#1f8a6b;border-color:#1f8a6b}.homework-student-checklist{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:280px;margin:14px 0;display:grid;overflow:auto}.homework-student-checklist label{background:#fff;border:1px solid #dbe8e4;border-radius:14px;align-items:center;gap:9px;padding:10px;display:flex}.homework-student-checklist span{display:grid}.homework-student-checklist small{color:#76847f}.homework-play-header small{color:#b26322;margin-top:3px;font-weight:800;display:block}.homework-source-audio{width:100%;max-width:420px;margin:10px auto 18px}.homework-text-answer,.homework-fill-answer,.homework-oral-answer{gap:14px;max-width:660px;margin:18px auto;display:grid}.homework-text-answer>input,.homework-fill-sentence input{color:#153e34;font:inherit;background:#fff;border:2px solid #bad8cf;border-radius:16px;padding:15px 17px;font-size:1.12rem}.homework-hint-card{color:#705b16;background:#fff8d8;border:1px solid #f1d881;border-radius:16px;padding:13px 15px}.homework-fill-sentence{background:#f7fbfa;border:1px solid #dbe9e4;border-radius:18px;flex-wrap:wrap;align-items:center;gap:6px;padding:18px;font-size:1.05rem;line-height:2.7;display:flex}.homework-fill-sentence span{display:contents}.homework-fill-sentence input{border-radius:8px;max-width:160px;padding:7px 9px}.homework-oral-answer blockquote{color:#315c7c;background:#f2f8ff;border-left:4px solid #5da0d2;border-radius:12px;margin:0;padding:16px}.homework-record-button{color:#9b3e34;cursor:pointer;background:linear-gradient(135deg,#fff,#fff0ec);border:2px solid #e58a7e;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 20px;display:flex}.homework-record-button.is-recording{background:#ffe3de;animation:1s ease-in-out infinite homework-record-pulse}@keyframes homework-record-pulse{50%{box-shadow:0 0 0 10px #de5e4d1f}}.homework-correction-hero{background:linear-gradient(135deg,#edf8ff,#fff7df);border:1px solid #dbe7df;border-radius:24px;align-items:center;gap:16px;margin-bottom:18px;padding:22px;display:flex}.homework-correction-hero>span{color:#30876e;background:#fff;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;display:flex}.homework-correction-hero h1,.homework-correction-hero p{margin:3px 0}.homework-correction-list{gap:16px;display:grid}.homework-correction-list>article{background:#fff;border:1px solid #dbe8e4;border-radius:22px;padding:20px;box-shadow:0 8px 24px #1e4b3e0f}.homework-correction-list>article>span{color:#26765e;background:#e8f7f1;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex}.homework-correction-submit{min-width:220px;margin:20px auto 0;display:flex}.homework-report-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.homework-report-metrics>div{background:#f5faf8;border:1px solid #dfebe7;border-radius:16px;gap:3px;padding:14px;display:grid}.homework-report-metrics strong{color:#1b735a;font-size:1.35rem}.homework-report-metrics span{color:#71817b;font-size:.75rem}.homework-common-errors{background:#fff8e7;border:1px solid #f1deb1;border-radius:16px;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:14px;display:flex}.homework-common-errors h3{flex-basis:100%;margin:0}.homework-common-errors span{color:#6f5b25;background:#fff;border-radius:999px;padding:7px 10px;font-size:.78rem}.homework-results-list article.needs-review{border-color:#e8bf54;box-shadow:0 0 0 2px #e8bf541f}.homework-inline-review{border-top:1px dashed #d8e4e0;flex-basis:100%;grid-template-columns:120px 1fr auto;gap:9px;margin-top:10px;padding-top:12px;display:grid}.homework-inline-review label{gap:4px;display:grid}.homework-inline-review input{font:inherit;border:1px solid #cfded9;border-radius:10px;padding:8px}.homework-oral-recordings{flex-basis:100%;grid-column:1/-1;gap:8px;display:flex}.homework-oral-recordings audio{width:100%;max-width:300px}.homework-review-pending{color:#755a12;background:#fff6d9;border-radius:999px;padding:8px 12px}.homework-teacher-comment{background:#f4f8ff;border-left:4px solid #729fd0;border-radius:10px;gap:5px;margin:0;padding:12px;display:grid}.homework-reward-board{background:linear-gradient(145deg,#fff9e7,#f2fbf7);border:1px solid #eadfb9;border-radius:24px;margin-top:22px;padding:20px;overflow:hidden}.homework-reward-board>header{align-items:center;gap:12px;display:flex}.homework-reward-board>header>span{font-size:2rem}.homework-reward-board h2,.homework-reward-board p{margin:3px 0}.homework-reward-board>div{gap:7px;margin-top:14px;display:grid}.homework-reward-board article{background:#ffffffc7;border:1px solid #eadfbe;border-radius:14px;grid-template-columns:36px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.homework-reward-board article.is-self{border-color:#3aa782;box-shadow:0 0 0 2px #3aa78224}.homework-reward-board article>span{display:grid}.homework-reward-board article em{color:#8a6714;font-style:normal;font-weight:800}@keyframes homework-float{50%{transform:translateY(-6px)rotate(2deg)}}@media (width<=760px){.homework-stepper--five{gap:2px}.homework-stepper--five strong{display:none}.homework-goal-grid,.homework-type-picker--v3,.homework-student-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-content-card{flex-direction:column;align-items:stretch}.homework-report-metrics,.homework-inline-review{grid-template-columns:1fr}.homework-reward-board article{grid-template-columns:30px 1fr auto}.homework-reward-board article>small{grid-column:2/-1}}.homework-option-grid--media>div{background:#f5faf8;border:1px solid #dceae5;border-radius:15px;gap:8px;padding:10px;display:grid}.homework-choice-grid--media button{text-align:center;grid-template-columns:1fr;align-items:stretch;padding:7px;display:grid;overflow:hidden}.homework-choice-grid--media button img{aspect-ratio:4/3;object-fit:cover;background:#edf5f2;border-radius:11px;width:100%}.homework-choice-grid--media button strong{padding:4px 3px 2px;font-size:.78rem}.homework-match-columns button img{aspect-ratio:4/3;object-fit:cover;border-radius:10px;width:100%}.homework-match-columns button.is-matched{opacity:.48;animation:.34s both homework-pair-away}.homework-match-columns button.is-wrong{border-color:#e58a7e;animation:.32s homework-pair-wrong}@keyframes homework-pair-away{50%{transform:scale(1.04)}to{transform:scale(.96)}}@keyframes homework-pair-wrong{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.homework-ordering{gap:13px;width:100%;max-width:660px;display:grid}.homework-ordering-answer{background:#fff;border:2px dashed #acd2c5;border-radius:18px;flex-wrap:wrap;align-content:center;gap:7px;min-height:72px;padding:12px;display:flex}.homework-ordering-answer span,.homework-ordering-tokens button{color:#24584a;font:inherit;background:linear-gradient(145deg,#eef9f5,#fff7df);border:1px solid #cfe5dd;border-radius:12px;padding:10px 13px;font-weight:800}.homework-ordering-tokens{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.homework-ordering-tokens button{cursor:pointer;transition:transform .16s,opacity .16s}.homework-ordering-tokens button:active{transform:scale(.95)}.homework-ordering-tokens button:disabled{opacity:.28}.homework-review-entry{color:#244f44;background:linear-gradient(135deg,#fff8de,#eefaf6);border:1px solid #e3dcbf;border-radius:19px;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;margin-bottom:14px;padding:14px;text-decoration:none;display:grid}.homework-review-entry>span{background:#fff;border-radius:15px;justify-content:center;align-items:center;height:48px;font-size:1.55rem;display:flex}.homework-review-entry>div{gap:3px;display:grid}.homework-review-entry small{color:#6d7d78}.homework-review-page{gap:15px;max-width:1040px;margin:0 auto;padding-bottom:32px;display:grid}.homework-review-hero{margin:0}.homework-review-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.homework-review-metrics span{color:#2d6556;text-align:center;background:#fff;border:1px solid #dce9e4;border-radius:14px;padding:12px;font-size:.78rem;font-weight:800}@media (width<=560px){.homework-review-metrics{grid-template-columns:1fr}.homework-choice-grid--media{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.homework-match-columns button.is-matched,.homework-match-columns button.is-wrong{animation:none!important}.homework-ordering-tokens button{transition:none}}
