@charset "UTF-8";
:root{--ink:#183e36;--muted:#7c877d;--paper:#f7f8f2;--line:#e0e5da;--green:#1e4f40;--lime:#d8edab;--mint:#eaf0e1;--white:#fff;--danger:#ac473d;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #7e9e5e;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #99b77b;outline-offset:2px}button{border:0}input,select,textarea{width:100%;color:var(--ink);background:#fbfcf8;border:1px solid var(--line);border-radius:10px;padding:13px 15px;min-height:48px}input[type=radio]{width:18px;min-height:18px;accent-color:var(--green)}textarea{resize:vertical;line-height:1.9}label{display:block;font-size:13px;font-weight:600}label input,label select{margin-top:9px}p{line-height:1.85}h1,h2,h3,p{margin-top:0}h2{font-size:24px;letter-spacing:-.8px}h3{font-size:18px}[hidden]{display:none!important}.site-header{max-width:1320px;margin:auto;padding:30px 48px 23px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-weight:750;font-size:25px;letter-spacing:-1.2px}.brand-mark{display:grid;place-items:center;position:relative;background:var(--green);color:var(--lime);height:44px;width:44px;border-radius:13px;font-family:Georgia,serif;font-style:italic;font-size:34px;line-height:1}.brand-mark span{position:absolute;font-style:normal;font-size:37px;left:22px;top:1px;color:#f5f8e9}.brand small{display:block;margin-top:4px;letter-spacing:1.4px;font-size:8px;font-weight:600;color:var(--muted)}.brand sup{font-size:10px;font-weight:500;letter-spacing:0;border:1px solid #d9dfd2;border-radius:5px;align-self:flex-start;margin:4px 0 0 -4px;padding:2px 4px;color:var(--muted)}nav{display:flex;gap:8px}nav a{padding:11px 19px;font-size:13px;color:#778176;border-radius:30px;font-weight:600}nav a.active{background:#e6ecde;color:var(--ink)}.local-badge{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;white-space:nowrap}.local-badge i,.hero-label i{height:6px;width:6px;border-radius:50%;background:#7d9e65;display:inline-block}#app{max-width:1224px;margin:auto;padding:49px 0 20px;min-height:calc(100svh - 180px)}.site-footer{max-width:1224px;margin:0 auto;padding:23px 0 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:#929a8c}.home-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:start}.hero{padding:12px 0 0}.hero-label,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#7b8974}.hero-label{display:flex;gap:8px;align-items:center}.hero h1{font-size:62px;line-height:1.3;letter-spacing:-3px;margin:26px 0 21px;font-weight:650}.underline{position:relative;z-index:0}.underline:after{content:"";position:absolute;z-index:-1;height:13px;background:#d8eaa9;bottom:4px;left:0;right:-5px;transform:rotate(-2deg);border-radius:50% 30% 50% 25%}.hero-description{font-size:14px;color:var(--muted);line-height:2;margin-bottom:22px}.hero-chips{display:flex;gap:20px;color:#60765c;font-size:11px}.play-illustration{height:242px;background:#e9eede;border-radius:20px;position:relative;overflow:hidden;margin-top:28px}.orbit{position:absolute;border:1px solid #d6dfca;width:390px;height:230px;border-radius:50%;transform:rotate(-28deg);top:10px;left:38px}.orbit-two{width:510px;height:300px;top:-22px;left:-20px}.illus-caption{position:absolute;left:23px;top:19px;letter-spacing:1.7px;font-size:8px;color:#809173}.demo-ball{position:absolute;width:116px;height:116px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#355644;font-size:19px;letter-spacing:-.4px;font-weight:600;box-shadow:inset 0 2px 2px #ffffffa0,0 14px 18px #526f3920}.demo-ball small{font-size:10px;letter-spacing:2px;margin-top:7px;color:#638060;font-weight:400}.ball-one{background:radial-gradient(at 28% 20%,#f0f5d6,#d5e6a0 60%);left:8%;top:86px;transform:rotate(-13deg);height:98px;width:98px;font-size:17px}.ball-two{background:radial-gradient(at 28% 20%,#fff2d4,#efd59e 60%);left:37%;top:48px;transform:rotate(7deg);height:130px;width:130px;font-size:22px}.ball-three{background:radial-gradient(at 28% 20%,#e2eee5,#b4d3c8 60%);right:7%;top:99px;transform:rotate(13deg);width:93px;height:93px;font-size:17px}.slash-art{position:absolute;left:4%;top:12px;width:92%;height:210px;filter:drop-shadow(0 2px 5px #fff8)}.illus-note{position:absolute;bottom:16px;left:23px;font-size:10px;color:#7b8c6d;letter-spacing:1px}.spark{position:absolute;color:#8caa6b}.spark-one{top:33px;right:16%;font-size:27px}.spark-two{bottom:28px;left:33%;font-size:15px}
.setup-card{background:#fff;border:1px solid #e2e6db;border-radius:22px;padding:32px 34px 22px;box-shadow:0 10px 30px #34492d04}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.card-heading h2{margin:9px 0 0;font-size:24px}.step-badge{border:1px solid var(--line);border-radius:20px;padding:7px 9px;color:#88917d;font-size:9px;letter-spacing:1px;white-space:nowrap}.section-label{display:flex;gap:9px;align-items:center;color:#a6b09b;font-size:10px;margin:23px 0 12px;font-weight:500}.section-label span{font-size:12px;font-weight:650;color:var(--ink)}.section-label a{margin-left:auto;color:#7c8a70;font-size:10px}.field-note{color:var(--muted);font-size:11px;margin:9px 0 0;line-height:1.8}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:15px 13px;display:flex;align-items:center;justify-content:space-between;min-height:79px}.choice input{position:absolute;opacity:0;width:1px}.choice b{display:block;font-size:17px;letter-spacing:1px}.choice small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:7px}.choice i{height:15px;width:15px;border-radius:50%;border:1px solid #cad2c0}.choice:has(input:checked){border-color:#869b6b;background:#f3f6eb}.choice:has(input:checked) i{background:var(--green);border:4px solid #e4ecd7;outline:1px solid var(--green)}.choice:has(input:focus-visible){outline:3px solid #809d69}.setup-row{display:grid;grid-template-columns:1.45fr 1fr;gap:15px}.setup-row select{font-size:12px}.setup-info{display:flex;align-items:center;gap:12px;margin:22px 0 20px;padding:13px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.setup-info p{font-size:10px;margin:0;line-height:1.9;color:#637958}.setup-info p span{color:#98a08e}.mini-icon{font-size:30px;color:#a3b48b}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:13px 22px;border-radius:10px;font-size:13px;font-weight:600;transition:background .15s,transform .15s;text-align:center}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--green);color:#f3f7e8}.primary:hover:not(:disabled){background:#163e31}.secondary{background:#f0f3e9;color:var(--ink);border:1px solid #dce3d2}.danger{background:#b84f43;color:white}.full{width:100%;margin-top:12px}.start-button{width:100%;justify-content:space-between;font-size:16px;padding:17px 23px;min-height:56px}.start-button span{font-size:25px;font-weight:400;color:#d5eaa6}.below-start{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:5px}.below-start>span{font-size:9px;color:#9ca591}.text-button{background:none;padding:9px 6px;font-size:11px;color:#6a7d5e;white-space:nowrap}.home-bottom{margin:35px 0 8px;padding-top:23px;border-top:1px solid var(--line);display:flex;align-items:center;gap:25px;font-size:12px;color:#7c8973}.tiny-label{font-size:9px;letter-spacing:1.5px;color:#a0aa95}.home-bottom button{margin-left:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 34px}.page-heading h1{font-size:36px;letter-spacing:-1px;margin:13px 0 13px}.page-heading p{font-size:13px;color:var(--muted);margin:0}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.library-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:25px 23px}.library-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.book-icon{display:grid;place-items:center;height:52px;width:49px;background:#e5edcf;border-radius:8px 15px 15px 8px;font-size:23px;font-weight:600;font-family:Georgia,serif;border-left:3px solid #bdcf9f}.peach .book-icon{background:#f3e2cd;border-color:#e7c8a4}.lilac .book-icon{background:#e7e2f1;border-color:#cfc3e0}.card-number{color:#acb5a0;font-size:10px;letter-spacing:2px}.library-title{font-size:21px;font-weight:650;display:flex;justify-content:space-between;gap:10px}.library-title span{font-weight:400;color:#99a78b}.library-card>p{font-size:11px;color:var(--muted);margin:10px 0 24px}.library-meta{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.library-meta b{font-size:25px;font-weight:500}.library-meta small{font-size:10px;color:var(--muted);font-weight:400}.library-meta>span{font-size:10px;color:#909a86}.library-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:15px}.button.small{font-size:11px;min-height:40px;padding:10px 12px}.new-library-card{border:1px dashed #c8d2bc;border-radius:18px;background:transparent;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:#849575}.new-library-card>span{font-size:32px;font-weight:300}.new-library-card b{font-size:13px;font-weight:500}.new-library-card small{font-size:10px;color:#9ba68f}.privacy-note{display:flex;align-items:center;gap:18px;padding:23px 26px;background:#edf1e5;border:1px solid #e2e8d8;border-radius:13px;margin:33px 0 20px;color:#687e59}.privacy-note>span{font-size:26px}.privacy-note b{font-size:12px;font-weight:600}.privacy-note p{font-size:11px;margin:6px 0 0;color:#859279}.privacy-note a{text-decoration:underline;text-underline-offset:3px}.back-link{display:inline-block;font-size:12px;color:#819174;margin-bottom:13px}.action-row{display:flex;gap:10px}.word-panel,.panel{border:1px solid var(--line);border-radius:16px;background:white;overflow:hidden}.word-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid var(--line);gap:20px}.search-box{position:relative;max-width:360px;width:70%}.search-box input{padding-left:40px;font-size:12px}.search-box>span{position:absolute;left:13px;top:8px;font-size:25px;color:#8da07b}.word-toolbar>span{font-size:11px;color:var(--muted);white-space:nowrap}.word-table-wrap{overflow:auto}.word-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.word-table th{background:#f8faf3;color:#8b9881;font-size:11px;font-weight:500;padding:16px 24px;white-space:nowrap}.word-table th small{font-size:8px;letter-spacing:1px;margin-left:9px;color:#a5b09c}.word-table td{border-bottom:1px solid #edf0e7;padding:16px 24px;overflow-wrap:anywhere;max-width:400px}.word-table tr:last-child td{border-bottom:0}.word-table td b{font-weight:600}.word-table td:last-child{white-space:nowrap;width:140px}.word-table td:last-child button+button{margin-left:15px}.level{display:inline-block;border-radius:20px;font-size:10px;padding:5px 9px;background:#edf3e3;color:#729259;white-space:nowrap}.level-2{background:#f6ecdc;color:#aa8854}.level-3{background:#eee9f7;color:#9782ae}.detail-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;color:var(--muted);font-size:11px}.panel{padding:27px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-heading h2{font-size:18px;margin:0}.tag{font-size:10px;color:#889779;padding:6px 10px;background:#f1f5e9;border-radius:20px;white-space:nowrap}.import-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:36px}.import-layout .button{margin-top:18px}.import-tips{padding:28px 15px}.import-tips h2{margin:14px 0 24px}.import-tips p{font-size:12px;color:var(--muted);display:flex;gap:16px}.import-tips b{color:#a6b695;font-size:11px;font-weight:500}.preview-panel{margin-top:25px}.preview-table{min-width:620px}.preview-table th,.preview-table td{padding:12px}.preview-table input{min-height:43px;font-size:12px;padding:10px;min-width:140px}.preview-table td:last-child{white-space:normal;min-width:160px;font-size:11px}.status-ready,.success-text{color:#5a8951}.status-duplicate{color:#ad8740}.status-error,.error-text{color:var(--danger)}#preview-summary{font-size:11px;color:var(--muted)}.preview-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.backup-card{padding:35px;display:flex;flex-direction:column;align-items:flex-start}.backup-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:15px;background:#e8f0d7;font-size:30px;color:#739157;margin-bottom:30px}.backup-icon.lilac{background:#eae5f0;color:#9e8db6}.backup-card h2{margin:14px 0 10px}.backup-card p{font-size:12px;color:var(--muted);line-height:2}.backup-card>.button{margin-top:15px}.backup-card>small{font-size:10px;color:#98a28c;margin-top:17px}.file-picker{padding:15px;border:1px dashed #c6d2b7;border-radius:10px;background:#f7faf0;width:100%;font-size:12px;color:#6b8358}.file-picker input{border:0;background:none;padding:10px 0 0;font-size:11px;min-height:32px}.restore-choice{display:flex;align-items:center;gap:12px;margin:18px 0}.restore-choice input{margin:0;flex-shrink:0}.restore-choice b{font-size:12px}.restore-choice small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:6px;line-height:1.6}.empty-state{text-align:center;padding:50px 20px}.empty-state>span{font-size:35px;color:#adbc97;display:block;margin-bottom:15px}.empty-state p{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.loading{padding:100px;text-align:center;color:var(--muted)}
dialog{max-width:460px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:20px;padding:30px;color:var(--ink);max-height:calc(100dvh - 28px);overflow:auto;background:var(--paper);box-shadow:0 30px 90px #183e3625}dialog::backdrop{background:#14382f60;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.modal-head .icon-button{height:32px;width:32px;min-height:32px;font-size:23px}.modal-head+h2{margin-bottom:12px}dialog p{font-size:13px}dialog form label{margin-top:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.success-text{font-size:12px;min-height:5px;margin:12px 0 0}.error-text{font-size:12px!important}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d6dfcd;border-radius:50%;background:#f6f8f0cc;color:var(--ink);font-size:20px}.icon-button:hover{background:#eaf0df}#toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);background:#204839;color:#f6faee;padding:13px 20px;border-radius:10px;font-size:12px;box-shadow:0 6px 22px #143d3320;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);width:max-content;line-height:1.7}#toast.visible{opacity:1;transform:translate(-50%,0)}
.playing{overflow:hidden;overscroll-behavior:none}.game-screen{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 15%,#f9fbed,#e8efdf);z-index:50;height:100dvh;width:100%;overflow:hidden;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}.game-screen:fullscreen{width:100vw;height:100dvh}.game-screen canvas{width:100%;height:100%;display:block;touch-action:none}.game-top{position:absolute;top:0;left:0;right:0;padding:calc(13px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) 0 calc(20px + env(safe-area-inset-left));display:grid;grid-template-columns:1fr 2fr 1fr;align-items:start;pointer-events:none}.game-top button{pointer-events:auto}.target-box{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.target-box>span{font-size:10px;letter-spacing:1px;color:#8c9d7e}.target-box strong{font-size:clamp(20px,3.4vw,32px);font-weight:650;line-height:1.3;max-width:100%;overflow-wrap:anywhere}.game-life{display:flex;justify-content:flex-end;align-items:center;gap:16px}.game-life>span{font-size:19px;color:#5e8462;white-space:nowrap;letter-spacing:2px}.game-life button{height:36px;width:36px;font-size:17px}.game-bottom{position:absolute;bottom:0;left:0;right:0;padding:10px calc(25px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(25px + env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none;background:linear-gradient(transparent,#e8efdfda)}.game-bottom b{font-size:20px;font-weight:600}.game-bottom small{font-size:10px;color:#93a185;margin-left:7px}.game-bottom>span:nth-child(2){font-size:11px;color:#87997a;text-align:center}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#193d3455;backdrop-filter:blur(8px);padding:15px;z-index:2;overflow:auto}.game-modal{background:#f8faef;border:1px solid #e1e7d7;border-radius:23px;text-align:center;padding:30px 38px;width:390px;max-width:100%;max-height:100%;overflow:auto;box-shadow:0 20px 80px #10392f20}.game-modal h2{margin:12px 0;font-size:24px}.game-modal p{font-size:12px;color:var(--muted)}.game-modal>.text-button{margin-top:10px}.result-score{font-size:64px;letter-spacing:-3px;line-height:1.2;margin:20px 0;color:var(--green)}.result-score small{font-size:11px;display:block;color:var(--muted);letter-spacing:1px;margin-top:7px}.result-stats{display:flex;justify-content:center;gap:45px;font-size:10px;color:var(--muted);margin:22px 0}.result-stats b{display:block;font-size:23px;color:var(--ink);font-weight:500;margin-bottom:7px}.rotate-hint{display:none;position:absolute;inset:0;z-index:3;background:var(--paper);align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px}.rotate-icon{font-size:70px;color:#86a366;margin-bottom:20px}.rotate-hint h2{font-size:24px}.rotate-hint p{font-size:13px;color:var(--muted)}
@media(min-width:1450px){#app{padding-top:65px}.home-grid{gap:90px}.hero h1{font-size:69px}.play-illustration{height:259px}}
@media(max-width:1320px){.site-header{padding-left:5%;padding-right:5%}#app,.site-footer{width:90%}.home-grid{gap:45px}.hero h1{font-size:56px}.setup-card{padding:28px}.hero-chips{gap:15px}}
@media(max-width:1000px){.local-badge{display:none}.home-grid{gap:30px}.hero h1{font-size:48px}.setup-card{padding:24px}.hero-label{font-size:8px;letter-spacing:1.3px}.hero-chips{font-size:10px;gap:10px}.play-illustration{height:225px}.ball-two{left:34%;width:110px;height:110px;font-size:18px}.ball-one{left:5%;width:84px;height:84px}.ball-three{right:4%;width:80px;height:80px;font-size:15px}.card-heading h2{font-size:21px}.step-badge{display:none}.library-grid{grid-template-columns:repeat(2,1fr)}.library-card{padding:23px}.site-header{padding-top:22px;padding-bottom:20px}.backup-card{padding:26px}.page-heading h1{font-size:32px}.word-table th small{display:none}}
@media(max-width:700px){.site-header{flex-wrap:wrap;gap:20px;padding:20px 5% 14px}.brand{font-size:23px}.brand-mark{width:40px;height:40px}.site-header nav{width:100%;gap:8px}nav a{flex:1;text-align:center;font-size:12px;padding:10px 8px}#app{padding-top:28px}.home-grid{grid-template-columns:1fr;gap:26px}.hero{padding-top:0}.hero-label{font-size:8px}.hero h1{font-size:45px;line-height:1.2;margin:20px 0 16px}.hero h1 br{display:none}.hero-description{font-size:12px;line-height:1.8;margin-bottom:16px}.hero-description br{display:none}.hero-chips{font-size:10px;gap:20px}.play-illustration{height:180px;margin-top:20px}.ball-one{left:13%;top:63px}.ball-two{left:40%;top:32px}.ball-three{right:8%;top:70px}.slash-art{height:170px;top:-5px}.illus-caption{font-size:7px;top:14px}.illus-note{font-size:8px;bottom:10px}.setup-card{padding:25px 24px 17px}.card-heading{margin-bottom:20px}.card-heading h2{font-size:23px}.step-badge{display:block}.section-label{margin-top:20px}.home-bottom{gap:10px;flex-wrap:wrap;margin-top:25px}.home-bottom .tiny-label{display:none}.home-bottom>span{font-size:11px}.home-bottom button{font-size:10px}.site-footer{font-size:9px;gap:12px;flex-wrap:wrap;padding:18px 0}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:24px;gap:20px}.page-heading h1{font-size:30px}.page-heading p{font-size:12px}.page-heading>.button{min-height:44px;padding:12px 17px}.library-grid{grid-template-columns:1fr;gap:15px}.library-card-top{margin-bottom:20px}.library-card>p{margin-bottom:18px}.new-library-card{min-height:140px}.privacy-note{padding:20px;align-items:flex-start;gap:12px}.privacy-note p{font-size:10px}.word-toolbar{padding:15px;gap:10px}.search-box{width:75%}.word-toolbar>span{font-size:9px}.word-table th,.word-table td{padding:13px 12px;font-size:12px}.word-table td:last-child{width:90px}.word-table td:last-child button+button{margin-left:3px}.word-table td:nth-child(3){display:none}.word-table th:nth-child(3){display:none}.word-table td b{font-size:12px}.text-button{font-size:10px}.detail-bottom{flex-direction:column;align-items:flex-start;gap:5px;font-size:10px}.import-layout{grid-template-columns:1fr;gap:12px}.panel{padding:20px}.import-tips{padding:15px 5px}.import-tips h2{font-size:20px;margin-bottom:15px}.import-tips p{font-size:11px}.panel-heading h2{font-size:16px}.tag{font-size:8px}.preview-actions{flex-direction:column;align-items:stretch}.preview-panel .panel-heading{flex-wrap:wrap}.preview-table td:nth-child(3),.preview-table th:nth-child(3){display:table-cell}.backup-grid{grid-template-columns:1fr;gap:18px}.backup-card{padding:27px}.backup-icon{margin-bottom:22px}.backup-card h2{font-size:22px}.backup-card p{font-size:11px}dialog{padding:24px}}
@media(orientation:portrait){.game-screen .rotate-hint{display:flex}}
@media(orientation:landscape) and (max-height:500px){.game-top{padding-top:calc(9px + env(safe-area-inset-top))}.target-box strong{font-size:24px}.target-box>span{font-size:9px}.game-bottom{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.game-bottom b{font-size:17px}.game-bottom>span:nth-child(2){font-size:10px}.game-top .icon-button{height:34px;width:34px;font-size:17px}.game-life>span{font-size:16px}.game-modal{padding:20px 30px;width:370px;border-radius:18px}.game-modal h2{font-size:21px;margin:8px 0}.game-modal p{margin-bottom:10px}.game-modal .button{min-height:42px;padding:10px 15px;margin-top:8px}.game-modal>.text-button{margin-top:4px}.result-score{font-size:44px;margin:8px 0}.result-stats{margin:12px 0;gap:38px}.result-stats b{font-size:19px;margin-bottom:3px}.result-modal .eyebrow{font-size:8px}.game-modal .eyebrow{font-size:9px}.game-life{gap:12px}}
/* Keep the physical playfield, not only HUD controls, clear of landscape notches. */
.game-screen canvas{width:calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right));margin-left:env(safe-area-inset-left)}
@media(max-width:700px),(pointer:coarse){input,select,textarea{font-size:16px!important}.text-button{min-height:44px;min-width:44px}nav a{min-height:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Word Slice · soft meadow + mint glass visual theme */
.game-screen {
  background:
    linear-gradient(180deg, rgba(248,255,239,.10) 0%, rgba(247,255,244,.02) 58%, rgba(239,250,233,.20) 100%),
    url('../assets/game-meadow-background.jpg') center center / cover no-repeat;
}
.game-screen::before {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 32%,rgba(18,55,35,.06));
}
.game-screen canvas { position:relative; z-index:1; }
.game-top,.game-bottom { z-index:2; }
.game-top {
  padding-top:calc(15px + env(safe-area-inset-top));
}
.target-box {
  padding:9px 22px 11px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:rgba(250,255,248,.72);
  box-shadow:0 8px 28px rgba(35,86,51,.10),inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.target-box>span { color:#64846b; }
.target-box strong { color:#315b43; text-shadow:0 1px 0 rgba(255,255,255,.7); }
.game-life>span { color:#477b58; text-shadow:0 1px 3px rgba(255,255,255,.8); }
.game-bottom {
  background:linear-gradient(transparent,rgba(244,252,240,.80));
  color:#315b43;
}
.game-bottom small,.game-bottom>span:nth-child(2) { color:#557b5e; }
.game-top .icon-button {
  background:rgba(250,255,248,.78);
  border:1px solid rgba(255,255,255,.8);
  color:#426b4d;
  box-shadow:0 5px 18px rgba(35,86,51,.10);
  backdrop-filter:blur(10px);
}
.game-modal {
  background:rgba(249,255,246,.96);
  border-color:rgba(255,255,255,.9);
}
