:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:radial-gradient(circle at top left, #dfe6d4e0, transparent 28%), radial-gradient(circle at top right, #d0e2d9b8, transparent 26%), linear-gradient(160deg, #f6f0de 0%, #eee4cb 48%, #dce6d9 100%);--surface:#fffaf0ed;--surface-strong:#fffaf0;--panel:#fffcf6e6;--panel-soft:#f8f4ead1;--text:#1c322a;--muted:#64766b;--border:#18322a1f;--accent:#1f6a50;--accent-strong:#124936;--accent-soft:#1f6a501a;--warm:#8a6124;--danger:#8f4038;--shadow:0 22px 46px #37443c24;--shadow-soft:0 12px 24px #37443c14;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%}body{background:repeating-linear-gradient(0deg, #18322a05 0, #18322a05 1px, transparent 1px, transparent 28px), var(--page-bg);min-width:320px;color:var(--text);margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.app-frame{width:min(100vw,480px);height:100dvh;margin:0 auto}.app-surface{background:linear-gradient(#fffbf3db 0%,#fdf9f1f0 18%,#f5efe2fa 68%,#eee8db 100%);grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid;position:relative}.app-surface:before{content:"";pointer-events:none;background:linear-gradient(140deg,#ffffff61,#0000 22% 78%,#1f6a500d);position:absolute;inset:0}.app-header{z-index:1;padding:max(12px, env(safe-area-inset-top)) 16px 10px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-height:94px;display:grid;position:relative}.app-header h1{margin:0;font-family:STSong,Songti SC,SimSun,serif;font-size:clamp(1.38rem,5vw,1.88rem);line-height:1.08}.app-header__subline{color:var(--muted);margin:6px 0 0;font-size:.8rem}.app-header__progress{text-align:center;min-width:82px;box-shadow:var(--shadow-soft);background:#fffaf0db;border:1px solid #1f6a501f;border-radius:18px;padding:10px 12px}.app-header__progress strong{color:var(--accent-strong);font-size:1.08rem;display:block}.app-header__progress span{color:var(--muted);margin-top:2px;font-size:.72rem;display:block}.app-main{z-index:1;min-height:0;padding:0 12px 10px;position:relative}.screen{height:100%;min-height:0}.screen--study{grid-template-rows:minmax(176px,34vh) minmax(0,1fr) auto;gap:10px;display:grid}.screen--study>.empty-card{grid-row:1/-1}.prompt-card,.panel-card,.empty-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:26px}.prompt-card{background:linear-gradient(#fffbf3f5,#fbf6eceb);grid-template-rows:auto minmax(0,1fr);min-height:0;padding:18px 18px 16px;display:grid}.prompt-card__label,.answer-card__label{color:var(--accent);letter-spacing:.08em;margin:0;font-size:.76rem}.prompt-card__content{place-items:center;min-height:0;display:grid;overflow:auto}.prompt-card__content h2{text-align:center;margin:0;font-family:STSong,Songti SC,SimSun,serif;font-size:clamp(1.58rem,6vw,2.24rem);line-height:1.34}.answer-card{width:100%;min-height:0;color:var(--text);background:linear-gradient(#dfe9dd52,#fffaf0e6);border:1px solid #1f6a5024;border-radius:24px;padding:0;display:block;box-shadow:inset 0 1px #ffffff8c}.answer-card.is-open{background:linear-gradient(#e1eada9e,#fff9eef5)}.answer-card__content{text-align:left;flex-direction:column;height:100%;min-height:184px;padding:16px 18px;display:flex;overflow:auto}.answer-card__content.is-placeholder{text-align:center;color:var(--muted);flex-direction:column;display:flex}.answer-card__placeholder-main{flex:1;justify-content:center;align-items:center;display:flex}.answer-card__content.is-placeholder p{margin:0;font-size:1rem;font-weight:700;line-height:1.35}.answer-card__content.is-placeholder span{color:var(--muted);margin-top:auto;padding-top:10px;font-size:.82rem;display:block}.answer-card__text{white-space:pre-line;flex:1;margin:10px 0 0;font-size:.98rem;line-height:1.65}.answer-card__page{color:var(--accent-strong);margin:14px 0 0;font-weight:600}.answer-card__note{text-align:center;color:var(--accent-strong);border-top:1px solid #18322a14;margin:12px 0 0;padding-top:10px;font-size:.78rem}.memory-row,.utility-row,.form-grid,.stats-grid,.filter-strip,.quota-strip,.bottom-nav{gap:8px;display:grid}.memory-row{grid-template-columns:repeat(3,minmax(0,1fr))}.utility-row{grid-template-columns:repeat(2,minmax(0,1fr))}.utility-row--single{grid-template-columns:1fr}.ghost-button,.primary-button,.memory-button,.filter-chip,.bottom-nav__item{border:none;border-radius:16px;min-height:46px;padding:10px 12px;font-weight:600;transition:transform .16s,background-color .16s,color .16s,opacity .16s,box-shadow .16s}.ghost-button,.filter-chip{color:var(--accent-strong);border:1px solid var(--border);background:#fffaf0db}.primary-button{color:#f8f2e8;background:linear-gradient(135deg,#2f775d,#165441);box-shadow:0 10px 24px #12493629}.memory-button{color:#fffaf2}.memory-button.is-remembered{background:linear-gradient(135deg,#2e8b67,#155c46)}.memory-button.is-fuzzy{background:linear-gradient(135deg,#c88b3f,#9e6525)}.memory-button.is-forgotten{background:linear-gradient(135deg,#bd5a52,#8b3b36)}.filter-chip{text-align:center}.filter-chip.is-active,.bottom-nav__item.is-active{background:var(--surface-strong);box-shadow:var(--shadow-soft)}.ghost-button:hover,.primary-button:hover,.memory-button:hover,.filter-chip:hover,.bottom-nav__item:hover{transform:translateY(-1px)}.ghost-button:disabled,.primary-button:disabled,.memory-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.screen--control{min-height:0;display:grid}.panel-card,.empty-card{flex-direction:column;gap:12px;height:100%;padding:16px;display:flex}.empty-card{text-align:center;justify-content:center;align-items:center}.empty-card--complete{text-align:center;background:linear-gradient(#fffbf3f7,#faf4e9f0);justify-content:flex-start;align-items:stretch;padding:28px 18px 18px}.empty-card__hero{gap:8px;padding-top:clamp(6px,2vh,18px);display:grid}.empty-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.empty-card__action{border-radius:18px;width:100%;min-width:0;padding-left:16px;padding-right:16px}.empty-card__spacer{background:linear-gradient(#ffffff29,#ffffff0a);border-radius:22px;flex:1;min-height:120px}.panel-card{background:linear-gradient(#fffbf3f2,#f8f2e7eb)}.panel-card__header h2,.empty-card h2,.completion-modal h2{margin:0;font-family:STSong,Songti SC,SimSun,serif;font-size:1.18rem}.panel-card__header p,.empty-card p,.stats-note p,.completion-modal p{color:var(--muted);margin:6px 0 0;font-size:.84rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--single{grid-template-columns:1fr}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:.8rem}.field select,.field input{width:100%;min-height:42px;color:var(--text);background:#fffdf6f0;border:1px solid #18322a1f;border-radius:14px;padding:8px 10px}.field select:focus,.field input:focus{border-color:#1f6a5057;outline:2px solid #1f6a5033}.filters-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.summary-card{border:1px solid var(--border);background:#fffaf0db;border-radius:18px;padding:12px 14px}.summary-card span{color:var(--muted);font-size:.78rem;display:block}.summary-card strong{color:var(--accent-strong);margin-top:4px;font-size:1rem;display:block}.summary-card p,.settings-note{color:var(--muted);margin:6px 0 0;font-size:.8rem;line-height:1.5}.summary-card--deadline{background:#1f6a501a}.summary-card--sprint p{margin-top:4px;line-height:1.4}.settings-group{gap:8px;display:grid}.screen--control .panel-card{overflow:auto}.settings-group__title{color:var(--accent-strong);margin:0;font-size:.9rem;font-weight:700}.quota-input-wrap{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.quota-input-wrap span{color:var(--muted);white-space:nowrap;padding:0 4px;font-size:.82rem}.filter-strip,.quota-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}.stat-box{border:1px solid var(--border);text-align:center;background:#fffaf0d1;border-radius:18px;padding:12px 10px}.stat-box span{color:var(--muted);font-size:.78rem;display:block}.stat-box strong{margin-top:4px;font-size:1.1rem;display:block}.stat-box--accent{color:var(--accent-strong);background:#1f6a501f}.bottom-nav{z-index:1;padding:8px 12px max(10px, env(safe-area-inset-bottom));background:#faf5ebf5;border-top:1px solid #18322a14;grid-template-columns:repeat(2,minmax(0,1fr));position:relative}.bottom-nav__item{color:var(--muted);background:0 0;place-items:center;gap:3px;display:grid}.bottom-nav__item strong{font-size:.88rem}.bottom-nav__item small{font-size:.68rem}.bottom-nav__item.is-active{color:var(--accent-strong)}.bottom-nav__icon{background:#fffaf0e6;border:1px solid #18322a14;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;box-shadow:0 6px 14px #37443c0f}.bottom-nav__icon svg{width:20px;height:20px}.bottom-nav__item.is-active .bottom-nav__icon{background:#1f6a5024;border-color:#1f6a5033;box-shadow:0 10px 18px #1f6a501f}.completion-overlay{z-index:6;padding:20px 16px max(20px, calc(env(safe-area-inset-bottom) + 12px));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d272257;place-items:center;display:grid;position:absolute;inset:0}.completion-modal{background:linear-gradient(#fffbf3fa,#f5efe2f5);border:1px solid #1f6a5024;border-radius:24px;width:min(100%,360px);padding:22px 18px;box-shadow:0 24px 54px #222e283d}@media (width<=420px){.app-header{min-height:88px;padding-left:12px;padding-right:12px}.app-main{padding-bottom:8px;padding-left:8px;padding-right:8px}.screen--study{grid-template-rows:minmax(160px,31vh) minmax(0,1fr) auto;gap:8px}.filters-summary,.filter-strip,.stats-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quota-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-row,.utility-row{gap:6px}.prompt-card,.panel-card,.empty-card{padding:14px}.empty-card--complete{padding:22px 14px 14px}.empty-card__spacer{min-height:88px}.ghost-button,.primary-button,.memory-button,.filter-chip,.bottom-nav__item{border-radius:14px;min-height:44px;padding:8px 10px}.answer-card__content{min-height:168px;padding:14px 16px}}@media (width>=700px){body{padding:18px 0}.app-frame{height:calc(100dvh - 36px)}.app-surface{border-radius:34px;overflow:hidden;box-shadow:0 28px 68px #20362c2e}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
