@charset "UTF-8";
:root{font-family:var(--ak-font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:var(--ak-color-ink);background:var(--ak-color-page);}
*{box-sizing:border-box}body{margin:0;font-size:var(--ak-font-size-14);line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--ak-color-ink);outline-offset:5px}svg{display:block;width:24px;height:24px}button svg{pointer-events:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:var(--ak-font-weight-800);letter-spacing:-.055em}h1{font-size:var(--ak-font-size-app-display);line-height:1.03}h2{font-size:var(--ak-font-size-28);line-height:1.1}h3{font-size:var(--ak-font-size-22);line-height:1.15}p{color:var(--ak-color-text-muted)}[hidden]{display:none!important}.app-shell{max-width:1170px;margin:0 auto;padding:0 48px}.app-header{min-height:98px;display:flex;align-items:center;gap:22px;border-bottom:2px solid var(--ak-color-ink)}.wordmark{display:flex;align-items:center;gap:10px;font-size:var(--ak-font-size-30);font-weight:var(--ak-font-weight-850);letter-spacing:-1.9px;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--ak-color-ink);color:var(--ak-color-on-ink);width:34px;height:34px;font-size:var(--ak-font-size-27);font-weight:var(--ak-font-weight-650);letter-spacing:-2px;border-radius:var(--ak-radius-6);line-height:1}.program-label{margin-left:auto;min-width:0;display:flex;align-items:center;gap:12px;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-600)}.program-label>span:last-child{min-width:0;white-space:normal;overflow-wrap:anywhere;max-width:240px}.demo-badge{display:inline-flex;flex-shrink:0;border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-3);font-weight:var(--ak-font-weight-800);letter-spacing:.04em;font-size:var(--ak-font-size-12);line-height:1.2;padding:4px 6px}.icon-button{border:1.5px solid var(--ak-color-ink);width:42px;height:42px;padding:10px;border-radius:var(--ak-radius-full);background:var(--ak-color-surface);display:grid;place-items:center;flex-shrink:0}.icon-button svg{width:20px;height:20px}.icon-button:hover{background:var(--ak-color-surface-hover)}.icon-button:disabled{opacity:.4}.app-nav{display:flex;margin-top:17px;gap:10px;border-bottom:1px solid var(--ak-color-border);padding-bottom:14px}.app-nav button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;border-radius:var(--ak-radius-8);min-height:43px;padding:9px 18px;font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-650);color:var(--ak-color-text-muted);white-space:nowrap}.app-nav button[aria-current="page"]{background:var(--ak-color-action);color:var(--ak-color-on-action)}.nav-icon svg{width:19px;height:19px}.connection-banner,.action-message,.unknown-panel{font-size:var(--ak-font-size-13);padding:15px 18px;margin-top:18px;border-radius:var(--ak-radius-10);background:var(--ak-color-surface-subtle);border:1px solid var(--ak-color-border-strong);color:var(--ak-color-text-strong)}.connection-banner.is-offline,.action-message.is-error,.unknown-panel{border:2px solid var(--ak-color-ink);background:var(--ak-color-surface);color:var(--ak-color-ink)}.unknown-panel{display:flex;justify-content:space-between;align-items:center;gap:20px}.unknown-panel strong{font-weight:var(--ak-font-weight-800)}.unknown-panel p{color:var(--ak-color-text-secondary);font-size:var(--ak-font-size-12);margin-top:5px}main{padding:36px 0 0;outline:none}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:33px}.date-label,.quiet-label{font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted);padding-bottom:6px;line-height:1.5}.eyebrow,.small-caps{font-size:var(--ak-font-size-12);line-height:1.5;font-weight:var(--ak-font-weight-650);letter-spacing:0}.eyebrow{color:var(--ak-color-text-muted);margin-bottom:10px}.today-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:50px}.pet-card{min-width:0;border:2px solid var(--ak-color-ink);border-radius:var(--ak-radius-22);padding:24px 28px 25px;overflow:hidden}.pet-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.small-caps{color:var(--ak-color-text-muted);font-size:var(--ak-font-size-14)}.pet-name{font-size:var(--ak-font-size-24);font-weight:var(--ak-font-weight-800);letter-spacing:-.05em}.pet-stage{height:275px;position:relative;display:flex;align-items:center;justify-content:center}.pet-player{z-index:1;position:relative;width:240px;height:260px}.pet-player canvas{width:240px!important;height:260px!important;image-rendering:auto}.pet-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--ak-font-size-14);color:var(--ak-color-text-muted)}.daily-goal{border-top:1px solid var(--ak-color-border);padding-top:20px}.goal-numbers{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.goal-numbers strong{font-size:var(--ak-font-size-76);line-height:1;font-weight:var(--ak-font-weight-850);letter-spacing:-.07em}.goal-numbers>span:not(.goal-percent){font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted)}.goal-percent{margin-left:auto;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-700)}.progress-track{height:7px;background:var(--ak-color-track);overflow:hidden;border-radius:var(--ak-radius-3);margin-top:19px}.progress-fill{height:100%;width:0;background:var(--ak-color-action);border-radius:var(--ak-radius-3);transition:width .35s ease}.daily-goal>p{font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted);margin-top:13px}.today-right{display:flex;flex-direction:column;gap:28px;justify-content:center}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stat-card{border-bottom:2px solid var(--ak-color-ink);padding:0 0 24px;min-width:0}.stat-card>span:not(.stat-icon){display:block;font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-650);margin-bottom:15px}.stat-icon{float:right;color:var(--ak-color-ink)}.stat-icon svg{width:20px;height:20px}.stat-card strong{font-size:var(--ak-font-size-46);line-height:1;font-weight:var(--ak-font-weight-800);letter-spacing:-.06em}.stat-card small{font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-500);letter-spacing:0;color:var(--ak-color-text-muted)}.stat-card p{font-size:var(--ak-font-size-12);margin-top:10px}.featured-task{padding:27px;background:var(--ak-color-ink);color:var(--ak-color-on-ink);border-radius:var(--ak-radius-20)}.section-kicker{font-size:var(--ak-font-size-13);color:var(--ak-color-text-inverse-muted);margin-bottom:28px}.featured-task h2{font-size:var(--ak-font-size-30);line-height:1.07;margin-bottom:12px}.featured-task p{font-size:var(--ak-font-size-14);color:var(--ak-color-text-inverse-muted);line-height:1.6}.featured-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px}.featured-bottom>span{font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-600);max-width:80%;line-height:1.6}.round-button{height:42px;width:42px;padding:10px;border:1px solid var(--ak-color-surface);border-radius:var(--ak-radius-full);display:grid;place-items:center;background:var(--ak-color-surface);color:var(--ak-color-ink);flex-shrink:0}.round-button svg{height:20px;width:20px}.source-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding-top:20px}.source-strip strong{font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-650)}.source-strip p{font-size:var(--ak-font-size-12);margin-top:4px}.source-strip .text-button{white-space:nowrap}.text-button{border:0;padding:0;background:none;color:var(--ak-color-ink);font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-650);text-decoration:underline;text-underline-offset:4px;line-height:1.5}.text-button:hover{text-decoration-thickness:2px}.app-footer{display:flex;justify-content:space-between;gap:18px;padding:35px 0 30px;margin-top:24px;border-top:1px solid var(--ak-color-border);font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted)}.app-footer a{font-size:var(--ak-font-size-12);color:var(--ak-color-text-secondary)}.button{display:flex;justify-content:center;align-items:center;gap:15px;min-height:48px;padding:13px 18px;border:2px solid var(--ak-color-action);border-radius:var(--ak-radius-9);background:var(--ak-color-action);color:var(--ak-color-on-action);font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-700)}.button:hover:not(:disabled){background:var(--ak-color-action-hover);border-color:var(--ak-color-action-hover)}.button-small{min-height:40px;padding:8px 14px;font-size:var(--ak-font-size-12);white-space:nowrap}.button svg{width:19px;height:19px}.button:disabled{background:var(--ak-color-disabled-surface);color:var(--ak-color-text-muted);border-color:var(--ak-color-disabled-surface)}.pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border:1px solid var(--ak-color-border);border-radius:var(--ak-radius-5);background:var(--ak-color-surface);color:var(--ak-color-text-secondary);font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-600);line-height:1.5;white-space:nowrap}.pill-green{border-color:var(--ak-color-ink);color:var(--ak-color-ink)}.pill-warning{border-style:dashed;border-color:var(--ak-color-text-muted);color:var(--ak-color-ink)}.pill-error{background:var(--ak-color-ink);color:var(--ak-color-on-ink);border-color:var(--ak-color-ink)}.task-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.task-card{border:1.5px solid var(--ak-color-ink);border-radius:var(--ak-radius-18);padding:25px;background:var(--ak-color-surface)}.task-card.is-paused{background:var(--ak-color-surface-subtle);border-color:var(--ak-color-border-strong)}.task-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.task-symbol{display:grid;place-items:center;height:35px;width:35px;border:1.5px solid var(--ak-color-ink);border-radius:var(--ak-radius-full);font-size:var(--ak-font-size-21);font-weight:var(--ak-font-weight-600)}.task-card h2{font-size:var(--ak-font-size-28);margin-bottom:12px}.task-description{font-size:var(--ak-font-size-14);line-height:1.6;min-height:42px}.conditions-caption{font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-700);margin:26px 0 10px}.conditions{display:flex;flex-direction:column;gap:9px}.condition{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ak-color-border);padding:11px 0}.condition-dot{height:18px;width:18px;border:1.5px solid var(--ak-color-border-strong);border-radius:var(--ak-radius-full);flex-shrink:0;display:grid;place-items:center;font-size:var(--ak-font-size-11)}.condition-dot.met{background:var(--ak-color-ink);border-color:var(--ak-color-ink);color:var(--ak-color-on-ink)}.condition>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex:1;flex-wrap:wrap}.condition>div>span{font-size:var(--ak-font-size-13)}.condition strong{font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-750)}.condition strong span{font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-400);color:var(--ak-color-text-muted)}.task-rewards{display:flex;gap:9px;align-items:flex-start;margin-top:19px;padding-top:5px;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-650);line-height:1.6}.reward-star{font-size:var(--ak-font-size-18);line-height:1.3}.card-footnote,.inline-warning{font-size:var(--ak-font-size-12);line-height:1.6;margin-top:13px;color:var(--ak-color-text-muted)}.inline-warning{border-left:3px solid var(--ak-color-ink);padding-left:11px;color:var(--ak-color-text-strong)}.collection-section{margin-top:43px}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:23px}.section-heading h2{font-size:var(--ak-font-size-34)}.count-label{display:grid;place-items:center;min-width:33px;height:33px;border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-full);font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-700);padding:0 8px}.achievements-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.achievement{display:flex;align-items:center;gap:15px;border:1px solid var(--ak-color-border);border-radius:var(--ak-radius-13);padding:20px}.achievement-medal{display:grid;place-items:center;height:42px;width:42px;border:1.5px solid var(--ak-color-ink);border-radius:var(--ak-radius-full);font-size:var(--ak-font-size-24);flex-shrink:0}.achievement h3{font-size:var(--ak-font-size-19);letter-spacing:-.035em}.achievement p{font-size:var(--ak-font-size-12);margin-top:6px}.section-description{font-size:var(--ak-font-size-13);margin:-10px 0 23px}.entries-list{border-top:1px solid var(--ak-color-ink)}.entry-row{display:flex;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--ak-color-border)}.ticket-symbol{font-size:var(--ak-font-size-28);line-height:1}.entry-row>div{flex:1}.entry-row strong{font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-700)}.entry-row p{font-size:var(--ak-font-size-12);margin-top:4px}.empty-state{padding:35px 23px;border:1px solid var(--ak-color-border);border-radius:var(--ak-radius-15);background:var(--ak-color-surface-subtle)}.empty-symbol{display:none}.empty-state :is(h2,h3){font-size:var(--ak-font-size-23);line-height:1.15}.empty-state p{font-size:var(--ak-font-size-14);line-height:1.6;margin-top:11px;max-width:430px}.wallet-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.wallet-card{border:2px solid var(--ak-color-ink);border-radius:var(--ak-radius-20);padding:26px;background:var(--ak-color-ink);color:var(--ak-color-on-ink)}.wallet-card.bank-wallet{background:var(--ak-color-surface);color:var(--ak-color-ink)}.wallet-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.wallet-card-head>span:first-child svg{width:23px;height:23px}.wallet-card-head .pill{background:transparent;color:var(--ak-color-on-ink);border-color:var(--ak-color-text-muted);font-size:var(--ak-font-size-12)}.bank-wallet .wallet-card-head .pill{color:var(--ak-color-ink);border-color:var(--ak-color-ink)}.wallet-card h2{font-size:var(--ak-font-size-21);font-weight:var(--ak-font-weight-650);letter-spacing:-.03em}.balance{font-size:var(--ak-font-size-90);font-weight:var(--ak-font-weight-800);line-height:1.05;letter-spacing:-.075em;margin:18px 0 26px}.balance>span{display:block;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-400);letter-spacing:0;color:var(--ak-color-text-inverse-muted);margin-top:8px}.bank-wallet .balance>span{color:var(--ak-color-text-muted)}.wallet-details{display:grid;gap:10px;border-top:1px solid var(--ak-color-text-secondary);padding-top:19px}.bank-wallet .wallet-details{border-color:var(--ak-color-border)}.wallet-details>div{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:var(--ak-font-size-13)}.wallet-details>div>span{color:var(--ak-color-text-inverse-muted)}.bank-wallet .wallet-details>div>span{color:var(--ak-color-text-muted)}.wallet-details strong{font-weight:var(--ak-font-weight-700)}.wallet-card>p{font-size:var(--ak-font-size-12);color:var(--ak-color-text-inverse-muted);margin-top:20px;line-height:1.6}.bank-wallet>p{color:var(--ak-color-text-muted)}.balance-note{font-size:var(--ak-font-size-13);margin-top:19px}.history-heading{margin-top:43px}.history-list{border-top:2px solid var(--ak-color-ink)}.history-row{display:flex;align-items:center;gap:15px;padding:22px 0;border-bottom:1px solid var(--ak-color-border)}.history-icon{display:grid;place-items:center;height:37px;width:37px;border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-full);font-size:var(--ak-font-size-22);flex-shrink:0}.history-copy{flex:1}.history-copy h3{font-size:var(--ak-font-size-17);letter-spacing:-.03em}.history-copy p{font-size:var(--ak-font-size-12);margin-top:5px}.status-text{display:inline-block;font-size:var(--ak-font-size-12);margin-top:5px;color:var(--ak-color-text-muted)}.status-text.failed{color:var(--ak-color-ink);text-decoration:underline}.history-amount{font-size:var(--ak-font-size-25);font-weight:var(--ak-font-weight-800);letter-spacing:-.05em;flex-shrink:0}.shop-wallets{display:flex;gap:25px;flex-wrap:wrap;margin-bottom:32px}.shop-wallets>span{display:flex;align-items:baseline;gap:8px;font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted)}.shop-wallets strong{font-size:var(--ak-font-size-25);font-weight:var(--ak-font-weight-800);letter-spacing:-.04em;color:var(--ak-color-ink)}.wallet-dot{display:none}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.offer-card{border:2px solid var(--ak-color-ink);border-radius:var(--ak-radius-20);overflow:hidden;background:var(--ak-color-surface)}.offer-body{padding:26px;display:flex;flex-direction:column;height:100%}.offer-meta{font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted);margin-bottom:29px}.offer-body h2{font-size:var(--ak-font-size-35);margin-bottom:13px;line-height:1.05}.offer-body>p{font-size:var(--ak-font-size-14);line-height:1.6}.offer-price{display:flex;align-items:baseline;gap:11px;margin:38px 0 22px}.offer-price strong{font-size:var(--ak-font-size-62);line-height:1;font-weight:var(--ak-font-weight-850);letter-spacing:-.065em}.offer-price>span{font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted)}.offer-button{width:100%;justify-content:space-between;margin-top:auto}.offer-button:disabled{justify-content:center}.offer-body>.offer-footnote{font-size:var(--ak-font-size-12);margin-top:13px;color:var(--ak-color-text-muted)}.redemptions-list{display:grid;gap:16px}.redemption-card{border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-16);padding:22px}.redemption-top{display:flex;gap:15px;align-items:center}.redemption-symbol{font-size:var(--ak-font-size-26)}.redemption-top>div{flex:1}.redemption-top h3{font-size:var(--ak-font-size-21)}.redemption-top p{font-size:var(--ak-font-size-12);margin-top:7px}.demo-code{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;border:1px dashed var(--ak-color-text-muted);border-radius:var(--ak-radius-9);padding:16px;margin-top:19px}.demo-code>span{font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted)}.demo-code code{font-family:var(--ak-font-mono);font-size:var(--ak-font-size-20);letter-spacing:.05em;font-weight:var(--ak-font-weight-600);overflow-wrap:anywhere}.redemption-detail{font-size:var(--ak-font-size-13);line-height:1.65;margin-top:17px;max-width:650px}.operation-reference{font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted);margin-top:13px;overflow-wrap:anywhere}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.settings-card{padding:25px;border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-18)}.settings-card h2{font-size:var(--ak-font-size-30);margin-bottom:15px}.settings-card>p{font-size:var(--ak-font-size-14);line-height:1.6}.pet-choices{display:flex;flex-direction:column;gap:11px;margin-top:26px}.pet-choice{display:flex;align-items:center;text-align:left;gap:15px;width:100%;padding:16px;border:1px solid var(--ak-color-border);border-radius:var(--ak-radius-11);background:var(--ak-color-surface)}.pet-choice.is-selected{border:2px solid var(--ak-color-ink);padding:15px}.pet-choice:disabled{opacity:.5}.pet-avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;font-size:var(--ak-font-size-31);border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-full);line-height:1}.pet-choice-copy{flex:1}.pet-choice-copy>strong{display:block;font-size:var(--ak-font-size-18);font-weight:var(--ak-font-weight-800);letter-spacing:-.04em}.pet-choice-copy>span{display:block;font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted);margin-top:3px}.pet-check{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--ak-color-border);border-radius:var(--ak-radius-full);font-size:var(--ak-font-size-12)}.is-selected .pet-check{background:var(--ak-color-ink);color:var(--ak-color-on-ink);border-color:var(--ak-color-ink)}.settings-card .field-hint{font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted);margin-top:19px;line-height:1.65}.settings-right{display:flex;flex-direction:column;gap:23px}.settings-card label{display:block;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-600);margin:22px 0 8px}select{width:100%;min-height:47px;padding:11px 13px;border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-8);background:var(--ak-color-surface);color:var(--ak-color-ink)}.sources-card ul{padding-left:18px;margin:20px 0;font-size:var(--ak-font-size-14);line-height:1.7;color:var(--ak-color-text-muted)}.sources-card li+li{margin-top:12px}.sources-card>p{font-size:var(--ak-font-size-12);line-height:1.6}.sources-card>.text-button{display:inline-block;margin-top:21px}.muted{font-size:var(--ak-font-size-14)}.redeem-dialog{width:min(460px,calc(100vw - 32px));max-height:90dvh;padding:34px;border:2px solid var(--ak-color-ink);border-radius:var(--ak-radius-21);background:var(--ak-color-surface);color:var(--ak-color-ink);box-shadow:0 18px 70px var(--ak-color-shadow);overflow:auto}.redeem-dialog::backdrop{background:var(--ak-color-backdrop)}.dialog-close{position:absolute;top:17px;right:17px;width:32px;height:32px;border:0;font-size:var(--ak-font-size-25);font-weight:var(--ak-font-weight-400);padding:0}.redeem-dialog .eyebrow{display:block;font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-500);margin:14px 0 24px}.redeem-dialog h2{font-size:var(--ak-font-size-39);margin-bottom:16px;line-height:1.04}.redeem-dialog p{font-size:var(--ak-font-size-14);line-height:1.65}.confirm-price{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--ak-color-border);padding:24px 0;margin-top:22px}.confirm-price>span{font-size:var(--ak-font-size-14);color:var(--ak-color-text-muted)}.confirm-price strong{font-size:var(--ak-font-size-58);font-weight:var(--ak-font-weight-850);line-height:1;letter-spacing:-.07em;text-align:right}.confirm-price small{display:block;max-width:230px;font-size:var(--ak-font-size-12);letter-spacing:0;font-weight:var(--ak-font-weight-500);line-height:1.4;color:var(--ak-color-text-muted);margin-top:9px}.confirm-balance{display:flex;justify-content:space-between;gap:15px;font-size:var(--ak-font-size-13);border-bottom:1px solid var(--ak-color-border);padding-bottom:22px}.confirm-balance>span{color:var(--ak-color-text-muted)}.redeem-dialog .field-hint{font-size:var(--ak-font-size-12);margin:20px 0 24px}.confirm-button{width:100%;font-size:var(--ak-font-size-13)}.dialog-cancel{display:block;margin:20px auto 0}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:var(--ak-color-ink);color:var(--ak-color-on-ink);padding:12px 16px;border-radius:var(--ak-radius-6)}.skip-link:focus{top:16px}.refreshing svg{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.app-shell{padding:0 28px}.today-layout{gap:26px}.pet-card{padding:22px}.goal-numbers strong{font-size:var(--ak-font-size-61)}.goal-numbers>span:not(.goal-percent){font-size:var(--ak-font-size-12)}.goal-percent{font-size:var(--ak-font-size-12)}.stat-grid{gap:15px}.stat-icon{display:none}.stat-card strong{font-size:var(--ak-font-size-39)}.stat-card small{font-size:var(--ak-font-size-12)}.featured-task{padding:23px}.featured-task h2{font-size:var(--ak-font-size-28)}.task-card{padding:22px}.task-card h2{font-size:var(--ak-font-size-25)}.condition>div{display:block}.condition strong{display:block;margin-top:4px}.wallet-card{padding:23px}.balance{font-size:var(--ak-font-size-75)}.offer-body{padding:23px}.offer-body h2{font-size:var(--ak-font-size-30)}.settings-layout{gap:19px}.settings-card{padding:22px}.pet-choice{padding:13px;gap:12px}.pet-choice.is-selected{padding:12px}.pet-avatar{width:36px;height:36px;font-size:var(--ak-font-size-26)}.pet-choice-copy>strong{font-size:var(--ak-font-size-17)}.pet-choice-copy>span{font-size:var(--ak-font-size-12)}.app-nav{gap:4px}.app-nav button{padding:9px 14px;font-size:var(--ak-font-size-13)}}
@media(max-width:590px){.app-shell{padding:0 21px}.app-header{min-height:78px;gap:9px;display:grid;grid-template-columns:minmax(0,1fr) auto}.wordmark{font-size:var(--ak-font-size-25);gap:7px;letter-spacing:-1.6px}.brand-mark{height:28px;width:28px;font-size:var(--ak-font-size-23);border-radius:var(--ak-radius-5)}.program-label{grid-column:1/-1;grid-row:2;margin-left:0;font-size:var(--ak-font-size-12);gap:5px;flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;max-width:none;line-height:1.5}.program-label>span:last-child{max-width:none}.demo-badge{font-size:var(--ak-font-size-12);padding:2px 4px;border-radius:var(--ak-radius-2)}.app-header .icon-button{width:34px;height:34px;padding:7px}.app-header .icon-button svg{width:18px;height:18px}.app-nav{position:fixed;bottom:0;left:0;right:0;z-index:8;background:var(--ak-color-surface);border:0;border-top:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-0);padding:9px 8px calc(10px + env(safe-area-inset-bottom));margin:0;gap:0}.app-nav button{flex:1;flex-direction:column;justify-content:center;gap:6px;min-height:53px;min-width:0;padding:5px 2px;border-radius:var(--ak-radius-8);font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-600);color:var(--ak-color-text-muted)}.app-nav button[aria-current="page"]{background:var(--ak-color-action);color:var(--ak-color-on-action)}.nav-icon svg{width:19px;height:19px}main{padding-top:32px}.page-heading{margin-bottom:26px;align-items:flex-end;gap:12px}.page-heading h1{font-size:var(--ak-font-size-47);letter-spacing:-.065em;line-height:1.04}.date-label{font-size:var(--ak-font-size-12);max-width:110px;text-align:right;padding-bottom:3px}.quiet-label{font-size:var(--ak-font-size-12);max-width:125px;text-align:right;padding-bottom:3px}.today-layout{grid-template-columns:1fr;gap:28px}.pet-card{padding:20px 23px 23px;border-radius:var(--ak-radius-18)}.pet-card-top .small-caps{font-size:var(--ak-font-size-13)}.pet-name{font-size:var(--ak-font-size-23)}.pet-stage{height:252px}.pet-player,.pet-player canvas{width:222px!important;height:241px!important}.daily-goal{padding-top:19px}.goal-numbers strong{font-size:var(--ak-font-size-70);letter-spacing:-.075em}.goal-numbers>span:not(.goal-percent){font-size:var(--ak-font-size-12)}.goal-percent{font-size:var(--ak-font-size-12)}.progress-track{height:6px;margin-top:17px}.daily-goal>p{font-size:var(--ak-font-size-12);line-height:1.6;margin-top:12px}.today-right{gap:26px}.stat-grid{gap:20px}.stat-card{padding-bottom:22px}.stat-card>span:not(.stat-icon){font-size:var(--ak-font-size-13);margin-bottom:16px}.stat-card strong{font-size:var(--ak-font-size-45)}.stat-card small{font-size:var(--ak-font-size-12)}.stat-card p{font-size:var(--ak-font-size-12);margin-top:10px}.stat-icon{display:block}.stat-icon svg{height:18px;width:18px}.featured-task{padding:24px;border-radius:var(--ak-radius-16)}.section-kicker{font-size:var(--ak-font-size-12);margin-bottom:24px}.featured-task h2{font-size:var(--ak-font-size-30)}.featured-task p{font-size:var(--ak-font-size-14)}.featured-bottom{margin-top:25px;gap:14px}.featured-bottom>span{font-size:var(--ak-font-size-12)}.round-button{width:40px;height:40px;padding:9px}.source-strip{margin-top:25px;padding-top:0;gap:14px;align-items:flex-start}.source-strip strong{font-size:var(--ak-font-size-12)}.source-strip p{font-size:var(--ak-font-size-12);line-height:1.5;max-width:200px;margin-top:5px}.source-strip .text-button{font-size:var(--ak-font-size-12);white-space:normal;max-width:95px;text-align:right}.app-footer{margin-top:30px;margin-bottom:calc(91px + env(safe-area-inset-bottom));padding:23px 0 15px;font-size:var(--ak-font-size-12);gap:15px}.app-footer a{font-size:var(--ak-font-size-12)}.connection-banner,.action-message{font-size:var(--ak-font-size-12);padding:13px 15px;margin-top:16px;line-height:1.6}.unknown-panel{padding:16px;flex-direction:column;align-items:flex-start;gap:15px}.unknown-panel p{font-size:var(--ak-font-size-12)}.unknown-panel .button{width:100%}.task-grid,.wallet-grid,.offer-grid,.settings-layout,.achievements-list{grid-template-columns:1fr;gap:18px}.task-card{padding:23px;border-radius:var(--ak-radius-17)}.task-card h2{font-size:var(--ak-font-size-28)}.task-description{font-size:var(--ak-font-size-14);min-height:0;line-height:1.6}.task-card-head{margin-bottom:22px}.task-symbol{height:33px;width:33px;font-size:var(--ak-font-size-20)}.conditions-caption{font-size:var(--ak-font-size-12);margin-top:25px}.condition>div{display:flex}.condition>div>span{font-size:var(--ak-font-size-13)}.condition strong{font-size:var(--ak-font-size-13);display:inline;margin-top:0}.condition strong span{font-size:var(--ak-font-size-12)}.task-rewards{font-size:var(--ak-font-size-13)}.card-footnote,.inline-warning{font-size:var(--ak-font-size-12)}.pill{font-size:var(--ak-font-size-12);padding:4px 8px}.collection-section{margin-top:37px}.section-heading{margin-bottom:22px;gap:13px}.section-heading h2{font-size:var(--ak-font-size-31)}.count-label{font-size:var(--ak-font-size-12);min-width:30px;height:30px}.achievement{padding:20px 17px;gap:13px;border-radius:var(--ak-radius-12)}.achievement h3{font-size:var(--ak-font-size-18)}.achievement p{font-size:var(--ak-font-size-12)}.achievement-medal{height:36px;width:36px;font-size:var(--ak-font-size-22)}.section-description{font-size:var(--ak-font-size-13);margin-top:-10px;line-height:1.6}.entry-row{padding:19px 0;gap:12px;flex-wrap:wrap}.entry-row strong{font-size:var(--ak-font-size-14)}.entry-row p{font-size:var(--ak-font-size-12)}.entry-row .pill{margin-left:35px}.ticket-symbol{font-size:var(--ak-font-size-25)}.wallet-card{padding:24px;border-radius:var(--ak-radius-18)}.wallet-card h2{font-size:var(--ak-font-size-21)}.balance{font-size:var(--ak-font-size-84);margin:18px 0 26px}.wallet-details>div{font-size:var(--ak-font-size-13)}.wallet-card>p{font-size:var(--ak-font-size-12)}.balance-note{font-size:var(--ak-font-size-13);line-height:1.6}.history-heading{margin-top:37px}.history-heading h2{font-size:var(--ak-font-size-31)}.history-heading .text-button{font-size:var(--ak-font-size-12);white-space:nowrap}.history-row{gap:12px;padding:21px 0}.history-icon{height:32px;width:32px;font-size:var(--ak-font-size-20)}.history-copy h3{font-size:var(--ak-font-size-16)}.history-copy p{font-size:var(--ak-font-size-12)}.history-amount{font-size:var(--ak-font-size-24)}.shop-wallets{gap:9px 20px;margin-bottom:28px}.shop-wallets>span{font-size:var(--ak-font-size-12)}.shop-wallets strong{font-size:var(--ak-font-size-24)}.offer-card{border-radius:var(--ak-radius-18)}.offer-body{padding:25px}.offer-meta{font-size:var(--ak-font-size-12);margin-bottom:28px}.offer-body h2{font-size:var(--ak-font-size-35)}.offer-body>p{font-size:var(--ak-font-size-14)}.offer-price{margin-top:38px;margin-bottom:24px}.offer-price strong{font-size:var(--ak-font-size-65)}.offer-price>span{font-size:var(--ak-font-size-13)}.offer-body>.offer-footnote{font-size:var(--ak-font-size-12)}.redemption-card{padding:21px;border-radius:var(--ak-radius-15)}.redemption-top{gap:12px;flex-wrap:wrap}.redemption-top>div{min-width:180px}.redemption-top h3{font-size:var(--ak-font-size-21)}.redemption-top p{font-size:var(--ak-font-size-12)}.redemption-top .pill{margin-left:32px}.redemption-symbol{font-size:var(--ak-font-size-23)}.demo-code{padding:15px;gap:9px;margin-top:18px}.demo-code code{font-size:var(--ak-font-size-18)}.demo-code>span{font-size:var(--ak-font-size-12)}.redemption-detail{font-size:var(--ak-font-size-13)}.operation-reference{font-size:var(--ak-font-size-12)}.settings-card{padding:24px;border-radius:var(--ak-radius-17)}.settings-card h2{font-size:var(--ak-font-size-31)}.settings-card>p{font-size:var(--ak-font-size-14)}.pet-choice{padding:16px;gap:13px}.pet-choice.is-selected{padding:15px}.pet-avatar{width:39px;height:39px;font-size:var(--ak-font-size-29)}.pet-choice-copy>strong{font-size:var(--ak-font-size-19)}.pet-choice-copy>span{font-size:var(--ak-font-size-12)}.settings-card .field-hint{font-size:var(--ak-font-size-12)}.settings-right{gap:18px}.sources-card ul{font-size:var(--ak-font-size-14)}.sources-card>p{font-size:var(--ak-font-size-12)}.empty-state{padding:29px 21px}.empty-state :is(h2,h3){font-size:var(--ak-font-size-23);line-height:1.15}.empty-state p{font-size:var(--ak-font-size-14)}.redeem-dialog{padding:29px 25px;border-radius:var(--ak-radius-18)}.redeem-dialog h2{font-size:var(--ak-font-size-36)}.redeem-dialog p{font-size:var(--ak-font-size-14)}.confirm-price strong{font-size:var(--ak-font-size-55)}.confirm-button{font-size:var(--ak-font-size-12)}.redeem-dialog .field-hint{font-size:var(--ak-font-size-12)}}
@media(max-width:359px){.app-shell{padding:0 17px}.wordmark{font-size:var(--ak-font-size-22);gap:6px}.brand-mark{width:25px;height:25px;font-size:var(--ak-font-size-21)}.app-header{gap:7px}.program-label{max-width:none}.app-header .icon-button{height:32px;width:32px}.page-heading h1{font-size:var(--ak-font-size-42)}.date-label{max-width:94px}.pet-card{padding:18px 20px 21px}.goal-numbers strong{font-size:var(--ak-font-size-61)}.goal-percent{margin-left:0}.stat-card strong{font-size:var(--ak-font-size-39)}.stat-icon{display:none}.condition>div{display:block}.condition strong{display:block;margin-top:5px}.offer-body{padding:23px}.offer-price>span{font-size:var(--ak-font-size-12)}.pet-choice{padding:13px;gap:11px}.pet-choice.is-selected{padding:12px}.pet-avatar{width:34px;height:34px}.app-nav button{font-size:var(--ak-font-size-12)}.history-heading h2{font-size:var(--ak-font-size-27)}.history-heading .text-button{font-size:var(--ak-font-size-12)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.raffle-card{border:2px solid var(--ak-color-ink);border-radius:var(--ak-radius-18);padding:27px;margin-top:18px}.raffle-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.raffle-card-top>span:first-child{font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-650)}.raffle-card>:is(h3,h4){font-size:var(--ak-font-size-39);line-height:1.05;max-width:660px}.raffle-deadline{font-size:var(--ak-font-size-13);margin-top:15px;line-height:1.6}.raffle-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 24px}.raffle-counts>div{display:flex;flex-direction:column-reverse;gap:9px}.raffle-counts dt{font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted)}.raffle-counts dd{font-size:var(--ak-font-size-53);font-weight:var(--ak-font-weight-850);letter-spacing:-.07em;line-height:1;margin:0}.my-tickets{display:flex;gap:8px;flex-wrap:wrap}.my-tickets>span{border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-5);padding:6px 10px;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-700)}.raffle-ticket-hint,.raffle-awaiting{font-size:var(--ak-font-size-14);line-height:1.65}.raffle-awaiting{margin-top:23px;border-left:3px solid var(--ak-color-ink);padding-left:14px}.raffle-rules{margin-top:27px;border-top:1px solid var(--ak-color-border);padding-top:17px}.raffle-rules summary{font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-650);cursor:pointer;padding:3px 0}.raffle-rules p{font-size:var(--ak-font-size-13);line-height:1.7;white-space:pre-line;margin-top:14px}.raffle-history{margin-top:30px}.raffle-history>h3{font-size:var(--ak-font-size-25);margin-bottom:17px}.raffle-result{margin-top:26px;padding-top:23px;border-top:2px solid var(--ak-color-ink)}.raffle-result>strong{font-size:var(--ak-font-size-26);font-weight:var(--ak-font-weight-800);letter-spacing:-.04em;line-height:1.15}.raffle-result>p{font-size:var(--ak-font-size-12);margin-top:10px;line-height:1.6}.raffle-result ul{list-style:none;padding:0;margin:20px 0}.raffle-result li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ak-color-border);padding:10px 0;font-size:var(--ak-font-size-14)}.raffle-result li span{color:var(--ak-color-text-muted);font-size:var(--ak-font-size-12)}.raffle-result li strong{font-weight:var(--ak-font-weight-700);text-align:right}.raffle-rules summary:focus-visible{outline:3px solid var(--ak-color-ink);outline-offset:4px}
@media(max-width:590px){.raffle-card{padding:23px;border-radius:var(--ak-radius-17)}.raffle-card-top{gap:12px;align-items:flex-start;margin-bottom:25px;flex-wrap:wrap}.raffle-card-top>span:first-child{font-size:var(--ak-font-size-14)}.raffle-card>:is(h3,h4){font-size:var(--ak-font-size-35)}.raffle-deadline{font-size:var(--ak-font-size-12)}.raffle-counts{gap:12px;margin-top:28px}.raffle-counts dd{font-size:var(--ak-font-size-44)}.raffle-counts dt{font-size:var(--ak-font-size-12)}.my-tickets>span{font-size:var(--ak-font-size-12)}.raffle-ticket-hint,.raffle-awaiting{font-size:var(--ak-font-size-14)}.raffle-result>strong{font-size:var(--ak-font-size-25)}.raffle-rules{margin-top:24px}.raffle-rules p{font-size:var(--ak-font-size-13)}.raffle-history>h3{font-size:var(--ak-font-size-25)}}
/* Keep grouped balances inside the existing cards on narrow phones. */
.wallet-card{min-width:0}
.balance{font-variant-numeric:tabular-nums;letter-spacing:0}
@media(max-width:590px){.balance{font-size:var(--ak-font-size-balance-mobile)}}

