:root{--tint:#22836a;--on-tint:#fff;--tint-fill:#22836a24;--bg:#f2f2f7;--cell:#fff;--cell-pressed:#e5e5ea;--raised:#fff;--label:#000;--label-2:#3c3c4399;--label-3:#3c3c434d;--separator:#3c3c434a;--fill:#78788029;--fill-2:#7676801f;--bar:#f2f2f7cc;--red:#ff3b30;--orange:#ff9500;--blue:#007aff;--radius-cell:10px;--radius-button:12px;--radius-card:16px;--shadow-card:0 1px 2px #0000000a, 0 4px 16px #0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--tint:#4fc6a1;--on-tint:#002a1e;--tint-fill:#4fc6a12e;--bg:#000;--cell:#1c1c1e;--cell-pressed:#2c2c2e;--raised:#1c1c1e;--label:#fff;--label-2:#ebebf599;--label-3:#ebebf54d;--separator:#545458a6;--fill:#7676803d;--fill-2:#7676802e;--bar:#161618cc;--red:#ff453a;--orange:#ff9f0a;--blue:#0a84ff;--shadow-card:none}}*{box-sizing:border-box}html{font-size:17px;font:-apple-system-body;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,sans-serif}body{background:var(--bg);color:var(--label);letter-spacing:-.01em;margin:0;line-height:1.3}a{color:var(--tint);text-decoration:none}button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0}button:disabled{cursor:default}code{background:var(--fill-2);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.icon{vertical-align:-.15em;flex-shrink:0}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--label-2)}.footnote{color:var(--label-2);font-size:.765rem}.nav{z-index:10;min-height:calc(44px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));border-bottom:.5px solid #0000;align-items:center;gap:4px;transition:background-color .2s,border-color .2s;display:flex;position:sticky;top:0}.nav.collapsed{background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom-color:var(--separator)}.nav-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:0;flex:0 auto;min-width:0;max-width:50vw;font-weight:600;transition:opacity .2s;overflow:hidden}.nav:not(.collapsed) .nav-title{flex-basis:0}.nav.collapsed .nav-title{opacity:1}.nav-leading{flex:1 1 0;min-width:44px;overflow:hidden}.nav-trailing{flex:1 1 0;justify-content:flex-end;align-items:center;gap:2px;min-width:max-content;display:flex}.nav-back{height:44px;color:var(--tint);white-space:nowrap;align-items:center;gap:2px;max-width:100%;margin-left:-4px;padding-right:8px;display:inline-flex;overflow:hidden}.nav-back span{text-overflow:ellipsis;overflow:hidden}.nav-button{min-width:44px;height:44px;color:var(--tint);justify-content:center;align-items:center;font-size:1.15rem;display:inline-flex;position:relative}.nav-button.text{padding:0 8px;font-size:1rem}.nav-button.bold{font-weight:600}.nav-button:active,.nav-back:active{opacity:.4}.nav-button:disabled{color:var(--label-3)}.sync{color:var(--label-3);font-size:1rem}.sync.offline,.sync.error{color:var(--orange)}.badge-count{background:var(--orange);color:#fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:600;line-height:16px;position:absolute;top:6px;right:4px}.large-title{letter-spacing:.01em;margin:2px 0 14px;font-size:2rem;font-weight:700;line-height:1.2}main{max-width:720px;padding:0 max(16px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 32px) max(16px, env(safe-area-inset-left));margin:0 auto}.group{margin:0 0 28px}.group-header{text-transform:uppercase;color:var(--label-2);justify-content:space-between;align-items:baseline;padding:0 16px 6px;font-size:.765rem;display:flex}.group-header button{color:var(--tint);text-transform:none;font-size:.88rem}.group-footer{color:var(--label-2);padding:6px 16px 0;font-size:.765rem}.group-body{background:var(--cell);border-radius:var(--radius-cell);overflow:hidden}.row{text-align:left;width:100%;min-height:44px;color:var(--label);background:var(--cell);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 16px;display:flex;position:relative}.row+.row:before,.row+.field:before,.field+.row:before{content:"";border-top:.5px solid var(--separator);position:absolute;top:0;left:16px;right:0}.row.interactive:active{background:var(--cell-pressed)}.row-icon{color:var(--tint);font-size:1.1rem;display:inline-flex}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{text-overflow:ellipsis;overflow:hidden}.row-subtitle{color:var(--label-2);font-size:.88rem}.row-detail{color:var(--label-2);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.row-chevron{color:var(--label-3);margin-right:-4px;font-size:.8rem}.row.destructive{color:var(--red);justify-content:center}.row.tint{color:var(--tint)}.row.warning .row-icon,.row.warning .row-title{color:var(--orange)}.pill{text-align:center;border-radius:999px;min-width:22px;padding:1px 7px;font-size:.765rem;font-weight:600;display:inline-block}.pill.due{background:color-mix(in srgb, var(--blue) 15%, transparent);color:var(--blue)}.pill.new{background:var(--tint-fill);color:var(--tint)}.pill.error{background:color-mix(in srgb, var(--red) 14%, transparent);color:var(--red)}.btn{border-radius:var(--radius-button);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 18px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:active:not(:disabled){opacity:.6}.btn.filled{background:var(--tint);color:var(--on-tint)}.btn.tinted{background:var(--tint-fill);color:var(--tint)}.btn.gray{background:var(--fill);color:var(--tint)}.btn.plain{color:var(--tint);padding:0 8px;font-weight:400}.btn.large{width:100%;min-height:50px;font-size:1.06rem}.btn.small{border-radius:999px;min-height:32px;padding:0 14px;font-size:.88rem}.btn:disabled{background:var(--fill-2);color:var(--label-3)}.btn.plain:disabled{background:0 0}.button-stack{flex-direction:column;gap:10px;margin:0 0 28px;display:flex}.extra-row{flex-wrap:wrap;gap:8px;display:flex}.extra-row .count{opacity:.7;font-weight:400}.banner{border-radius:var(--radius-cell);background:var(--cell);align-items:center;gap:10px;margin:0 0 16px;padding:10px 10px 10px 14px;font-size:.88rem;display:flex}.banner-icon{color:var(--tint);font-size:1.1rem;display:inline-flex}.banner.warning .banner-icon{color:var(--orange)}.banner.destructive .banner-icon{color:var(--red)}.banner-text{flex:1;min-width:0}.sheet-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:min(100%,640px);max-height:92dvh;padding-bottom:calc(env(safe-area-inset-bottom) + 16px);border-radius:12px 12px 0 0;animation:.3s cubic-bezier(.2,.9,.3,1) slide-up;overflow:auto}.sheet-grabber{background:var(--label-3);border-radius:3px;width:36px;height:5px;margin:6px auto 0}.sheet-nav{grid-template-columns:1fr auto 1fr;align-items:center;min-height:52px;padding:0 8px;display:grid}.sheet-nav>:first-child{justify-self:start}.sheet-action{justify-self:end}.sheet-title{font-weight:600}.sheet-body{padding:8px 16px 0}.action-sheet{width:min(100% - 16px,420px);margin-bottom:calc(env(safe-area-inset-bottom) + 8px);flex-direction:column;gap:8px;animation:.3s cubic-bezier(.2,.9,.3,1) slide-up;display:flex}.action-group{background:var(--bar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-radius:14px;overflow:hidden}.action-header{text-align:center;color:var(--label-2);border-bottom:.5px solid var(--separator);padding:14px 16px;font-size:.765rem}.action-title{margin-bottom:2px;font-weight:600}.action{width:100%;min-height:57px;color:var(--tint);font-size:1.18rem;display:block}.action+.action{border-top:.5px solid var(--separator)}.action:active{background:var(--cell-pressed)}.action.destructive{color:var(--red)}.action.cancel{background:var(--raised);border-radius:14px;font-weight:600}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}.field{background:var(--cell);border:none;outline:none;width:100%;min-height:44px;padding:11px 16px;display:block;position:relative}textarea.field{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.4}.field::placeholder{color:var(--label-3)}.segmented{background:var(--fill-2);border-radius:9px;margin:0 0 20px;padding:2px;display:flex}.segmented button{border-radius:7px;flex:1;min-height:30px;font-size:.765rem;font-weight:500}.segmented button.active{background:var(--raised);font-weight:600;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}@media (prefers-color-scheme:dark){.segmented button.active{background:#636366}}.login{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px;display:flex}.login form{text-align:center;flex-direction:column;gap:12px;width:min(340px,100%);display:flex}.login h1{margin:0 0 8px;font-size:1.65rem}.app-icon{border-radius:17px;align-self:center;width:76px;height:76px}.login .field{border-radius:var(--radius-cell)}.login .error{color:var(--red);margin:0;font-size:.88rem}.study{min-height:calc(100dvh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);flex-direction:column;display:flex}.progress{background:var(--fill);border-radius:2px;height:4px;margin:4px 0 8px;overflow:hidden}.progress>div{background:var(--tint);border-radius:2px;height:100%;transition:width .3s ease-out}.study-meta{color:var(--label-2);justify-content:space-between;gap:12px;margin-bottom:12px;font-size:.765rem;display:flex}.mode-tag{color:var(--tint);font-weight:600}.card-face{background:var(--raised);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;flex:1;padding:22px 20px;font-size:1.3rem;line-height:1.35;display:flex}.card-face .side{align-items:flex-start;gap:12px;display:flex}.card-face .side .md{flex:1;min-width:0}.card-face hr{border:none;border-top:.5px solid var(--separator);margin:20px 0}button.speak{background:var(--tint-fill);width:40px;height:40px;color:var(--tint);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;display:inline-flex}button.speak:active{opacity:.6}.speaker.playing .w1{animation:1s ease-in-out infinite wave}.speaker.playing .w2{animation:1s ease-in-out .25s infinite wave}@keyframes wave{50%{opacity:.2}}.speech-issue{color:var(--orange);margin:8px 4px 0;font-size:.765rem}.answer-bar{padding:12px 0 calc(env(safe-area-inset-bottom) + 8px);background:var(--bg);position:sticky;bottom:0}.grades{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.grade{border-radius:var(--radius-button);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:56px;font-weight:600;display:flex}.grade:active{opacity:.6}.grade .interval{opacity:.75;font-size:.705rem;font-weight:500}.grade.g1{background:color-mix(in srgb, var(--red) 14%, transparent);color:var(--red)}.grade.g2{background:color-mix(in srgb, var(--orange) 16%, transparent);color:var(--orange)}.grade.g3{background:var(--tint-fill);color:var(--tint)}.grade.g4{background:color-mix(in srgb, var(--blue) 14%, transparent);color:var(--blue)}.done{text-align:center;padding:32px 0 28px}.done-icon{background:var(--tint-fill);width:64px;height:64px;color:var(--tint);border-radius:32px;justify-content:center;align-items:center;margin-bottom:12px;font-size:2rem;display:inline-flex}.done h2{margin:0 0 4px;font-size:1.3rem}.done p{margin:0}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .6em}.md img{border-radius:8px;max-width:100%}.md pre{background:var(--fill-2);border-radius:8px;padding:10px 12px;font-size:.8em;overflow-x:auto}.md table{border-collapse:collapse}.md td,.md th{border:.5px solid var(--separator);padding:4px 8px}.md em{color:var(--label-2)}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp p{margin:0}.clamp img{max-height:2.6em}.versions{background:var(--separator);grid-template-columns:1fr 1fr;gap:.5px;display:grid}.versions>div{background:var(--cell);padding:12px 16px}.versions h3{text-transform:uppercase;color:var(--label-2);margin:0 0 6px;font-size:.765rem;font-weight:600}.versions hr{border:none;border-top:.5px solid var(--separator);margin:8px 0}@media (width<=520px){.versions{grid-template-columns:1fr}}.deck-description{margin:-6px 0 16px}.versions+.row:before{content:"";border-top:.5px solid var(--separator);position:absolute;top:0;left:16px;right:0}.editor-meta{margin:4px 4px 16px}.preview-card{margin-bottom:28px;font-size:1.1rem}.page-thumb{background:var(--fill-2);width:100%;display:block}.page-thumb img{object-fit:cover;object-position:top;width:100%;max-height:180px;display:block}.page-full{border-radius:var(--radius-cell);width:100%;margin-bottom:16px;display:block}.proposal{background:var(--cell);padding:12px 16px;position:relative}.page-thumb+.proposal:before,.proposal+.proposal:before{content:"";border-top:.5px solid var(--separator);position:absolute;top:0;left:16px;right:0}.proposal-front{font-weight:600}.proposal-back{color:var(--label-2);margin-top:2px}.proposal-actions{gap:8px;margin-top:10px;display:flex}.proposal-actions .reject{color:var(--red)}.pill.inbox{background:color-mix(in srgb, var(--orange) 16%, transparent);color:var(--orange)}.tag-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--fill-2);min-height:30px;color:var(--label);border-radius:999px;padding:0 12px;font-size:.88rem}.chip.active{background:var(--tint);color:var(--on-tint);font-weight:600}.card-tags{color:var(--label-2);font-size:.765rem}
