/* Daily attendance. Cards stay in day order and never hide later rewards. */
.at-page{--at-gold:#f2c96d;--at-muted:#a2a4b2;--at-line:rgba(230,205,158,.16);color:#f3f0e9}
.at-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px;border:1px solid #594329;border-radius:14px;background:radial-gradient(ellipse at 90% 0,rgba(224,145,40,.16),transparent 60%),linear-gradient(120deg,#211c19,#15151c 65%);isolation:isolate}
.at-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(125deg,transparent 0,transparent 45px,rgba(255,217,145,.025) 46px,transparent 47px);pointer-events:none}
.at-eyebrow{display:block;margin:0 0 12px;color:var(--at-gold);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.at-hero h1{margin:0;font-size:clamp(26px,3vw,42px);line-height:1.12;letter-spacing:-.035em}
.at-hero p{max-width:610px;margin:16px 0 0;color:#c2beb9;font-size:14px;line-height:1.6}
.at-hero-summary{display:flex;align-items:center;gap:18px;flex-shrink:0}
.at-emblem{display:grid;place-items:center;width:92px;height:102px;color:#ffda8c;background:linear-gradient(160deg,#5d4024,#241d19);clip-path:polygon(50% 0,94% 23%,94% 76%,50% 100%,6% 76%,6% 23%);filter:drop-shadow(0 0 15px #e4ab3e20)}
.at-emblem svg{width:55px;height:55px}
.at-streak-total{display:block;color:#ffe0a0;font-size:40px;font-weight:850;line-height:1}
.at-streak-copy{display:block;margin-top:7px;color:#cbbca0;font-size:12px}
.at-streak-best{display:block;margin-top:10px;color:var(--at-muted);font-size:11px}
.at-status{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:22px 0 16px}
.at-status h2{margin:0;font-size:19px}
.at-status p{margin:5px 0 0;color:var(--at-muted);font-size:12px;line-height:1.55}
.at-calendar-date{flex-shrink:0;border:1px solid var(--at-line);border-radius:7px;padding:9px 12px;color:#d1c4ac;font-size:12px}
.at-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:12px 6px 20px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-color:#80603a #19171a;scrollbar-width:thin}
.at-card{--at-accent:#e7a16b;--at-glow:rgba(214,127,65,.11);--at-card-line:#4c3730;--at-card-top:#1d1a1f;position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:368px;overflow:hidden;border:1px solid var(--at-card-line);border-radius:11px;background:radial-gradient(ellipse at 50% 31%,var(--at-glow),transparent 65%),linear-gradient(180deg,var(--at-card-top),#14151a);scroll-snap-align:start;transition:transform .16s ease,border-color .16s ease}
.at-card.hover-tilt{transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:transform}
.at-card[data-tier="2"]{--at-accent:#8cdcff;--at-glow:rgba(44,168,242,.27);--at-card-line:#468cbd;--at-card-top:#14364d}
.at-card[data-tier="3"]{--at-accent:#ffe19b;--at-glow:rgba(255,177,39,.3);--at-card-line:#c9923b;--at-card-top:#49351c;box-shadow:0 0 17px #efb64926,inset 0 0 22px #f5b82d0b}
.at-card[data-tier="3"]:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 50% 0,#ffe7a54a,transparent 60%);box-shadow:inset 0 1px 0 #fff1b9,inset 0 0 28px #ffcb5c26;opacity:.55;animation:at-prize-glow 5s ease-in-out infinite alternate}
.at-card[data-tier="2"] .at-tier{background:#3cb5ff1a}.at-card[data-tier="3"] .at-tier{background:#ffc5501f;box-shadow:0 0 12px #ffd26f20}
.at-card.is-current{border-color:var(--at-accent);box-shadow:inset 0 0 0 1px #ffffff15}
.at-card.is-ready{border-color:var(--at-accent);box-shadow:0 0 18px var(--at-glow),inset 0 0 0 1px #ffffff25}
.at-card.is-claimed .at-day{color:#a6d5bb}
.at-card.is-missed{opacity:.68}
.at-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:14px 12px 0}
.at-day{font-size:13px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.at-cycle-label{display:inline-block;margin-left:9px;padding:4px 7px;border:1px solid #57472f;border-radius:4px;color:#c5ac7b;font-size:10px;font-weight:600;vertical-align:middle}
.at-tier{padding:3px 5px;border:1px solid currentColor;border-radius:4px;color:var(--at-accent);font-size:9px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.at-art{position:relative;display:grid;place-items:center;height:116px;margin:4px 4px 0;color:var(--at-accent)}
.at-art:before{content:"";position:absolute;width:86px;height:86px;border:1px solid currentColor;border-radius:50%;opacity:.12;transform:rotate(-15deg) scaleX(1.2)}
.at-art svg{position:relative;width:92px;height:92px;filter:drop-shadow(0 8px 14px #0006)}
.at-art img{position:relative;max-width:100%;width:104px;height:104px;object-fit:contain;border-radius:6px}
.at-card-content{display:flex;flex-direction:column;flex:1;min-width:0;padding:0 12px 13px}
.at-card h3{min-height:36px;margin:2px 0 6px;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.at-card-description{margin:0 0 9px;color:#9998a6;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.at-rewards{display:grid;gap:7px;list-style:none;margin:0 0 15px;padding:0}
.at-reward{display:flex;gap:6px;align-items:flex-start;min-width:0;color:#e3e1e5;font-size:11px;line-height:1.35}
.at-reward svg{width:15px;height:15px;flex:0 0 15px;margin-top:1px;color:var(--at-accent)}
.at-reward span{min-width:0;overflow-wrap:anywhere}
.at-reward small{display:block;margin-top:2px;color:#92919f;font-size:10px}
.at-card-footer{margin-top:auto}
.at-card-state{display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;border:1px solid #ffffff0b;border-radius:6px;background:#ffffff03;color:#9393a1;font-size:11px;text-align:center;line-height:1.3;padding:7px}
.at-card-state svg{width:13px;height:13px;flex-shrink:0}
.at-card.is-current .at-card-state{color:#ddc59e;background:#8c633112;border-color:#9c783826}
.at-card.is-claimed .at-card-state{color:#9bc9b0;background:#568c6e10}
.at-claim{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;border:1px solid #ffe3a2;border-radius:6px;padding:9px 6px;background:linear-gradient(135deg,#ffe2a3,#e6b457);color:#2a1b0a;font-family:inherit;font-weight:800;font-size:12px;line-height:1.2;cursor:pointer;box-shadow:0 4px 18px #e5ad3925;transition:filter .16s,transform .16s}
.at-claim:hover{filter:brightness(1.12);transform:translateY(-1px)}
.at-claim:disabled{cursor:wait;opacity:.65;transform:none}
.at-claim svg{width:15px;height:15px}
.at-claim:focus-visible,.at-grid:focus-visible,.at-page button:focus-visible,.at-streak-badge:focus-visible{outline:2px solid #ffe1a0;outline-offset:4px}
.at-progress-panel{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:24px;align-items:center;margin:10px 0 20px;padding:23px 25px;border:1px solid #36333b;border-radius:10px;background:#19191f}
.at-progress-title{margin:0 0 5px;font-size:16px}
.at-progress-note{margin:0;color:#aaa6b3;font-size:12px;line-height:1.6}
.at-progress-label{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#b7b3c0;font-size:12px}
.at-progress-label strong{color:#e8dabd;font-size:12px;white-space:nowrap}
.at-progress-track{height:5px;margin-top:10px;border-radius:5px;overflow:hidden;background:#30303a}
.at-progress-fill{height:100%;width:var(--at-percent,0%);border-radius:inherit;background:linear-gradient(90deg,#9d7542,#f7cf7b);transition:width .35s ease}
.at-progress-complete .at-progress-fill{background:linear-gradient(90deg,#4c9a74,#a1d3b4)}
.at-progress-help{display:block;margin-top:8px;color:#83818f;font-size:10px}
.at-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.at-info-card{display:flex;gap:12px;padding:18px;border:1px solid #302e37;border-radius:9px;background:#17171d}
.at-info-card>svg{width:24px;height:24px;flex:0 0 24px;color:#be9b63}
.at-info-card h3{margin:0 0 5px;font-size:13px}
.at-info-card p{margin:0;color:#92909f;font-size:12px;line-height:1.55}
.at-banner{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:16px 18px;border:1px solid #68532d;border-radius:9px;background:#8f682014;color:#e4d1ac;font-size:13px;line-height:1.6}
.at-banner svg{width:19px;height:19px;flex:0 0 19px;margin-top:2px}
.at-banner p{margin:0}
.at-banner a{color:#ffe3a1;text-decoration:underline;text-underline-offset:3px}
.at-error{border-color:#77424b;background:#9b304312;color:#f0b9c3}
.at-history{margin-top:24px;border:1px solid #343039;border-radius:10px;background:#18181e;overflow:hidden}
.at-history h2{font-size:17px;margin:0;padding:21px}
.at-history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid #ffffff08;padding:15px 21px;font-size:12px;line-height:1.5}
.at-history-row strong{color:#d4c4a8;white-space:nowrap}
.at-history-row span{color:#aaa5b6;text-align:right}
.at-streak-badge{display:inline-flex;align-items:center;gap:3px;max-width:100%;color:#eac775;font-size:11px;font-weight:700;line-height:1.2;vertical-align:middle;white-space:nowrap}
.at-streak-badge svg{width:13px;height:13px;flex:0 0 13px}
.at-admin-settings{margin:24px 0;padding:24px;border:1px solid #413a31;border-radius:11px;background:#19181c}
.at-admin-settings h2{margin:0 0 8px;font-size:20px}
.at-admin-settings>p{margin:0 0 20px;color:#aaa3b0;font-size:13px;line-height:1.6}
.at-admin-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}
.at-admin-checks{display:flex;flex-wrap:wrap;gap:18px 28px;margin:18px 0}
.at-check{display:flex;align-items:center;gap:9px;color:#d5ceda;font-size:13px;line-height:1.4}
.at-check input{width:16px;height:16px;accent-color:#e8bd65}
.at-admin .at-card{min-height:365px}
.at-edit-day{width:100%;margin-top:8px}
.at-editor-help{padding:12px 14px;margin:12px 0;border-left:2px solid #ac8b50;background:#bda3660a;color:#b6a995;font-size:12px;line-height:1.6}
.at-reward-editor{display:grid;gap:12px}
.at-reward-editor-row{position:relative;border:1px solid #413943;border-radius:8px;padding:16px;background:#151419}
.at-reward-editor-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.at-reward-editor-top strong{font-size:12px;color:#c4ad86}
.at-reward-editor-fields{display:grid;grid-template-columns:.8fr 1.4fr;gap:12px;align-items:start}
.at-reward-editor-fields .field{min-width:0;margin:0}
.at-reward-editor-fields select,.at-reward-editor-fields input{width:100%;max-width:100%}
.at-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0}
.at-editor-footer>button{display:inline-flex;align-items:center;gap:8px;width:auto;max-width:100%;min-height:36px;white-space:normal}
.at-editor-footer>button svg{width:17px;height:17px;flex:0 0 17px}
.at-editor-footer p{margin:0;color:#8f899b;font-size:12px}
.at-admin .portal-error,.at-day-form .portal-error{white-space:pre-wrap;line-height:1.5}
.at-skeleton{min-height:370px;background:linear-gradient(110deg,#1a181e 20%,#26202b 48%,#1a181e 75%);background-size:200% 100%;animation:at-shimmer 1.5s linear infinite;border:1px solid #37303c;border-radius:11px}
@keyframes at-shimmer{to{background-position:-200% 0}}
@keyframes at-prize-glow{to{opacity:1}}
@media(max-width:1180px){.at-grid{grid-template-columns:repeat(7,minmax(156px,1fr));padding-bottom:16px}.at-hero{padding:26px}.at-hero-summary{gap:12px}.at-emblem{width:74px;height:84px}.at-emblem svg{width:43px;height:43px}.at-progress-panel{gap:18px;padding:20px}.at-admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.at-hero{align-items:flex-start;gap:20px;padding:24px}.at-hero-summary{flex-direction:column;gap:8px;text-align:center}.at-emblem{display:none}.at-streak-total{font-size:34px}.at-streak-best{font-size:10px}.at-hero p{font-size:13px}.at-progress-panel{grid-template-columns:1fr 1fr}.at-progress-copy{grid-column:1/-1}.at-info{grid-template-columns:1fr}.at-info-card{padding:16px}.at-reward-editor-fields{grid-template-columns:1fr 1fr}.at-reward-editor-fields .at-option-field{grid-column:1/-1;grid-row:2}.at-status{align-items:flex-start}.at-calendar-date{font-size:10px;padding:7px}.at-grid{grid-template-columns:repeat(7,minmax(180px,1fr));gap:12px}}
@media(max-width:470px){.at-hero{padding:20px;gap:14px}.at-hero h1{font-size:27px}.at-eyebrow{font-size:9px;letter-spacing:.12em}.at-hero-summary{min-width:58px}.at-streak-copy{font-size:10px}.at-streak-best{display:none}.at-progress-panel{grid-template-columns:1fr;gap:18px;padding:18px}.at-progress-copy{grid-column:auto}.at-status{flex-direction:column;gap:10px}.at-admin-fields{grid-template-columns:1fr}.at-admin-settings{padding:18px}.at-grid{grid-template-columns:repeat(7,minmax(198px,1fr))}.at-history-row{flex-direction:column;gap:5px;padding:14px 17px}.at-history-row span{text-align:left}.at-editor-footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.at-card,.at-claim,.at-progress-fill{transition:none}.at-skeleton,.at-card[data-tier="3"]:before{animation:none}.at-grid{scroll-behavior:auto}.at-claim:hover,.at-card.hover-tilt{transform:none}}
[data-reduced-motion="true"] .at-claim,[data-reduced-motion="true"] .at-progress-fill{transition:none}
[data-reduced-motion="true"] .at-skeleton{animation:none}
.reduce-motion .at-card,[data-reduced-motion="true"] .at-card{transition:none}
.reduce-motion .at-card.hover-tilt,[data-reduced-motion="true"] .at-card.hover-tilt{transform:none}
.reduce-motion .at-card[data-tier="3"]:before,[data-reduced-motion="true"] .at-card[data-tier="3"]:before{animation:none}
.motion-paused .at-card[data-tier="3"]:before{animation-play-state:paused}
