:root{--font-ui: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-read: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", "SimSun", "Georgia", serif;--primary: #6B4C35;--primary-light: #A67C5B;--primary-bg: #FDF8F3;--accent: #E8A87C;--accent-soft: #FFF0E5;--accent-fill: rgba(232,168,124,.18);--accent2: #C98754;--success: #5BA573;--success-soft: #EDFAF2;--paper: #FDF8F3;--paper-2: #F3ECE3;--card: #FFFFFF;--ink: #2D2926;--ink-soft: #7A706A;--ink-faint: #B5ADA6;--brand: #6B4C35;--brand2: #A67C5B;--gold: #C79A5B;--fen: #7A706A;--end: #7A706A;--center: #6B4C35;--tag-bg: #FFF0E5;--tag-fg: #6B4C35;--shadow: 0 1px 3px rgba(150,110,80,.07);--shadow-soft: 0 2px 10px rgba(150,110,80,.08);--shadow-lg: 0 10px 30px rgba(150,110,80,.14);--line: #EFE7DE;--line-soft: rgba(107,76,53,.06);--reading-max: 100%;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--radius-full: 999px;--btn-h: 44px;--btn-r: 16px;--btn-font: 15px;--grad-primary: linear-gradient(135deg, #E8A87C 0%, #C98754 100%)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app{min-height:100%;display:flex;flex-direction:column;position:relative;padding-bottom:0}.app,.app *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px 10px;background:#fdf8f3d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;flex:0 0 auto;text-align:left}.brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.brand-emoji{font-size:22px}.topbar h1{font-size:17px;margin:0;font-weight:700;letter-spacing:-.2px;color:var(--primary)}.subtitle{display:none}.progress{display:inline-flex;align-items:center;background:var(--card);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;box-shadow:var(--shadow-soft);white-space:nowrap;border:.5px solid var(--line)}.progress b{color:var(--primary);font-size:13px}.fixed-nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fdf8f3d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.fixed-back{border:none;background:transparent;color:var(--brand2);opacity:1;font-size:17px;font-weight:400;cursor:pointer;padding:6px 0;transition:opacity .15s}.fixed-back:hover{opacity:.7}.stage.has-fixed-nav{padding-top:56px;padding-bottom:80px}.floating-cat{position:fixed;right:16px;bottom:calc(10px + env(safe-area-inset-bottom));width:56px;height:56px;z-index:35;pointer-events:auto;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;animation:catBounce 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}.floating-cat .pet-cat{width:100%;height:100%}.floating-cat .pet-bubble{left:auto;right:0;transform:none;text-align:left;max-width:calc(100vw - 96px);white-space:nowrap;top:-32px;font-size:11px;padding:5px 11px}.floating-cat .pet-bubble:after,.floating-cat .pet-bubble:before{left:auto;right:12px;transform:none}@keyframes catBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.stage{flex:1;display:flex;flex-direction:column;align-items:stretch;width:100%;margin:0 auto;padding:6px 10px 10px;overflow-y:auto}.frag-card,.finished-card{margin:0 auto;width:100%}.hint{font-size:12px;opacity:.5;text-align:center;margin:4px auto 0}.frag-card{width:100%;background:transparent;border-radius:0;padding:14px 0 4px;box-shadow:none;border-top:3px solid var(--accent);animation:pop .35s cubic-bezier(.34,1.56,.64,1);transition:transform .3s,opacity .3s}.frag-card.absorbed{transform:scale(.96);opacity:.55}.frag-tag{display:inline-flex;align-items:center;gap:5px;background:var(--accent-soft);color:var(--primary);font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px}.frag-emoji{font-size:15px}.frag-text{font-family:var(--font-read);font-size:18px;line-height:1.8;margin:12px 0 14px;letter-spacing:.01em;text-align:left;overflow-wrap:anywhere;white-space:pre-wrap}.full-essay,.full-sentence,.full-para,.full-list li,.modal-line,.fc-theme-value,.fc-hint,.fc-usage-tip,.frag-text{-webkit-touch-callout:none}.read-track{height:6px;background:#0000000f;border-radius:999px;overflow:hidden}.read-fill{height:100%;background:linear-gradient(90deg,#e8a87c,#c98754);border-radius:999px;transition:width .1s linear}.absorb-btn{margin-top:14px;width:100%;border:none;border-radius:var(--btn-r);height:var(--btn-h);padding:0;font-size:var(--btn-font);font-weight:600;color:#fff;background:var(--grad-primary);box-shadow:0 3px 10px #e8a87c4d;cursor:pointer;transition:transform .12s,opacity .2s}.absorb-btn:not(:disabled):active{transform:scale(.97);opacity:.9}.absorb-btn:disabled{background:var(--ink-faint);color:#fff;cursor:not-allowed}.finished-card{background:transparent;border-radius:0;padding:14px 0;box-shadow:none;width:100%;border-top:.5px solid var(--line);animation:pop .4s cubic-bezier(.34,1.56,.64,1)}.finished-card--rich{display:flex;flex-direction:column;gap:12px}.finished-card--rich .fc-badge{display:inline-block;background:var(--success);color:#fff;font-weight:600;font-size:12px;padding:4px 12px;border-radius:999px;align-self:flex-start}.finished-card--rich .fc-title-row{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--ink)}.finished-card--rich .fc-icon{font-size:20px}.finished-card--rich .fc-theme{display:flex;flex-direction:column;gap:4px;background:var(--paper);border-radius:var(--r-md);padding:12px 14px}.finished-card--rich .fc-theme-label{font-size:11px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.5px}.finished-card--rich .fc-theme-value{font-size:16px;font-weight:600;color:var(--primary)}.finished-card--rich .fc-hint{font-size:14px;line-height:1.7;color:var(--ink-soft);background:var(--accent-soft);border-radius:var(--r-md);padding:10px 14px}.finished-card--rich .fc-divider{height:1px;background:#e8ddd0;margin:2px 0}.finished-card--rich .fc-usage-tip{font-size:13px;line-height:1.7;color:#8a7a6a}.finished-card--rich .fc-usage-tip strong{color:var(--ink)}.restart-btn{margin-top:14px;border:none;background:var(--grad-primary);color:#fff;box-shadow:0 3px 10px #e8a87c4d;font-weight:600;padding:12px 24px;border-radius:var(--r-lg);cursor:pointer;font-size:15px}.finished-emoji{font-size:44px;display:block;margin-bottom:6px}.satiety-fill{height:100%;border-radius:999px;transition:width .4s}.satiety-fill.s-happy{background:#8aa678}.satiety-fill.s-neutral{background:#e0c060}.satiety-fill.s-hungry{background:#e89b5a}.satiety-fill.s-angry{background:#e0706a}.pet-cat{width:100%;height:100%;position:relative}.pet-cat-img,.pet-cat-video{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.pet-grievance .pet-cat-img,.pet-grievance .pet-cat-video{filter:sepia(.2) saturate(.9) drop-shadow(0 2px 8px rgba(0,0,0,.1))}.pet-walking .pet-cat-img{animation:none}.pet-grievance .pet-cat-walk{filter:sepia(.2) saturate(.9) drop-shadow(0 2px 8px rgba(0,0,0,.1))}.pet-meme{position:absolute;top:-4px;right:-4px;font-size:20px;animation:floatUp 1.6s ease-in-out infinite}.pet-bubble{position:absolute;top:-34px;left:50%;transform:translate(-50%);background:#fff;border:.5px solid var(--line);border-radius:999px;padding:5px 12px;font-size:12px;line-height:1.4;white-space:nowrap;text-align:center;box-shadow:var(--shadow);z-index:30}.pet-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #f0e6db}.pet-bubble:before{content:"";position:absolute;bottom:-4.5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #fff;z-index:1}.pet-grievance .pet-bubble{border-color:#f3d9a8;color:#b87a2a}.pet-grievance .pet-bubble:after{border-top-color:#f3d9a8}.pet-bubble-angry{color:#d65b54;border-color:#f3c9c6}.pet-bubble-angry:after{border-top-color:#f3c9c6}.pet-bubble-hungry{color:#c98a3e;border-color:#f3d9a8}.pet-bubble-hungry:after{border-top-color:#f3d9a8}.pet-bubble-happy{color:#5aa67e;border-color:#d4eadc}.pet-bubble-happy:after{border-top-color:#d4eadc}.pet-happy .pet-cat-img{animation:pet-bounce 1.3s ease-in-out infinite}.pet-hungry .pet-cat-img{animation:pet-wobble 2.4s ease-in-out infinite}.pet-angry .pet-cat-img{animation:pet-shake .5s ease-in-out infinite}.pet-act-walking{animation:waddle 1.1s ease-in-out infinite}.pet-act-butterfly{animation:flutter 2.4s ease-in-out infinite}.pet-act-spin .pet-cat-img,.pet-act-spin svg{animation:tiltWiggle 1.8s ease-in-out infinite;transform-origin:50% 80%}.pet-act-shake .pet-cat-img,.pet-act-shake svg{animation:shake .5s ease-in-out infinite}.pet-act-bob .pet-cat-img,.pet-act-bob svg{animation:bob 1s ease-in-out infinite}.pet-act-walk .pet-cat-img,.pet-act-walk svg{animation:walk 1.3s ease-in-out infinite}.pet-act-waving .pet-cat-img{animation:wave-hand .9s ease-in-out infinite;transform-origin:70% 30%}.pet-act-reading{animation:nod 2.4s ease-in-out infinite}.pet-act-star .pet-cat-img{animation:star-pulse 1.4s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(120,90,60,.18)) drop-shadow(0 0 12px rgba(255,213,110,.6))}.pet-act-star:after{content:"✨";position:absolute;top:8%;right:8%;font-size:28px;animation:twinkle 1.2s ease-in-out infinite;pointer-events:none}.pet-act-star:before{content:"✨";position:absolute;bottom:12%;left:6%;font-size:22px;animation:twinkle 1.2s ease-in-out infinite reverse;pointer-events:none}.pet-act-shy .pet-cat-img{animation:shy-peek 2.6s ease-in-out infinite}.pet-act-think .pet-cat-img,.pet-act-think svg{animation:think-tilt 3s ease-in-out infinite}.pet-act-hugfish .pet-cat-img{animation:hug-celebrate 1.6s ease-in-out infinite}@keyframes wave-hand{0%,to{transform:rotate(0)}20%{transform:rotate(-8deg)}60%{transform:rotate(8deg)}}@keyframes nod{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-2deg)}}@keyframes star-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(45deg)}}@keyframes shy-peek{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-2deg)}75%{transform:translate(3px) rotate(2deg)}}@keyframes think-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg) scale(1.02)}}@keyframes hug-celebrate{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-3deg)}75%{transform:translateY(-6px) rotate(3deg)}}.pet-cat-img{animation:pet-idle 5s ease-in-out infinite}.pet-cat svg{animation:pet-idle 6s ease-in-out infinite;transform-origin:50% 88%}.pet-cat svg .lc-tail{transform-box:fill-box;transform-origin:2% 92%;animation:lc-tail-wag 2.6s ease-in-out infinite}.pet-cat svg .lc-eyes{transform-box:fill-box;transform-origin:50% 50%;animation:lc-blink 5.5s infinite}@keyframes walk{0%{transform:translate(0) translateY(0)}25%{transform:translate(-16px) translateY(-3px)}50%{transform:translate(0) translateY(0)}75%{transform:translate(16px) translateY(-3px)}to{transform:translate(0) translateY(0)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pet-idle{0%{transform:translateY(0) scale(1) rotate(-1.2deg)}50%{transform:translateY(-3px) scale(1.035) rotate(1.2deg)}to{transform:translateY(0) scale(1) rotate(-1.2deg)}}@keyframes pet-bounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-2deg)}}@keyframes pet-wobble{0%,to{transform:rotate(-3deg) translate(-1px)}50%{transform:rotate(3deg) translate(1px)}}@keyframes pet-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px) rotate(-2deg)}60%{transform:translate(3px) rotate(2deg)}}@keyframes pet-slowbreathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes lc-tail-wag{0%,to{transform:rotate(-7deg)}50%{transform:rotate(9deg)}}@keyframes lc-blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}@media (prefers-reduced-motion: reduce){.pet-cat-img,.pet-cat svg,.pet-happy .pet-cat-img,.pet-hungry .pet-cat-img,.pet-angry .pet-cat-img{animation:none!important}}@keyframes waddle{0%,to{transform:translate(-4px) rotate(-2deg)}50%{transform:translate(4px) rotate(2deg)}}@keyframes flutter{0%,to{transform:translate(0)}25%{transform:translate(3px,-4px)}50%{transform:translateY(-6px)}75%{transform:translate(-3px,-3px)}}@keyframes tiltWiggle{0%{transform:rotate(0)}20%{transform:rotate(-45deg)}40%{transform:rotate(0)}60%{transform:rotate(45deg)}80%{transform:rotate(0)}to{transform:rotate(0)}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;animation:fade .25s ease}.modal-card{background:var(--card);border-radius:var(--r-xl);padding:20px 18px 18px;width:100%;max-width:340px;max-height:86vh;overflow:auto;box-shadow:0 20px 60px #0003;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}.modal-badge{display:inline-block;background:var(--success);color:#fff;font-weight:600;padding:5px 12px;border-radius:999px;font-size:12px}.modal-title{margin:12px 0 6px;font-size:20px;font-weight:700}.modal-block{margin-top:14px}.modal-block-head{font-weight:600;font-size:14px;margin-bottom:6px}.modal-line{font-size:15px;line-height:1.75;margin:4px 0}.modal-close{margin-top:18px;width:100%;border:none;background:var(--grad-primary);color:#fff;box-shadow:0 3px 10px #e8a87c4d;font-weight:600;padding:14px;border-radius:var(--r-lg);cursor:pointer;font-size:16px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.home{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:0}.home-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;padding:0}.home-hero-flip-btn{position:absolute;left:8px;top:8px;z-index:5;width:32px;height:32px;border-radius:50%;background:#ffffffeb;border:.5px solid var(--line);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000000f;transition:transform .15s ease,background .15s ease}.home-hero-flip-btn:active{transform:scale(.92);background:#fff}.home-hero-flip{perspective:1200px;width:100%;display:flex;justify-content:center}.home-hero-inner{position:relative;width:100%;max-width:560px;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,.2,.2,1)}.home-hero-inner.flipped{transform:rotateY(180deg)}.home-hero-face{backface-visibility:hidden}.home-hero-front{display:flex;flex-direction:column;align-items:center;gap:4px}.home-hero-back{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotateY(180deg);background:var(--card);border:.5px solid var(--line);border-radius:var(--r-md);padding:16px;overflow:auto;display:flex;align-items:stretch;justify-content:flex-start;box-shadow:var(--shadow-soft)}.gf-quote-card{width:100%;display:flex;flex-direction:column;gap:10px}.gf-quote-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gf-quote-badge{font-size:11px;font-weight:700;color:var(--primary);background:var(--primary-soft);padding:3px 9px;border-radius:999px}.gf-quote-part{font-size:11px;color:var(--ink-faint)}.gf-quote-text{margin:0;font-size:15px;line-height:1.65;color:var(--ink-2);font-weight:500}.gf-quote-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}.gf-quote-source{font-size:12px;color:var(--ink-faint)}.gf-quote-page{font-size:11px;color:var(--ink-faint);opacity:.8}.gf-quote-refresh{margin-left:auto;border:none;background:var(--primary-soft);color:var(--primary);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background .15s ease}.gf-quote-refresh:active{transform:rotate(180deg);background:var(--primary);color:#fff}.gf-quote-explain{margin:8px 0 0;padding:7px 10px;background:#00000008;border-left:3px solid var(--accent);border-radius:6px;font-size:12.5px;line-height:1.55;color:var(--ink-soft)}.tianqi-jinju{display:flex;flex-direction:column;min-height:100%}.tj-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:calc(6px + env(safe-area-inset-top)) 14px 6px;background:#fdf8f3eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.tj-back{border:none;background:transparent;font-size:14px;cursor:pointer;color:var(--primary);padding:4px 6px;border-radius:8px;position:relative;z-index:1}.tj-back-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:28px;line-height:1;font-weight:300;color:var(--ink)}.tj-guide{margin:8px 14px 0;padding:0;background:#2faa6b0f;border:1px solid rgba(47,170,107,.12);border-radius:var(--r-md);overflow:hidden}.tj-guide-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:none;background:transparent;font-size:13px;font-weight:600;color:#2a8a5a;cursor:pointer}.tj-guide-caret{font-size:12px;color:var(--ink-faint)}.tj-guide-body{padding:0 12px 10px;display:flex;flex-direction:column;gap:10px}.tj-guide-principles{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.6;color:var(--ink-soft)}.tj-guide-principles b{color:var(--ink)}.tj-guide-demo{background:#2faa6b14;border-radius:8px;padding:10px 12px;border-left:3px solid #2faa6b}.tj-guide-demo-label{display:inline-block;font-size:11px;font-weight:700;color:#1f7a4d;margin-bottom:5px}.tj-guide-demo p{margin:0;font-size:12.5px;line-height:1.66;color:var(--ink-soft)}.tj-guide-quote{color:var(--ink);font-weight:700}.tj-guide-cross{display:inline-block;margin-top:6px;font-size:11px;font-weight:600;color:var(--accent2);background:var(--accent-soft);padding:2px 8px;border-radius:var(--radius-full)}.tj-guide-tip{margin:0;font-size:12px;color:var(--ink-faint)}.tj-card-usage{margin:2px 0 0;padding:9px 11px;background:#2faa6b12;border-left:3px solid #2faa6b;border-radius:8px;display:flex;flex-direction:column;gap:5px}.tj-usage-label{align-self:flex-start;font-size:14px;font-weight:700;color:#1f7a4d;background:#2faa6b24;padding:3px 10px;border-radius:var(--radius-full)}.tj-usage-theme{font-size:15px;font-weight:600;color:#1f7a4d}.tj-usage-demo{margin:0;font-size:14.5px;line-height:1.62;color:var(--ink-soft)}.tj-list{padding:4px 14px 48px;display:flex;flex-direction:column;gap:20px}.tj-group{display:flex;flex-direction:column;gap:12px}.tj-group-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--ink);margin:0;padding:10px 12px;background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow-soft);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,transform .1s ease}.tj-group-title:hover{background:#fffaf5}.tj-group-title:active{transform:scale(.99)}.tj-group-bar{width:4px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--accent2));flex-shrink:0}.tj-group-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tj-group-name{font-size:15px;font-weight:800;color:var(--ink)}.tj-group-sub{font-size:11px;font-weight:500;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tj-group-count{font-size:11px;font-weight:600;color:var(--accent2);background:var(--accent-soft);padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0}.tj-group-caret{font-size:13px;color:var(--ink-faint);transition:transform .2s ease;flex-shrink:0}.tj-group.is-collapsed .tj-group-caret{transform:rotate(-90deg)}.tj-groups-body,.tj-section{display:flex;flex-direction:column;gap:16px}.tj-section-title{font-size:12.5px;font-weight:600;color:var(--accent2);padding-left:6px;border-left:3px solid var(--accent)}.tj-list.tj-list-flat{gap:16px}.tj-card{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r-lg);padding:14px 14px 12px;box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,opacity .2s ease}.tj-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #e8a87c2e;border-color:var(--accent)}.tj-card-big{gap:14px;padding:22px 18px 18px;border-radius:var(--r-xl);border-left-width:5px;height:calc(100vh - 170px);min-height:480px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.tj-card-big::-webkit-scrollbar{width:6px}.tj-card-big::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.tj-card-big::-webkit-scrollbar-track{background:transparent}.tj-card-big .tj-card-text{font-size:20px;line-height:1.78;letter-spacing:.3px}.tj-card-big .tj-card-explain{padding:15px 17px}.tj-card-big .tj-card-explain p{font-size:17px;line-height:1.74}.tj-card-big .tj-card-usage{padding:15px 17px}.tj-card-big .tj-usage-demo{font-size:17px;line-height:1.74}.tj-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:-4px}.tj-card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.tj-card-tag{font-size:14px;font-weight:600;padding:5px 12px;border-radius:var(--radius-full);flex-shrink:0}.tj-card-tag.group{color:var(--accent2);background:var(--accent-soft)}.tj-card-tag.section{color:var(--ink-soft);background:var(--paper-2)}.tj-card-top-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.tj-card-text{margin:0;font-size:14.5px;line-height:1.68;color:var(--ink);font-weight:500;letter-spacing:.2px}.tj-card-explain{margin:2px 0 0;padding:9px 11px;background:var(--accent-soft);border-left:3px solid var(--accent2);border-radius:8px}.tj-explain-label{display:inline-block;font-size:14px;font-weight:700;color:var(--accent2);margin-bottom:6px}.tj-card-explain p{margin:0;font-size:13px;line-height:1.62;color:var(--ink-soft)}.tj-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:10px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--ink-faint)}.tj-card-source{font-weight:600}.tj-card-page{opacity:.85;white-space:nowrap}.tj-header-switch{flex:1;display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card)}.tj-switch-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink-soft);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.tj-switch-btn.active{background:var(--grad-primary);color:#fff;box-shadow:0 2px 8px #e8a87c47}.tj-switch-count{font-size:10px;font-weight:600;opacity:.85;background:#0000000f;padding:1px 5px;border-radius:var(--radius-full)}.tj-switch-btn.active .tj-switch-count{background:#ffffff3d}.tj-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px}.tj-controls .poetry-hint{margin:0}.tj-controls-info{font-size:11.5px;color:var(--ink-faint)}.tj-all-btn{flex-shrink:0;padding:5px 10px;border:1px dashed var(--accent);border-radius:var(--r-md);background:transparent;color:var(--accent2);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.tj-all-btn:hover{background:var(--accent-soft)}.tj-all-btn:active{transform:scale(.96)}.tj-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:90px 0;color:var(--ink-soft);font-size:14px}.tj-spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--accent2, #4c8dff);border-radius:50%;animation:tj-spin .8s linear infinite}@keyframes tj-spin{to{transform:rotate(360deg)}}.tj-fav-btn{flex-shrink:0;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink-faint);font-size:15px;line-height:1;cursor:pointer;transition:all .15s ease}.tj-fav-btn:hover{border-color:var(--gold, #e0a800);color:var(--gold, #e0a800);transform:scale(1.08)}.tj-fav-btn:active{transform:scale(.94)}.tj-fav-btn.on{color:var(--gold, #e0a800);background:var(--gold-soft, #fff4d6);border-color:var(--gold, #e0a800)}.tj-fav-btn.small{width:26px;height:26px;font-size:14px;margin-top:1px}.tj-card.is-fav{border-left-color:var(--gold, #e0a800)}.poetry-card.is-fav{box-shadow:0 6px 18px #e0a80024}.tj-empty{margin:18px 14px;padding:22px 16px;text-align:center;font-size:13px;color:var(--ink-faint);background:var(--card);border:1px dashed var(--line);border-radius:var(--r-md)}.poetry-list{padding:4px 14px 48px;display:flex;flex-direction:column;gap:16px}.poetry-hint{margin:0;font-size:12px;color:var(--ink-faint);line-height:1.6}.poetry-list.poetry-list-flat{padding-top:4px;gap:14px}.poetry-cards.poetry-cards-flat{display:flex;flex-direction:column;gap:16px}.poetry-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r-lg);padding:12px 13px 10px;box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,opacity .2s ease}.poetry-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #e8a87c29}.poetry-card-big{padding:22px 18px 18px;border-radius:var(--r-xl);border-left-width:5px;height:calc(100vh - 170px);min-height:480px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px}.poetry-card-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:safe center;gap:12px}.poetry-card-body.has-extra{justify-content:flex-start;gap:14px}.poetry-card-big::-webkit-scrollbar{width:6px}.poetry-card-big::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.poetry-card-big::-webkit-scrollbar-track{background:transparent}.poetry-card-big .poetry-text{font-size:18px;line-height:1.78}.poetry-card-big .tj-card-explain p,.poetry-card-big .tj-usage-demo{font-size:15px;line-height:1.74}.poetry-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.poetry-card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.poetry-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.poetry-card-actions .tj-fav-btn.small{margin-top:0}.poetry-text{margin:0;font-size:16px;line-height:1.68;color:var(--ink);font-weight:600;letter-spacing:.3px;text-align:center}.poetry-meta{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:7px;border-top:1px dashed var(--line)}.poetry-theme{font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);flex-shrink:0;color:var(--accent2);background:var(--accent-soft)}.poetry-source{font-size:12.5px;color:var(--ink-faint);font-weight:600;text-align:center}.tj-card-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 14px 8px;padding:6px 8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-full);box-shadow:var(--shadow-soft)}.tj-card-nav-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 14px;border:none;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent2);font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.tj-card-nav-btn:hover:not(:disabled){background:var(--accent);color:#fff;transform:translateY(-1px)}.tj-card-nav-btn:active:not(:disabled){transform:scale(.96)}.tj-card-nav-btn:disabled{background:var(--paper-2);color:var(--ink-faint);cursor:not-allowed;opacity:.7}.tj-card-nav-pos{flex:1;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.tj-card-stage{margin:0 8px 20px;touch-action:pan-y;user-select:none;-webkit-user-select:none}.tj-card-stage .tj-card,.tj-card-stage .poetry-card{margin:0;animation:tjCardIn .25s ease both}@keyframes tjCardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.home-cat{width:110px;height:110px;position:relative;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));padding-top:16px;margin-top:60px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.home-cat-replace{width:100%;max-width:560px;background:transparent;border:none;box-shadow:none;padding:0;border-radius:var(--r-xl);overflow:hidden;margin:4px 0 12px;animation:fadeUp .35s ease both}.home-cat-replace img{display:block;width:100%;height:200px;max-height:200px;object-fit:cover;object-position:center 32%;border-radius:var(--r-xl)}.home-cat .pet-bubble{top:-34px;padding:5px 12px;line-height:1.4;max-width:calc(100vw - 48px)}.home-cat-controls{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;max-width:200px}.satiety-bar{width:100%;display:flex;flex-direction:column;gap:2px}.satiety-label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;opacity:.6}.satiety-track{width:100%;height:4px;background:#0000000f;border-radius:999px;overflow:hidden}.satiety-fill{height:100%;border-radius:999px;transition:width .4s,background .4s}.home-feed-btn{width:100%;border:none;background:var(--grad-primary);color:#fff;box-shadow:0 3px 10px #e8a87c4d;font-weight:600;font-size:13px;padding:7px 10px;border-radius:var(--r-md);cursor:pointer;transition:transform .12s,opacity .2s}.home-feed-btn:not(:disabled):active{transform:scale(.97);opacity:.9}.home-feed-btn:disabled{background:var(--ink-faint);cursor:not-allowed}.home-ugly-hint{margin:0;font-size:12px;color:var(--ink-faint);text-align:center;line-height:1.4;white-space:nowrap}.home-entries{display:flex;flex-direction:column;gap:10px;width:100%;padding:2px 0 0}.core-card{position:relative;overflow:hidden;border:.5px solid rgba(180,140,100,.28);background:linear-gradient(140deg,#fffdf9,#fbf1e2 52%,#f6e6d0);border-radius:var(--r-lg);padding:12px 14px;box-shadow:inset 0 1px #ffffffc7,inset 0 -1px #7850280f,0 2px 6px #966e500f,0 8px 20px #966e501a;cursor:pointer;text-align:left;display:flex;align-items:center;gap:12px;transition:transform .15s,box-shadow .2s}.core-card:before{content:"";position:absolute;top:-44px;right:-34px;width:136px;height:136px;border-radius:50%;background:radial-gradient(circle,rgba(232,168,124,.24) 0%,transparent 66%);pointer-events:none}.core-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffffc7,0 4px 10px #966e5014,0 18px 36px #966e5029}.core-icobadge{position:relative;z-index:1;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#fff;padding:8px;border-radius:var(--r-md);background:linear-gradient(145deg,#f4bd93,#e6915f 45%,#d9794a);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #96461440,inset 0 0 0 .5px #96461433,0 4px 10px #d9794a52}.core-body{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.core-title{font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.2px}.core-desc{font-size:12px;color:var(--ink-soft);line-height:1.4}.core-arrow{position:relative;z-index:1;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;line-height:1;font-weight:600;border-radius:50%;background:linear-gradient(145deg,#f4bd93,#d9794a);box-shadow:inset 0 1px #ffffff73,inset 0 -1px #96461438,0 3px 8px #d9794a59}.tool-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.tool-tile{position:relative;overflow:hidden;border:.5px solid var(--line);background:var(--card);border-radius:var(--r-md);padding:12px 13px 11px;box-shadow:var(--shadow-soft);cursor:pointer;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:3px;transition:transform .15s,box-shadow .2s,border-color .2s}.tool-tile:hover{transform:translateY(-1px);box-shadow:0 6px 14px #966e501a;border-color:var(--accent)}.tool-icobadge{position:relative;z-index:1;width:32px;height:32px;margin-bottom:2px;display:flex;align-items:center;justify-content:center;color:#fff;padding:6px;border-radius:var(--r-sm);box-shadow:inset 0 1px #ffffff73,inset 0 -1px #00000024,0 3px 8px #5a463238}.entry-kaodian .tool-icobadge,.entry-guifanci .tool-icobadge,.entry-jinju .tool-icobadge,.entry-topictpl .tool-icobadge{background:linear-gradient(145deg,#f4bd93,#d9794a)}.tool-name{position:relative;z-index:1;font-size:14px;font-weight:700;color:var(--ink);line-height:1.2}.tool-tag{position:relative;z-index:1;font-size:11px;line-height:1.4;color:var(--ink-soft)}.list-view{display:flex;flex-direction:column;gap:10px;padding-top:4px}.list-head{display:flex;flex-direction:column;gap:2px}.back-btn{align-self:flex-start;border:none;background:transparent;color:var(--brand2);opacity:1;font-size:16px;cursor:pointer;padding:4px 0;font-weight:400}.back-btn:hover{opacity:.6}.list-title{font-size:22px;margin:0;font-weight:700;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-sub{font-size:14px;color:var(--ink-soft);margin-top:2px}.catalog{display:flex;flex-direction:column;gap:14px}.catalog-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.catalog-item:active{transform:scale(.99)}@media (hover: hover){.catalog-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}}.hbtitle-card{align-items:stretch}.hbtitle-main{display:flex;flex-direction:column;gap:8px}.hbtitle-wrap{display:flex;align-items:baseline;gap:2px;flex-wrap:wrap}.hbtitle-quote{font-size:24px;color:var(--accent);opacity:.5;font-weight:300;line-height:1}.hbtitle-name{font-size:19px;font-weight:700;margin:0;line-height:1.35;color:var(--ink);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbtitle-topic{font-size:12px;color:var(--tag-fg);background:var(--tag-bg);display:inline-block;padding:3px 10px;border-radius:999px;align-self:flex-start}.catalog-main{min-width:0;flex:1}.catalog-topic{display:inline-block;font-size:11px;font-weight:600;color:var(--tag-fg);background:var(--tag-bg);padding:3px 10px;border-radius:999px;margin-bottom:6px}.catalog-name{font-size:16px;margin:0 0 4px;line-height:1.4;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-desc{font-size:13px;color:var(--ink-faint);margin:0;line-height:1.4}.catalog-progress{display:flex;align-items:center;gap:8px;max-width:280px}.catalog-track{flex:1;height:5px;background:var(--line-soft);border-radius:999px;overflow:hidden}.catalog-fill{height:100%;background:linear-gradient(90deg,#e8a87c,#c98754);border-radius:999px;transition:width .3s}.catalog-fill.done{background:var(--accent)}.catalog-pct{font-size:12px;color:var(--ink-faint);white-space:nowrap;font-weight:500}.catalog-actions{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}.cat-btn{border:none;border-radius:var(--btn-r);height:var(--btn-h);padding:0 16px;font-size:var(--btn-font);font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .12s,opacity .15s}.cat-btn:active{transform:scale(.96);opacity:.9}.cat-btn.primary{background:var(--grad-primary);color:#fff;box-shadow:0 3px 10px #e8a87c4d}.cat-btn.ghost{background:var(--card);border:1.5px solid var(--line);color:var(--ink-soft)}@media (hover: hover){.cat-btn.ghost:hover{border-color:var(--accent2);color:var(--accent);background:var(--accent-soft)}}.mat-tabs{display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px;background:var(--line-soft);border-radius:var(--r-md)}.mat-tabs::-webkit-scrollbar{height:0}.mat-tab{border:none;background:transparent;color:var(--ink-soft);border-radius:var(--r-sm);padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;opacity:1;white-space:nowrap;flex:0 0 auto;transition:all .15s}.mat-tab.active{background:var(--grad-primary);color:#fff;box-shadow:0 2px 8px #e8a87c4d;font-weight:600}.reader-view{display:flex;flex-direction:column;gap:12px;padding-top:4px}.reader-head{display:flex;flex-direction:column;gap:4px}.reader-title-wrap{display:flex;flex-direction:column;gap:1px}.reader-title{font-size:18px;margin:0;line-height:1.4;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-progress{font-size:13px;color:var(--ink-faint);font-weight:500}.finished-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:4px}.ghost-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);font-weight:600;height:var(--btn-h);padding:0 20px;border-radius:var(--btn-r);cursor:pointer;font-size:var(--btn-font);transition:all .2s}.ghost-btn:hover{border-color:var(--accent2);color:var(--accent)}.full-essay{background:transparent;border-radius:0;padding:6px 0 12px;box-shadow:none;display:flex;flex-direction:column;gap:14px}.full-section{display:flex;flex-direction:column;gap:10px}.full-head{font-size:15px;font-weight:700;color:var(--ink);border-left:3px solid var(--accent2);padding-left:10px}.full-section.ai .full-head{color:var(--ink);border-color:var(--accent2)}.full-subhead{font-size:13px;font-weight:600;opacity:.6;margin-top:2px}.full-point{display:flex;flex-direction:column;gap:6px}.full-sentence{font-family:var(--font-read);font-size:18px;font-weight:600;margin:0;line-height:1.6}.full-para{font-family:var(--font-read);font-size:18px;line-height:1.8;margin:0;opacity:.9;letter-spacing:.01em;text-align:left;overflow-wrap:anywhere}.full-list{margin:0;padding-left:20px}.full-list li{font-family:var(--font-read);font-size:17px;line-height:1.8;margin:4px 0;opacity:.88}@media (max-width: 640px){.catalog-item{flex-direction:column;align-items:stretch;gap:10px}.catalog-actions{flex-direction:row}.catalog-actions .cat-btn{flex:1;text-align:center}.reader-title{font-size:20px;font-weight:700}.full-essay{padding:14px 10px 18px;border-radius:var(--r-lg)}}@media (max-width: 640px){.topbar{padding:8px 10px;gap:8px}.brand{gap:6px}.brand-emoji{font-size:20px}.topbar h1{font-size:16px}.progress{padding:4px 10px;font-size:11px}.progress b{font-size:12px}.fixed-nav{padding:8px 10px}.fixed-back{font-size:17px}.stage.has-fixed-nav{padding-top:52px;padding-bottom:56px}.floating-cat{width:48px;height:48px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom))}.home{gap:6px;padding:0}.home-hero{padding:0}.home-cat{width:100px;height:100px;padding-top:12px;margin-top:24px}.home-cat .pet-bubble{top:-30px;padding:4px 10px;line-height:1.4;max-width:calc(100vw - 40px)}.home-cat-controls{max-width:180px;gap:3px}.home-feed-btn{font-size:12.5px;padding:6px 9px}.home-entries{gap:7px}.core-card{padding:12px 13px;gap:12px}.core-icobadge{width:42px;height:42px;padding:8px}.core-title{font-size:16px}.core-arrow{width:22px;height:22px;font-size:16px}.tool-grid{gap:7px}.tool-tile{padding:11px 12px 10px}.tool-icobadge{width:36px;height:36px;padding:7px}.tool-name{font-size:14px}.tool-tag{font-size:10.5px}.pet-bubble{top:-28px;font-size:11px;padding:4px 10px}.hbtitle-name{font-size:18px}.hbtitle-quote{font-size:20px}.hbtitle-topic{font-size:12px}.finished-card--rich .fc-theme-value{font-size:15px}}.sl-loading-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink);font-size:15px;background:linear-gradient(180deg,var(--paper) 0%,var(--accent-soft) 100%)}.sl-spinner{width:32px;height:32px;border-radius:50%;border:2.5px solid rgba(232,146,124,.2);border-top-color:var(--accent);animation:sl-spin .8s linear infinite}@keyframes sl-spin{to{transform:rotate(360deg)}}.auth-gate{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--paper)}.auth-card{width:100%;max-width:360px;background:var(--card);border:none;border-radius:var(--r-xl);box-shadow:var(--shadow);padding:24px 20px 18px}.auth-top{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.auth-brand .title{font-family:Songti SC,STSong,SimSun,serif;font-size:30px;font-weight:700;letter-spacing:2px;color:var(--ink)}.auth-brand .title-line{width:46px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--accent),#f3c0a8)}.auth-brand .subtitle{font-size:12.5px;color:#9a8b7c;letter-spacing:.5px}.auth-tabs{display:flex;gap:0;background:#0000000a;padding:2px;border-radius:var(--r-md);margin-bottom:18px}.auth-tab{flex:1;border:0;background:transparent;padding:9px 0;border-radius:var(--r-sm);font-size:14px;font-weight:500;color:var(--ink-faint);cursor:pointer;transition:.15s}.auth-tab.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-soft);font-weight:600}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-input{width:100%;padding:13px 14px;border:none;border-radius:var(--r-md);font-size:16px;background:var(--paper);color:var(--ink);outline:none;transition:.15s}.auth-input:focus{box-shadow:0 0 0 3px #e8845a40}.auth-pwd-wrap{position:relative}.auth-pwd-input{padding-right:46px}.auth-pwd-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:18px;padding:6px;line-height:1}.auth-btn{margin-top:4px;padding:14px 0;border:0;border-radius:var(--r-md);cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;color:#fff;background:var(--grad-primary);box-shadow:0 3px 10px #e8a87c4d;transition:.15s}.auth-btn:active{transform:translateY(1px);opacity:.9}.auth-btn:disabled{opacity:.5;cursor:default}.auth-error{color:#c0563f;font-size:13px;text-align:center;background:var(--accent-soft);padding:9px 10px;border-radius:var(--r-sm)}.auth-success{color:#6f9e7a;font-size:13px;text-align:center;background:#eef2e8;padding:9px 10px;border-radius:var(--r-sm)}.auth-linkrow{display:flex;justify-content:center;margin-top:10px}.auth-link{border:0;background:transparent;color:var(--accent);font-size:13px;cursor:pointer;padding:4px}.auth-footer{margin-top:14px;text-align:center}.auth-footer p{margin:0;font-size:12px;color:#a99a8b;line-height:1.6}.ljg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ljg-card{width:100%;max-width:360px;background:var(--card);border-radius:var(--r-xl);box-shadow:0 20px 50px #0003;padding:24px 20px;text-align:center;border:none}.ljg-icon{font-size:40px}.ljg-title{margin:8px 0 6px;font-size:21px;font-weight:800;color:var(--ink)}.ljg-sub{margin:0 0 14px;font-size:13.5px;color:#8c7d6e;line-height:1.6}.ljg-user{margin:0 0 14px;font-size:13px;color:var(--accent);font-weight:600}.ljg-input{width:100%;padding:13px 14px;border:none;border-radius:var(--r-md);font-size:16px;text-align:center;letter-spacing:1px;text-transform:uppercase;outline:none;background:var(--paper);color:var(--ink)}.ljg-input:focus{box-shadow:0 0 0 3px #e8845a40}.ljg-btn{width:100%;margin-top:12px;padding:14px 0;border:0;border-radius:var(--r-md);cursor:pointer;font-size:16px;font-weight:600;color:#fff;background:var(--grad-primary);box-shadow:0 3px 10px #e8a87c4d;letter-spacing:.5px}.ljg-btn:disabled{opacity:.5}.ljg-msg.err{margin-top:10px;color:#c0563f;font-size:13px;background:var(--accent-soft);padding:8px;border-radius:var(--r-sm)}.ljg-foot{margin-top:14px;display:flex;flex-direction:column;gap:6px;align-items:center}.ljg-foot span{font-size:12px;color:var(--ink-faint)}.ljg-logout{border:0;background:transparent;color:var(--ink-faint);font-size:13px;cursor:pointer;text-decoration:underline}.adm-gate,.adm-wrap{--bg: #f4f5f8;--bg-2: #eef0f5;--surface: #fff;--card: #fff;--line: #e8eaf0;--line-2: #eef0f5;--radius: 16px;--radius-sm: 11px;--primary: #4f46e5;--primary-soft: #eef0ff;--accent: #ff8a5b;--gold: #f5a623;--success: #16a34a;--success-soft: #e9f9ef;--danger: #e11d48;--danger-soft: #fdeef2;--warn: #f5a623;--red: #e11d48;--red-2: #b9123f;--red-rgb: 225,29,72;--red-soft: #fdeef2;--blue: #2563eb;--blue-2: #1d4ed8;--blue-rgb: 37,99,235;--blue-soft: #e8f0ff;--ink-soft: #5b6472;--ink-faint: #9aa3b2;--ink-2: #3a4150;--ink-3: #6b7280;--shadow-soft: 0 2px 10px rgba(31,36,48,.06);--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--app-w: 920px}.adm-gate{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(1200px 600px at 12% -10%,rgba(79,70,229,.1),transparent 60%),radial-gradient(900px 500px at 110% 110%,rgba(255,138,91,.1),transparent 55%),#eef0f5;font-family:var(--font);color:var(--ink-2)}.adm-gate-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:30px 26px;text-align:center}.adm-gate-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:14px;background:var(--primary);color:#fff;font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #4f46e54d}.adm-gate-card h1{margin:0 0 6px;font-size:19px;font-weight:800;color:var(--ink-2)}.adm-gate-sub{margin:0 0 20px;font-size:13px;color:var(--ink-faint)}.adm-pwd-wrap{position:relative}.adm-input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;background:#fff;color:var(--ink-2);outline:none}.adm-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.adm-input-sm{width:90px;padding:10px 12px}.adm-pwd-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:18px;padding:4px}.adm-gate-err{color:var(--danger);font-size:13px;margin-top:12px}.adm-wrap{max-width:var(--app-w);margin:0 auto;padding:20px 16px 60px;font-family:var(--font);color:var(--ink-2);background:var(--bg);min-height:100vh}.adm-head{display:flex;align-items:center;gap:12px;padding:6px 4px 16px}.adm-brand{font-size:19px;font-weight:800;color:var(--ink-2);display:flex;align-items:baseline;gap:8px}.adm-brand span{font-size:13px;font-weight:600;color:var(--ink-faint)}.adm-theme{margin-left:auto;border:1px solid var(--line);background:var(--surface);width:38px;height:38px;border-radius:10px;cursor:pointer;font-size:17px}.adm-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:10px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:.15s}.adm-btn:hover{border-color:#cfd4e0}.adm-btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 8px 20px #4f46e547}.adm-btn-primary:hover{filter:brightness(1.05)}.adm-btn-ghost{background:var(--surface)}.adm-tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);padding:5px;border-radius:13px;margin-bottom:16px}.adm-tab{flex:1;border:0;background:transparent;padding:10px 0;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.15s}.adm-tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #4f46e540}.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.adm-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 14px;text-align:center}.adm-stat-num{font-size:26px;font-weight:800;color:var(--ink-2)}.adm-stat-total{color:var(--ink-2)}.adm-stat-unused{color:var(--primary)}.adm-stat-activated{color:var(--success)}.adm-stat-revoked{color:var(--danger)}.adm-stat-label{font-size:12px;color:var(--ink-faint);margin-top:4px}.adm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px}.adm-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.adm-card-head h2{margin:0;font-size:16px;font-weight:800;color:var(--ink-2)}.adm-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.adm-gen-result{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.adm-code-chip{background:var(--primary-soft);color:var(--primary);border:1px solid #dfe2fb;padding:6px 10px;border-radius:8px;font-size:13px;font-family:ui-monospace,Menlo,Consolas,monospace;cursor:pointer}.adm-filters{display:flex;gap:6px;margin-left:auto}.adm-filter{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);padding:6px 12px;border-radius:20px;font-size:13px;cursor:pointer}.adm-filter.active{background:var(--primary);border-color:var(--primary);color:#fff}.adm-filter-row{display:flex;gap:6px}.adm-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);padding:6px 12px;border-radius:20px;font-size:13px;cursor:pointer}.adm-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.adm-empty{color:var(--ink-faint);font-size:14px;text-align:center;padding:26px 0}.adm-empty-hint{color:var(--ink-faint);font-style:italic}.adm-head-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.adm-head-toggle:hover h2,.adm-head-toggle:hover .adm-caret{color:var(--primary)}.adm-caret{margin-left:auto;font-size:13px;line-height:1;color:var(--ink-faint);transition:color .15s ease}.adm-table{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.adm-thead,.adm-trow{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.4fr 1.2fr;gap:8px;padding:11px 14px;align-items:center}.adm-thead{background:var(--bg-2);font-size:12.5px;font-weight:700;color:var(--ink-soft)}.adm-trow{border-top:1px solid var(--line);font-size:13.5px}.adm-trow:hover{background:#fafbff}.adm-code{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--ink-2);cursor:pointer;font-weight:600}.adm-dim{color:var(--ink-faint);font-size:12.5px}.adm-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.adm-badge-unused{background:var(--primary-soft);color:var(--primary)}.adm-badge-activated{background:var(--success-soft);color:var(--success)}.adm-badge-revoked{background:var(--danger-soft);color:var(--danger)}.adm-badge-trial{background:#fff4e0;color:var(--gold)}.adm-ops{display:flex;gap:6px;justify-content:flex-end}.adm-mini{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);padding:5px 10px;border-radius:8px;font-size:12.5px;cursor:pointer}.adm-mini:hover{border-color:#cfd4e0}.adm-mini-warn{color:var(--gold);border-color:#f3dca8;background:#fff8ec}.adm-mini-danger{color:var(--danger);border-color:#f6c9d2;background:#fdeef2}.adm-mini-success{color:var(--success);border-color:#bfe6cd;background:#e9f9ef}.adm-mini-info{color:var(--primary);border-color:#dfe2fb;background:var(--primary-soft)}.adm-mini-hint{font-size:11.5px;color:var(--ink-faint);padding:5px 8px;border:1px dashed var(--line);border-radius:8px;cursor:default}.adm-search-row{display:flex;gap:8px;align-items:center;margin:12px 0 8px}.adm-search{flex:1;width:auto;min-width:120px;padding:10px 12px;font-size:14px}.adm-search-hint{font-size:12px;color:var(--ink-faint);margin:0 0 10px}.adm-filters-row{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:4px 0 12px}.adm-filters-row .adm-filters{margin-left:0;flex-wrap:wrap}.adm-filter-count{display:inline-block;margin-left:4px;padding:0 5px;min-width:16px;height:16px;line-height:16px;border-radius:8px;background:var(--primary);color:#fff;font-size:10.5px;font-weight:700;text-align:center}.adm-acc-list{display:grid;gap:12px}.adm-acc-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.adm-acc-head{display:flex;align-items:center;justify-content:space-between}.adm-acc-name{font-size:15px;font-weight:800;color:var(--ink-2)}.adm-acc-meta{display:flex;align-items:center;gap:8px;margin-top:5px}.adm-acc-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:var(--primary);background:var(--primary-soft);padding:2px 8px;border-radius:6px}.adm-acc-section{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}.adm-acc-section-label{font-size:12px;color:var(--ink-faint);margin-bottom:8px}.adm-dev-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.adm-dev-id{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--ink-2)}.adm-dev-time{font-size:11.5px;color:var(--ink-faint);margin-top:2px}.adm-acc-actions{display:flex;gap:14px;margin-top:12px;border-top:1px dashed var(--line);padding-top:12px;flex-wrap:wrap}.adm-acc-action-group{flex:1;min-width:150px}.adm-acc-action-group.danger .adm-acc-action-label{color:var(--danger)}.adm-acc-action-label{font-size:12px;color:var(--ink-faint);margin-bottom:6px}.adm-acc-action-row{display:flex;gap:8px}.adm-detail-sec{margin-top:16px}.adm-detail-title{font-size:14px;font-weight:700;color:var(--ink-2);margin-bottom:10px}.adm-risk-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700;color:#fff}.adm-risk-high{background:var(--danger)}.adm-risk-medium{background:var(--warn)}.adm-reason{background:#fff4e0;color:#a9760a;border:1px solid #f3dca8;padding:2px 8px;border-radius:6px;font-size:11.5px}.adm-toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%);background:#1f2430eb;color:#fff;padding:10px 18px;border-radius:12px;font-size:13.5px;z-index:9999;box-shadow:0 8px 24px #00000040}.adm-code-list{display:flex;flex-direction:column;gap:10px}.adm-code-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;transition:border-color .15s}.adm-code-item-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.adm-code-text{flex:1 1 0;min-width:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;font-weight:700;color:var(--ink-2);word-break:break-all;line-height:1.4;cursor:pointer;display:flex;align-items:center;gap:6px}.adm-code-icon{color:var(--ink-faint);font-size:14px;flex-shrink:0}.adm-code-item-meta{display:flex;flex-direction:column;gap:6px;padding:10px 0 12px;font-size:12.5px}.adm-meta-row{display:flex;align-items:baseline;gap:6px}.adm-meta-label{color:var(--ink-faint);font-size:12px}.adm-meta-value{color:var(--ink-soft);font-weight:500}.adm-code-item-ops{display:flex;gap:6px;flex-wrap:wrap}.adm-acc-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.adm-acc-toolbar{display:flex;gap:8px;align-items:center}.adm-acc-search{position:relative;flex:1 1 0;min-width:0}.adm-acc-search .adm-input{padding-left:32px}.adm-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:16px;pointer-events:none}.adm-acc-item-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px dashed var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.adm-acc-item-head *{-webkit-user-select:none;user-select:none}.adm-acc-item-main{flex:1 1 0;min-width:0}.adm-acc-name{font-size:15px;font-weight:700;color:var(--ink-2)}.adm-acc-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.adm-acc-caret{flex-shrink:0;font-size:12px;color:var(--ink-faint);display:flex;align-items:center;gap:4px}.adm-acc-caret-arrow{display:inline-block;transition:transform .2s;font-size:10px}.adm-acc-caret.open .adm-acc-caret-arrow{transform:rotate(180deg)}.adm-acc-devices{padding:10px 0;border-bottom:1px dashed var(--line)}.adm-acc-actions{padding-top:10px}.adm-acc-action-row{display:flex;gap:6px;flex-wrap:wrap}.adm-acc-more{border:1px solid var(--line);background:transparent;color:var(--ink-soft);padding:5px 10px;border-radius:8px;font-size:12.5px;cursor:pointer;margin-left:auto}.adm-acc-extra-ops{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}@media (max-width: 640px){.adm-gate{padding:16px}.adm-gate-card{padding:24px 18px;max-width:340px}.adm-gate-card h1{font-size:17px}.adm-gate-sub{font-size:12px}.adm-gate-icon{width:46px;height:46px;font-size:20px;border-radius:12px}.adm-input{padding:10px 12px;font-size:14px}.adm-wrap{padding:12px 10px 40px}.adm-head{padding:4px 2px 12px;gap:8px}.adm-brand{font-size:16px}.adm-brand span{font-size:12px}.adm-theme{width:34px;height:34px;font-size:15px}.adm-tabs{gap:4px;padding:4px;border-radius:11px;margin-bottom:12px}.adm-tab{font-size:13px;padding:8px 0}.adm-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.adm-stat{padding:12px 10px}.adm-stat-num{font-size:22px}.adm-stat-label{font-size:11px}.adm-card{padding:12px;margin-bottom:12px;border-radius:14px}.adm-card-head{margin-bottom:10px;gap:8px}.adm-card-head h2{font-size:15px}.adm-row{gap:8px}.adm-input-sm{width:70px;padding:8px 10px;font-size:14px}.adm-btn{padding:8px 12px;font-size:13px}.adm-gen-result{gap:6px;margin-top:10px}.adm-code-chip{padding:5px 8px;font-size:12px}.adm-card-head{flex-direction:column;align-items:flex-start}.adm-filters{margin-left:0;width:100%;gap:6px;flex-wrap:wrap}.adm-filter{padding:6px 12px;font-size:12.5px}.adm-filter-row{gap:4px;flex-wrap:wrap}.adm-chip{padding:5px 10px;font-size:12px}.adm-table{border:none;border-radius:0;overflow:visible}.adm-thead{display:none}.adm-trow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;font-size:13px}.adm-trow:hover{background:transparent}.adm-trow>:nth-child(1){flex:1 1 0;min-width:0;font-size:14px;font-weight:700;word-break:break-all}.adm-trow>:nth-child(2){flex-shrink:0}.adm-trow>:nth-child(2) .adm-badge,.adm-trow>:nth-child(2) .adm-risk-badge{font-size:11px;padding:2px 8px}.adm-trow>:nth-child(3),.adm-trow>:nth-child(4){color:var(--ink-faint);font-size:12px;display:inline}.adm-trow>:nth-child(3){flex:0 0 auto}.adm-trow>:nth-child(3):before{content:attr(data-label) " ";font-weight:600}.adm-trow>:nth-child(4){flex:0 0 auto}.adm-trow>:nth-child(4):before{content:attr(data-label) " ";font-weight:600}.adm-trow>:nth-child(5){flex:0 0 100%;display:flex;gap:6px;padding-top:4px;flex-wrap:wrap}.adm-code{font-size:14px;word-break:break-all}.adm-dim{font-size:12px}.adm-ops{justify-content:flex-start;gap:6px}.adm-code-list{display:flex;flex-direction:column;gap:10px}.adm-code-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;transition:border-color .15s}.adm-code-item:active{border-color:var(--primary)}.adm-code-item-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.adm-code-text{flex:1 1 0;min-width:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;font-weight:700;color:var(--ink-2);word-break:break-all;line-height:1.4;cursor:pointer;display:flex;align-items:center;gap:6px}.adm-code-icon{color:var(--ink-faint);font-size:14px;flex-shrink:0}.adm-code-item-head .adm-badge{font-size:11px;padding:3px 8px;flex-shrink:0}.adm-code-item-meta{display:flex;flex-direction:column;gap:6px;padding:10px 0 12px;font-size:12.5px}.adm-meta-row{display:flex;align-items:baseline;gap:6px}.adm-meta-label{color:var(--ink-faint);font-size:12px}.adm-meta-value{color:var(--ink-soft);font-weight:500}.adm-code-item-ops{display:flex;gap:6px;flex-wrap:wrap}.adm-code-item-ops .adm-mini{flex:1 0 auto;min-width:60px}.adm-acc-list{display:flex;flex-direction:column;gap:10px}.adm-acc-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.adm-acc-toolbar{display:flex;gap:8px;align-items:center}.adm-acc-search{position:relative;flex:1 1 0;min-width:0}.adm-acc-search .adm-input{padding-left:32px}.adm-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:16px;pointer-events:none}.adm-acc-item-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px dashed var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.adm-acc-item-head *{-webkit-user-select:none;user-select:none}.adm-acc-item-main{flex:1 1 0;min-width:0}.adm-acc-name{font-size:15px;font-weight:700;color:var(--ink-2)}.adm-acc-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.adm-acc-sub .adm-badge{font-size:11px;padding:2px 8px}.adm-acc-caret{flex-shrink:0;font-size:12px;color:var(--ink-faint);display:flex;align-items:center;gap:4px}.adm-acc-caret-arrow{display:inline-block;transition:transform .2s;font-size:10px}.adm-acc-caret.open .adm-acc-caret-arrow{transform:rotate(180deg)}.adm-acc-devices{padding:10px 0;border-bottom:1px dashed var(--line)}.adm-acc-actions{padding-top:10px}.adm-acc-action-row{display:flex;gap:6px;flex-wrap:wrap}.adm-acc-action-row .adm-mini{flex:0 0 auto}.adm-acc-more{border:1px solid var(--line);background:transparent;color:var(--ink-soft);padding:5px 10px;border-radius:8px;font-size:12.5px;cursor:pointer;margin-left:auto}.adm-acc-extra-ops{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.adm-dev-row{flex-direction:column;align-items:flex-start;gap:6px}.adm-dev-row button{align-self:flex-end}.adm-detail-sec{margin-top:12px}.adm-detail-title{font-size:13px;margin-bottom:8px}.adm-risk-badge{font-size:11px}.adm-reason{font-size:11px;padding:2px 6px}.adm-toast{bottom:24px;font-size:13px;padding:8px 14px;max-width:85vw}}[data-theme=dark] .adm-gate,[data-theme=dark] .adm-wrap{--bg: #0f172a;--bg-2: #1a2438;--surface: #161f33;--card: #161f33;--line: #28324a;--line-2: #1a2438;--ink-2: #e6ebf5;--ink-soft: #aab4c8;--ink-faint: #6b7793;--primary-soft: #232a4d;--success-soft: #14331f;--danger-soft: #3a1622;--blue-soft: #16243f;--red-soft: #3a1622;--shadow-soft: 0 2px 10px rgba(0,0,0,.3)}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-gear,.topbar-fav{border:none;background:transparent;border-radius:50%;width:32px;height:32px;font-size:17px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.topbar-left{display:flex;align-items:center;gap:10px}.entry-kaodian{border-left:4px solid var(--brand2)}.entry-settings,.entry-fav{border-left:4px solid var(--gold)}.entry-fav .entry-icon-badge{background:#e8be5426}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:60;display:flex;align-items:flex-end;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.settings-sheet,.sh-body-card{width:100%;max-width:760px;margin:0 auto;background:var(--card);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:0 -6px 32px #0000001f;padding:10px 16px calc(20px + env(safe-area-inset-bottom));max-height:82vh;overflow:auto;animation:slideUp .28s cubic-bezier(.22,1,.36,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.settings-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.settings-title{font-size:17px;font-weight:700}.settings-x{border:none;background:none;font-size:22px;color:var(--ink-faint);cursor:pointer}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:.5px solid var(--line)}.settings-row-name{font-size:15px;font-weight:600}.settings-row-desc{font-size:13px;color:var(--ink-faint);margin-top:2px;line-height:1.5}.settings-note{font-size:13px;color:var(--ink-soft);background:var(--paper);border-radius:var(--r-md);padding:10px 12px;margin-top:12px;line-height:1.6}.settings-account{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:12px}.settings-account-main{display:flex;align-items:center;gap:12px}.settings-account-avatar{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}.settings-account-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.settings-account-user{font-size:15px;font-weight:700;color:var(--ink)}.settings-account-status{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;width:fit-content;padding:2px 8px;border-radius:999px}.settings-account-status.active{color:#2e7d32;background:#2e7d321a}.settings-account-status.trial{color:#b26a00;background:#e8a87c2e}.settings-account-status.expired{color:#c62828;background:#c628281a}.settings-account-status.guest{color:var(--ink-faint);background:var(--line)}.settings-account-logout{font-size:12px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:5px 10px;cursor:pointer;flex:none}.settings-account-logout:active{background:var(--paper)}.settings-activate-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:.5px solid var(--line)}.settings-activate-input{flex:1;min-width:140px;font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink)}.settings-activate-input:focus{outline:none;border-color:var(--accent)}.settings-activate-btn{flex:none;font-size:14px;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:var(--r-md);padding:9px 16px;cursor:pointer}.settings-activate-btn:disabled{opacity:.65;cursor:not-allowed}.settings-activate-msg{width:100%;font-size:12px;margin-top:2px}.settings-activate-msg.err{color:#c62828}.settings-activate-msg.ok{color:#2e7d32}.settings-help{display:flex;flex-direction:column;gap:14px;font-size:14px;line-height:1.7;color:var(--ink);padding:4px 2px}.settings-help p{margin:0}.settings-help strong{color:var(--primary)}.settings-about{display:flex;flex-direction:column;gap:14px;font-size:14px;line-height:1.7;color:var(--ink);padding:6px 2px}.settings-about p{margin:0}.settings-about a{color:var(--accent2);text-decoration:none;word-break:break-all}.settings-about a:active{opacity:.6}.switch{flex:none;width:51px;height:31px;border-radius:15.5px;background:#e9e9eb;border:none;position:relative;cursor:pointer;transition:background .2s}.switch.on{background:var(--brand2)}.switch-knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040,0 1px 2px #0000002e;transition:left .2s}.switch.on .switch-knob{left:22px}.essay-list{padding:0 0 80px}.el-stats-header{font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:8px;padding-left:2px;letter-spacing:.5px}.el-stats-bar{display:flex;align-items:center;justify-content:space-around;gap:0;background:linear-gradient(135deg,#e8a87c14,#c987540d);border:1px solid rgba(232,168,124,.15);border-radius:var(--r-lg);padding:14px 8px;margin-bottom:14px}.el-stat{display:flex;flex-direction:column;align-items:center;padding:0 8px;flex:1}.el-stat-num{font-size:22px;font-weight:900;color:var(--accent);line-height:1.2}.el-stat-label{font-size:11px;color:var(--ink-faint);font-weight:500;margin-top:3px}.el-stat-label small{font-size:10px;color:var(--ink-faint);opacity:.8}.el-stat-divider{width:1px;height:32px;background:var(--line);flex-shrink:0}.el-search{position:relative;margin-bottom:12px}.el-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--ink-faint);pointer-events:none}.el-search-input{width:100%;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:11px 14px 11px 40px;font-size:14.5px;background:var(--card);outline:none;color:var(--ink);box-shadow:var(--shadow-soft);transition:border-color .2s,box-shadow .2s}.el-search-input::placeholder{color:var(--ink-faint)}.el-search-input:focus{border-color:var(--accent2);box-shadow:0 0 0 3px #e8a87c26}.chips{display:flex;gap:7px;margin-bottom:14px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain}.chips::-webkit-scrollbar{display:none}.chip{font-size:12.5px;padding:6px 14px;border-radius:var(--radius-full);background:var(--card);color:var(--ink-soft);border:1.5px solid var(--line);cursor:pointer;font-weight:600;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.chip.on{background:var(--grad-primary);color:#fff;border-color:var(--accent2);box-shadow:0 2px 10px #e8a87c47}.chip.chip-fav.on{background:linear-gradient(135deg,#f0a020,#e8872a);border-color:#e8872a;box-shadow:0 2px 10px #f0a0204d}.chip-count{font-size:10px;font-weight:700;min-width:17px;height:17px;line-height:17px;text-align:center;border-radius:9px;background:#6b4c3512;color:var(--ink-faint)}.chip.on .chip-count{background:#ffffff38;color:#fff}.elist{display:flex;flex-direction:column;gap:12px}.empty{text-align:center;color:var(--ink-faint);padding:48px 20px;font-size:14px;line-height:1.6}.el-empty{padding:56px 16px}.empty-emoji{font-size:40px;margin-bottom:12px}.empty-text{font-size:15px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}.empty-hint{font-size:13px;color:var(--ink-faint)}.fav-list{padding:0 0 80px}.fav-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;padding:0 2px}.fav-head-title{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:.5px}.fav-head-count{font-size:13px;color:var(--ink-faint)}.fav-rows{display:flex;flex-direction:column;gap:10px}.fav-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:13px 15px;box-shadow:var(--shadow);cursor:pointer;animation:fadeUp .35s ease both;transition:transform .2s ease,box-shadow .2s ease}.fav-row:active{transform:scale(.985)}@media (hover: hover){.fav-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}}.fav-star{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:none;background:var(--accent-soft);color:var(--gold);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.fav-star:active{background:#e8a87c47}.fav-row-main{flex:1;min-width:0}.fav-row-title{font-family:var(--font-read);font-size:15px;font-weight:600;color:var(--ink);line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fav-row-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}.fav-row-meta .ei-src-tag{background:var(--tag-bg);color:var(--tag-fg);border-color:transparent}.fav-kw{color:var(--ink-faint)}.fav-chev{flex-shrink:0;color:var(--ink-faint);font-size:18px;line-height:1}.fav-empty{padding:56px 16px}.ft-row .fav-row-title{-webkit-line-clamp:3;line-height:1.55;font-size:14.5px}.ft-tag{background:var(--primary-bg);color:var(--primary);padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.2px;border:.5px solid rgba(180,140,100,.22)}.ft-sub{color:var(--ink-faint);font-size:11.5px;white-space:nowrap}.favorites{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-top:-6px;padding:0 0 80px}.fav-reader{padding-bottom:0}.fav-reader .tj-card-nav{position:sticky;bottom:8px;margin:8px 14px 12px;box-shadow:var(--shadow)}.fav-page-head{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:8px;padding:calc(6px + env(safe-area-inset-top)) 14px 6px;background:#fdf8f3eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.fav-page-title{position:absolute;left:0;right:0;text-align:center;margin:0;pointer-events:none;font-size:16px;font-weight:700;color:var(--ink)}.fav-page-sub{font-size:12px;color:var(--ink-faint);margin-left:auto;position:relative;z-index:1}.fav-tabs{display:flex;align-items:center;gap:6px;padding:8px 16px 12px}.fav-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--ink-soft);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.fav-tab.active{background:var(--grad-primary);color:#fff;border-color:transparent;box-shadow:0 2px 8px #e8a87c47}.fav-tab-ico{font-size:14px}.fav-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#0000000f;color:inherit;font-size:11px;font-weight:700}.fav-tab.active .fav-tab-count{background:#ffffff40}.fj-text{font-family:var(--font-read);line-height:1.5}.fj-kind{flex-shrink:0;font-size:11px;font-weight:600;line-height:1;padding:3px 8px;border-radius:999px;color:var(--gold);background:#e8a87c29}.fj-kind.poetry{color:#2f6fed;background:#2f6fed1f}.ei-card{position:relative;display:flex;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease;animation:fadeUp .35s ease both}.ei-card:active{transform:scale(.985)}@media (hover: hover){.ei-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0000001a}}.ei-accent{width:4px;flex-shrink:0;border-radius:0 var(--r-xl) var(--r-xl) 0}.ei-inner{flex:1;padding:12px 13px 10px;display:flex;flex-direction:column;min-width:0}.ei-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:5px}.ei-title{font-weight:800;font-size:15.5px;line-height:1.38;color:var(--ink);margin:0;letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ei-src-tag{flex-shrink:0;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);background:var(--paper);color:var(--ink-faint);border:1px solid var(--line);letter-spacing:.02em;white-space:nowrap;line-height:1.6}.ei-title-right{flex-shrink:0;display:flex;align-items:center;gap:6px;margin-left:6px}.ei-fav-btn{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:none;background:var(--paper);color:var(--ink-faint);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,color .15s,background .15s;-webkit-tap-highlight-color:transparent}.ei-fav-btn:active{transform:scale(.88)}.ei-fav-btn.on{color:#f0a020;background:#f0a0201f}.ei-kw-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.ei-kw{font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-full);background:#2f6fed0f;color:var(--brand2);border:1px solid rgba(47,111,237,.1);line-height:1.6}.ei-progress{height:4px;background:var(--line-soft);border-radius:999px;overflow:hidden;margin-bottom:8px}.ei-bar{height:100%;border-radius:999px;transition:width .5s cubic-bezier(.22,1,.36,1);background:linear-gradient(90deg,#e8a87c,#c98754)}.ei-bar.done{background:linear-gradient(90deg,#0aa186,#08916a)}.ei-meta{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.ei-meta-item{font-size:11.5px;font-weight:600;color:var(--ink-faint)}.ei-meta-dot{color:var(--line);font-size:11px}.ei-complete-badge{color:#0aa186!important;font-weight:700}.ei-pct{color:var(--accent)}.ei-btns{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}.ei-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:13px;font-weight:700;height:36px;border:none;border-radius:var(--r-md);cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s,color .2s;letter-spacing:.01em}.ei-btn:active{transform:scale(.96)}.ei-btn-icon{font-size:14px;line-height:1}.ei-btn-primary{background:linear-gradient(135deg,#e8a87c,#c98754);color:#fff;box-shadow:0 3px 12px #c987544d}@media (hover: hover){.ei-btn-primary:hover{box-shadow:0 4px 16px #c9875466}}.ei-btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink-soft)}@media (hover: hover){.ei-btn-ghost:hover{border-color:var(--brand2);color:var(--brand2);background:#2f6fed0a}}.reader{padding:8px 10px 72px}.reader-body{max-width:var(--reading-max);margin:0 auto}.reader-head{margin-bottom:10px}.reader-title{font-family:var(--font-read);font-size:19px;font-weight:700;line-height:1.4;margin:0;letter-spacing:0;color:var(--ink)}.reader-meta{color:var(--ink-faint);font-size:13px;margin-top:6px}.reader-back{background:none;border:none;border-radius:var(--r-sm);padding:8px 0;font-size:16px;font-weight:500;color:var(--brand2);cursor:pointer;margin-bottom:6px}.reader-info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-soft);margin-bottom:12px}.reader-info-card .reader-title{font-size:18px;font-weight:800;margin-bottom:12px;white-space:normal}.reader-meta-row{display:none}.reader-meta-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--paper);color:var(--ink-soft);border-radius:var(--radius-full);font-size:12px;font-weight:600}.reader-meta-pill svg{width:13px;height:13px}.reader-keywords{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain}.reader-keywords::-webkit-scrollbar{display:none}.reader-kw-label{flex-shrink:0;font-size:12px;font-weight:600;color:var(--ink-faint);padding:4px 0}.reader-kw-chip{flex-shrink:0;font-size:13px;padding:4px 12px;border-radius:var(--radius-full);background:var(--card);color:var(--ink-soft);border:1px solid var(--line)}.role-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:4px;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain}.role-tabs::-webkit-scrollbar{display:none}.role-tab{flex-shrink:0;padding:6px 13px;border-radius:var(--radius-full);font-size:12px;font-weight:600;border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;transition:all .2s ease;white-space:nowrap}.role-tab.active{background:var(--grad-primary);color:#fff;border-color:transparent;box-shadow:0 2px 8px #e8a87c47}.read-list{display:flex;flex-direction:column;gap:12px}.p-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-soft)}.p-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.p-role{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--grad-primary);color:#fff;letter-spacing:.02em}.p-role:before{content:"★";font-size:10px}.p-num{font-size:13px;font-weight:600;color:var(--ink-faint)}.p-text{font-family:var(--font-read);font-size:18px;line-height:1.8;letter-spacing:.01em;text-align:left;overflow-wrap:anywhere;color:var(--ink)}.p-text b{color:var(--brand);font-weight:700}.p-text b.fen-lead{color:var(--gold);font-weight:700}.p-text u{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:3px}.p-text span[style*="color:red"]{color:#e53935}.p-ana-btn{display:inline-flex;align-items:center;gap:4px;margin-top:14px;padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--paper);color:var(--accent2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.p-ana-btn:active{opacity:.7}.btn{display:inline-flex;align-items:center;justify-content:center;font-size:var(--btn-font);font-weight:600;border:none;border-radius:var(--btn-r);height:var(--btn-h);padding:0 16px;cursor:pointer;transition:opacity .15s}.btn:active{opacity:.7}.btn.warm{background:var(--accent-soft);color:var(--accent2)}.btn.ghost{background:var(--card);border:1.5px solid var(--line);color:var(--ink-soft)}.struct-list{display:flex;flex-direction:column;gap:10px}.st-card{border:none;border-radius:var(--r-lg);padding:14px 16px;background:var(--card);box-shadow:var(--shadow-soft)}.st-name{font-weight:700;font-size:15px;color:var(--ink-soft)}.st-desc{font-size:14px;color:var(--ink-soft);margin:6px 0;line-height:1.7}.st-tpl{font-size:14px;background:var(--accent-soft);border-radius:var(--r-sm);padding:8px 12px;color:var(--ink-soft);line-height:1.7}.st-ap{font-size:12px;color:var(--ink-faint);margin-top:6px}.section-title{font-size:17px;font-weight:700;color:var(--ink);margin:20px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--line)}.struct-section,.graph-section{margin-top:6px}.graph-wrap{background:var(--card);border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow-soft);border:none}.graph-svg{width:100%;height:300px;display:block}.topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.topic{font-size:13px;padding:7px 14px;border-radius:999px;background:var(--paper);color:var(--ink-soft);border:none}.earn-mode{flex:1;display:flex;flex-direction:column;min-height:0;padding:8px 10px 0}.earn-head{flex:0 0 auto;margin-bottom:8px;text-align:center}.earn-progress-bar{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:6px}.earn-dot{width:6px;height:6px;border-radius:50%;background:var(--line);transition:all .3s ease}.earn-dot.done{background:var(--accent)}.earn-dot.current{width:18px;border-radius:3px;background:var(--grad-primary)}.earn-progress-label{font-size:11px;font-weight:600;color:var(--ink-faint);margin-left:4px;font-variant-numeric:tabular-nums}.earn-swipe-wrap{flex:1;min-height:0;position:relative;overflow:hidden;border-radius:var(--r-lg);margin-bottom:78px}.swipe-hint{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-size:14px;font-weight:700;color:#fff;padding:8px 16px;border-radius:var(--radius-full);pointer-events:none;white-space:nowrap;transition:opacity .15s ease}.swipe-hint-left{left:20px;background:linear-gradient(135deg,#e8543a,#c0392b);box-shadow:0 4px 16px #e8543a59}.swipe-hint-right{right:20px;background:linear-gradient(135deg,#2f6fed,#1a5ad7);box-shadow:0 4px 16px #2f6fed59}.swipe-hint-locked{background:linear-gradient(135deg,#999,#666);box-shadow:0 4px 16px #0003}.earn-card{position:relative;width:100%;height:100%;min-height:240px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#ffffffb3;border:1px solid rgba(107,76,53,.08);border-radius:var(--r-lg);padding:18px 16px;box-shadow:0 4px 24px #6b4c3514,0 1px 4px #6b4c350a;will-change:transform,opacity}.swipe-edge{position:absolute;top:0;bottom:0;width:4px;border-radius:2px;transition:opacity .15s ease;pointer-events:none}.swipe-edge-left{left:0;background:linear-gradient(180deg,#e8543a,#ff6b4a);box-shadow:0 0 8px #e8543a66}.swipe-edge-right{right:0;background:linear-gradient(180deg,#2f6fed,#5a9bff);box-shadow:0 0 8px #2f6fed66}.swipe-tip{margin-top:14px;text-align:center;font-size:11px;color:var(--ink-faint);font-weight:500;opacity:.5;letter-spacing:.02em}.earn-card .p-role{margin-bottom:10px}.earn-text{font-family:var(--font-read);font-size:18px;line-height:1.8;letter-spacing:.01em;text-align:left;overflow-wrap:anywhere}.earn-text b{color:var(--brand);font-weight:700}.earn-text b.fen-lead{color:var(--gold);font-weight:700}.earn-text u{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:3px}.earn-text span[style*="color:red"]{color:#e53935}.earn-actions{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#fdf8f3eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:.5px solid var(--line);z-index:30}.earn-actions .btn{flex:1;justify-content:center;height:46px;border-radius:var(--r-md);font-size:15px}.earn-actions .btn.warm{background:var(--card);border:1.5px solid var(--line);color:var(--accent2)}.earn-actions .btn.ghost{background:var(--grad-primary);color:#fff;box-shadow:0 3px 10px #e8a87c4d;opacity:1;display:inline-flex;align-items:center;gap:6px}.earn-actions .btn.ghost:disabled{opacity:.48;background:linear-gradient(135deg,#d4c4b4,#b8a494);box-shadow:none;cursor:not-allowed}.earn-actions .btn.ghost.ready{opacity:1;animation:earnPulse 1.4s ease-in-out infinite}@keyframes earnPulse{0%,to{box-shadow:0 3px 10px #e8a87c4d}50%{box-shadow:0 3px 20px #e8a87c99}}.earn-next-btn{position:relative;padding-left:12px;padding-right:12px}.earn-next-text{font-weight:700}.earn-countdown{position:relative;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.earn-ring-svg{width:26px;height:26px;position:absolute;top:0;left:0}.earn-count-sec{font-size:10px;font-weight:800;line-height:1;position:relative;z-index:1}.earn-fish-hint{font-size:14px;opacity:.85;transition:all .3s}.earn-actions .btn.ghost.ready .earn-fish-hint{opacity:1;transform:scale(1.2)}.earn-complete{text-align:center;padding:48px 20px}.earn-complete-emoji{font-size:52px;margin-bottom:10px}.earn-complete-text{font-size:19px;font-weight:700;color:var(--brand);margin-bottom:4px}.earn-complete-hint{font-size:14px;color:var(--ink-soft);margin-bottom:20px}.earn-complete-btns{display:flex;flex-direction:column;gap:10px;max-width:280px;margin:0 auto}.fish-float{position:fixed;right:16px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .2s ease}.fish-float:active{transform:scale(.92)}.fish-float .fish-ring{width:48px;height:48px;display:block;filter:drop-shadow(0 2px 6px rgba(232,106,74,.25))}.fish-float .ring-bg{fill:none;stroke:var(--line-soft);stroke-width:3}.fish-float .ring-fg{fill:none;stroke:var(--accent);stroke-width:3;transition:stroke-dashoffset 1s linear}.fish-float .ring-emoji{font-size:13px;fill:var(--ink)}.fish-float .ring-sec{font-size:10px;fill:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.fish-pop-mini{position:absolute;top:-8px;right:-4px;font-size:12px;font-weight:800;background:#fff;border:2px solid var(--accent);border-radius:10px;padding:2px 6px;animation:fish-pop-mini-anim .8s ease forwards;pointer-events:none;white-space:nowrap}@keyframes fish-pop-mini-anim{0%{opacity:0;transform:translateY(8px) scale(.5)}50%{opacity:1;transform:translateY(-4px) scale(1.15)}to{opacity:0;transform:translateY(-16px) scale(1)}}.cat-float{position:fixed;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:40;user-select:none;-webkit-user-select:none;width:52px;height:52px;cursor:pointer;filter:drop-shadow(0 2px 6px rgba(232,180,90,.32));transition:transform .2s ease}.cat-float:active{transform:scale(.92)}.cat-float .pet-cat{width:100%;height:100%}.cat-float .pet-cat-img{width:100%;height:100%;display:block;pointer-events:none}.sh-body-card{border-radius:var(--r-xl) var(--r-xl) 0 0;padding:10px 18px calc(24px + env(safe-area-inset-bottom));position:relative}.sh-body-card:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#6b4c3526;margin:6px auto 10px}.sh-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5;background:var(--card);padding-bottom:10px;margin-bottom:0;border-bottom:1px solid var(--line)}.sh-title{font-weight:700;font-size:16.5px;color:var(--ink);line-height:1.35}.sh-x{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:var(--paper);color:var(--ink-soft);cursor:pointer;transition:all .18s;flex-shrink:0}.sh-x:hover{background:var(--line);color:var(--ink)}.sh-x:active{background:var(--line);transform:scale(.9)}.sh-x svg{display:block}.sh-tag{display:inline-block;font-size:12.5px;color:var(--accent2);font-weight:600;padding:3px 11px;background:var(--accent-soft);border-radius:var(--radius-full);margin:12px 0 14px;letter-spacing:.02em}.sh-ana{font-family:var(--font-read);font-size:16.5px;line-height:1.9;color:var(--ink);letter-spacing:.01em;text-align:left}.sh-para{margin:0 0 12px;text-indent:2em}.sh-para:last-child{margin-bottom:4px}.sh-para-trans{margin-top:14px;text-indent:0;font-weight:700;color:var(--ink)}.sh-quote{color:var(--brand);font-weight:600;text-decoration:underline;text-decoration-color:#e8543a59;text-decoration-thickness:1.5px;text-underline-offset:3px}.sh-topic{color:#fff;background:var(--accent2);padding:1px 7px;border-radius:4px;font-weight:700;font-size:.92em;white-space:nowrap}.sh-gold-label{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);font-weight:800;font-size:13.5px;color:var(--gold);letter-spacing:.03em}.sh-gold-item{display:flex;align-items:flex-start;gap:10px;margin:10px 0;padding:12px 14px;color:var(--brand);font-weight:600;font-size:14.5px;background:linear-gradient(135deg,#e8543a0f,#2f6fed0a);border-radius:var(--r-md);border-left:3.5px solid var(--gold);line-height:1.65}.sh-gold-num{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#fff;font-size:11px;font-weight:800;border-radius:50%;margin-top:1px}.sh-gold-text{flex:1}.kaodian{padding:2px 8px 72px}.kd-head{display:none}.kd-title{font-size:22px;font-weight:700;margin:0;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kd-sub{color:var(--ink-soft);font-size:14px;margin-top:4px}.kd-toolbar{display:flex;align-items:center;justify-content:space-between;margin:6px 0 10px;padding:0 4px}.kd-count{font-size:12px;color:var(--ink-faint)}.kd-list{display:flex;flex-direction:column;gap:8px}.kd-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);overflow:hidden;box-shadow:var(--shadow);transition:all .2s ease}.kd-card:active{transform:scale(.995)}.kd-term{display:flex;align-items:center;gap:8px;padding:11px 14px;cursor:pointer}.kd-caret{color:var(--accent2);font-size:11px;transition:transform .15s;width:12px;text-align:center}.kd-caret.open{transform:rotate(90deg)}.kd-tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--grad-primary);color:#fff}.kd-tag-k{background:var(--grad-primary);color:#fff}.kd-tag-t{background:var(--brand);color:#fff}.kd-name{font-weight:700;font-size:15px;flex:1}.kd-num{font-size:12px;color:var(--ink-faint);font-weight:500}.kd-essays{border-top:.5px solid var(--line)}.kd-essay{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:.5px solid var(--line)}.kd-essay:last-child{border-bottom:none}.kd-essay-main{flex:1;cursor:pointer}.kd-essay-title{font-size:14px;font-weight:600;line-height:1.4;color:var(--ink)}.kd-essay-src{font-size:11px;color:var(--accent2);margin-top:2px;font-weight:600}.kd-star{border:none;background:none;font-size:20px;color:#c79a5b59;cursor:pointer;line-height:1;transition:all .15s;padding:2px}.kd-star.on{color:var(--gold);transform:scale(1.15)}.kd-empty{padding:16px 14px;font-size:13px;color:var(--ink-faint);text-align:center}.floating-cat{bottom:calc(10px + env(safe-area-inset-bottom))}.reader-readbar{display:flex;align-items:center;gap:10px;background:transparent;border:none;border-radius:0;padding:8px 0;box-shadow:none;border-top:.5px solid var(--line);margin-bottom:8px;position:relative}.readbar-cat{width:42px;height:42px;flex:0 0 auto}.readbar-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.readbar-ring-wrap{width:40px;height:40px;flex:0 0 auto}.readbar-ring{width:100%;height:100%;display:block}.readbar-ring .ring-bg{fill:none;stroke:#0000000f;stroke-width:3.5}.readbar-ring .ring-fg{fill:none;stroke:var(--gold);stroke-width:3.5;stroke-linecap:round;transition:stroke-dashoffset .6s linear}.readbar-ring .ring-emoji{font-size:15px;text-anchor:middle;dominant-baseline:middle}.readbar-text{display:flex;flex-direction:column;gap:1px;min-width:0}.readbar-title{font-size:13px;font-weight:600;color:var(--ink)}.readbar-hint{font-size:11px;color:var(--ink-faint);line-height:1.3}.fish-pop{position:absolute;left:26px;top:6px;font-size:22px;pointer-events:none;z-index:5;animation:fish-drop 1.2s ease-out forwards}@keyframes fish-drop{0%{transform:translateY(0) rotate(-10deg);opacity:0}15%{opacity:1}to{transform:translateY(48px) rotate(25deg);opacity:0}}.home-fishstat{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.fish-chip,.read-chip{font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--paper-2);color:var(--ink-soft);border:none}.read-chip{background:var(--paper-2);color:var(--ink-soft)}.home-sellline{margin:0;font-size:12px;color:var(--ink-faint);text-align:center;line-height:1.5}@media (prefers-reduced-motion: reduce){.fish-pop{animation:none;opacity:0}.readbar-ring .ring-fg{transition:none}.ei-card,.core-card,.tool-tile{animation:none!important}.stats-bar-fill{transition:none!important}.stats-cards .stats-card,.sl-loading-cat,.sl-loading-tip{animation:none!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.home-entries .core-card,.home-entries .tool-tile{animation:fadeUp .42s both}.home-entries .tool-tile:nth-child(1){animation-delay:.08s}.home-entries .tool-tile:nth-child(2){animation-delay:.14s}.home-entries .tool-tile:nth-child(3){animation-delay:.2s}.home-entries .tool-tile:nth-child(4){animation-delay:.26s}.ei-card{animation:fadeUp .42s both}.settings-back{background:none;border:none;font-size:22px;line-height:1;color:var(--ink);cursor:pointer;padding:0 8px 0 0;font-weight:700}.settings-entry{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:13px 14px;border-radius:14px;background:var(--paper);border:1px solid var(--line);cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s,background .15s}.settings-entry:active{transform:scale(.985);background:#f3ece0}.settings-entry-icon{font-size:22px}.settings-entry-text{flex:1;display:flex;flex-direction:column;gap:2px}.settings-entry-name{font-size:15px;font-weight:700;color:var(--ink)}.settings-entry-desc{font-size:11.5px;color:var(--ink-soft)}.settings-entry-arrow{font-size:22px;color:var(--ink-faint);line-height:1}.settings-entry-sub{animation:fadeUp .3s both}.stats-cards{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.stats-card{flex:1 1 calc(50% - 4px);min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-align:center;animation:fadeUp .36s both}.stats-card:nth-child(2){animation-delay:.06s}.stats-card:nth-child(3){animation-delay:.12s}.stats-card:nth-child(4){animation-delay:.18s}.stats-card-num{font-size:19px;font-weight:800;color:var(--ink);line-height:1.25}.stats-card-num small{font-size:11px;font-weight:600;color:var(--ink-soft);margin:0 1px}.stats-card-label{font-size:11px;color:var(--ink-soft);margin-top:5px}.stats-chart-title{font-size:13px;font-weight:700;color:var(--ink);margin:18px 0 10px}.stats-chart{display:flex;align-items:flex-end;gap:8px;height:132px;padding:0 2px}.stats-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.stats-bar-val{font-size:10px;color:var(--ink-soft);height:14px;line-height:14px}.stats-bar-track{flex:1;width:100%;max-width:30px;background:var(--paper);border-radius:8px 8px 0 0;position:relative;overflow:hidden;border:1px solid var(--line);border-bottom:none;display:flex;align-items:flex-end}.stats-bar-fill{width:100%;background:linear-gradient(180deg,var(--accent),var(--brand));border-radius:8px 8px 0 0;transition:height .5s cubic-bezier(.22,1,.36,1);min-height:2px}.stats-bar-label{font-size:10px;color:var(--ink-faint);margin-top:5px}.sl-loading-cat{font-size:42px;animation:slBob 1.5s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(232,168,124,.2))}@keyframes slBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sl-loading-tip{font-weight:600;color:var(--ink-soft);font-size:14px;animation:tipFade .5s ease}@keyframes tipFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.entry-guifanci .entry-icon-badge{background:#5ba57324}.gf-tabs{display:flex;gap:8px;margin:4px 0 2px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.gf-tab{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:13.5px;font-weight:600;padding:7px 16px;border-radius:var(--radius-full);cursor:pointer;transition:all .15s ease;white-space:nowrap}.gf-tab.active{background:var(--grad-primary);border-color:transparent;color:#fff;box-shadow:0 3px 10px #e8a87c47}.gf-groups{display:flex;gap:7px;margin:12px 0 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.gf-group{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:13px;font-weight:600;padding:6px 14px;border-radius:var(--radius-full);cursor:pointer;transition:all .15s ease;white-space:nowrap}.gf-group:hover{border-color:var(--accent);color:var(--primary)}.gf-group.active{background:var(--primary);border-color:transparent;color:#fff;box-shadow:0 3px 10px #6b4c3538}.gf-flip-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);padding:22px;cursor:pointer;min-height:calc(100vh - 236px);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}.gf-flip-card:active{transform:scale(.995)}@media (hover: hover){.gf-flip-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}}.gf-card-front,.gf-card-back{display:flex;flex-direction:column;gap:18px;flex:1 1 auto;animation:gfFlipIn .25s ease both}@keyframes gfFlipIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.gf-card-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gf-group-badge{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:#6b4c351a;color:var(--primary);line-height:1.4}.gf-tag{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;color:#fff;line-height:1.4}.gf-tag--shuli{background:var(--accent)}.gf-tag--cailiao{background:var(--success)}.gf-tag--def{background:var(--ink-soft)}.gf-page{flex:1 1 auto;text-align:right;font-size:12px;color:var(--ink-faint);font-weight:600}.gf-card-body{display:flex;flex-direction:column;gap:18px;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.gf-card-cloze{font-family:var(--font-read);font-size:19px;line-height:2.05;color:var(--ink);background:var(--paper);padding:18px 16px;border-radius:var(--r-md)}.gf-answer-area{display:flex;flex-direction:column;gap:8px}.gf-answer-area-label{font-size:13px;font-weight:700;color:var(--ink-soft);padding-left:2px}.gf-cloze-input{display:block;width:100%;box-sizing:border-box;border:2px solid var(--accent);background:#fff;color:var(--primary);font-family:var(--font-read);font-size:18px;font-weight:700;padding:14px 16px;border-radius:var(--r-md);text-align:center;outline:none;transition:background .15s ease,box-shadow .15s ease,border-color .15s ease}.gf-cloze-input:focus{background:var(--accent-soft);box-shadow:0 0 0 4px #e8a87c2e}.gf-cloze-input::placeholder{color:var(--ink-faint);font-weight:400;font-size:15px}.gf-card-foot{display:flex;justify-content:stretch;margin-top:auto}.gf-btn{border:none;cursor:pointer;background:var(--grad-primary);color:#fff;font-size:15px;font-weight:700;padding:12px 22px;border-radius:var(--r-md);box-shadow:0 3px 10px #e8a87c47;transition:transform .12s ease,opacity .15s ease}.gf-btn-full{width:100%}.gf-btn:active{transform:scale(.97);opacity:.92}.gf-card-back{border-top:4px solid var(--ink-faint)}.gf-card-back.correct{border-top-color:var(--success)}.gf-card-back.wrong{border-top-color:#e0706a}.gf-card-back.empty{border-top-color:var(--ink-faint)}.gf-answer-block{margin-bottom:18px}.gf-answer-block:last-of-type{margin-bottom:12px}.gf-answer-block-label{font-size:13px;color:var(--ink-faint);font-weight:700;margin-bottom:6px}.gf-answer-keyword-box{font-family:var(--font-read);font-size:28px;font-weight:800;color:var(--success);background:#5ba5731a;border:1px dashed var(--success);border-radius:var(--r-md);padding:18px 14px;text-align:center;word-break:break-word}.gf-answer-user-box{font-family:var(--font-read);font-size:18px;font-weight:700;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;text-align:center;word-break:break-word}.gf-answer-user-box.correct{color:var(--success);background:#5ba57314;border-color:var(--success)}.gf-answer-user-box.wrong{color:#e0706a;background:#e0706a14;border-color:#e0706a}.gf-answer-user-box.empty{color:var(--ink-faint);font-style:italic;font-weight:400}.gf-answer-judge{font-size:15px;font-weight:700;padding:6px 0}.gf-answer-judge.correct{color:var(--success)}.gf-answer-judge.wrong{color:#e0706a}.gf-answer-judge.empty{color:var(--ink-faint)}.gf-card-full{margin:0;padding-top:8px;border-top:1px dashed var(--line);font-family:var(--font-read);font-size:13.5px;line-height:1.7;color:var(--ink-soft)}.gf-header{position:fixed;top:0;left:0;right:0;z-index:40;background:#fdf8f3eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:calc(6px + env(safe-area-inset-top)) 16px 6px}.gf-header-main{display:flex;align-items:center;justify-content:space-between;min-height:40px}.gf-header-back{flex:0 0 auto;border:none;background:transparent;color:var(--ink-soft);font-size:15px;font-weight:600;padding:4px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}.gf-header-back:active{color:var(--primary)}.gf-header-title{flex:1 1 auto;text-align:center;font-size:18px;font-weight:800;color:var(--ink);padding:0 8px}.gf-header-counter{flex:0 0 auto;min-width:52px;text-align:right;font-size:14px;font-weight:700;color:var(--ink-faint);background:var(--paper);padding:4px 10px;border-radius:999px}.gf-header-sub{text-align:center;font-size:12.5px;color:var(--ink-faint);font-weight:600;margin-top:2px}.gf-catalog{padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:24px}.gf-catalog-head{margin-bottom:14px}.gf-catalog-title{font-size:22px;font-weight:800;color:var(--ink);margin:0 0 4px}.gf-catalog-sub{font-size:13px;color:var(--ink-faint);font-weight:600}.gf-catalog-list{display:flex;flex-direction:column;gap:14px;margin-top:12px}.gf-topic{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);padding:16px 14px 14px;transition:transform .12s ease,box-shadow .2s ease}@media (hover: hover){.gf-topic:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}}.gf-topic-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.gf-topic-dot{width:10px;height:10px;border-radius:50%;background:var(--grad-primary);flex:0 0 auto}.gf-topic-name{font-size:17px;font-weight:800;color:var(--ink);flex:1 1 auto}.gf-topic-count{font-size:11.5px;color:var(--ink-faint);font-weight:600;background:var(--paper);padding:2px 8px;border-radius:999px}.gf-topic-progress{display:flex;align-items:center;gap:10px;margin-bottom:14px}.gf-progress-track{flex:1 1 auto;height:7px;background:var(--paper);border-radius:999px;overflow:hidden}.gf-progress-fill{height:100%;background:var(--success);border-radius:999px;transition:width .25s ease}.gf-progress-text{flex:0 0 auto;font-size:12px;color:var(--ink-soft);font-weight:700;min-width:72px;text-align:right}.gf-topic-rows{display:flex;flex-direction:column;gap:8px}.gf-topic-row{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 12px 12px 14px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.gf-topic-row:active{transform:scale(.995)}@media (hover: hover){.gf-topic-row:hover{border-color:var(--accent);background:#fff}}.gf-row-name{flex:1 1 auto;font-size:14.5px;font-weight:700;color:var(--ink)}.gf-row-count{flex:0 0 auto;font-size:12px;color:var(--ink-soft);font-weight:600}.gf-row-btn{flex:0 0 auto;border:none;background:transparent;color:var(--accent);font-size:13px;font-weight:700;padding:4px 0 4px 8px;cursor:pointer;display:flex;align-items:center;gap:2px}.gf-row-btn:disabled{color:var(--ink-faint);cursor:not-allowed}.gf-learn{padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:24px}.gf-learn-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.gf-learn-back{flex:0 0 auto;border:none;background:transparent;color:var(--ink-soft);font-size:15px;font-weight:600;padding:4px 0;cursor:pointer}.gf-learn-back:active{color:var(--primary)}.gf-learn-title{flex:1 1 auto;text-align:center;font-size:18px;font-weight:800;color:var(--ink)}.gf-learn-counter{flex:0 0 auto;font-size:13px;color:var(--ink-faint);font-weight:700;background:var(--paper);padding:4px 10px;border-radius:999px}.gf-learn-sub{text-align:center;font-size:12.5px;color:var(--ink-faint);font-weight:600;margin-bottom:14px}.gf-learn-card{margin:0 8px 16px;min-height:calc(100vh - 220px);height:calc(100vh - 220px);perspective:1000px;cursor:pointer;-webkit-tap-highlight-color:transparent}.gf-learn-card-inner{position:relative;width:100%;height:100%;transition:transform .35s ease;transform-style:preserve-3d}.gf-learn-card.flipped .gf-learn-card-inner{transform:rotateY(180deg)}.gf-learn-card-front,.gf-learn-card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);padding:28px 22px 24px;display:flex;flex-direction:column;overflow:hidden}.gf-learn-card-back{transform:rotateY(180deg);justify-content:center;align-items:center}.gf-learn-card-section{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.gf-learn-flip-hint{text-align:center;font-size:14px;color:var(--ink-faint);padding-top:14px;flex-shrink:0}.gf-learn-keyword{text-align:center;font-size:44px;font-weight:800;color:var(--primary);margin-bottom:16px;letter-spacing:.02em;line-height:1.25}.gf-learn-tag{display:inline-block;font-size:15px;font-weight:700;padding:6px 14px;border-radius:8px;margin-bottom:14px;color:#fff}.gf-learn-tag.shuli{background:var(--accent)}.gf-learn-tag.cailiao{background:var(--success)}.gf-learn-text{font-family:var(--font-read);font-size:20px;line-height:2;color:var(--ink);text-align:left}.gf-learn-blank{display:inline-block;color:transparent;border-bottom:2px solid var(--ink-soft);-webkit-user-select:none;user-select:none;margin:0 2px}.gf-learn-nav{display:flex;align-items:center;gap:10px;padding-top:6px}.gf-learn-navbtn{flex:1 1 0;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:15px;font-weight:700;padding:13px 8px;border-radius:var(--r-md);cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease;-webkit-tap-highlight-color:transparent}.gf-learn-navbtn:disabled{opacity:.45;cursor:not-allowed;color:var(--ink-faint)}.gf-learn-navbtn.primary{background:var(--grad-primary);color:#fff;border-color:transparent;box-shadow:0 4px 12px #e8a87c47}.gf-learn-navbtn.primary:disabled{opacity:.5}.gf-learn-navbtn:active:not(:disabled){transform:scale(.98)}.gf-learn-practice{flex:0 0 auto;border:1px solid var(--success);background:#5ba57314;color:var(--success);font-size:15px;font-weight:700;padding:13px 18px;border-radius:var(--r-md);cursor:pointer;-webkit-tap-highlight-color:transparent}.gf-learn-practice:active{transform:scale(.98)}.gf-practice{padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:24px}.gf-practice .gf-flip-card{margin:0 0 16px}.reader.earn-mode{background:radial-gradient(120% 60% at 50% 0%,#fff3e48c,#fff3e400 60%),linear-gradient(180deg,#fdf8f1,#fbf1e3)}.reader.earn-mode .earn-head{margin-bottom:10px;padding:0 2px}.reader.earn-mode .reader-title{font-family:var(--font-read);font-size:17px;font-weight:700;line-height:1.35;margin:0 0 8px;color:var(--ink);letter-spacing:0}.reader.earn-mode .earn-progress-bar{margin-top:0;gap:4px}.reader.earn-mode .earn-dot{width:5px;height:5px;background:#6b4c352e;box-shadow:none}.reader.earn-mode .earn-dot.done{background:var(--accent);opacity:.85}.reader.earn-mode .earn-dot.current{width:16px;background:linear-gradient(90deg,#f4bd93,#d9794a);box-shadow:0 1px 3px #d9794a66}.reader.earn-mode .earn-progress-label{font-size:11px;font-weight:700;color:var(--primary);margin-left:8px;font-variant-numeric:tabular-nums;letter-spacing:.2px}.reader.earn-mode .earn-card{position:relative;background:linear-gradient(160deg,#fffdf9,#fbf1e3 55%,#f7e8d3);border:.5px solid rgba(180,140,100,.28);box-shadow:inset 0 1px #ffffffd9,inset 0 -1px #7850280f,0 2px 6px #966e500f,0 14px 36px #966e5024;border-radius:20px;padding:22px 18px 18px}.reader.earn-mode .earn-card:before{content:"";position:absolute;top:-56px;right:-42px;width:168px;height:168px;border-radius:50%;background:radial-gradient(circle,rgba(232,168,124,.22) 0%,transparent 66%);pointer-events:none;z-index:0}.reader.earn-mode .earn-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.04;mix-blend-mode:multiply;pointer-events:none;z-index:0}.reader.earn-mode .earn-card>*{position:relative;z-index:1}.reader.earn-mode .earn-card .p-role{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 11px 4px 9px;border-radius:999px;background:#ffffffc7;color:var(--primary);letter-spacing:.4px;box-shadow:inset 0 0 0 .5px #c9875452,0 1px 3px #966e5014;margin:0 0 14px}.reader.earn-mode .earn-card .p-role:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(145deg,#f4bd93,#d9794a);box-shadow:inset 0 .5px #ffffff80}.reader.earn-mode .earn-card .p-role.fen:before{background:linear-gradient(145deg,#f4c98a,#b88445)}.reader.earn-mode .earn-card .p-role.end:before{background:linear-gradient(145deg,#f08a72,#e05a46)}.reader.earn-mode .earn-text{font-family:var(--font-read);font-size:18.5px;line-height:1.95;letter-spacing:.02em;text-align:left;color:var(--ink);overflow-wrap:break-word;word-break:normal}.reader.earn-mode .earn-text b{color:var(--brand);font-weight:700}.reader.earn-mode .earn-text b.fen-lead{color:var(--gold);font-weight:700}.reader.earn-mode .earn-text u{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:3.5px}.reader.earn-mode .swipe-tip{margin-top:16px;padding-top:12px;border-top:.5px dashed rgba(150,110,80,.22);text-align:center;font-size:11.5px;color:var(--ink-faint);letter-spacing:.4px}.reader.earn-mode .earn-actions{background:#fdf8f3e0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:.5px solid var(--line);box-shadow:0 -2px 16px #966e500f;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.reader.earn-mode .earn-actions .btn{flex:1;justify-content:center;height:46px;border-radius:14px;font-size:15px;font-weight:700;letter-spacing:.5px}.reader.earn-mode .earn-actions .btn.warm{background:#e8a87c1f;border:.5px solid rgba(201,135,84,.28);color:var(--primary);box-shadow:inset 0 1px #fff9}.reader.earn-mode .earn-actions .btn.warm:active{transform:scale(.98)}.reader.earn-mode .earn-actions .btn.ghost{background:linear-gradient(145deg,#f4bd93,#e6915f 45%,#d9794a);color:#fff;border:.5px solid rgba(150,70,20,.2);box-shadow:inset 0 1px #ffffff73,inset 0 -1px #96461440,0 4px 14px #d9794a52;font-weight:700}.reader.earn-mode .earn-actions .btn.ghost:disabled{background:linear-gradient(145deg,#efe6dc,#ddd2c4);color:#fff;border-color:#b4a08c4d;box-shadow:none;opacity:.85}.reader.earn-mode .earn-countdown,.reader.earn-mode .earn-ring-svg{width:24px;height:24px}.reader.earn-mode .earn-count-sec{font-size:10px;font-weight:800;line-height:1;text-shadow:0 .5px 0 rgba(150,70,20,.25)}.reader.earn-mode .fish-float .fish-ring{filter:drop-shadow(0 3px 8px rgba(232,106,74,.3))}.topbar{gap:14px;padding:18px 18px 8px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none}.topbar .brand-emoji{font-size:21px;opacity:.92}.topbar h1{font-size:18px;font-weight:800;letter-spacing:-.3px;margin:0}.topbar-stats-line{display:flex;align-items:baseline;gap:8px;flex:1;justify-content:center;font-size:12px;color:var(--ink-soft);font-weight:500}.topbar-stats-line b{color:var(--primary);font-size:13px;font-weight:700}.topbar-stats-line i{font-style:normal;opacity:.45}.topbar-fav,.topbar-gear{border:none;background:#6b4c350f;border-radius:50%;width:32px;height:32px;font-size:14px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:background .15s,transform .1s}.topbar-fav:active,.topbar-gear:active{background:#6b4c351f;transform:scale(.94)}.topbar-left{gap:8px}.home{gap:14px}.home-entries{display:flex;flex-direction:column;gap:14px;width:100%;padding:10px 0 0}.core-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(180,142,112,.16);border-radius:18px;padding:18px 16px;box-shadow:0 1px #785a3c0a;transition:transform .15s,box-shadow .15s}.core-card:before{display:none}.core-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #785a3c14}.core-card:active{transform:scale(.99)}.core-icobadge{flex:0 0 auto;width:46px;height:46px;padding:10px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#c0532f1a;color:var(--primary);box-shadow:none;border:none}.core-icobadge svg{width:100%;height:100%}.core-title{font-size:16.5px;font-weight:800;color:var(--ink);letter-spacing:-.2px}.core-desc{font-size:12px;color:var(--ink-soft);line-height:1.5;margin-top:3px}.core-arrow{font-size:20px;color:#6b4c3559;font-weight:300;padding-right:3px}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%}.tool-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#fff;border:1px solid rgba(180,142,112,.16);border-radius:16px;padding:14px 14px 13px;box-shadow:0 1px #785a3c0a;text-align:left;transition:transform .15s,box-shadow .15s}.tool-tile:hover{transform:translateY(-1px);box-shadow:0 8px 18px #785a3c14,0 1px #785a3c0a}.tool-tile:active{transform:scale(.98)}.tool-icobadge{flex:0 0 auto;width:38px;height:38px;padding:8px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#c0532f1a;color:var(--primary);box-shadow:none;border:none}.tool-icobadge svg{width:100%;height:100%}.tool-name{font-size:14px;font-weight:700;color:var(--ink);line-height:1.2}.tool-tag{font-size:11px;color:var(--ink-soft);line-height:1.4}.entry-kaodian,.entry-settings,.entry-fav{border-left:none}.entry-kaodian .tool-icobadge{background:#4a7fb51a;color:#4a7fb5}.entry-guifanci .tool-icobadge{background:#5b9b6a1a;color:#5b9b6a}.entry-jinju .tool-icobadge{background:#d18a2f1a;color:#d18a2f}.entry-topictpl .tool-icobadge{background:#b0643a1a;color:#b0643a}@media (max-width: 640px){.topbar{padding:14px 14px 6px;gap:10px}.topbar h1{font-size:17px}.home{gap:12px}.home-entries{gap:12px;padding:8px 0 0}.core-card{padding:15px 14px;gap:12px}.core-icobadge{width:42px;height:42px;padding:9px}.tool-grid{gap:10px}.tool-tile{padding:13px 13px 12px}.tool-icobadge{width:36px;height:36px;padding:8px}}.home-personal-note{margin:4px 0 2px;text-align:center;font-size:12px;color:#9aa0a6;line-height:1.5}
