:root{--bg: #f7f7f5;--card: #fff;--text: #37352f;--muted: #787774;--line: #e9e9e7;--success: #0f7b6c;--warning: #9a6700;--danger: #b42318;--accent: #2f6feb;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body,#app{height:100%}html{background:var(--bg)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}button,a,[role=button],.flashcard.fullscreen{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.page{max-width:460px;height:100vh;height:100dvh;margin:0 auto;padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(96px + var(--safe-bottom));overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.page::-webkit-scrollbar{display:none}.home-page{padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(84px + var(--safe-bottom));height:auto;min-height:100vh;min-height:100dvh;overflow-y:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.title{font-size:20px;font-weight:700}.subtitle{margin-top:2px;font-size:13px;color:var(--muted)}.menu-wrap{position:relative}.menu-trigger{width:44px;text-align:center;font-size:20px;line-height:1;padding:8px 0}.menu-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:30}.menu-item{width:100%;text-align:left;border:none;background:#fff;color:var(--text);font-size:14px;padding:10px 12px}.menu-item+.menu-item{border-top:1px solid var(--line)}.menu-item.danger{color:var(--danger)}.feedback-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;display:grid;place-items:end center;padding:16px 14px calc(var(--safe-bottom) + 16px);z-index:40}.feedback-dialog{width:100%;max-width:460px;background:#fff;border-radius:14px;border:1px solid var(--line);padding:14px}.feedback-textarea{min-height:94px;resize:none}.hero{background:linear-gradient(145deg,#fff,#fbfbfa 70%,#f1f4ff);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px}.hero-title{font-size:22px;font-weight:700}.hero-sub{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.hero-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}.row{display:flex;gap:10px}.metric{flex:1;background:#fbfbfa;border:1px solid var(--line);border-radius:10px;padding:10px}.metric-label{font-size:12px;color:var(--muted)}.metric-value{margin-top:6px;font-size:20px;font-weight:700}.btn{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);font-size:14px;cursor:pointer;text-decoration:none}.btn.full{width:100%}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:transparent}.section-title{font-size:13px;color:var(--muted);margin-bottom:8px}.pill{border:1px solid color-mix(in srgb,var(--accent) 24%,#dbe7ff);color:color-mix(in srgb,var(--accent) 75%,#245ecf);background:color-mix(in srgb,var(--accent) 12%,#f1f6ff);border-radius:999px;padding:4px 9px;font-size:12px}.entry-link{display:block;text-decoration:none;color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 24%,#dbe7ff);border-radius:14px;padding:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,#f7faff),color-mix(in srgb,var(--accent) 10%,#eef4ff))}.entry-title{font-size:15px;font-weight:600}.entry-desc{margin-top:4px;font-size:12px;color:#556070}.entry-cta{margin-top:10px;font-size:12px;color:color-mix(in srgb,var(--accent) 78%,#245ecf);font-weight:600}.trend-line-chart{height:186px;margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}.input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;background:#fff}.search-dock{position:sticky;top:0;z-index:20;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--line) 85%,#dcdcd9)}.chips.search-chips{margin-top:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-ms-overflow-style:none;scrollbar-width:none}.chips.search-chips::-webkit-scrollbar{display:none}.search-chips .chip{white-space:nowrap;flex-shrink:0}.search-page{height:100vh;height:100dvh;overflow-y:auto;padding:0 0 calc(84px + var(--safe-bottom));-ms-overflow-style:none;scrollbar-width:none}.search-page::-webkit-scrollbar{display:none}.search-content{padding:8px 14px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;background:#fff;cursor:pointer}.chip.active{color:color-mix(in srgb,var(--accent) 78%,#1f1f1f);border-color:color-mix(in srgb,var(--accent) 26%,#d5d8e1);background:color-mix(in srgb,var(--accent) 12%,#f5f7fb)}.btn:focus-visible,.chip:focus-visible,.tab-item:focus-visible,.entry-link:focus-visible,.color-dot:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 40%,#ffffff);outline-offset:2px}.btn:focus:not(:focus-visible),.chip:focus:not(:focus-visible),.tab-item:focus:not(:focus-visible),.entry-link:focus:not(:focus-visible),.color-dot:focus:not(:focus-visible){outline:none}.list-item{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;margin-bottom:8px}.card-link{display:block;text-decoration:none;color:inherit}.card-link:active{background:#f8f8f6}.item-title{font-size:15px;font-weight:600;margin-bottom:8px}.item-meta{color:var(--muted);font-size:12px}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:460px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);padding:7px 8px var(--safe-bottom);z-index:25}.tabbar:after{content:"";position:absolute;top:100%;left:0;right:0;height:80px;background:#fff;pointer-events:none}.tab-item{text-decoration:none;color:#8a8984;text-align:center;font-size:11px;line-height:1.2;padding:4px 2px}.tab-item.active{color:var(--accent);font-weight:600}.tab-icon{width:19px;height:19px;display:block;margin:0 auto 4px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.session-shell{height:100vh;height:100dvh;max-width:460px;margin:0 auto;padding:10px 12px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;overflow:hidden}.session-card-wrap{flex:1;min-height:0;display:flex;margin-top:10px;overflow:hidden}.progress{height:8px;border-radius:999px;background:#ececea;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}.flashcard{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px}.flashcard.fullscreen{width:100%;height:100%;overflow-y:auto;scrollbar-width:none}.flashcard.fullscreen::-webkit-scrollbar{display:none}.q{font-size:20px;font-weight:700;line-height:1.4}.flashcard-md p{margin:0 0 10px;line-height:1.7}.flashcard-md h1,.flashcard-md h2,.flashcard-md h3{margin:0 0 10px;line-height:1.4;font-weight:700}.flashcard-md h1{font-size:22px}.flashcard-md h2{font-size:19px}.flashcard-md h3{font-size:16px}.flashcard-md ul,.flashcard-md ol{margin:0 0 12px;padding-left:20px}.flashcard-md li{margin:0 0 6px}.flashcard-md ul ul,.flashcard-md ol ul,.flashcard-md ul ol,.flashcard-md ol ol{margin:6px 0 0;padding-left:18px}.flashcard-md pre{margin:10px 0 14px;padding:12px;border-radius:10px;background:#111827;color:#e5e7eb;overflow:auto}.flashcard-md code{font-family:ui-monospace,Menlo,monospace}.flashcard-md p code,.flashcard-md li code{background:#f1f2f3;border:1px solid #e5e7eb;border-radius:6px;padding:1px 6px}.flashcard-md a{color:var(--accent);text-decoration:underline}.flashcard-md .md-image{max-width:100%;border-radius:10px;display:block;margin:10px 0}.flashcard-md .md-code-block{margin:10px 0 14px;border:1px solid #d9dde5;border-radius:10px;overflow:hidden}.flashcard-md .md-code-lang{padding:4px 10px;font-size:11px;line-height:1.3;color:#5c6572;background:#f3f5f7;border-bottom:1px solid #d9dde5;text-transform:lowercase}.flashcard-md .md-code-block pre{margin:0;border-radius:0;padding:0;background:transparent;color:inherit}.flashcard-md .md-code-block code.hljs{display:block;overflow-x:auto;padding:12px;background:#f6f8fa;color:#24292f}.flashcard-md .md-code-block pre code,.flashcard-md .md-code-block code.hljs{font-size:12px;line-height:1.5}.flashcard-md .md-table-wrap{overflow-x:auto;margin:10px 0 14px;-webkit-overflow-scrolling:touch}.flashcard-md .md-table{border-collapse:collapse;min-width:100%;font-size:13px}.flashcard-md .md-table th,.flashcard-md .md-table td{border:1px solid #d9dde5;padding:6px 10px;text-align:left;white-space:nowrap}.flashcard-md .md-table th{background:#f3f5f7;font-weight:600;color:#374151}.flashcard-md .md-table tr:nth-child(2n) td{background:#fafbfc}.footer-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.btn.bad{border-color:#f3d4d2;color:var(--danger);background:#fef3f2}.btn.warn{border-color:#f6e2bd;color:var(--warning);background:#fff8ea}.btn.good{border-color:#cce9e2;color:var(--success);background:#edf8f5}.setting-user{display:flex;align-items:center;gap:12px}.avatar-slot{width:64px;height:64px;border-radius:999px;border:1px solid #deded9;background:#fafaf8;display:grid;place-items:center;color:#908f8a;font-size:18px;font-weight:600;overflow:hidden}.avatar-image{width:100%;height:100%;object-fit:cover}.setting-item{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;margin-bottom:10px}.setting-title{font-size:14px;font-weight:600}.setting-desc{margin-top:4px;font-size:12px;color:var(--muted)}.color-palette{display:flex;gap:10px;margin-top:10px}.color-dot{width:26px;height:26px;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 1px #d9d9d6;cursor:pointer}.color-dot.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 75%,#3b6dda)}@media (orientation: landscape){.page,.home-page,.search-page,.session-shell,.tabbar{max-width:100%}.page,.home-page,.search-dock,.search-content{padding-left:calc(14px + var(--safe-left));padding-right:calc(14px + var(--safe-right))}.session-shell{padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right))}.tabbar{left:0;right:0;transform:none;width:100%;padding-left:calc(8px + var(--safe-left));padding-right:calc(8px + var(--safe-right))}.feedback-mask{padding-left:calc(14px + var(--safe-left));padding-right:calc(14px + var(--safe-right))}.feedback-dialog{max-width:100%}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