/* Shared public brand and icon tokens live in theme.css. */
h1,h2,h3,h4,.wordmark{font-family:var(--ak-font-heading)}
.ak-icon{vertical-align:middle}.nav-icon .ak-icon{width:19px;height:19px}.stat-icon .ak-icon,.round-button .ak-icon,.icon-button .ak-icon{width:20px;height:20px}.wallet-card-head .ak-icon{width:23px;height:23px}.button .ak-icon{width:19px;height:19px}.condition-dot .ak-icon{width:12px;height:12px}.pet-check .ak-icon{width:14px;height:14px}.reward-star .ak-icon{width:18px;height:18px}.pet-avatar .ak-icon{width:26px;height:26px}.task-symbol .ak-icon,.achievement-medal .ak-icon,.history-icon .ak-icon{width:22px;height:22px}.text-button .ak-icon,.app-footer .ak-icon{width:14px;height:14px}

/* Activity UI contract: a manual data-activity-state overrides live presentation. */
.activity-status{margin-bottom:24px;padding:16px 18px;border:1px solid var(--ak-color-border-strong);border-radius:var(--ak-radius-10);background:var(--ak-color-surface-subtle);font-size:var(--ak-font-size-14)}
.activity-status strong{display:block;color:var(--ak-color-ink);font-weight:var(--ak-font-weight-700)}
.activity-status p{margin-top:5px}.activity-status .text-button{margin-top:9px}
[data-for-activity],.activity-placeholder,.activity-stale{display:none}
main:is([data-activity-state="denied"],:not([data-activity-state])[data-resolved-activity-state="denied"]) [data-for-activity="denied"],
main:is([data-activity-state="no_data"],:not([data-activity-state])[data-resolved-activity-state="no_data"]) [data-for-activity="no_data"],
main:is([data-activity-state="syncing"],:not([data-activity-state])[data-resolved-activity-state="syncing"]) [data-for-activity="syncing"],
main:is([data-activity-state="error"],:not([data-activity-state])[data-resolved-activity-state="error"]) [data-for-activity="error"],
main:is([data-activity-state="ok"],:not([data-activity-state])[data-resolved-activity-state="ok"]) [data-for-activity="ok"]{display:block}
main:is([data-activity-state="ok"],:not([data-activity-state])[data-resolved-activity-state="ok"]) .activity-status{display:none}
main:is([data-activity-state="denied"],[data-activity-state="no_data"],:not([data-activity-state])[data-resolved-activity-state="denied"],:not([data-activity-state])[data-resolved-activity-state="no_data"]) #screen-today .activity-reading{display:none}
main:is([data-activity-state="denied"],[data-activity-state="no_data"],:not([data-activity-state])[data-resolved-activity-state="denied"],:not([data-activity-state])[data-resolved-activity-state="no_data"]) #screen-today .activity-placeholder{display:inline}
main[data-has-activity="true"]:is([data-activity-state="syncing"],[data-activity-state="error"],:not([data-activity-state])[data-resolved-activity-state="syncing"],:not([data-activity-state])[data-resolved-activity-state="error"]) .activity-stale{display:block}

