@font-face{font-family:Nator;src:local("Inter"),local("Arial");font-display:swap}
:root{font-family:Nator,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#242b29;background:#f7f9f8;font-synthesis:none;letter-spacing:0;--paper:#f7f9f8;--line:#e0e6e3;--mint:#9bf0da;--muted:#75817c;--header:76px}
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer;letter-spacing:0}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}:focus-visible{outline:2px solid #388e71;outline-offset:4px}
.header{height:var(--header);padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:transparent;position:sticky;top:0;z-index:40;transition:background .2s ease,backdrop-filter .2s ease}
.header.is-scrolled{background:#f7f9f8ed;backdrop-filter:blur(16px)}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:650;letter-spacing:-.3px}.brand img{width:28px;height:28px;object-fit:contain}
.account{position:relative}.avatar-button{height:34px;width:34px;padding:0;border:0;border-radius:50%;background:#e1eee7;overflow:hidden;display:grid;place-items:center;font-size:14px;font-weight:600}.avatar-button img{width:100%;height:100%;object-fit:cover;grid-area:1/1}.avatar-button span{grid-area:1/1}
.account-menu{position:absolute;right:0;top:46px;width:248px;max-width:calc(100vw - 32px);background:white;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 28px #202c2610}.account-menu p{margin:0 0 4px;overflow-wrap:anywhere;font-size:14px}.account-menu .muted{font-size:12px;margin-bottom:14px}.account-menu button,.account-menu a{display:block;width:100%;padding:10px 0;text-align:left;border:0;background:none;font-size:13px}.account-menu .danger{color:#a74444}.muted{color:var(--muted)}
.library{--sidebar:72px;position:relative}.library.timeline-open{--sidebar:280px}
.cards-region{margin-left:var(--sidebar);padding:28px 32px 64px;container-type:inline-size;transition:margin-left .22s cubic-bezier(.2,.7,.2,1)}
.view-heading{min-height:36px;margin-bottom:22px;display:flex;align-items:center;gap:12px}.view-heading h1{font-size:19px;font-weight:600;line-height:1.5;margin:0;overflow-wrap:anywhere;min-width:0}.view-meta{color:var(--muted);font-size:12px;margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.icon-button{width:32px;height:32px;border:0;background:transparent;display:inline-grid;place-items:center;border-radius:10px;flex-shrink:0}.icon-button:hover{background:#e8eeeb}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Container width includes the sidebar's expansion: the feed responds to real space. */
.cards{--card-columns:1;--card-gap:16px;display:grid;grid-template-columns:repeat(var(--card-columns),minmax(0,1fr));grid-auto-rows:4px;column-gap:var(--card-gap);position:relative;align-items:start;overflow-anchor:none}
@container(min-width:580px){.cards{--card-columns:2}}
@container(min-width:900px){.cards{--card-columns:3}}
@container(min-width:1400px){.cards{--card-columns:4}}
@container(min-width:1800px){.cards{--card-columns:5}}
@container(min-width:2200px){.cards{--card-columns:6}}
.word-card{min-width:0;align-self:start;container-type:inline-size}
.card-inner{background:#fff;border:0;border-radius:22px;padding:clamp(20px,6cqi,28px);overflow:hidden;display:flex;flex-direction:column;min-height:240px;transition:box-shadow .2s ease,transform .2s ease}
@media(hover:hover){.word-card:hover .card-inner{box-shadow:0 8px 28px #283b3010;transform:translateY(-2px)}}
.card-term{margin:0;font-size:24px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;letter-spacing:-.4px}.card-source-term{display:block;color:#6c8377;font-size:20px;line-height:1.45;margin-top:7px;overflow-wrap:anywhere;letter-spacing:-.2px}
.card-explanation{margin:18px 0 22px;font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.card-footer{margin-top:auto;display:flex;align-items:center;gap:9px;min-width:0;color:#78847e}.card-footer img{width:38px;height:27px;object-fit:cover;flex-shrink:0;border-radius:6px;background:#edf1ee}.card-video-title{font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}.card-footer time{margin-left:auto;font-size:11px;flex-shrink:0;font-variant-numeric:tabular-nums}.card-footer:hover{color:#286c51}
.cards-state{text-align:center;color:var(--muted);font-size:13px;padding:24px 20px}.cards-state:empty{display:none}.cards-state p{margin:0 0 16px}.more-row{text-align:center}.more-row:has(button:not([hidden])){padding:12px 0 24px}.load-sentinel{height:1px;pointer-events:none;overflow-anchor:none}
.plain-button,.delete-button{background:#fff;border:1px solid #ccd8d1;border-radius:10px;padding:10px 18px;font-size:13px;min-height:38px}.plain-button:hover{background:#eef5f0}.text-button{border:0;background:none;padding:12px 0;font-size:12px;color:#587564}
.timeline{position:fixed;top:var(--header);bottom:0;left:0;z-index:30;width:var(--sidebar);transition:width .22s cubic-bezier(.2,.7,.2,1);background:var(--paper)}
.timeline-ruler{position:absolute;inset:0;display:flex;justify-content:center;padding-top:90px}.timeline-ruler>button{border:0;background:none;width:56px;padding:0 12px;align-self:flex-start;text-align:left;min-height:280px}.timeline.is-open .timeline-ruler{display:none}
.ruler-tick{display:block;width:17px;height:2px;border-radius:2px;background:#b1c0b8;margin:0 0 10px}.ruler-tick.major{width:25px;background:#799485}.ruler-tick.active{height:3px;background:#33795a;width:27px}
.timeline-detail{position:absolute;inset:0;width:280px;padding:28px 22px;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;scrollbar-width:thin;scrollbar-color:#ccd8d1 transparent}.timeline.is-open .timeline-detail{opacity:1;visibility:visible}
.timeline-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.timeline-heading h2{font-size:13px;font-weight:500;color:var(--muted);margin:0}.timeline-heading .icon-button{width:26px;height:26px}
.timeline-year{font-size:20px;line-height:1.3;margin:26px 0 20px;font-weight:650}.timeline-year:first-child{margin-top:4px}.timeline-date{margin:18px 0 9px;font-size:11px;color:#7f8b84;font-variant-numeric:tabular-nums}.timeline-video{width:calc(100% + 14px);border:0;display:flex;align-items:flex-start;gap:9px;background:transparent;text-align:left;border-radius:12px;padding:7px;margin-left:-7px}.timeline-video:hover,.timeline-video[aria-current=true]{background:#e9f4ed}.timeline-video img{width:93px;height:54px;object-fit:cover;border-radius:8px;background:#edf1ee;flex-shrink:0}.timeline-video-title{font-size:11px;line-height:1.55;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.timeline-video-time{display:block;font-size:10px;color:#7f8b84;margin-top:5px;font-variant-numeric:tabular-nums}.timeline-state{color:var(--muted);font-size:12px;line-height:1.8}.mobile-timeline{display:none}
.sign-in{min-height:calc(100svh - var(--header));padding:48px 24px 100px;display:flex;align-items:center;flex-direction:column;justify-content:center}.sign-in>img{margin-bottom:22px;object-fit:contain}.sign-in h1{font-size:28px;font-weight:600;margin:0 0 32px;letter-spacing:-.5px}.google-sign-in{min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 24px;border:1px solid #cfdad4;border-radius:12px;background:#fff;font-size:14px}.google-sign-in:hover{background:#edf5f0}.privacy-link{font-size:12px;color:var(--muted);margin-top:25px}
.center-state{min-height:calc(100svh - var(--header));display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;color:var(--muted);font-size:14px}.spinner{display:block;height:20px;width:20px;border:2px solid #dce7df;border-top-color:#4c8769;border-radius:50%;animation:spin .8s linear infinite}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#273d30;color:#fff;padding:12px 18px;border-radius:12px;z-index:80;max-width:calc(100vw - 32px);font-size:13px}
dialog{border:1px solid var(--line);border-radius:22px;max-width:420px;width:calc(100% - 32px);padding:28px;color:#25332b}dialog::backdrop{background:#14261e40}dialog h2{margin:0 0 16px;font-size:19px}dialog p{font-size:14px;color:#6d7b72;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.delete-button{background:#a94040;color:#fff;border-color:#a94040}.error{color:#a94040!important}
.privacy-page{max-width:700px;padding:64px 24px 80px;margin:auto}.privacy-page h1{font-size:25px;margin:0 0 34px}.privacy-page h2{font-size:16px;margin:32px 0 12px}.privacy-page p{font-size:14px;line-height:1.9;color:#59685e}.privacy-page a{color:#286c51;text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.cards-region{padding-left:24px;padding-right:24px}}
@media(max-width:700px){
 :root{--header:64px}.header{padding:0 20px}.brand{font-size:17px}.library{--sidebar:0px}.cards-region{margin-left:0;padding:22px 16px 48px;transition:none}.view-heading{margin-left:40px;margin-bottom:20px;min-height:32px;gap:8px}.view-heading h1{font-size:17px}.view-meta{font-size:11px}.mobile-timeline{display:grid;position:absolute;top:22px;left:16px;z-index:10}
 /* On a phone the expanded sidebar sits above the feed, so cards stay unobscured. */
 .timeline{display:none;position:relative;top:auto;bottom:auto;width:100%;height:0;transition:none}.timeline.is-open{display:block;width:100%;height:min(55svh,480px)}.timeline-ruler{display:none}.timeline-detail{width:100%;padding:20px 24px}.library.timeline-open>.mobile-timeline{visibility:hidden}.card-inner{padding:22px;min-height:230px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition:none!important}}

.account-language{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding:10px 0}.account-language select{min-width:0;max-width:132px;border:0;background:transparent;font:inherit;color:#587568;padding:6px 2px;cursor:pointer}
.plans-page{max-width:1160px;margin:auto;padding:64px 32px 80px}.plans-eyebrow{font-size:11px;letter-spacing:1.6px;color:#6b8779;margin:0 0 18px}.plans-page h1{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-1.5px;font-weight:600;margin:0 0 20px}.plans-intro{font-size:16px;color:#75817c;line-height:1.7}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:40px 0 28px}.plan{position:relative;background:#fff;border-radius:22px;padding:30px;display:flex;flex-direction:column;align-items:start}.plan h2{font-size:19px;margin:0 0 16px;font-weight:600}.plan p{font-size:14px;line-height:1.7;color:#68786f}.plan .plan-price{font-size:32px;line-height:1.25;font-weight:600;color:#242b29;margin:0 0 12px;letter-spacing:-.5px}.plan-price span{font-size:13px;font-weight:400;letter-spacing:0}.plan .plain-button{margin-top:auto}.plan-pro{background:#e2f7ed;padding-top:50px}.plan-badge{position:absolute;left:30px;top:22px;color:#428368;font-size:9px;letter-spacing:1px}.plan .plan-note{font-size:12px;color:#5e7d6b}.plans-note{font-size:12px;color:#819087;line-height:1.9;max-width:800px}@media(max-width:800px){.plans-grid{grid-template-columns:1fr}.plans-page{padding:36px 20px 64px}}
