:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#15251f;background:#f4f7f5;font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;min-height:100dvh;overscroll-behavior:none}button{font:inherit;touch-action:manipulation}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-switch button{min-height:68px;border:3px solid #7b8b83;border-radius:15px;color:#34473e;background:#fff;font-size:clamp(21px,5.8vw,29px);font-weight:800}.mode-switch button.active{border-color:#176b4d;color:#fff;background:#176b4d;box-shadow:0 3px #0d4934}.app-shell{width:min(100%,900px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px}.expression-panel{background:#fff;border:3px solid #176b4d;border-radius:18px;padding:12px 15px 14px;box-shadow:0 3px 12px #13423117}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}h1{margin:0;color:#176b4d;font-size:clamp(20px,5.4vw,28px);line-height:1.2}.version{color:#607068;font-size:13px;white-space:nowrap}.expression{min-height:70px;margin:10px 0 0;font-size:clamp(28px,8vw,42px);font-weight:700;line-height:1.35;overflow-wrap:anywhere}.expression.empty{color:#7b8882;font-weight:500}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.section-heading h2{margin:0;font-size:clamp(21px,5.5vw,28px)}.section-heading span{color:#607068;font-size:13px;text-align:right}.word-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.word-button,.action-button,.complete-button,.emergency-entry{min-height:68px;border:0;border-radius:15px;font-weight:700;cursor:pointer;box-shadow:0 3px #00000029}.word-button{padding:8px;color:#17241f;background:#fff;border:2px solid #aebdb6;font-size:clamp(23px,6.5vw,34px)}.word-button.frequent{background:#fff8df;border-color:#d8ad45}.word-button.category{display:flex;align-items:center;justify-content:center;gap:8px;background:#e8f4ee;border-color:#73a58e;color:#135d43}.word-button.category span{font-size:1.25em;line-height:1}.word-button.placeholder{color:#68766f;background:#e9eeeb;border-style:dashed;box-shadow:none}.word-button.promoted{background:#fff8df;border-color:#d8ad45}.word-button.emergency{color:#861f1b;background:#fff0ef;border-color:#c95b55}h2,h3{color:#263b32}h3{margin:8px 0;font-size:19px}.fixed-section h2{margin:0 0 8px;font-size:clamp(21px,5.5vw,28px)}.fixed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fixed-grid .word-button{min-height:62px;font-size:clamp(19px,5vw,28px)}.complete-button{width:100%;min-height:58px;color:#fff;background:#176b4d;font-size:clamp(22px,5.8vw,29px)}.complete-button:disabled{opacity:.42;box-shadow:none}.completed-message{margin:9px 0 0;color:#176b4d;text-align:center;font-weight:700}.empty-common{margin:8px 0 0;padding:18px;color:#68766f;background:#e9eeeb;border-radius:12px;text-align:center}.storage-warning{margin:8px 0;padding:12px;border:2px solid #b87318;border-radius:10px;color:#713d00;background:#fff4d9;font-weight:700}.shortcut-note{margin:-2px 0 9px;padding:8px 10px;border-left:5px solid #d8ad45;color:#5d5132;background:#fff9e8;font-weight:600}.all-words-title{margin-top:16px;padding-top:13px;border-top:4px solid #718079}.common-list{display:grid;gap:8px;margin-top:8px}.common-item{display:grid;grid-template-columns:1fr 58px;gap:8px}.common-text,.favorite-button{min-height:58px;border:2px solid #d8ad45;background:#fff8df;font-weight:700}.common-text{padding:7px 10px;border-radius:12px;color:#322b16;font-size:clamp(20px,5.5vw,28px);text-align:left}.favorite-button{border-radius:12px;color:#9b6500;font-size:31px}.emergency-entry{min-height:68px;color:#fff;background:#A33F32;font-size:clamp(24px,6.5vw,32px)}.emergency-active{padding:10px;border-radius:14px}.word-button.emergency-category-button{background-color:#f0b0a5;color:#6b3028;border-color:#d37a70}.breadcrumbs{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:9px 10px;border-radius:10px;background:#e4ece8;white-space:nowrap}.breadcrumbs button{min-height:40px;border:0;border-radius:8px;padding:5px 9px;color:#145e44;background:#fff;font-weight:700}.breadcrumbs strong{font-size:17px}.emergency-active .breadcrumbs{color:#a33f32}.sheet-grid .word-button{min-height:82px;font-size:clamp(20px,5.5vw,28px)}.advanced-term-grid .word-button{font-size:clamp(21px,5.8vw,30px)}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:12px}.pagination button{min-height:58px;border:0;border-radius:12px;color:#fff;background:#176b4d;font-size:20px;font-weight:700}.pagination button:disabled{opacity:.4}.pagination strong{font-size:17px;white-space:nowrap}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #00000029}button:focus-visible{outline:4px solid #f0a000;outline-offset:2px}.actions{display:grid;grid-template-columns:1.35fr .8fr 1.1fr;gap:10px;margin-top:auto}.action-button{min-height:66px;color:#fff;font-size:clamp(22px,6vw,30px)}.action-button.delete{background:#3d526c}.action-button.clear{background:#a53a35}.action-button.home{background:#176b4d}.action-button:disabled{opacity:.42;box-shadow:none;cursor:default}.mode-home-button{width:100%;min-height:52px;border:2px solid #176b4d;border-radius:12px;color:#176b4d;background:#fff;font-size:20px;font-weight:700}.navigation-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:10px}.settings{border-top:1px solid #cdd6d1;padding-top:8px}.settings-toggle{width:100%;min-height:44px;border:0;background:transparent;color:#44564d;font-weight:700}.settings-panel{padding:12px;border-radius:12px;background:#e8eeeb}.settings-panel label{display:flex;align-items:center;gap:12px;min-height:48px;font-size:19px;font-weight:700}.settings-panel input{width:28px;height:28px}.settings-panel p{margin:4px 0 12px;color:#53635c}.reset-button{width:100%;min-height:52px;border:2px solid #a53a35;border-radius:10px;color:#8a2925;background:#fff;font-weight:700;font-size:18px}.reset-button:disabled{opacity:.45}.history-section{border-top:1px solid #cdd6d1}.history-list{display:grid;gap:8px;padding:8px 0}.history-list>button{display:grid;gap:4px;min-height:60px;padding:9px 12px;border:2px solid #9eada6;border-radius:10px;color:#24372f;background:#fff;text-align:left}.history-list strong{font-size:19px}.history-list span{color:#68766f;font-size:13px}.status-bar{display:flex;justify-content:center;align-items:center;gap:18px;min-height:24px;color:#53635c;font-size:14px;font-weight:600}.connection{display:inline-flex;align-items:center;gap:6px}.connection i{width:11px;height:11px;border-radius:50%;background:currentColor}.connection.online{color:#187247}.connection.offline{color:#a53a35}.update-button{border:0;border-radius:8px;padding:5px 10px;color:#fff;background:#8b4a00;font-weight:700}@media (orientation: landscape) and (max-height: 500px){.app-shell{width:100%;display:block;padding-top:max(8px,env(safe-area-inset-top))}.expression-panel{grid-row:1 / 2;padding:9px 12px}.expression{min-height:45px;font-size:clamp(24px,5vw,36px)}.complete-button{min-height:50px}.section-heading{margin-top:10px}.word-grid{grid-template-columns:repeat(3,1fr);gap:7px}.fixed-grid,.advanced-term-grid{grid-template-columns:repeat(4,1fr)}.word-button{min-height:50px;font-size:clamp(20px,3.7vw,29px)}.actions{position:sticky;bottom:max(4px,env(safe-area-inset-bottom));margin-top:10px;gap:7px;z-index:2}.action-button{min-height:54px;font-size:clamp(19px,3vw,25px)}.status-bar{margin-top:8px;font-size:12px}}@media (max-width: 390px){.fixed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{grid-template-columns:1.25fr .75fr .75fr}.action-button{font-size:20px}}@media (min-width: 700px) and (orientation: portrait){.word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}}