/* White-label header: partner logo or text mark plus program name; no product brand. */
.partner-brand{display:flex;align-items:center;gap:12px;min-height:44px;min-width:0;text-decoration:none;color:var(--ak-color-ink)}
.partner-logo{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--ak-radius-9);background:var(--ak-color-ink);color:var(--ak-color-on-ink);font-size:15px;font-weight:var(--ak-font-weight-800);letter-spacing:.02em;overflow:hidden}
.partner-logo.has-image{background:transparent}.partner-logo img{width:100%;height:100%;object-fit:contain}
.partner-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.partner-tagline{font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-500);line-height:1.3;color:var(--ak-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-name{font-family:var(--ak-font-heading);font-size:var(--ak-font-size-22);font-weight:var(--ak-font-weight-800);letter-spacing:-.03em;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demo-note{margin:34px 0 8px;font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted)}

/* Tap targets of at least 44px and visible focus on every interactive element. */
.icon-button,.app-header .icon-button{width:44px;height:44px}
.round-button{width:44px;height:44px}
.text-button{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.raffle-rules summary{display:flex;align-items:center;min-height:44px}
input:focus-visible,summary:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid var(--ak-color-ink);outline-offset:4px}
[tabindex="-1"]:focus{outline:none}

/* Today: one shape for secondary metrics, honest source line, week bars. */
.stat-card.is-missing strong .activity-reading{color:var(--ak-color-text-muted)}
.metric-source{margin:-8px 0 0;font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted);line-height:1.5}
.metric-source strong{color:var(--ak-color-ink);font-weight:var(--ak-font-weight-650)}
.share-button{margin-top:16px;width:100%}
.week-card{border:1.5px solid var(--ak-color-ink);border-radius:var(--ak-radius-18);padding:20px 20px 8px}
.week-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.week-head h2{font-size:var(--ak-font-size-24)}
.week-caption{font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted)}
.week-chart{position:relative;margin-top:16px}
.week-goal{position:absolute;left:0;right:0;border-top:1.5px dashed var(--ak-color-text-muted);margin-bottom:41px;height:0;transform:translateY(-1px);pointer-events:none}
.week-bars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.week-day{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.week-value{font-size:11px;font-weight:var(--ak-font-weight-650);color:var(--ak-color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}
.week-track{position:relative;display:flex;align-items:flex-end;width:100%;height:96px}
.week-bar{display:block;width:100%;border-radius:5px 5px 2px 2px;background:#8a8a8a;transform-origin:bottom;animation:week-grow .45s ease-out both}
.week-bar.is-zero{height:2px!important;border-radius:1px}
.week-bar-empty{display:block;width:100%;height:100%;border:1.5px dashed #8a8a8a;border-radius:5px;background:transparent}
.week-day.is-today .week-bar{background:var(--ak-color-action)}
.week-day.is-today .week-value{color:var(--ak-color-ink)}
.week-label{font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted);white-space:nowrap}
.week-day.is-today .week-label{color:var(--ak-color-ink);font-weight:var(--ak-font-weight-700)}
.week-goal{bottom:0}
.week-chart .week-goal{margin:0;bottom:auto}
.week-empty{margin-top:14px;font-size:var(--ak-font-size-14);color:var(--ak-color-text-muted)}
.week-rank{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;margin-top:10px;padding:0;border:0;border-top:1px solid var(--ak-color-border);background:none;font:inherit;font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-700);text-align:left;color:var(--ak-color-ink)}
@keyframes week-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* Rating and feed. */
.back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:6px;padding:0;border:0;background:none;font:inherit;font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-650)}
.back-icon .ak-icon{transform:scaleX(-1);width:18px;height:18px}
.segmented{display:inline-flex;padding:3px;border:1.5px solid var(--ak-color-ink);border-radius:var(--ak-radius-10);gap:2px}
.segmented button{min-height:44px;min-width:76px;padding:0 14px;border:0;border-radius:7px;background:none;font:inherit;font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-650)}
.segmented button[aria-pressed="true"]{background:var(--ak-color-action);color:var(--ak-color-on-action)}
#rating-content>.segmented{display:flex;width:100%}#rating-content>.segmented button{flex:1}
.rating-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.rating-summary{margin-top:18px;font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted)}
.board{list-style:none;margin:12px 0 0;padding:0;border-top:1.5px solid var(--ak-color-ink)}
.board-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border-bottom:1px solid var(--ak-color-border)}
.board-rank{font-size:var(--ak-font-size-18);font-weight:var(--ak-font-weight-800);font-variant-numeric:tabular-nums}
.board-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ak-font-size-16);font-weight:var(--ak-font-weight-600)}
.board-name small{font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-700);margin-left:4px}
.board-value{font-size:var(--ak-font-size-16);font-variant-numeric:tabular-nums;white-space:nowrap}.board-value small{font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-500)}
.board-row.is-me{background:var(--ak-color-ink);color:var(--ak-color-on-ink);border-radius:var(--ak-radius-10);border-bottom-color:transparent}
.board-note{margin-top:14px;font-size:var(--ak-font-size-13);color:var(--ak-color-text-muted);line-height:1.6}
.profile-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:18px;font-size:var(--ak-font-size-14)}
.invite-card{margin-top:20px;padding:22px;border:2px solid var(--ak-color-ink);border-radius:var(--ak-radius-18)}
.invite-card h2{font-size:var(--ak-font-size-24)}.invite-card>p{margin-top:8px;font-size:var(--ak-font-size-14);line-height:1.6;color:var(--ak-color-text-secondary)}
.profile-form{margin-top:16px}
.profile-form>label{display:block;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-650);margin-bottom:8px}
.profile-form input[type="text"]{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--ak-color-ink);border-radius:var(--ak-radius-8);background:var(--ak-color-surface);color:var(--ak-color-ink);font:inherit;font-size:16px}
.profile-form .field-hint{margin-top:8px}
.profile-form label.consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:14px 0 0;font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-500);line-height:1.5;cursor:pointer}
.consent input{flex-shrink:0;width:22px;height:22px;margin:0;accent-color:var(--ak-color-action)}
.form-error{min-height:0;margin:8px 0;font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-650);color:var(--ak-color-ink)}
.form-error:empty{margin:0}
.profile-form .button{width:100%;margin-top:12px}
.feed-list{list-style:none;margin:18px 0 0;padding:0}
.feed-post{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--ak-color-border)}
.feed-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--ak-radius-full);border:1.5px solid var(--ak-color-ink);font-size:var(--ak-font-size-13);font-weight:var(--ak-font-weight-800)}
.feed-post p{font-size:var(--ak-font-size-15);line-height:1.5}
.feed-meta{display:block;margin-top:4px;font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted)}
.feed-more{width:100%;margin-top:18px;background:var(--ak-color-surface);color:var(--ak-color-ink)}
#rating-content>.empty-state,#rating-content .board+.empty-state{margin-top:18px}

