.apn-app-home{background:#f4f3ed;color:#192329;font-family:Arial,Helvetica,sans-serif}.apn-app-shell{width:min(1100px,calc(100% - 40px));margin:auto}.apn-app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #d9ddd5}.apn-app-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:800;font-size:17px}.apn-app-mark{background:#213fc9;color:white;border-radius:12px;width:46px;height:46px;display:grid;place-items:center;font-size:23px}.apn-app-header nav{display:flex;gap:20px;align-items:center}.apn-app-header nav a{color:inherit;font-size:14px}.apn-app-hero{padding:64px 0 40px;max-width:740px}.apn-app-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#213fc9}.apn-app-hero h1{font-size:clamp(42px,6vw,70px);line-height:1.03;letter-spacing:-.045em;margin:16px 0 22px}.apn-app-hero p:not(.apn-app-eyebrow){font-size:19px;line-height:1.6;max-width:610px;color:#4e5a5f}.apn-app-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}.apn-btn{font:700 14px Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border-radius:10px;background:#213fc9;color:white;border:1px solid #213fc9;text-decoration:none;cursor:pointer}.apn-btn.secondary{background:transparent;color:#213fc9}.apn-btn:disabled{opacity:.65;cursor:wait}.apn-btn:focus-visible,.apn-switcher summary:focus-visible,.apn-app-card:focus-visible,.apn-app-header a:focus-visible{outline:3px solid #d69013;outline-offset:4px}.apn-app-facts{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 0}.apn-app-facts span,.apn-status{font-size:12px;border:1px solid #d3d9d0;padding:7px 10px;border-radius:100px;background:#fff9}.apn-app-section{padding:30px 0}.apn-app-section h2{font-size:28px;letter-spacing:-.03em;margin:0 0 10px}.apn-app-section>p{color:#586368;line-height:1.6}.apn-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.apn-app-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid #d9ded5;border-radius:20px;overflow:hidden;transition:transform .15s,box-shadow .15s}.apn-app-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #1c253210}.apn-card-preview{height:145px;display:flex;align-items:center;justify-content:space-between;padding:24px 30px;overflow:hidden}.apn-card-preview strong{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.apn-card-preview svg{width:140px;height:100px}.apn-card-preview .chess-piece{font-size:100px;line-height:1}.apn-card-preview.chess{background:#dbece5;color:#0e6259}.apn-card-preview.titan{background:#142b36;color:#f2d081}.apn-card-preview.communication{background:#f7e8b5;color:#63441b}.apn-card-preview.visual{background:#e1e5ff;color:#213fc9}.apn-card-body{padding:24px;flex:1;display:flex;flex-direction:column}.apn-card-body small{font-size:12px;color:#647074}.apn-card-body h3{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:10px 0}.apn-card-body p{font-size:15px;line-height:1.65;color:#586368;max-width:400px;margin:0 0 20px}.apn-card-body .apn-card-action{margin-top:auto;display:flex;justify-content:space-between;color:#213fc9;font-size:14px;font-weight:800}.apn-recent-list{display:grid;gap:10px}.apn-recent-item{border:1px solid #d9ded5;border-radius:12px;display:flex;justify-content:space-between;gap:20px;padding:17px 20px;background:#fff;text-decoration:none;color:inherit;min-height:52px}.apn-recent-item strong{display:block;font-size:15px}.apn-recent-item small{display:block;margin-top:4px;color:#647074;font-size:12px}.apn-text-button{border:0;background:transparent;font:600 13px Arial,sans-serif;text-decoration:underline;color:#596568;padding:12px;cursor:pointer;min-height:44px}.apn-app-note{font-size:13px;line-height:1.7;color:#63706b;max-width:740px}.apn-app-more{background:#e9ede5;border-radius:16px;padding:24px;margin:24px 0 40px;line-height:1.7}.apn-app-more a{color:#213fc9;font-weight:700}.apn-app-footer{border-top:1px solid #d9ded5;padding:24px 0 36px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#63706b}.apn-app-footer nav{display:flex;gap:18px}.apn-app-footer a{color:inherit}.apn-dialog{border:1px solid #d5dbd3;border-radius:18px;background:#f8f8f3;color:#192329;padding:28px;max-width:430px;width:calc(100% - 40px);box-sizing:border-box;box-shadow:0 15px 70px #0003;font:15px/1.7 Arial,sans-serif}.apn-dialog::backdrop{background:#15202988}.apn-dialog h2{font-size:25px;line-height:1.15;margin-top:0}.apn-dialog ol{padding-left:22px}.apn-dialog button{margin-top:12px}.apn-switcher{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:120;font:700 13px Arial,sans-serif}.apn-switcher summary{cursor:pointer;list-style:none;background:#213fc9;color:white;border-radius:100px;padding:13px 18px;min-height:46px;box-sizing:border-box;box-shadow:0 5px 20px #18296c22}.apn-switcher summary::-webkit-details-marker{display:none}.apn-switcher nav{position:absolute;right:0;bottom:58px;background:#fff;color:#192329;border:1px solid #d5dbd3;border-radius:14px;box-shadow:0 10px 35px #18296c22;width:245px;padding:8px}.apn-switcher nav a,.apn-switcher nav button{display:block;padding:13px 12px;color:#192329;text-decoration:none;border-radius:8px;background:none;border:0;text-align:left;font:600 13px Arial,sans-serif;width:100%;box-sizing:border-box;cursor:pointer}.apn-switcher nav a:hover,.apn-switcher nav button:hover{background:#eff1fa}.apn-game-home{display:inline-block;color:inherit;text-decoration:underline;font:700 13px Arial,sans-serif;min-height:44px;padding:12px;box-sizing:border-box}.apn-game-knight .brand[href]{text-decoration:none;color:inherit}.apn-update-button{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:16px;z-index:119;border:0;border-radius:10px;background:#172b31;color:white;padding:13px;font:700 13px Arial,sans-serif;cursor:pointer}.apn-app-home .apn-update-button{bottom:18px}.apn-game-titan .apn-update-button,.apn-game-knight .apn-update-button{bottom:auto;top:70px}.apn-local-banner{padding:15px 20px;border-radius:12px;background:#e9eecf;color:#304220;font-size:14px;line-height:1.6;margin-bottom:20px}.apn-local-banner a{color:inherit}.apn-pwa-promo{padding:22px;border:1px solid #d5dbd3;border-radius:12px;margin-top:24px}.apn-pwa-promo p{font-size:15px;line-height:1.6;margin:0 0 12px}.apn-offline-page{max-width:640px;padding:80px 0}.apn-offline-page h1{font-size:40px;line-height:1.1}.apn-offline-page p{line-height:1.7;color:#586368}@media(max-width:600px){.apn-app-shell{width:calc(100% - 32px)}.apn-app-header{padding:18px 0;flex-wrap:wrap}.apn-app-header nav{gap:12px;width:100%;justify-content:space-between}.apn-app-brand{font-size:14px}.apn-app-header nav a{font-size:12px}.apn-app-hero{padding-top:38px}.apn-app-hero p:not(.apn-app-eyebrow){font-size:17px}.apn-app-grid{grid-template-columns:1fr;gap:16px}.apn-card-preview{height:108px;padding:18px 24px}.apn-card-preview svg{height:85px;width:120px}.apn-card-preview .chess-piece{font-size:85px}.apn-card-body{padding:20px}.apn-app-section{padding:24px 0}.apn-app-section h2{font-size:25px}.apn-recent-item{padding:15px;gap:12px}.apn-app-footer{padding-bottom:35px}}@media(prefers-reduced-motion:reduce){.apn-app-card{transition:none}.apn-app-card:hover{transform:none}}@media print{.apn-switcher,.apn-update-button,.apn-app-header,.apn-install-button{display:none!important}}
.apn-titan-choices{display:grid;gap:10px;margin-top:auto}.apn-titan-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#192329;text-decoration:none;border:1px solid #d9ded5;border-radius:12px;padding:13px 15px;min-height:54px;background:#f7f9f3}.apn-titan-choice:first-child{background:#eaf6e3;border-color:#cfdfc7}.apn-titan-choice strong{display:block;font-size:15px}.apn-titan-choice small{display:block;font-size:12px;line-height:1.5;margin-top:3px}.apn-titan-choice:hover{border-color:#213fc9}.apn-titan-choice:focus-visible,.apn-titan-more:focus-visible{outline:3px solid #d69013;outline-offset:3px}.apn-titan-more{font-size:13px;font-weight:700;color:#213fc9;margin-top:14px;line-height:1.6;min-height:32px}.apn-titan-hub{padding-top:48px}.apn-titan-hub .apn-card-preview.junior{background:#e4f4d8;color:#24572e}.apn-titan-hub .apn-card-body .apn-btn{align-self:flex-start;margin-top:auto}.apn-titan-hub .apn-card-body p{max-width:none}.apn-titan-intro{padding:26px;border:1px solid #d9ded5;border-radius:16px;background:white;line-height:1.7;margin:30px 0 42px}.apn-titan-intro h2{margin-top:0;font-size:24px}.apn-titan-intro p{color:#586368;max-width:800px}.apn-titan-tag{display:inline-block;font-size:12px;font-weight:800;padding:6px 10px;background:#fff8;border-radius:100px}.apn-titan-hub .apn-card-preview{height:170px}.apn-titan-hub .apn-card-preview strong{font-size:18px;text-transform:none;letter-spacing:0;max-width:200px}

/* Daily allowances: compact foreground timer and an accessible time-up modal. */
.apn-card-time{display:block;margin:0 0 16px;color:#213fc9;font:700 12px/1.5 Arial,sans-serif}
.apn-card-time.apn-time-used{color:#6e5c37}
.apn-time-badge{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));z-index:2147483000;max-width:calc(100vw - 32px);padding:10px 14px;border:1px solid #c7d4c9;border-radius:100px;background:#f7faf6;color:#203f30;box-shadow:0 3px 16px #172b3126;font:700 12px/1.4 Arial,sans-serif;font-variant-numeric:tabular-nums;box-sizing:border-box}
.apn-time-badge.apn-time-low{background:#fff6dc;border-color:#e9c976;color:#755019}
.apn-has-time-limit .apn-switcher{bottom:calc(66px + env(safe-area-inset-bottom))}
.apn-has-time-limit:not(.apn-game-titan):not(.apn-game-knight) .apn-update-button{bottom:calc(122px + env(safe-area-inset-bottom))}
.apn-time-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.apn-time-dialog{border:1px solid #d4ddcf;border-radius:24px;background:#fafbf5;color:#1d3028;padding:32px;max-width:440px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box;box-shadow:0 18px 90px #0004;text-align:center;font:16px/1.7 Arial,sans-serif;z-index:2147483001}
.apn-time-dialog[open]{display:block}.apn-time-dialog::backdrop{background:#142c26db;backdrop-filter:blur(5px)}
.apn-time-dialog h2{font:800 30px/1.12 Arial,sans-serif;letter-spacing:-.035em;margin:12px 0 18px;color:#1d3028}
.apn-time-dialog p{margin:0 0 18px;color:#4c6055}.apn-time-dialog .apn-time-small{font-size:14px}.apn-time-icon{font:500 48px/1 Arial,sans-serif;color:#213fc9}.apn-time-dialog .apn-btn{margin-top:4px}
@media(max-width:480px){.apn-time-dialog{padding:24px}.apn-time-dialog h2{font-size:27px}.apn-time-badge{font-size:11px;padding:9px 12px}}
@media print{.apn-time-badge,.apn-time-dialog{display:none!important}}

/* Audience groups on KinPilot home; game and lesson interfaces retain their own styles. */
.apn-app-home .apn-home-skip{position:absolute;top:8px;left:16px;z-index:130;padding:12px 16px;background:#fff;color:#213fc9;border:2px solid #213fc9;border-radius:8px;transform:translateY(-180%)}
.apn-app-home .apn-home-skip:focus{transform:none}
.apn-app-home .apn-app-brand small{display:block;color:#647074;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:4px}
.apn-app-home .apn-app-hero{max-width:900px;padding-bottom:52px}
.apn-app-home .apn-app-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(42px,6.2vw,72px);letter-spacing:-.045em;line-height:1.07}
.apn-app-home .apn-app-actions .apn-text-button{color:#213fc9}
.apn-app-home .apn-home-group{border-top:1px solid #cfd5d0;padding:40px 0 44px;scroll-margin-top:22px}
.apn-app-home .apn-home-group-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px}
.apn-app-home .apn-home-group-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3.7vw,38px);font-weight:500;line-height:1.15}
.apn-app-home .apn-home-group-heading .apn-app-eyebrow{margin:0 0 12px}
.apn-app-home .apn-home-group-heading>div>p:last-child{max-width:610px;color:#586368;line-height:1.65;font-size:15px;margin:12px 0 0}
.apn-app-home .apn-home-context{color:#213fc9;line-height:1.6;font-size:13px;font-weight:700;flex-shrink:0;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.apn-app-home .apn-home-games{grid-template-columns:repeat(3,minmax(0,1fr))}
.apn-app-home .apn-home-games .apn-card-preview{height:130px;padding:22px;gap:12px}
.apn-app-home .apn-home-games .apn-card-preview strong{font-size:11px;max-width:126px;line-height:1.6}
.apn-app-home .apn-home-games .apn-card-preview svg{width:106px;flex-shrink:0}
.apn-app-home .apn-home-games .apn-card-preview .chess-piece{font-size:90px}
.apn-app-home .apn-card-preview.junior{background:#f6e4c3;color:#85501e}
.apn-app-home .apn-home-games .apn-card-body h3{font-size:23px;line-height:1.22}
.apn-app-home .apn-home-games .apn-card-body small{line-height:1.6}
.apn-app-home .apn-card-time{margin-top:auto;padding-top:8px;min-height:34px}
.apn-app-home .apn-card-body .apn-card-action{margin-top:0}
.apn-app-home .apn-home-time-note{margin-top:22px;max-width:900px;border:1px solid #d5dbd3;border-radius:12px;background:#f9f9f4;padding:0 18px;color:#586368;font:13px/1.75 Arial,sans-serif}
.apn-app-home .apn-home-time-note summary{cursor:pointer;font-weight:700;color:#34434a;padding:13px 0;min-height:44px;box-sizing:border-box}
.apn-app-home .apn-home-time-note p{margin:0 0 16px}
.apn-app-home .apn-home-platforms{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;padding:30px;background:#ebeefa;border:1px solid #d6dcf0}
.apn-app-home .apn-home-platforms h2{font:500 29px/1.18 Georgia,'Times New Roman',serif;letter-spacing:-.025em;margin:8px 0 12px}
.apn-app-home .apn-home-platforms p{font-size:14px;color:#586368;margin:10px 0 0;line-height:1.7}
.apn-app-home .apn-home-platforms .apn-app-eyebrow{font-size:11px;color:#213fc9;margin-top:0}
.apn-app-home .apn-home-platform-links{display:grid;grid-template-columns:1fr;gap:12px}
.apn-app-home .apn-home-platform-links a{display:block;background:#fff;border:1px solid #d6dcf0;border-radius:12px;padding:16px 18px;text-decoration:none;line-height:1.6}
.apn-app-home .apn-home-platform-links small{font-size:11px;color:#647074;font-weight:500;display:block}
.apn-app-home .apn-home-platform-links strong{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:18px;color:#213fc9;margin:4px 0}
.apn-app-home .apn-home-platform-links a>span{font-size:12px;color:#586368;font-weight:500}
.apn-app-home .apn-app-footer nav{flex-wrap:wrap;column-gap:18px;row-gap:8px}
.apn-app-home a:focus-visible,.apn-app-home summary:focus-visible,.apn-app-home button:focus-visible{outline:3px solid #ad7017;outline-offset:4px}
@media(max-width:900px){.apn-app-home .apn-home-group-heading{display:block}.apn-app-home .apn-home-context{margin-top:8px}.apn-app-home .apn-home-games{grid-template-columns:repeat(2,minmax(0,1fr))}.apn-app-home .apn-home-games .apn-app-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr}.apn-app-home .apn-home-games .apn-app-card:last-child .apn-card-preview{height:100%;min-height:180px;box-sizing:border-box;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px}.apn-app-home .apn-home-games .apn-app-card:last-child .apn-card-preview strong{max-width:none}.apn-app-home .apn-home-platforms{grid-template-columns:1fr}}
@media(max-width:600px){.apn-app-home .apn-app-header nav{justify-content:flex-start;gap:20px;flex-wrap:wrap}.apn-app-home .apn-app-header nav a{min-height:32px;display:flex;align-items:center}.apn-app-home .apn-app-hero{padding-bottom:36px}.apn-app-home .apn-app-actions{align-items:stretch}.apn-app-home .apn-app-actions .apn-btn{flex:1 0 100%;box-sizing:border-box}.apn-app-home .apn-app-actions .apn-text-button{text-align:left;padding-left:0}.apn-app-home .apn-home-group{padding:30px 0}.apn-app-home .apn-home-games{grid-template-columns:1fr}.apn-app-home .apn-home-games .apn-app-card:last-child{display:flex;grid-column:auto}.apn-app-home .apn-home-games .apn-app-card:last-child .apn-card-preview{flex-direction:row;align-items:center;justify-content:space-between;min-height:0;height:130px;gap:12px}.apn-app-home .apn-home-games .apn-app-card:last-child .apn-card-preview strong{max-width:160px}.apn-app-home .apn-home-platforms{padding:22px;gap:18px}.apn-app-home .apn-card-time{min-height:0}.apn-app-home .apn-home-group-heading{margin-bottom:18px}}
