.plate{border:var(--plate-rule-outer) solid var(--plate-stroke);padding:var(--plate-gap);text-align:center}.plate-inner{border:var(--plate-rule-inner) solid var(--plate-stroke);padding:var(--plate-pad)}.plate-label{font-family:var(--font-ui);font-size:var(--plate-label-size);font-weight:600;letter-spacing:var(--plate-label-tracking);color:var(--plate-label-color);text-transform:uppercase}.plate-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--plate-title-size);line-height:1.1;color:var(--plate-title-color);margin:var(--s1) 0 0}.plate-accent{--plate-stroke: var(--accent-mark);--plate-label-color: var(--accent-mark);--plate-title-color: var(--ink)}.plate-paper{--plate-stroke: var(--plate-on-accent);--plate-label-color: var(--plate-on-accent-text);--plate-title-color: var(--on-accent)}.plate-sm{--plate-pad: var(--s2) 10px 10px;--plate-title-size: 20px}.plate-md{--plate-pad: 10px var(--s3) var(--s3);--plate-title-size: var(--t-title-size)}.plate-lg{--plate-pad: 14px var(--s3) var(--s4);--plate-title-size: 52px;--plate-title-line: 1}.plate-lg .plate-title{line-height:1;margin-top:9px}.plate-lg .plate-label{letter-spacing:2.5px}@media(max-width:380px){.plate-lg{--plate-title-size: 46px}}.album{display:flex;flex-direction:column;padding-bottom:46px}.album-bar{display:flex;align-items:center;justify-content:space-between;min-height:var(--touch-target)}.album-back{min-width:var(--touch-target);min-height:var(--touch-target);background:none;border:none;color:var(--ink);font-size:var(--t-display-size);cursor:pointer;line-height:1}.album-counter{font-family:var(--font-grid);font-size:var(--t-caption-size);color:var(--pencil)}.album-head{margin-top:var(--s1)}.album-title{margin:0;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--t-hero-size);line-height:1.05;color:var(--ink)}.album-sub{margin:var(--s1) 0 0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-body-size);color:var(--pencil)}.album-sections{display:flex;flex-direction:column;gap:var(--s5);margin-top:var(--s5)}.album-section-head{display:flex;align-items:baseline;justify-content:space-between}.album-section-name{font-family:var(--font-ui);font-weight:600;font-size:var(--t-caption-size);letter-spacing:2px;text-transform:uppercase;color:var(--accent-mark)}.album-section-count{font-family:var(--font-grid);font-size:var(--t-micro-size);color:var(--pencil);text-transform:uppercase;letter-spacing:1px}.album-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:10px}.album-slot{height:88px;border-radius:var(--radius-slot);box-sizing:border-box;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:var(--s1) 2px 7px}.album-slot.earned{background:var(--accent)}.album-slot.unearned{border:1.5px dashed var(--rule);background:transparent}.album-slot.locked{border:1px solid var(--rule);background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--ink) 6%,transparent) 0 4px,transparent 4px 8px)}.album-club-tag{position:absolute;top:5px;right:5px;font-family:var(--font-grid);font-size:7.5px;letter-spacing:1px;color:var(--accent-mark)}.album-card-art{flex:1;min-height:0;width:100%;object-fit:contain}.album-card-monogram{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--weight-display);font-size:34px;color:var(--on-accent);opacity:.55}.album-card-name{font-family:var(--font-grid);font-size:8px;letter-spacing:.5px;color:var(--on-accent);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-footer{margin:var(--s5) 0 0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-body-size);line-height:1.5;color:var(--pencil)}.today{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:var(--s3)}.today-weekday{margin:0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-body-size);color:var(--pencil)}.today-date{margin:0;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--t-display-size);line-height:1.1;color:var(--ink)}.today-card{display:block;width:100%;text-align:left;margin-top:var(--s5);border:2px solid var(--ink);background:var(--paper-raised);cursor:pointer}.today-head{background:var(--accent);padding:14px}.today-body{padding:var(--s4) var(--gutter) var(--gutter)}.today-line{margin:0;font-family:var(--font-clue);font-size:var(--t-body-size);line-height:1.45;color:var(--ink)}.today-estimate{margin:var(--s1) 0 0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-caption-size);line-height:var(--t-caption-line);color:var(--pencil)}.today-progress{display:block;height:2px;background:var(--rule);margin-top:var(--s3)}.today-progress i{display:block;height:100%;background:var(--ink);transition:width var(--m-move) var(--ease-out)}.today-actions{display:flex;gap:10px;margin-top:var(--s4)}.btn-primary,.btn-secondary{min-height:var(--touch-target);padding:13px var(--s3);border-radius:var(--radius-button);font-family:var(--font-ui);font-size:var(--t-caption-size);text-transform:uppercase;cursor:pointer;transition:background var(--m-quick) var(--ease-out),color var(--m-quick) var(--ease-out)}.btn-primary{flex:1;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-weight:600;letter-spacing:1.5px}.btn-secondary{flex:0 0 auto;background:transparent;color:var(--pencil);border:1px solid var(--rule);font-weight:500;letter-spacing:1px}.btn-primary:active{background:var(--pencil);border-color:var(--pencil)}.btn-secondary:active{background:color-mix(in srgb,var(--ink) 6%,transparent)}.streak-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.streak-count{font-family:var(--font-grid);font-weight:500;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--ink)}.streak-squares{display:flex;gap:5px}.streak-sq{position:relative;width:12px;height:12px;padding:0;border-radius:3px;border:1px solid var(--rule);background:transparent;box-sizing:border-box;cursor:default}.streak-sq:after{content:"";position:absolute;inset:-18px -2px}.streak-sq.solved{background:var(--accent-mark);border-color:var(--accent-mark)}.streak-sq.repaired{background:transparent;border:1px dashed var(--accent-mark);cursor:pointer}.streak-sq.pending{border-color:var(--pencil)}.streak-note{margin:var(--s2) 0 0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-caption-size);color:var(--pencil)}.teaser{margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--rule)}.teaser-head{display:flex;align-items:center;justify-content:space-between}.teaser-title{font-family:var(--font-ui);font-weight:600;font-size:var(--t-micro-size);letter-spacing:2px;text-transform:uppercase;color:var(--ink)}.teaser-link{background:none;border:none;padding:0;font-family:var(--font-clue);font-style:italic;font-size:14px;color:var(--pencil);cursor:pointer}.teaser-strip{display:flex;gap:10px;margin-top:var(--s3);margin-right:calc(-1 * var(--gutter));cursor:pointer;overflow:hidden}.teaser-card{flex:0 0 auto;width:58px;height:76px;border-radius:var(--radius-slot);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;padding:var(--s1) 2px 6px;overflow:hidden}.teaser-card.earned{background:var(--accent)}.teaser-card.empty{border:1.5px dashed var(--rule);background:transparent}.teaser-art{flex:1;min-height:0;width:100%;object-fit:contain}.teaser-name{font-family:var(--font-grid);font-size:7.5px;letter-spacing:.5px;color:var(--on-accent);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.today-progress i,.btn-primary,.btn-secondary{transition-duration:var(--m-reduced)}}@media(prefers-color-scheme:dark){.today-head{border-bottom:1px solid var(--accent-mark)}}.btn-locked,.btn-locked:disabled{opacity:.5;cursor:not-allowed;border-style:dashed}.btn-locked span{margin-right:4px}.archive{display:flex;flex-direction:column;padding-bottom:46px}.archive-bar{min-height:var(--touch-target);display:flex;align-items:center}.archive-back{min-width:var(--touch-target);min-height:var(--touch-target);background:none;border:none;color:var(--ink);font-size:var(--t-display-size);line-height:1;cursor:pointer}.archive-head{margin-top:var(--s1)}.archive-title{margin:0;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--t-hero-size);line-height:1.05;color:var(--ink)}.archive-sub{margin:var(--s1) 0 0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-body-size);color:var(--pencil)}.archive-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s4)}.archive-chip{display:inline-flex;align-items:center;gap:7px;min-height:var(--touch-target);padding:7px 13px;border-radius:var(--radius-pill);border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-ui);font-weight:500;font-size:12.5px;letter-spacing:.5px}.archive-chip-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent)}.archive-chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.archive-chip.active .archive-chip-dot{background:var(--on-accent)}.archive-cal{margin-top:var(--s5);border-top:1px solid var(--rule);padding-top:var(--s4)}.archive-cal-head{display:flex;align-items:baseline;justify-content:space-between}.archive-month{font-family:var(--font-ui);font-weight:600;font-size:var(--t-micro-size);letter-spacing:2px;text-transform:uppercase;color:var(--ink)}.archive-solved{font-family:var(--font-grid);font-size:var(--t-micro-size);color:var(--pencil)}.archive-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:var(--s3)}.archive-wd{text-align:center;padding-bottom:2px;font-family:var(--font-ui);font-weight:600;font-size:10px;letter-spacing:1px;color:var(--pencil)}.archive-day{aspect-ratio:1;border-radius:var(--radius-day);display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid transparent;background:transparent;color:var(--pencil);font-family:var(--font-grid);font-size:14px;font-weight:400}.archive-day.blank{border:none}button.archive-day{cursor:pointer}.archive-day.solved{background:var(--accent);color:var(--on-accent);font-weight:500}.archive-day.repaired{border:1px dashed var(--accent-mark);color:var(--ink)}.archive-day.today{border:2px solid var(--ink);color:var(--ink);font-weight:500}.archive-day.future{color:#c9c2b2}.archive-day.plain{color:var(--pencil)}.archive-streakline{margin:var(--s4) 0 0;font-family:var(--font-clue);font-style:italic;font-size:14.5px;color:var(--pencil)}.archive-recents{display:flex;flex-direction:column;gap:10px;margin-top:var(--s4)}.archive-recent{display:flex;align-items:center;gap:12px;background:var(--paper-raised);border:1px solid var(--rule);padding:12px 14px;cursor:pointer;text-align:left;position:relative;overflow:hidden}.archive-recent-spine{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.archive-recent-text{flex:1;display:flex;flex-direction:column;gap:2px;padding-left:6px}.archive-recent-title{font-family:var(--font-ui);font-weight:600;font-size:13px;color:var(--ink)}.archive-recent-sub{font-family:var(--font-clue);font-size:14px;color:var(--pencil)}.archive-recent-time{font-family:var(--font-grid);font-size:13px;color:var(--accent-mark)}.archive-devreset{margin-top:var(--s5);align-self:flex-start;background:none;border:1px dashed var(--rule);border-radius:var(--radius-card);padding:var(--s2) var(--s3);color:var(--pencil);cursor:pointer;font-family:var(--font-grid);font-size:var(--t-caption-size)}@media(prefers-reduced-motion:no-preference){.archive-chip,.archive-day,.archive-recent{transition:background var(--m-quick) var(--ease-out)}}.archive-suggest{margin-top:var(--space-4, 20px)}.archive-suggest-head{margin:0 0 8px;font-family:var(--font-grid);font-size:var(--t-micro-size);letter-spacing:1.5px;color:var(--pencil);text-transform:uppercase}.archive-day.club-locked{opacity:.55}.archive-day.club-locked:after{content:"🔒";font-size:7px;position:absolute;margin:-2px 0 0 1px}.archive-recent.club-locked{opacity:.7}.archive-recent.club-locked .archive-recent-sub{letter-spacing:.5px}.settings,.paywall{display:flex;flex-direction:column;flex:1;padding-bottom:46px}.set-bar{min-height:var(--touch-target)}.set-hero{margin:var(--s1) 0 var(--s4);font-family:var(--font-display);font-weight:var(--weight-display);font-size:34px;line-height:1.1;color:var(--ink)}.set-card{background:var(--paper-raised);border:1px solid var(--rule)}.set-back{background:none;border:none;color:var(--ink);cursor:pointer;font-size:var(--t-display-size);line-height:1;min-width:var(--touch-target);min-height:var(--touch-target)}.set-row,.set-linkrow{display:flex;align-items:center;gap:var(--s3);min-height:var(--touch-target);padding:14px 16px;border-bottom:1px solid var(--rule);background:none;width:100%;text-align:left;color:var(--ink);font:inherit}.set-card>*:last-child{border-bottom:none}.set-linkrow{cursor:pointer}.set-row.disabled{opacity:.55}.set-label{font-family:var(--font-ui)}.set-text{display:flex;flex-direction:column;gap:2px;flex:1}.set-label{font-size:var(--t-body-size)}.set-hint{font-size:var(--t-caption-size);color:var(--pencil)}.set-switch{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:999px;flex:0 0 auto;background:var(--rule);border:1px solid var(--rule);position:relative;cursor:pointer;transition:background var(--m-quick) var(--ease-out)}.set-switch:after{content:"";position:absolute;top:2px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--paper);box-shadow:0 1px #1a181440;transition:transform var(--m-quick) var(--ease-out)}.set-switch:before{content:"";position:absolute;inset:-8px 0}.set-switch:checked{background:var(--accent-80s);border-color:var(--accent-80s)}.set-switch:checked:after{transform:translate(18px)}.set-switch:disabled{cursor:not-allowed}.set-action,.set-danger,.set-cancel{min-height:var(--touch-target);padding:0 var(--s3);border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--font-display);font-size:var(--t-label-size)}.set-danger{border-color:var(--accent-50s);color:var(--accent-50s)}.set-confirm{display:flex;gap:var(--s1)}.paywall{padding:var(--s5) 0 46px}.pay-notnow{align-self:flex-end;margin-left:auto;display:block;min-height:var(--touch-target);padding:var(--s2) 0;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-weight:500;font-size:var(--t-caption-size);letter-spacing:1px;color:var(--pencil)}.pay-title{margin:var(--s1) 0 0;font-family:var(--font-display);font-weight:var(--weight-display);font-size:32px;line-height:1.1;color:var(--ink)}.pay-collection{margin:var(--s2) 0 0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-body-size);color:var(--pencil)}.pay-strip{display:flex;gap:9px;margin-top:var(--s5)}.pay-lockslot{flex:1;height:84px;border-radius:var(--radius-slot);border:1px solid var(--rule);background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--ink) 6%,transparent) 0 4px,transparent 4px 8px)}.pay-annual{position:relative;border:2px solid var(--ink);background:var(--paper-raised);padding:18px 18px 16px;margin-top:26px}.pay-tag{position:absolute;top:-9px;left:14px;background:var(--accent);color:var(--on-accent);font-family:var(--font-ui);font-weight:600;font-size:9.5px;letter-spacing:1.5px;padding:3px 8px}.pay-annual-row{display:flex;align-items:baseline;justify-content:space-between}.pay-plan{font-family:var(--font-ui);font-weight:600;font-size:var(--t-caption-size);letter-spacing:2px;color:var(--ink)}.pay-amount{font-family:var(--font-display);font-weight:var(--weight-display);font-size:24px;color:var(--ink)}.pay-per{font-family:var(--font-grid);font-size:12px;color:var(--pencil);font-weight:400}.pay-math{margin:var(--s1) 0 0;font-family:var(--font-clue);font-style:italic;font-size:14px;color:var(--pencil)}.pay-monthly{display:flex;align-items:baseline;justify-content:space-between;border:1px solid var(--rule);padding:13px 18px;margin-top:10px}.pay-plan-q{font-family:var(--font-ui);font-weight:500;font-size:var(--t-caption-size);letter-spacing:2px;color:var(--pencil)}.pay-amount-q{font-family:var(--font-grid);font-size:14px;color:var(--pencil)}.pay-cta{width:100%;min-height:var(--touch-target);margin-top:18px;border:none;border-radius:var(--radius-button);background:var(--ink);color:var(--paper);font-family:var(--font-ui);font-weight:600;font-size:var(--t-caption-size);letter-spacing:1.5px;text-transform:uppercase;cursor:not-allowed;opacity:.5}.pay-pending{margin:var(--s2) 0 0;text-align:center;font-family:var(--font-clue);font-style:italic;font-size:var(--t-caption-size);color:var(--pencil)}.pay-forever{margin-top:auto;padding-top:var(--s5);text-align:center;font-family:var(--font-clue);font-style:italic;font-size:13.5px;line-height:1.5;color:var(--pencil)}.set-seg{display:inline-flex;flex:0 0 auto;border:1px solid var(--rule);border-radius:var(--radius-button);overflow:hidden}.set-seg-btn{min-height:var(--touch-target);padding:0 var(--s3);background:var(--paper);color:var(--pencil);border:none;border-left:1px solid var(--rule);font-family:var(--font-ui);font-size:var(--t-caption-size);letter-spacing:.5px;cursor:pointer}.set-seg-btn:first-child{border-left:none}.set-seg-btn.active{background:var(--accent);color:var(--on-accent)}.set-aaa{display:flex;align-items:baseline;gap:14px;flex:0 0 auto}.set-a{background:none;border:none;padding:2px 0;cursor:pointer;font-family:var(--font-clue);color:var(--pencil);line-height:1}.set-a.active{color:var(--ink);border-bottom:2px solid var(--accent-80s)}.set-manage{font-family:var(--font-ui);font-weight:500;font-size:var(--t-caption-size);color:var(--accent-80s);flex:0 0 auto}.set-cancelrow{display:block;width:100%;text-align:left;min-height:var(--touch-target);padding:14px 16px;border:none;border-bottom:1px solid var(--rule);background:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--t-body-size);color:var(--ink)}.set-promise{margin:var(--s3) 2px 0;font-family:var(--font-clue);font-style:italic;font-size:var(--t-caption-size);color:var(--pencil)}.set-madeon{margin-top:auto;padding-top:var(--s5);text-align:center;font-family:var(--font-grid);font-size:var(--t-micro-size);letter-spacing:1px;color:var(--pencil)}.legal-card{display:block}.legal-card+.legal-card{margin-top:var(--s3)}.legal-h{margin:0 0 var(--s2);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--t-title-size);color:var(--ink)}.legal-card p{margin:0 0 var(--s2);font-family:var(--font-clue);font-size:var(--t-body-size);line-height:1.5;color:var(--ink)}.legal-card p:last-child{margin-bottom:0}.legal-card a{color:var(--ink);text-decoration:underline}.legal-stub{font-family:var(--font-grid)!important;font-size:var(--t-micro-size)!important;letter-spacing:1px;text-transform:uppercase;color:var(--pencil)!important}.set-birthyear{display:inline-flex;align-items:center;gap:8px}.set-by-input{width:5.5ch;text-align:center;font-family:var(--font-grid);font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-slot);padding:6px}.set-by-input:focus{outline:2px solid var(--ink);outline-offset:1px}.pay-testbadge{margin:4px 0 0;font-family:var(--font-grid);font-size:var(--t-micro-size);letter-spacing:1.5px;color:var(--accent-mark, var(--accent));text-align:center}.pay-error{margin:8px 0 0;font-family:var(--font-clue);font-size:14px;color:var(--ink);text-align:center}.pay-monthly{width:100%;cursor:pointer;text-align:left}.pay-monthly:disabled,.pay-cta:disabled{cursor:default}.coach{position:absolute;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);font-size:var(--t-caption-size);line-height:var(--t-caption-line);padding:var(--s1) var(--s3);border-radius:var(--radius-card);white-space:nowrap;z-index:5;pointer-events:none;animation:coach-in var(--m-quick) var(--ease-out)}.coach:after{content:"";position:absolute;top:-5px;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--ink)}.coach-grid{top:calc(100% + 8px)}@keyframes coach-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1}}@media(prefers-reduced-motion:reduce){.coach{animation:none}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--paper);border-top:1px solid var(--rule);border-radius:var(--radius-card) var(--radius-card) 0 0;padding:var(--s4) var(--s4) calc(var(--s4) + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 24px #1a18142e;display:flex;flex-direction:column;gap:var(--s3);animation:sheet-in var(--m-considered) var(--ease-out)}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-title{font-family:var(--font-display);font-size:var(--t-title-size)}.sheet-body{font-size:var(--t-body-size);line-height:var(--t-body-line);color:var(--pencil)}.sheet-decades{display:flex;flex-wrap:wrap;gap:var(--s2)}.sheet-decade{flex:1 1 28%;min-height:var(--touch-target);border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper);color:var(--ink);font-family:var(--font-display);font-size:var(--t-body-size);cursor:pointer}.sheet-decade[data-d="1950s"]{--accent: var(--accent-50s)}.sheet-decade[data-d="1960s"]{--accent: var(--accent-60s)}.sheet-decade[data-d="1970s"]{--accent: var(--accent-70s)}.sheet-decade[data-d="1980s"]{--accent: var(--accent-80s)}.sheet-decade[data-d="1990s"]{--accent: var(--accent-90s)}.sheet-decade:active,.sheet-decade:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--paper))}.sheet-actions{display:flex;gap:var(--s2)}.sheet-primary,.sheet-skip{flex:1;min-height:var(--touch-target);border-radius:var(--radius-card);cursor:pointer;font-family:var(--font-display);font-size:var(--t-label-size)}.sheet-primary{border:2px solid var(--ink);background:var(--ink);color:var(--paper)}.sheet-skip{border:1px solid var(--rule);background:var(--paper);color:var(--pencil)}.decade-q{position:fixed;inset:0;z-index:40;background:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:var(--s7) var(--gutter) 44px}.dq-kicker{font-family:var(--font-grid);font-size:var(--t-micro-size);letter-spacing:2px;color:var(--pencil)}.dq-title{margin:10px 0 0;font-family:var(--font-display);font-weight:var(--weight-display);font-size:34px;line-height:1.15;color:var(--ink)}.dq-rows{display:flex;flex-direction:column;gap:10px;margin-top:26px}.dq-row{display:flex;align-items:center;gap:14px;min-height:var(--touch-target);padding:14px 16px;background:var(--paper-raised);border:1px solid var(--rule);cursor:pointer;text-align:left}.dq-swatch{width:26px;height:26px;border-radius:var(--radius-slot);background:var(--accent);flex:0 0 auto}.dq-name{font-family:var(--font-clue);font-size:18px;color:var(--ink);flex:1}.dq-nick{font-family:var(--font-grid);font-size:var(--t-micro-size);color:var(--pencil)}.dq-skip{margin-top:24px;background:none;border:none;cursor:pointer;font-family:var(--font-clue);font-style:italic;font-size:15px;color:var(--pencil);text-align:center}.dq-help{margin:12px 0 0;max-width:30em;font-family:var(--font-clue);font-size:15px;line-height:1.4;color:var(--pencil)}.by-inputrow{display:flex;gap:10px;margin-top:24px;align-items:stretch}.by-input{flex:0 1 8ch;min-width:0;font-family:var(--font-display);font-size:34px;letter-spacing:2px;text-align:center;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-slot);padding:8px 12px}.by-input:focus{outline:2px solid var(--ink);outline-offset:1px}.by-go{flex:0 0 auto;padding:0 22px;cursor:pointer;font-family:var(--font-display);font-size:var(--t-label-size);background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:var(--radius-slot)}.by-go:disabled{opacity:.4;cursor:default}.by-leans{margin:14px 0 0;min-height:1.3em;font-family:var(--font-grid);font-size:var(--t-micro-size);color:var(--pencil)}.solver{display:flex;flex-direction:column;gap:var(--s2);flex:1;min-height:0}.clue-bar{display:flex;align-items:center;gap:var(--s2);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-card);padding:var(--s2) var(--s3);font-size:var(--t-clue-size);line-height:var(--t-clue-line);height:calc(var(--t-clue-line) * 2 + var(--s2) * 2);flex:0 0 auto}.clue-text{flex:1;max-height:calc(var(--t-clue-line) * 2);font-size:calc(var(--t-clue-size) * var(--clue-scale, 1));line-height:calc(var(--t-clue-line) * var(--clue-scale, 1));overflow-y:auto;overscroll-behavior:contain}.clue-label{font-family:var(--font-grid);font-weight:var(--weight-grid)}.clue-nav{background:none;border:none;color:var(--on-accent);font-size:var(--t-label-size);min-width:var(--touch-target);min-height:var(--touch-target);cursor:pointer}.grid-wrap{flex:1 1 0;min-height:0;container-type:size;display:flex;align-items:center;justify-content:center}.grid{position:relative;width:min(100%,var(--layout-grid-max));width:max(45vw,min(100cqw,100cqh,var(--layout-grid-max)));flex:0 0 auto;display:flex;flex-direction:column;border:2px solid var(--ink);background:var(--ink);gap:1px}.grid-row{display:flex;gap:1px;flex:1}.cell{position:relative;flex:1;aspect-ratio:1;background:var(--paper);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--m-instant) var(--ease-out)}.cell.black{background:var(--ink);cursor:default}@media(prefers-color-scheme:dark){.cell{background:color-mix(in srgb,white 7%,var(--paper))}.cell.black{background:#0d0c0a}.grid{background:color-mix(in srgb,white 14%,var(--paper))}}.cell.in-entry{background:color-mix(in srgb,var(--accent) 18%,var(--paper))}.cell.active{box-shadow:inset 0 0 0 2px var(--accent)}.num{position:absolute;top:1px;left:2px;font-family:var(--font-ui);font-size:calc(var(--t-caption-size) - 3px);line-height:1;color:var(--pencil)}.letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-grid);font-weight:var(--weight-grid);font-size:clamp(var(--grid-letter-min),4.5vmin,2rem);color:var(--pencil)}.phase-settle .letter,.phase-flood .letter,.phase-beat .letter,.phase-card .letter,.phase-added .letter{color:var(--ink);transition:color .12s ease-in;transition-delay:calc(var(--row) * 20ms)}.phase-flood .clue-bar,.phase-beat .clue-bar,.phase-card .clue-bar,.phase-added .clue-bar{animation:flood .3s var(--ease-out)}body:has(.phase-flood) .app-header,body:has(.phase-beat) .app-header,body:has(.phase-card) .app-header,body:has(.phase-added) .app-header{background:color-mix(in srgb,var(--accent, var(--rule)) 14%,var(--paper));transition:background .3s var(--ease-out)}@keyframes flood{0%{filter:saturate(.7) brightness(1.06)}to{filter:saturate(1.15) brightness(1)}}.completion{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;margin:0 calc(-1 * var(--gutter))}.flood-band{background:var(--accent);padding:var(--s5) var(--gutter) 18px;animation:flood .3s var(--ease-out)}.flood-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:30px;line-height:1.1;color:var(--on-accent)}.flood-sub{font-family:var(--font-clue);font-style:italic;font-size:15px;color:var(--plate-on-accent-text);margin-top:var(--s1)}.reveal{display:flex;justify-content:center;padding:10px var(--gutter) 0}.prize-card{display:flex;justify-content:center;animation:deal .7s var(--ease-moment)}@keyframes deal{0%{opacity:0;transform:translateY(48px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(-1.5deg)}}.prize-frame{width:264px;box-sizing:border-box;background:var(--paper-raised);border:3px solid var(--accent);padding:12px;box-shadow:var(--shadow-prize);transform:rotate(-1.5deg)}.prize-art-area{height:170px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;overflow:hidden}.prize-art{width:100%;height:100%;object-fit:contain}.prize-monogram{font-family:var(--font-display);font-weight:var(--weight-display);font-size:84px;line-height:1;color:var(--rule)}.prize-plate{margin-top:12px}.prize-context{font-family:var(--font-clue);font-size:14px;line-height:1.5;color:var(--ink);margin:10px 0 0;text-align:left}.prize-context-pending{color:var(--pencil);font-style:italic}.slid-line{text-align:center;font-family:var(--font-clue);font-style:italic;font-size:14.5px;color:var(--pencil);margin:var(--s3) var(--gutter) 0}.completion-actions{display:flex;flex-direction:column;gap:10px;padding:var(--s4) var(--gutter) 44px;margin-top:auto}.cta-primary,.cta-quiet{min-height:var(--touch-target);border-radius:var(--radius-button);font-family:var(--font-ui);font-weight:600;font-size:var(--t-caption-size);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}.cta-primary{background:var(--accent);color:var(--on-accent);border:none}.cta-quiet{background:transparent;color:var(--pencil);border:none;font-weight:500;letter-spacing:1px}.cta-primary:active{filter:brightness(.94)}.cta-quiet:active{color:var(--ink)}@media(prefers-reduced-motion:reduce){.phase-settle .letter,.phase-flood .letter,.phase-beat .letter,.phase-card .letter,.phase-added .letter{transition:color var(--m-reduced) ease;transition-delay:0ms}.prize-card{animation:cardfade var(--m-reduced) ease}.flood-band{animation:none}@keyframes cardfade{0%{opacity:0}to{opacity:1;transform:rotate(-1.5deg)}}}.solver.driver-mobile{gap:0}.solver.driver-mobile .clue-bar{margin-top:var(--s2)}.solver.driver-app .clue-bar{margin-top:auto}.solver.driver-desktop{justify-content:center;gap:var(--s4)}.solver.driver-desktop .grid-wrap{flex:0 0 auto;container-type:normal}.solver.driver-desktop .grid{width:min(70svh,90vw);aspect-ratio:1}img.prize-art{width:calc(var(--s8) * 1.6);height:auto;aspect-ratio:1;border:none;border-radius:var(--radius-card);object-fit:contain}.kb-capture{position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:0;outline:none;opacity:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;z-index:-1;pointer-events:none;white-space:nowrap;overflow:hidden;-webkit-user-modify:read-write-plaintext-only}#root:has(.kb-capture){height:var(--vv-height, 100svh);min-height:0}.clue-dir{position:relative;flex:0 0 auto;display:grid;place-items:center;min-width:38px;min-height:38px;padding:0;border:none;background:none;color:var(--on-accent);cursor:pointer;border-radius:var(--radius-slot);transition:background var(--m-instant) var(--ease-out)}.clue-dir:after{content:"";position:absolute;inset:-5px}.clue-dir-glyph{font-family:var(--font-grid);font-size:18px;line-height:1}.clue-dir[aria-pressed=true]{background:color-mix(in srgb,var(--on-accent) 18%,transparent)}.clue-dir:active{background:color-mix(in srgb,var(--on-accent) 28%,transparent)}@media(prefers-reduced-motion:reduce){.clue-dir{transition-duration:var(--m-reduced)}}@media(prefers-color-scheme:dark){.clue-bar{border:1px solid var(--accent-mark)}.flood-band{border-bottom:1px solid var(--accent-mark)}}.keyboard{--kb-zone: #D1D4DB;--kb-key: #FFFFFF;--kb-key-press: #E6E8EC;--kb-fn: #ABB0BB;--kb-fn-press: #C2C6CE;--kb-text: #1B1B1D;--kb-shadow: 0 1px 0 rgba(0, 0, 0, .28);height:min(31svh,300px);display:flex;flex-direction:column;gap:8px;padding:var(--s2) 3px calc(var(--s1) + env(safe-area-inset-bottom,0px));background:var(--kb-zone);margin-inline:calc(-1 * var(--solve-pad, var(--gutter)));overflow-x:clip}@media(prefers-color-scheme:dark){.keyboard{--kb-zone: #2C2C2E;--kb-key: #6A6A6C;--kb-key-press: #7C7C7E;--kb-fn: #474749;--kb-fn-press: #5A5A5C;--kb-text: #FFFFFF;--kb-shadow: 0 1px 0 rgba(0, 0, 0, .5)}}.kb-row{display:flex;flex:1;min-height:0;gap:6px;container-type:size}.kb-row:nth-child(2){padding-inline:5%}.kb-key{position:relative;flex:1 1 0;min-width:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,sans-serif;font-size:41cqh;line-height:1;display:grid;place-items:center;background:var(--kb-key);color:var(--kb-text);border:none;border-radius:5px;box-shadow:var(--kb-shadow);cursor:pointer;transition:background 80ms var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.kb-key:after{content:"";position:absolute;inset:-4px -3px}.kb-key:active{background:var(--kb-key-press);transition:none}.kb-fn{background:var(--kb-fn);color:var(--kb-text)}.kb-fn:active{background:var(--kb-fn-press);transition:none}.kb-wide{flex:1.4 1 0}.kb-spacer{background:transparent;box-shadow:none;pointer-events:none}.kb-key[data-key]:before{content:attr(data-key);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);min-width:160%;padding:10px 4px;background:var(--kb-key);color:var(--kb-text);border-radius:8px;box-shadow:0 2px 8px #00000059;font-size:1.9em;line-height:1;text-align:center;opacity:0;pointer-events:none;transition:opacity 80ms var(--ease-out);z-index:2}.kb-key[data-key]:active:before{opacity:1;transition:none}@media(prefers-reduced-motion:reduce){.kb-key,.kb-key[data-key]:before{transition:none}}.recog{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:4px auto 0;max-width:30rem;padding:10px 14px;border:1px solid var(--rule);border-radius:var(--radius-slot);background:var(--paper-raised)}.recog-q{font-family:var(--font-clue);font-size:15px;color:var(--pencil)}.recog-btns{display:inline-flex;gap:8px}.recog-btn{min-width:3.4rem;padding:6px 14px;cursor:pointer;font-family:var(--font-grid);font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius-slot)}.recog-btn:hover{background:var(--ink);color:var(--paper)}.recog-x{background:none;border:none;cursor:pointer;color:var(--pencil);font-size:20px;line-height:1;padding:2px 6px}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/playfair-display-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/source-serif-4-400-600-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/source-serif-4-400-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-400-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #F7F3E9;--ink: #1A1814;--pencil: #8A8578;--rule: #D8D2C4;--paper-raised: #FFFEF9;--tray: #F0EBDE;--accent-50s: #A8342B;--accent-60s: #896725;--accent-70s: #6B4429;--accent-80s: #2B3A52;--accent-90s: #3D4A38;--on-accent-50s: #F7F3E9;--on-accent-60s: #F7F3E9;--on-accent-70s: #F7F3E9;--on-accent-80s: #F7F3E9;--on-accent-90s: #F7F3E9;--accent-50s-mark: var(--accent-50s);--accent-60s-mark: var(--accent-60s);--accent-70s-mark: var(--accent-70s);--accent-80s-mark: var(--accent-80s);--accent-90s-mark: var(--accent-90s);--accent: var(--accent-80s);--on-accent: var(--paper);--accent-mark: var(--accent);--accent-wash: color-mix(in srgb, var(--accent) 16%, var(--paper-raised));--font-display: "Playfair Display", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-grid: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-clue: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;--font-ui: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--weight-display: 600;--weight-grid: 500;--size-clue: 17px;--size-display-min: 24px;--plate-rule-outer: 1px;--plate-rule-inner: .5px;--plate-gap: 4px;--plate-label-size: 10.5px;--plate-label-tracking: 2px;--plate-on-accent: rgba(247, 243, 233, .75);--plate-on-accent-text: rgba(247, 243, 233, .85);--layout-grid-max: 62svh;--layout-keyboard-vh: 30svh;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--gutter: 20px;--touch-target: 48px;--text-boost: 0px;--t-hero-size: 38px;--t-hero-line: 40px;--t-display-size: 34px;--t-display-line: 38px;--t-title-size: 27px;--t-title-line: 30px;--t-clue-size: calc(20px + var(--text-boost));--t-clue-line: calc(28px + var(--text-boost));--t-body-size: calc(17px + var(--text-boost));--t-body-line: calc(26px + var(--text-boost));--t-label-size: calc(15px + var(--text-boost));--t-label-line: calc(20px + var(--text-boost));--t-caption-size: calc(13px + var(--text-boost));--t-caption-line: calc(18px + var(--text-boost));--t-micro-size: 11px;--t-micro-track: 1.5px;--grid-letter-min: 16px;--m-instant: 80ms;--m-quick: .16s;--m-move: .24s;--m-moment-min: .4s;--m-moment-max: .6s;--ease-out: ease-out;--ease-move: ease-in-out;--ease-moment: cubic-bezier(.2, .8, .3, 1);--m-reduced: .12s;--shadow-card: 0 2px 12px rgba(26, 24, 20, .1);--shadow-prize: 0 18px 40px rgba(26, 24, 20, .18);--radius-card: 8px;--radius-sheet: 16px;--radius-slot: 4px;--radius-day: 7px;--radius-pill: 999px;--radius-button: 0;--space-1: var(--s1);--space-2: var(--s2);--space-3: var(--s4);--space-4: var(--s6);--radius: var(--radius-card)}:root[data-decade="1950s"],[data-decade="1950s"]{--accent: var(--accent-50s);--on-accent: var(--on-accent-50s);--accent-mark: var(--accent-50s-mark)}:root[data-decade="1960s"],[data-decade="1960s"]{--accent: var(--accent-60s);--on-accent: var(--on-accent-60s);--accent-mark: var(--accent-60s-mark)}:root[data-decade="1970s"],[data-decade="1970s"]{--accent: var(--accent-70s);--on-accent: var(--on-accent-70s);--accent-mark: var(--accent-70s-mark)}:root[data-decade="1980s"],[data-decade="1980s"]{--accent: var(--accent-80s);--on-accent: var(--on-accent-80s);--accent-mark: var(--accent-80s-mark)}:root[data-decade="1990s"],[data-decade="1990s"]{--accent: var(--accent-90s);--on-accent: var(--on-accent-90s);--accent-mark: var(--accent-90s-mark)}:root[data-textsize="2"]{--text-boost: 2px}:root[data-textsize="4"]{--text-boost: 4px}@media(prefers-color-scheme:dark){:root{--paper: #191712;--ink: #F7F3E9;--pencil: #8A8578;--rule: #3A362D;--paper-raised: #201E18;--tray: #16140F;--accent-50s-mark: #BF6B62;--accent-60s-mark: #C79A4A;--accent-70s-mark: #997E68;--accent-80s-mark: #7D848E;--accent-90s-mark: #7E8576;--plate-on-accent: rgba(247, 243, 233, .75);--plate-on-accent-text: rgba(247, 243, 233, .85)}}*{box-sizing:border-box}html,body{min-height:100%;overflow-x:hidden;overscroll-behavior:none}#root{min-height:100svh;display:flex;flex-direction:column}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-clue);font-size:var(--size-clue);-webkit-font-smoothing:antialiased}.app-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule);min-width:0;overflow:hidden}.app-header .wordmark{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decade-strip{flex:0 1 auto;min-width:0;overflow:hidden}.wordmark{font-family:var(--font-grid);font-weight:700;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase;margin:0}.decade-strip{display:inline-flex;gap:var(--space-1)}@media(max-width:420px){.decade-strip{display:none}}.decade-strip i{width:14px;height:14px;border-radius:2px;display:inline-block}.decade-strip .d50{background:var(--accent-50s)}.decade-strip .d60{background:var(--accent-60s)}.decade-strip .d70{background:var(--accent-70s)}.decade-strip .d80{background:var(--accent-80s)}.decade-strip .d90{background:var(--accent-90s)}.album-stub{margin-left:auto;position:relative;display:flex;align-items:center;justify-content:center;min-width:var(--touch-target);min-height:var(--touch-target);background:none;border:none;color:var(--ink);cursor:pointer}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:2px}.kb-key:focus-visible,.cell:focus-visible{outline-offset:-3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:var(--m-reduced)!important;animation-iteration-count:1!important;transition-duration:var(--m-reduced)!important;scroll-behavior:auto!important}}.album-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--accent-80s);opacity:0;transition:opacity var(--m-quick) var(--ease-out)}.album-stub.has-new .album-dot{opacity:1}.app-main{padding:var(--gutter);max-width:40rem;margin:0 auto;flex:1;min-height:0;display:flex;flex-direction:column;width:100%}.app-main:has(.solver){--solve-pad: var(--s3);padding:var(--s2) var(--solve-pad) 0}.status{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-3)}.status h2{margin-top:0;font-family:var(--font-grid);font-size:1rem}.status p{color:var(--pencil);margin-bottom:0}.status code{font-family:var(--font-grid);font-size:.8125rem}.better-app{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--gutter);background:var(--accent-80s);color:var(--paper)}.better-app-link{font-family:var(--font-ui);font-weight:600;font-size:var(--t-caption-size);letter-spacing:.3px;color:var(--paper);text-decoration:none}.better-app-x{flex:0 0 auto;min-width:var(--touch-target);min-height:32px;display:grid;place-items:center;background:none;border:none;color:var(--paper);font-size:20px;line-height:1;cursor:pointer}