/* Goal card share dialog. */
.share-preview{margin:18px 0 0}
.share-preview img{display:block;width:100%;height:auto;aspect-ratio:1;border:1.5px solid var(--ak-color-ink);border-radius:var(--ak-radius-12);background:var(--ak-color-surface-subtle)}
.share-preview figcaption{margin-top:10px;font-size:var(--ak-font-size-12);color:var(--ak-color-text-muted);line-height:1.6}
.share-dialog .button{width:100%;margin-top:18px}
.share-dialog .dialog-cancel{width:100%;justify-content:center}
.share-status{margin-top:18px}

/* Moment of joy: short slide-in toast; reduced motion keeps it static. */
.toast{position:fixed;left:50%;bottom:28px;z-index:30;width:max-content;max-width:min(440px,calc(100vw - 32px));padding:14px 18px;border-radius:var(--ak-radius-12);background:var(--ak-color-ink);color:var(--ak-color-on-ink);font-size:var(--ak-font-size-14);font-weight:var(--ak-font-weight-650);line-height:1.45;box-shadow:0 10px 30px var(--ak-color-shadow);opacity:0;transform:translate(-50%,12px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}

@media(max-width:590px){
  .app-header .icon-button{width:44px;height:44px;padding:11px}
  .partner-logo{width:34px;height:34px;font-size:13px}
  .partner-name{font-size:var(--ak-font-size-19)}
  .app-header{min-height:72px}
  .page-heading{flex-wrap:wrap}
  .quiet-label{max-width:none;text-align:left;flex-basis:100%}
  .toast{bottom:calc(92px + env(safe-area-inset-bottom))}
  .week-card{padding:18px 16px 6px}
  .segmented button{min-width:0}
  main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}
@media(max-width:590px) and (max-height:740px){
  .pet-stage{height:176px}
  .pet-player,.pet-player canvas{width:162px!important;height:176px!important}
  .goal-numbers strong{font-size:var(--ak-font-size-58)}
}
@media(prefers-reduced-motion:reduce){.toast{transform:translate(-50%,0)}.week-bar{animation:none}}
.feed-post p,.profile-line strong{color:var(--ak-color-ink)}
.source-strip .text-button{max-width:none;white-space:nowrap;text-align:left}
/* Resting pet (pet.reactions.idleAfterHours): a quiet «z z» next to the dozing cat. */
.pet-stage[data-mood="sleep"]::after{content:"z z z";position:absolute;top:14%;right:calc(50% - 118px);z-index:2;font-size:var(--ak-font-size-18);font-weight:var(--ak-font-weight-800);letter-spacing:.12em;color:var(--ak-color-text-muted);transform:rotate(-14deg);pointer-events:none}
/* Stable first screen (CLS): the step count owns a full row, so «из N шагов» and the percent
   never wrap differently when numbers arrive; the week keeps the chart height while loading;
   the live «syncing» state shows no box — the ↻ spinner already says it. */
.goal-numbers{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;align-items:baseline}
.goal-numbers strong{grid-column:1/-1}
.goal-percent{margin-left:0;text-align:right}
.week-empty{display:flex;align-items:center;min-height:142.5px;margin-top:16px}
main:not([data-activity-state])[data-resolved-activity-state="syncing"] .activity-status{display:none}
/* The status box lives under the pet card: when «no data» appears, only content below the
   first screen moves. */
.today-right>.activity-status{margin-bottom:0}
/* No data hides the progress bar but keeps its place, so the note under it stays put. */
main:is([data-activity-state="denied"],[data-activity-state="no_data"],:not([data-activity-state])[data-resolved-activity-state="denied"],:not([data-activity-state])[data-resolved-activity-state="no_data"]) #screen-today #goal-progress.activity-reading{display:block;visibility:hidden}

/* Test mode (?mode=test): a calm, permanent mono strip under the header. Live shows nothing. */
.mode-banner{margin-top:16px;padding:8px 14px;border:1px dashed var(--ak-color-ink);border-radius:var(--ak-radius-10);background:var(--ak-color-surface-subtle);color:var(--ak-color-ink);font-size:var(--ak-font-size-12);font-weight:var(--ak-font-weight-800);letter-spacing:.04em;line-height:1.4}
