:root{color:#231f1b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--cream:#f6efd9;--paper:#fffaf0;--ink:#231f1b;--muted:#6f6255;--leaf:#2f6f3e;--cucumber:#72a043;--tomato:#c94c38;--sky:#d7ebee;--line:#2d261c24;--shadow:0 18px 42px #372a1c24;background:#f6efd9;font-family:Arial,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}button,a,[role=button]{-webkit-tap-highlight-color:transparent}html{direction:rtl}body{background:linear-gradient(180deg, #d7ebeed9 0, #f6efd900 340px), var(--cream);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{border:0}img{max-width:100%}.app-shell{min-height:100vh}.app-shell.has-update-banner:not(.reader-shell){padding-bottom:calc(88px + env(safe-area-inset-bottom))}.app-update-banner{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));z-index:40;color:#fffaf0;background:#231f1bf0;border:1px solid #fffaf033;border-radius:8px;align-items:center;gap:10px;max-width:min(520px,100vw - 28px);padding:10px 12px;font-weight:800;display:flex;position:fixed;box-shadow:0 18px 44px #00000047}.app-update-banner button{color:#fffaf0;background:var(--leaf);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-weight:800;display:inline-flex}.app-update-banner button:focus-visible{outline-offset:2px;outline:3px solid #fffaf0b8}.app-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf0e0;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.brand-button{color:var(--ink);cursor:pointer;text-align:right;background:0 0;align-items:center;gap:12px;padding:0;display:flex}.brand-mark{color:#fffaf0;background:var(--leaf);border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand-name,.brand-subtitle{display:block}.brand-name{font-size:21px;font-weight:800}.brand-subtitle,.series-label{color:var(--muted);font-size:14px;font-weight:700}.top-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nav-button,.nav-chip,.primary-action,.secondary-action,.tertiary-action,.icon-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:800;display:inline-flex}.nav-button{color:var(--ink);cursor:pointer;background:#f0e5cf;padding:0 16px}.nav-button.active{color:#fffaf0;background:var(--leaf)}.install-button{color:#fffaf0;background:var(--tomato)}.nav-chip{color:#2d4a36;background:#dcebc8;padding:0 14px}.user-chip{white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.admin-chip{color:#fffaf0;background:var(--leaf)}.data-status{color:#2d4a36;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0;font-size:14px;font-weight:800;display:flex}.data-status span{color:#7a2e24}.library-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;display:flex}.search-field{width:min(100%,360px);min-height:44px;color:var(--muted);border:1px solid var(--line);background:#fffaf0eb;border-radius:8px;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.filter-tabs{background:#e8dcc6;border-radius:8px;min-height:44px;padding:4px;display:inline-flex}.filter-tab{min-height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;padding:0 14px;font-weight:800}.filter-tab.active{color:#fffaf0;background:var(--leaf)}.library-page,.reader-layout,.locked-page{width:min(1180px,100% - 32px);margin:0 auto;padding:40px 0 56px}.library-page{width:min(1440px,100% - 32px);padding:34px 0 56px}.library-intro{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(260px,440px);align-items:end;gap:28px;padding:30px 0 34px;display:grid}.library-intro h1,.locked-content h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(40px,5.5vw,72px);line-height:1.06}.library-intro p:last-child{color:#4f4439;margin:0;font-size:clamp(19px,1.5vw,24px)}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-top:30px;display:grid}.empty-state{color:var(--muted);margin:26px 0 0;font-size:18px;font-weight:800}.book-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf0eb;border-radius:8px;grid-template-columns:minmax(220px,46%) minmax(0,1fr);align-items:stretch;gap:24px;display:grid;overflow:hidden}.cover-frame{background:#e5d5b7;grid-row:1/span 2;min-height:460px;position:relative;overflow:hidden}.cover-frame img{object-fit:cover;width:100%;height:100%;min-height:460px;display:block}.lock-badge{color:#fffaf0;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:800;display:inline-flex;position:absolute;top:12px;right:12px}.lock-badge.locked{background:var(--tomato)}.lock-badge.open{background:var(--leaf)}.book-card-body{padding:24px 22px 0 0}.book-card h2{color:var(--ink);letter-spacing:0;margin:6px 0 12px;font-size:clamp(30px,2.2vw,38px);line-height:1.16}.book-card p{color:#52473d;font-size:clamp(17px,1.2vw,20px)}.card-progress{background:#2f6f3e24;border-radius:999px;height:8px;margin-top:18px;overflow:hidden}.card-progress span{background:linear-gradient(90deg, var(--cucumber), var(--tomato));height:100%;display:block}.book-card .progress-copy{color:#6a5948;margin:8px 0 0;font-size:14px;font-weight:700}.book-card .primary-action{grid-column:2;place-self:end start;margin:0 22px 24px 0}.primary-action{color:#fffaf0;background:var(--tomato);cursor:pointer;padding:0 18px;transition:transform .16s,background-color .16s}.primary-action:disabled{opacity:.55;cursor:default;transform:none}.primary-action:hover,.secondary-action:hover,.icon-button:hover{transform:translateY(-1px)}.secondary-action{color:var(--ink);cursor:pointer;background:#e8dcc6;padding:0 16px}.secondary-action.compact{min-height:42px}.locked-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf0f0;border-radius:8px;grid-template-columns:minmax(260px,410px) minmax(0,1fr);align-items:center;gap:34px;padding:28px;display:grid}.compact-panel{grid-template-columns:1fr}.locked-cover{aspect-ratio:1240/1754;background:#e9dcc3;border-radius:8px;position:relative;overflow:hidden}.locked-cover img{object-fit:cover;filter:saturate(.82);width:100%;height:100%}.locked-mark{color:#fffaf0;background:var(--tomato);border-radius:8px;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:16px;right:16px}.locked-content>p{color:#51463c;font-size:18px}.access-form{gap:10px;margin:24px 0 14px;display:grid}.purchase-box{color:#4f4439;background:#f0e5cf;border-radius:8px;gap:10px;width:fit-content;max-width:100%;margin:18px 0 8px;padding:14px;display:grid}.purchase-box p{gap:2px;margin:0;display:grid}.purchase-box strong{color:var(--leaf);font-size:22px}.purchase-box small{color:var(--muted);font-weight:800}.access-form label{font-weight:800}.code-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.code-row input{min-height:46px;color:var(--ink);background:#fff;border:1px solid #2f6f3e47;border-radius:8px;flex:220px;padding:0 14px}.form-message{color:#7a2e24;background:#f9ded5;border-radius:8px;align-items:center;gap:8px;width:fit-content;margin:4px 0 18px;padding:10px 12px;font-weight:800;display:inline-flex}.form-message.success{color:#235331;background:#dcebc8}.form-message.neutral{color:#4f4439;background:#f0e5cf}.purchase-return-notice{margin-top:18px}.reader-layout{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;--reader-book-width:min(100vw, calc(100dvh * 3200 / 2267));--reader-book-height:min(100dvh, calc(100vw * 2267 / 3200));background:radial-gradient(circle,#fffaf02e,#231f1b00 56%),#242019;place-items:center;width:100vw;height:100dvh;min-height:100vh;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.reader-layout.reader-single-mode{--reader-book-width:min(100vw, calc(100dvh * 1600 / 2267));--reader-book-height:min(100dvh, calc(100vw * 2267 / 1600))}.reader-progress{background:#2f6f3e26;border-radius:999px;height:10px;overflow:hidden}.reader-progress span{background:linear-gradient(90deg, var(--cucumber), var(--tomato));height:100%;transition:width .22s;display:block}.reader-progress-strip{z-index:6;pointer-events:none;position:fixed;bottom:0;left:0;right:0}.reader-progress-strip .reader-progress{background:#fffaf029;border-radius:0;height:4px}.book-stage{border:1px solid var(--line);-webkit-user-select:none;user-select:none;z-index:1;background:linear-gradient(90deg,#47362314,#0000 7% 93%,#47362314),#fffaf0;border-radius:8px;margin:0 auto;transition:opacity 90ms,transform 90ms;position:relative;overflow:hidden;box-shadow:0 24px 58px #30251933}.book-stage:before,.book-stage:after{content:"";z-index:4;opacity:0;pointer-events:none;width:52%;position:absolute;top:0;bottom:0}.book-stage:before{transform-origin:100%;background:linear-gradient(90deg,#fffaf0f0,#fffaf033 54%,#3124182e),linear-gradient(90deg,#0000,#0000002e);right:0}.book-stage:after{transform-origin:0;background:linear-gradient(270deg,#fffaf0f0,#fffaf033 54%,#3124182e),linear-gradient(270deg,#0000,#0000002e);left:0}.book-stage.two-page{aspect-ratio:3200/2267;direction:ltr;flex-direction:row;width:min(100vw,141.156dvh);height:min(100dvh,70.8438vw);display:flex}.book-stage.single-page{aspect-ratio:1600/2267;width:min(100vw,70.5779dvh);height:min(100dvh,141.688vw);display:block}.book-stage.changing{opacity:.96}.book-stage.turning-next{animation:.12s ease-out bookNudgeNext}.book-stage.turning-previous{animation:.12s ease-out bookNudgePrevious}.book-stage.turning-next:before{animation:.12s ease-out pageTurnNext}.book-stage.turning-previous:after{animation:.12s ease-out pageTurnPrevious}.book-page{background:#fffaf0;height:100%;margin:0;position:relative;overflow:hidden}.book-stage.two-page .book-page{width:50%}.book-stage.two-page .left-page{order:1}.book-stage.two-page .right-page{order:2}.book-stage.single-page .book-page{width:100%;height:100%}.book-page img{object-fit:contain;background:#fffaf0;width:100%;height:100%;display:block}.reader-preload-images{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;inset:auto auto 0 0;overflow:hidden}.reader-preload-images img{width:1px;height:1px}.book-stage.two-page .right-page{box-shadow:inset -18px 0 22px #46352214}.book-stage.two-page .left-page{box-shadow:inset 18px 0 22px #46352214}.book-gutter{pointer-events:none;background:linear-gradient(90deg,#281f1647,#ffffffbf,#281f1633);width:2px;position:absolute;top:0;bottom:0;left:calc(50% - 1px)}@keyframes bookNudgeNext{0%{transform:translate(10px)scale(.998)}to{transform:translate(0)scale(1)}}@keyframes bookNudgePrevious{0%{transform:translate(-10px)scale(.998)}to{transform:translate(0)scale(1)}}@keyframes pageTurnNext{0%{opacity:.88;transform:perspective(1200px)rotateY(0)}to{opacity:0;transform:perspective(1200px)rotateY(-58deg)}}@keyframes pageTurnPrevious{0%{opacity:.88;transform:perspective(1200px)rotateY(0)}to{opacity:0;transform:perspective(1200px)rotateY(58deg)}}.reader-options{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:20;direction:rtl;position:fixed}.reader-options-button{z-index:24;color:#fffaf0;cursor:pointer;background:#2f6f3ef0;border:1px solid #fffaf03d;border-radius:8px;place-items:center;width:46px;height:46px;display:inline-grid;position:relative;box-shadow:0 12px 28px #0000003d}.reader-options-backdrop{z-index:18;background:0 0;position:fixed;inset:0}.reader-options-panel{z-index:23;width:min(300px,100vw - 24px);max-height:calc(100dvh - 76px);color:var(--ink);border:1px solid var(--line);background:#fffaf0f5;border-radius:8px;gap:10px;padding:14px;display:grid;position:absolute;top:54px;left:0;overflow:auto;box-shadow:0 18px 44px #0000003d}.reader-options-title,.reader-options-page{margin:0;font-weight:800}.reader-options-title{color:var(--leaf)}.reader-options-page{color:var(--muted);font-size:14px}.reader-audio-panel{background:#f0e5cf;border-radius:8px;gap:10px;padding:10px;display:grid}.reader-audio-panel p,.reader-audio-panel figure{margin:0}.reader-audio-panel p{color:var(--leaf);align-items:center;gap:8px;font-weight:800;display:inline-flex}.reader-audio-panel figure{gap:6px;display:grid}.reader-audio-panel figcaption{color:var(--muted);font-size:13px;font-weight:800}.reader-audio-panel audio{width:100%;min-width:0}.reader-menu-action{justify-content:flex-start;width:100%}.reader-confirm-layer{z-index:30;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.reader-confirm-backdrop{z-index:30;cursor:pointer;pointer-events:auto;background:#1814108f;position:fixed;inset:0}.reader-confirm-dialog{z-index:31;width:min(420px,100%);color:var(--ink);pointer-events:auto;background:#fffaf0fa;border:1px solid #fffaf0b8;border-radius:8px;gap:14px;padding:22px;display:grid;position:relative;box-shadow:0 24px 58px #00000052}.reader-confirm-title{color:var(--leaf);margin:0;font-size:22px;font-weight:800}.reader-confirm-copy{color:#4f4439;margin:0;font-size:17px}.reader-confirm-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.reader-nav-zone{top:calc((100dvh - var(--reader-book-height)) / 2);z-index:12;width:clamp(72px, calc(var(--reader-book-width) / 8), 150px);height:var(--reader-book-height);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;padding:0;position:fixed;overflow:visible}.reader-nav-arrow{z-index:3;color:#fffaf0;opacity:.96;background:#231f1bad;border:1px solid #fffaf06b;border-radius:8px;place-items:center;width:48px;height:68px;transition:opacity .12s,background-color .12s,transform .12s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 14px 30px #00000042}.reader-corner-hotspot{width:100%;height:clamp(86px, calc(var(--reader-book-height) / 5), 160px);display:block;position:absolute;bottom:0}.reader-page-curl{z-index:4;width:clamp(96px, calc(var(--reader-book-width) / 11), 152px);height:clamp(96px, calc(var(--reader-book-width) / 11), 152px);opacity:0;pointer-events:none;background:linear-gradient(145deg, #fffaf01f, #fffaf00a 46%, #231f1b47), var(--page-preview-image,linear-gradient(135deg, #fffaf0, #f0e5cf));filter:drop-shadow(0 16px 22px #00000047);background-size:cover;border:1px solid #5f4a3242;transition:opacity .11s,transform .11s;position:absolute;bottom:0}.reader-page-curl:after{content:"";clip-path:inherit;background:radial-gradient(circle at bottom,#ffffff57,#0000 48%),linear-gradient(135deg,#ffffff2e,#0000 54%,#231f1b33);position:absolute;inset:0}.reader-nav-zone:disabled{cursor:default;pointer-events:none}.reader-nav-zone:disabled .reader-nav-arrow,.reader-nav-zone:disabled .reader-corner-hotspot{display:none}.reader-nav-zone:not(:disabled):hover,.reader-nav-zone:not(:disabled):focus-visible{outline:none}.reader-nav-zone:not(:disabled):hover .reader-nav-arrow,.reader-nav-zone:not(:disabled):focus-visible .reader-nav-arrow{opacity:1;background:#2f6f3ed1;transform:translateY(-50%)scale(1.05);box-shadow:0 14px 30px #00000042,0 0 0 3px #fffaf085}.previous-zone{right:calc((100vw - var(--reader-book-width)) / 2)}.previous-zone .reader-nav-arrow{right:10px}.previous-zone .reader-corner-hotspot{right:0}.previous-zone .reader-page-curl{transform-origin:100% 100%;clip-path:polygon(100% 100%,100% 8%,8% 100%);background-position:100% 100%;border-top-left-radius:8px;right:0;transform:perspective(700px)rotateX(14deg)rotateY(-24deg)translate(10px,10px)scale(.56)}.next-zone{left:calc((100vw - var(--reader-book-width)) / 2)}.next-zone .reader-nav-arrow{left:10px}.next-zone .reader-corner-hotspot{left:0}.next-zone .reader-page-curl{transform-origin:0 100%;clip-path:polygon(0 100%,0 8%,92% 100%);background-position:0 100%;border-top-right-radius:8px;left:0;transform:perspective(700px)rotateX(14deg)rotateY(24deg)translate(-10px,10px)scale(.56)}.reader-corner-hotspot:hover .reader-page-curl,.reader-nav-zone:not(:disabled):focus-visible .reader-page-curl{opacity:1;transform:perspective(700px)rotateX(4deg)rotateY(0)translate(0)scale(1)}@media (hover:none){.reader-nav-arrow{opacity:.96;width:44px;height:62px}.reader-page-curl{display:none}}.icon-button{color:#fffaf0;background:var(--leaf);cursor:pointer;width:46px;padding:0}.icon-button:disabled{opacity:.42;cursor:default;transform:none}.view-toggle{background:#e8dcc6;border-radius:8px;align-items:center;gap:4px;min-height:42px;padding:4px;display:inline-flex}.toggle-button{min-height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.toggle-button.active{color:#fffaf0;background:var(--leaf)}.login-page{width:min(760px,100% - 32px);margin:0 auto;padding:54px 0 58px}.login-panel{color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf0f0;border-radius:8px;gap:14px;padding:30px;display:grid}.login-panel>svg{color:var(--leaf)}.login-panel h1{letter-spacing:0;margin:0;font-size:clamp(30px,5vw,48px);line-height:1.08}.login-email{color:#51463c;text-align:right;direction:ltr;margin:0;font-weight:800}.admin-page{width:min(1180px,100% - 32px);margin:0 auto;padding:34px 0 58px}.admin-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;padding:26px 0 28px;display:flex}.admin-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-role-note{color:#235331;align-items:center;gap:8px;margin:12px 0 0;font-weight:800;display:inline-flex}.app-version-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:13px;font-weight:800;display:flex}.app-version-note code{color:#4f4439;background:#f0e5cf;border-radius:6px;padding:2px 6px;font-family:Arial,Segoe UI,sans-serif}.admin-heading h1,.admin-empty h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(30px,4vw,48px);line-height:1.08}.admin-empty{max-width:720px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf0f0;border-radius:8px;gap:16px;margin:40px auto 0;padding:30px;display:grid}.admin-empty>svg{color:var(--leaf)}.admin-empty p{color:#51463c;margin:0;font-size:18px}.admin-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:22px 0;display:grid}.admin-stats div,.admin-panel{border:1px solid var(--line);background:#fffaf0f0;border-radius:8px;box-shadow:0 14px 34px #372a1c1a}.admin-stats div{min-height:96px;color:var(--muted);align-content:center;gap:4px;padding:16px;font-weight:800;display:grid}.admin-stats span{color:var(--leaf);font-size:30px;line-height:1;display:block}.admin-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);gap:18px;margin-top:18px;display:grid}.admin-panel{padding:18px}.admin-wide{margin-top:18px}.panel-title{color:var(--leaf);align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-title h2{color:var(--ink);margin:0;font-size:20px;line-height:1.15}.inline-title{margin:4px 0 0}.inline-title h3{color:var(--ink);margin:0;font-size:18px;line-height:1.15}.admin-list{gap:8px;margin-bottom:14px;display:grid}.admin-row{width:100%;min-height:62px;color:var(--ink);text-align:right;cursor:pointer;background:#f0e5cf;border-radius:8px;gap:4px;padding:12px;display:grid}.admin-row.active{color:#fffaf0;background:var(--leaf)}.admin-row small{color:inherit;opacity:.78;font-weight:800}.admin-form{gap:12px;display:grid}.admin-form label{color:#4f4439;gap:6px;font-weight:800;display:grid}.admin-readonly-field{color:#4f4439;background:#f0e5cf;border:1px solid #2f6f3e2e;border-radius:8px;gap:4px;min-height:72px;padding:10px 12px;font-weight:800;display:grid}.admin-readonly-field strong{color:var(--leaf);font-size:26px;line-height:1}.admin-readonly-field small{color:var(--muted);font-size:13px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #2f6f3e47;border-radius:8px;padding:0 12px}.admin-form textarea{resize:vertical;min-height:92px;padding:10px 12px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-switches,.admin-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-switches label{background:#f0e5cf;border-radius:8px;grid-template-columns:none;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:inline-flex}.admin-switches input{width:auto;min-height:0}.file-upload-control{min-height:98px;color:var(--leaf);text-align:center;cursor:pointer;background:#f0e5cf;border:1px dashed #2f6f3e6b;border-radius:8px;place-items:center;gap:8px;padding:14px;display:grid;position:relative}.file-upload-control span{color:var(--ink);font-weight:800}.file-upload-control input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;position:absolute;inset:0}.file-upload-control:has(input:disabled){opacity:.48;cursor:default}.admin-table{gap:8px;display:grid}.admin-table-row{color:#4f4439;background:#f0e5cf;border-radius:8px;grid-template-columns:minmax(180px,1.2fr) minmax(100px,.8fr) minmax(100px,.7fr) minmax(120px,.8fr) auto;align-items:center;gap:10px;min-height:54px;padding:10px 12px;font-weight:800;display:grid}@media (width<=920px){.library-intro,.books-grid,.locked-panel,.admin-layout,.admin-stats{grid-template-columns:1fr}.book-card{grid-template-columns:minmax(150px,34%) minmax(0,1fr)}}@media (width<=680px){.app-header{flex-direction:column;align-items:stretch}.app-update-banner{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;max-width:none}.app-shell.has-update-banner:not(.reader-shell){padding-bottom:calc(148px + env(safe-area-inset-bottom))}.app-update-banner span{min-width:0}.app-update-banner button{width:100%}.top-nav{justify-content:space-between}.library-page,.locked-page{width:min(100% - 24px,1180px)}.library-intro{padding-top:18px}.library-intro h1,.locked-content h1{font-size:34px}.book-card{grid-template-columns:1fr}.cover-frame,.cover-frame img{aspect-ratio:1240/1754;grid-row:auto;min-height:0}.book-card-body{padding:20px 18px 0}.book-card .primary-action{grid-column:auto;justify-self:stretch;margin:0 18px 20px}.locked-panel{padding:18px}.reader-confirm-actions{flex-direction:column;align-items:stretch}.reader-confirm-actions .primary-action,.reader-confirm-actions .secondary-action{width:100%}.admin-page{width:min(100% - 24px,1180px)}.admin-heading{flex-direction:column;align-items:stretch}.admin-form-grid,.admin-table-row{grid-template-columns:1fr}}.extras-page{width:min(100% - 40px,1180px);margin:0 auto;padding:24px 0 56px}.extras-intro{border-bottom:1px solid var(--line);gap:10px;max-width:760px;padding:20px 0;display:grid}.extras-intro h1,.extras-status h1{color:var(--ink);margin:0;font-size:42px;line-height:1.08}.extras-intro p{color:#4f4439;max-width:680px;margin:0;font-size:18px}.extras-status{text-align:center;color:#4f4439;background:var(--paper);border:1px solid var(--line);min-height:360px;box-shadow:var(--shadow);border-radius:8px;place-items:center;gap:14px;padding:28px;display:grid}.garden-game{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:22px;margin-top:24px;padding:18px;display:grid}.garden-panel{min-width:0;color:var(--ink);align-content:start;gap:16px;padding:16px 12px;display:grid}.garden-step-header{align-items:flex-start;gap:12px;display:flex}.garden-step-icon{color:#fffaf0;background:var(--leaf);border-radius:8px;flex:none;place-items:center;width:48px;height:48px;display:grid}.garden-step-count{color:var(--muted);margin:0 0 4px;font-size:14px;font-weight:800}.garden-step-header h2{margin:0;font-size:26px;line-height:1.15}.garden-step-copy{color:#4f4439;min-height:52px;margin:0;font-size:18px;font-weight:700}.garden-step-fact{color:#2d4a36;margin:0;font-size:15px;font-weight:800}.garden-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.garden-actions .secondary-action,.garden-actions .tertiary-action{align-items:center;gap:8px;display:inline-flex}.extras-parent-note{color:#2d4a36;background:#dcebc8;border-radius:8px;align-items:center;gap:10px;width:fit-content;max-width:100%;margin-top:18px;padding:12px 14px;font-weight:800;display:flex}.extras-parent-note p{margin:0}.garden-scene{isolation:isolate;border-radius:8px;min-height:560px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2d261c1f}.garden-sky{touch-action:none;background:linear-gradient(#a9dcf0d1 0%,#cdeaf1c2 55%,#e7f4e6d6 100%);height:40%;position:absolute;inset:0 0 auto;overflow:hidden}.garden-sun{background:radial-gradient(circle at 42% 40%,#ffe789,#f6b73c);border-radius:50%;width:78px;height:78px;transition:opacity .45s,filter .45s;position:absolute;top:26%;left:50%;transform:translate(-50%);box-shadow:0 0 46px #f6b73cb3}.sun-blocked .garden-sun{opacity:.45;filter:grayscale(.3)}.garden-cloud{cursor:grab;touch-action:none;background:#fdfdfd;border-radius:999px;width:120px;height:44px;padding:0;position:absolute;top:22%;transform:translate(-50%);box-shadow:0 12px 26px #3c46502e}.garden-cloud:before,.garden-cloud:after{content:"";background:#fdfdfd;border-radius:50%;position:absolute}.garden-cloud:before{width:50px;height:50px;top:-20px;left:16px}.garden-cloud:after{width:64px;height:64px;top:-28px;right:16px}.garden-cloud:active{cursor:grabbing}.garden-plot{background:linear-gradient(#8a5f389e 0%,#6d4826c2 45%,#533619d6 100%);height:64%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.soil-texture{opacity:.4;mix-blend-mode:overlay;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.soil-furrows{opacity:.5;pointer-events:none;background:repeating-linear-gradient(#fff0dc0d 0 2px,#23160c1f 3px 22px);position:absolute;inset:0}.garden-plant{width:130px;height:190px;position:absolute;bottom:22%;transform:translate(-50%)}.plant-mound{background:radial-gradient(at 50% 35%,#6d4826,#3f2913 70%);border-radius:50%;width:104px;height:34px;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 6px 14px #140c0666}.plant-greens{transform-origin:bottom;opacity:0;width:120px;height:150px;transition:transform .9s,opacity .9s;position:absolute;bottom:20px;left:50%;transform:translate(-50%)scale(.3)}.stage-sprout .plant-greens{opacity:1;transform:translate(-50%)scale(.5)}.stage-leafy .plant-greens{opacity:1;transform:translate(-50%)scale(.78)}.stage-flower .plant-greens,.stage-fruit .plant-greens,.stage-ripe .plant-greens{opacity:1;transform:translate(-50%)scale(1)}.plant-stem{fill:none;stroke:#3f7d24;stroke-width:5px;stroke-linecap:round}.plant-leaf{fill:#4f9a34;stroke:#3f7d24;stroke-width:1.5px}.plant-leaf.leaf-top{fill:#5aa93c}.plant-flower{fill:#f4c84f;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .6s}.stage-flower .plant-flower,.stage-fruit .plant-flower{opacity:1}.plant-cucumber{width:calc(42px + var(--fruit,1) * 56px);background:0 0;padding:0;transition:width .8s;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@keyframes cuke-ready{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.water-splash{opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 76%,#7cc4e866,#7cc4e800 42%);position:absolute;inset:0}.is-splashing .water-splash{animation:.65s splash}@keyframes splash{0%{opacity:0}30%{opacity:1}to{opacity:0}}.garden-basket{z-index:4;color:#6b4a24;background:#fffaf0f0;border:3px solid #b98a52;border-radius:12px 12px 22px 22px;place-items:center;gap:2px;width:92px;height:72px;display:grid;position:absolute;bottom:10%;right:5%;box-shadow:0 12px 28px #231f1b47}.basket-count{color:var(--leaf);font-size:20px;font-weight:900}.garden-tools{gap:12px;display:flex}.garden-tool{color:#3a2f10;border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#fffaf0;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:54px;padding:10px 12px;font-size:16px;font-weight:900;transition:transform .14s,background-color .14s;display:inline-flex;box-shadow:0 8px 20px #231f1b1f}.garden-tool:hover{transform:translateY(-2px)}.garden-tool.tool-water:hover{background:#eaf6fd}.garden-tool.tool-fert:hover{background:#eef6e2}.garden-tool.tool-water{color:#2b6f9e}.garden-tool.tool-fert{color:#3f7d24}.garden-meters{gap:10px;display:grid}.garden-meter{gap:4px;display:grid}.meter-label{color:var(--muted);align-items:center;gap:6px;font-size:14px;font-weight:800;display:flex}.meter-track{background:#e4d7ba;border-radius:999px;height:14px;overflow:hidden}.meter-fill{border-radius:999px;height:100%;transition:width .5s;display:block}.meter-fill.water{background:linear-gradient(90deg,#7cc4e8,#2b6f9e)}.meter-fill.food{background:linear-gradient(90deg,#a6c65a,#3f7d24)}.garden-meter.low .meter-label{color:var(--tomato)}@media (width<=920px){.garden-game{grid-template-columns:1fr}}@media (width<=680px){.extras-intro h1,.extras-status h1{font-size:32px}.garden-scene{min-height:440px}.garden-cloud{width:96px;height:38px}.garden-plant{width:100px}.garden-tool{width:66px}}@media (prefers-reduced-motion:reduce){.plant-cucumber.ripe,.is-splashing .water-splash{animation:none}.plant-greens,.plant-cucumber,.garden-sun{transition:none}}.garden-scene{background:#6d4826;min-height:580px}.scene-backdrop{z-index:0;object-fit:cover;object-position:center 42%;filter:blur(2px)brightness();width:100%;height:100%;transition:filter .6s;position:absolute;inset:0}.sun-blocked .scene-backdrop{filter:blur(2px)brightness(.68)saturate(.85)}.scene-dim{z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 22%,#ffecaa38,#14142800 55%);transition:background .6s;position:absolute;inset:0}.sun-blocked .scene-dim{background:linear-gradient(#1e223c5c,#1e223c24)}.garden-sky{z-index:3;touch-action:none;background:0 0;height:46%;position:absolute;inset:0 0 auto}.garden-cloud{filter:blur(.4px);background:#ffffffeb;width:116px;height:40px;top:18%;box-shadow:0 12px 30px #3c465038}.garden-cloud:before,.garden-cloud:after{background:#ffffffeb}.garden-plot{z-index:2;background:0 0;height:52%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.plot-soil{object-fit:cover;object-position:center 60%;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 18%);mask-image:linear-gradient(#0000 0%,#000 18%)}.garden-plant{justify-content:center;align-items:flex-end;width:120px;height:150px;display:flex;position:absolute;bottom:8%;transform:translate(-50%)}.plant-seedling{background:linear-gradient(#7fb04a,#3f7d24);border-radius:60% 60% 40% 40%;width:10px;height:18px;box-shadow:0 4px 8px #140c0666}.plant-cucumber{width:calc(30px + var(--scale,1) * 78px);transform-origin:bottom;background:0 0;padding:0;transition:width .8s;display:block;position:relative;bottom:auto;left:auto;transform:none}.plant-cucumber img{filter:drop-shadow(0 8px 10px #140c0673);width:100%;height:auto;display:block}.plant-cucumber.ripe{cursor:pointer;width:104px;animation:2.1s ease-in-out infinite cuke-bob}@keyframes cuke-bob{0%,to{transform:translate(-50%)rotate(-2deg)}50%{transform:translate(-50%,-6px)rotate(1deg)}}.garden-basket{z-index:5}.garden-fullscreen{z-index:60;background:linear-gradient(#bfe6f2,#dff0e6);flex-direction:column;width:100%;height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.garden-topbar{padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#fffaf0eb;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.garden-titles h1{color:var(--ink);margin:0;font-size:20px;line-height:1.1}.garden-subtitle{color:var(--muted);margin:2px 0 0;font-size:13px;font-weight:800}.garden-topbar-actions{gap:8px;display:flex}.hud-button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:#f0e5cf;border-radius:10px;place-items:center;display:grid}.hud-button:hover{background:#e6d8bb}.garden-fullscreen .garden-scene{min-height:0;box-shadow:none;background:0 0;border-radius:0;flex:auto;position:relative;overflow:hidden}.garden-fullscreen .garden-sky{z-index:2;touch-action:none;background:linear-gradient(#a9dcf0 0%,#cfeaf0 58%,#e8f4e4 100%);height:58%;position:absolute;inset:0 0 auto}.sun-glow{pointer-events:none;background:radial-gradient(circle at 42% 34%,#fff8c7 0 15%,#ffd35a 43%,#d98723 69%,#d9872300 73%);border-radius:50%;width:clamp(82px,7.4vw,104px);height:clamp(82px,7.4vw,104px);transition:opacity .5s,transform .5s,filter .5s;position:absolute;top:5%;left:50%;transform:translate(-50%);box-shadow:0 0 14px #ffdd729e,0 0 34px #ffb13647}.sun-glow:after{content:"";background:radial-gradient(circle at 38% 32%,#ffffff94,#fff0 24%);border-radius:50%;position:absolute;inset:8%}.sun-blocked .sun-glow{opacity:.32}.garden-fullscreen .garden-cloud{cursor:grab;touch-action:none;background:#fffffff0;border-radius:999px;width:108px;height:38px;padding:0;position:absolute;top:16%;transform:translate(-50%);box-shadow:0 12px 26px #3c46502e}.garden-fullscreen .garden-cloud:before,.garden-fullscreen .garden-cloud:after{content:"";background:#fffffff0;border-radius:50%;position:absolute}.garden-fullscreen .garden-cloud:before{width:46px;height:46px;top:-18px;left:14px}.garden-fullscreen .garden-cloud:after{width:58px;height:58px;top:-24px;right:16px}.garden-fullscreen .garden-cloud:active{cursor:grabbing}.garden-hills{z-index:1;filter:blur(2px);opacity:.9;pointer-events:none;background:radial-gradient(130% 100% at 50% 100%,#6f9e4a 0%,#86b25a 42%,#86b25a00 74%);height:24%;position:absolute;top:45%;left:0;right:0}.garden-field{z-index:3;height:52%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.garden-fullscreen .plot-soil{object-fit:cover;object-position:center 55%;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 16%);mask-image:linear-gradient(#0000 0%,#000 16%)}.garden-fullscreen .garden-plant{width:76px;height:116px;position:absolute;bottom:12%;transform:translate(-50%)}.plant-svg{transform-origin:50% 100%;width:76px;height:116px;transition:transform .9s;position:absolute;bottom:0;left:50%;overflow:visible;transform:translate(-50%)scale(.35)}.stage-sprout .plant-svg{transform:translate(-50%)scale(.42)}.stage-bush .plant-svg{transform:translate(-50%)scale(.72)}.stage-flower .plant-svg{transform:translate(-50%)scale(.9)}.stage-fruit .plant-svg,.stage-ripe .plant-svg{transform:translate(-50%)scale(1)}.pl-stem{fill:none;stroke:#3f7d24;stroke-width:5px;stroke-linecap:round;opacity:0;transition:opacity .6s}.stage-sprout .pl-stem,.stage-bush .pl-stem,.stage-flower .pl-stem,.stage-fruit .pl-stem,.stage-ripe .pl-stem{opacity:1}.pl-cot{fill:#7cb04a;opacity:0;transition:opacity .6s}.stage-sprout .pl-cot{opacity:1}.stage-bush .pl-cot,.stage-flower .pl-cot,.stage-fruit .pl-cot,.stage-ripe .pl-cot{opacity:.5}.pl-leaf{fill:#4f9a34;stroke:#3f7d24;stroke-width:1.4px;opacity:0;transition:opacity .7s}.pl-leaf-t{fill:#5aa93c}.stage-bush .pl-leaf,.stage-flower .pl-leaf,.stage-fruit .pl-leaf,.stage-ripe .pl-leaf{opacity:1}.pl-flower{opacity:0;transition:opacity .6s}.stage-flower .pl-flower,.stage-fruit .pl-flower{opacity:1}.plant-fruit{width:calc(20px + var(--scale,1) * 44px);background:0 0;padding:0;transition:width .8s;position:absolute;top:30%;left:62%;transform:translate(-50%)}.plant-fruit img{filter:drop-shadow(0 5px 6px #140c0666);width:100%;height:auto;display:block}.plant-fruit.ripe{cursor:pointer;width:60px;animation:2.1s ease-in-out infinite cuke-bob;top:26%;left:60%}.garden-fullscreen .garden-basket{z-index:5;color:#6b4a24;background:#fffaf0eb;border:3px solid #b98a52;border-radius:10px 10px 18px 18px;place-items:center;width:74px;height:58px;display:grid;position:absolute;bottom:8%;right:4%;box-shadow:0 10px 22px #231f1b47}.garden-fullscreen .basket-count{color:var(--leaf);font-size:18px;font-weight:900}.garden-fullscreen .water-splash{z-index:4;opacity:0;pointer-events:none;background:radial-gradient(circle at 20% 70%,#7cc4e85c,#7cc4e800 18%),radial-gradient(circle at 40% 64%,#7cc4e861,#7cc4e800 20%),radial-gradient(circle at 62% 68%,#7cc4e85c,#7cc4e800 18%),radial-gradient(circle at 80% 72%,#7cc4e852,#7cc4e800 16%);position:absolute;inset:0}.garden-fullscreen.garden-plot-page .garden-scene.is-splashing .water-splash{animation:.7s splash}.garden-scene.sun-blocked:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#1e223c2e,#1e223c14);position:absolute;inset:0}.garden-bottombar{padding:10px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border-top:1px solid var(--line);background:#fffaf0f2;flex:none;grid-template-columns:minmax(230px,300px) minmax(0,1fr);align-items:center;gap:12px;display:grid}.garden-action-panel{gap:8px;min-width:0;display:grid}.garden-guide{color:#4f4439;background:#fffff8c7;border:1px solid #78623d29;border-radius:8px;gap:6px;padding:8px 10px;display:grid;box-shadow:0 8px 18px #231f1b14}.garden-guide-head{justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:900;display:flex}.garden-guide-actions{gap:6px;display:flex}.guide-sound-button{color:#2f5d25;cursor:pointer;background:#f0e5cf;border:1px solid #78623d2e;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.guide-sound-button:hover{background:#e6d8bb}.garden-guide-current{color:#2f5d25;margin:0;font-size:14px;font-weight:900}.garden-guide-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;margin:0;padding-inline-start:18px;font-size:12px;line-height:1.25;display:grid}.garden-guide-steps li{opacity:.68}.garden-guide-steps li.active{color:#2f5d25;opacity:1;font-weight:900}.garden-status{text-align:center;color:#4f4439;min-height:20px;margin:0;font-size:15px;font-weight:800}.garden-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.garden-fullscreen .garden-meters{flex:200px;gap:6px;min-width:160px;max-width:360px;display:grid}.garden-fullscreen .garden-meter{grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.garden-fullscreen .meter-label{color:var(--muted);align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.garden-fullscreen .meter-track{background:#e4d7ba;border-radius:999px;height:12px;overflow:hidden}.garden-fullscreen .meter-fill{border-radius:999px;height:100%;transition:width .5s;display:block}.garden-fullscreen .meter-fill.water{background:linear-gradient(90deg,#7cc4e8,#2b6f9e)}.garden-fullscreen .meter-fill.food{background:linear-gradient(90deg,#a6c65a,#3f7d24)}.garden-fullscreen .garden-meter.low .meter-label{color:var(--tomato)}.garden-fullscreen .garden-tools{gap:12px;display:flex}.garden-fullscreen .garden-tool{color:#3a2f10;border:1px solid var(--line);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#fffaf0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:10px 18px;font-size:16px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #231f1b1f}.garden-fullscreen .garden-tool.tool-water{color:#2b6f9e}.garden-fullscreen .garden-tool.tool-fert{color:#3f7d24}.garden-fullscreen .garden-tool:active{transform:translateY(1px)}@media (width>=900px){.garden-fullscreen .garden-plant,.plant-svg{width:92px;height:140px}.garden-status{font-size:16px}}@media (prefers-reduced-motion:reduce){.plant-fruit.ripe,.garden-scene.is-splashing .water-splash{animation:none}.plant-svg,.plant-fruit,.sun-glow,.meter-fill{transition:none}}.garden-fullscreen{flex-direction:row;justify-content:center;align-items:stretch}.garden-frame{background:linear-gradient(#bfe6f2,#dff0e6);flex-direction:column;width:100%;max-width:1180px;height:100%;min-height:0;display:flex;box-shadow:0 0 60px #0000001f}.garden-hills{filter:none}.hud-button{justify-content:center;align-items:center;gap:6px;width:auto;min-width:46px;height:46px;padding:0 12px;font-size:14px;font-weight:800;display:inline-flex}@media (width<=560px){.hud-button{width:44px;min-width:44px;padding:0}.hud-button span{display:none}.garden-titles h1{font-size:17px}.garden-subtitle{font-size:12px}}@media (width>=900px){.garden-topbar{padding:12px 22px}.garden-titles h1{font-size:26px}.garden-subtitle{font-size:15px}.hud-button{height:50px;padding:0 18px;font-size:16px}.hud-button svg{width:24px;height:24px}.garden-status{font-size:18px}.garden-bottombar{gap:10px;padding:14px 22px 18px}.garden-controls{gap:26px}.garden-fullscreen .garden-meters{max-width:440px}.garden-fullscreen .garden-meter{grid-template-columns:84px 1fr}.garden-fullscreen .meter-label{font-size:15px}.garden-fullscreen .meter-track{height:16px}.garden-fullscreen .garden-tool{min-height:62px;padding:12px 30px;font-size:19px}.garden-fullscreen .garden-tool svg{width:30px;height:30px}}.garden-fullscreen,.garden-frame{background:#e7f3df}.garden-fullscreen .garden-scene{background:linear-gradient(180deg, #fffbef14, #242c1c1a), var(--garden-backdrop) center / cover no-repeat}.garden-fullscreen .garden-sky{background:linear-gradient(#a9dcf042,#e8f4e408);height:62%}.garden-hills{display:none}.garden-fullscreen .garden-cloud{z-index:3;width:clamp(220px,28vw,420px);height:auto;box-shadow:none;filter:drop-shadow(0 18px 24px #2a394a38);background:0 0;border:0;border-radius:0;top:14%;overflow:visible}.garden-fullscreen .garden-cloud img{pointer-events:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.garden-fullscreen .garden-cloud:before,.garden-fullscreen .garden-cloud:after{display:none}.garden-fullscreen .garden-cloud.sunlit-cloud img{z-index:1;opacity:1;filter:brightness(1.12)saturate(1.12)drop-shadow(0 0 24px #ffeb74fa)drop-shadow(0 0 54px #ffc62dc7)drop-shadow(0 0 82px #ffb52257)drop-shadow(0 10px 24px #523f1947);position:relative}.sun-blocked .sun-glow{opacity:0;visibility:hidden;filter:blur(8px);transform:translate(-50%)scale(.78)}.garden-field{background:radial-gradient(circle at 18% 36%,#754e2747,#754e2700 24%),radial-gradient(circle at 64% 22%,#8f5d2b38,#8f5d2b00 22%),radial-gradient(circle at 52% 82%,#1e120a57,#1e120a00 36%),linear-gradient(#5d381b 0%,#503017 34%,#3a2210 72%,#24150b 100%);height:61%}.garden-field:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#40271314,#28180d42 78%,#190f087a),radial-gradient(70% 32% at 50% 96%,#37221142,#37221100);position:absolute;inset:0}.garden-field:after{content:"";z-index:2;opacity:.7;pointer-events:none;background:linear-gradient(#23160c0a,#23160c2e 82%,#190f0847),radial-gradient(70% 34% at 50% 95%,#23160c33,#23160c00);position:absolute;inset:5% 3% 6%}.furrow-guides{z-index:2;pointer-events:none;mix-blend-mode:multiply;opacity:.32;width:100%;height:100%;position:absolute;inset:0}.furrow-guides path{fill:none;stroke:#1c120a85;stroke-width:1.45px;stroke-linecap:round;filter:blur(.1px)}.garden-fullscreen .plot-soil{z-index:0;object-fit:cover;object-position:center 52%;opacity:.98;width:100%;height:100%;display:block;position:absolute;inset:0}.garden-fullscreen .garden-plant{z-index:4;pointer-events:none;width:clamp(78px,7.6vw,122px);height:clamp(112px,12vw,190px);transform:translateX(-50%) scale(var(--plant-scale,1));transform-origin:50% 100%;bottom:5%}.plant-sprite-action{cursor:default;pointer-events:none;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.plant-sprite-action *{pointer-events:none}button.plant-sprite-action{cursor:pointer;pointer-events:auto}.stage-ripe button.plant-sprite-action:after{content:"";aspect-ratio:1;pointer-events:none;border:3px solid #ffe269e0;border-radius:999px;width:58%;animation:1.35s ease-in-out infinite harvest-ready-ring;position:absolute;top:58%;left:46%;transform:translate(-50%,-50%);box-shadow:0 0 22px #ffd6548c}.plant-sprite-stack{position:absolute;inset:0;overflow:visible}.plant-stage-sprite{object-fit:contain;object-position:center bottom;opacity:0;transform-origin:50% 100%;filter:drop-shadow(0 14px 14px #1a180e4d);width:100%;height:100%;transition:opacity .55s,transform .75s;position:absolute;bottom:0;left:0;transform:translateY(10px)scale(.96)}.stage-seed .plant-sprite-seed,.stage-sprout .plant-sprite-sprout,.stage-seedling .plant-sprite-seedling,.stage-bush .plant-sprite-bush,.stage-bigBush .plant-sprite-bigBush,.stage-dead .plant-sprite-bigBush,.stage-flower .plant-sprite-bigBush,.stage-fruit .plant-sprite-bigBush,.stage-ripe .plant-sprite-bigBush{opacity:1;transform:translateY(0)scale(1)}.stage-bigBush .plant-sprite-bigBush,.stage-flower .plant-sprite-bigBush,.stage-fruit .plant-sprite-bigBush,.stage-ripe .plant-sprite-bigBush{filter:drop-shadow(0 18px 18px #161a0c5c)saturate(1.08);transform:translateY(-7px)scale(1.06)}.stage-dead .plant-sprite-bigBush{filter:sepia(.66)saturate(.68)hue-rotate(12deg)brightness(.82)drop-shadow(0 14px 15px #22180c5c);transform:translateY(8px)rotate(-3deg)scale(.94)}.stage-dead .plant-sprite-stack:after{content:"";pointer-events:none;background:radial-gradient(circle at 42% 40%,#dab3385c,#815d1900 58%),radial-gradient(circle at 62% 62%,#7f581c52,#7f581c00 54%);border-radius:50%;position:absolute;inset:26% 16% 9%}.stage-sprout .plant-sprite-sprout{animation:.72s both sprout-emerge}.stage-ripe .plant-sprite-bigBush{animation:2.4s ease-in-out infinite plant-ready}.plant-fruit-cluster{opacity:0;pointer-events:none;transition:opacity .45s;position:absolute;inset:16% 16% 18%}.stage-fruit .plant-fruit-cluster,.stage-ripe .plant-fruit-cluster{opacity:1}.plant-extra-cucumber{filter:drop-shadow(0 4px 5px #140c0652);transform-origin:50% 20%;width:clamp(11px,1.35vw,20px);height:auto;position:absolute}.stage-ripe .plant-extra-cucumber{width:clamp(14px,1.65vw,25px)}.plant-extra-cucumber-0{top:48%;left:52%;transform:rotate(-12deg)}.plant-extra-cucumber-1{top:58%;left:31%;transform:rotate(16deg)}.plant-extra-cucumber-2{top:60%;left:68%;transform:rotate(8deg)}.plant-extra-cucumber-3{top:58%;left:70%;transform:rotate(-12deg)}.dirt-puff{opacity:0;background:radial-gradient(circle,#6a492557,#6a492500);border-radius:999px;width:34%;height:12%;position:absolute;bottom:7%;left:50%;transform:translate(-50%)scale(.6)}.stage-sprout .dirt-puff{animation:.75s both dirt-puff}.garden-fullscreen .garden-basket{z-index:12;width:clamp(48px,5.2vw,64px);height:clamp(48px,5.2vw,64px);box-shadow:none;background:0 0;border:0;border-radius:0;bottom:0;left:50%;right:auto;transform:translate(-50%)}.garden-fullscreen .garden-basket>.basket-art{object-fit:contain;filter:drop-shadow(0 14px 18px #231f1b52);width:100%;height:100%;display:block}.garden-fullscreen .garden-basket.has-crops{animation:.46s basket-settle}.basket-harvest{z-index:1;pointer-events:none;position:absolute;inset:30% 14% 18%}.basket-cucumber{filter:drop-shadow(0 4px 5px #2a1d0d4d);transform-origin:50%;width:clamp(18px,2.8vw,30px);height:auto;position:absolute}.basket-cucumber-0{bottom:8%;left:8%;transform:rotate(76deg)}.basket-cucumber-1{bottom:18%;left:36%;transform:rotate(96deg)}.basket-cucumber-2{bottom:2%;left:54%;transform:rotate(64deg)}.basket-cucumber-3{bottom:36%;left:20%;transform:rotate(116deg)}.basket-cucumber-4{bottom:42%;left:48%;transform:rotate(82deg)}.basket-cucumber-5{bottom:26%;left:66%;transform:rotate(108deg)}.garden-fullscreen .basket-count{color:#fffaf0;z-index:2;background:#2f7a35;border:2px solid #fffaf0e6;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:14px;line-height:1;display:grid;position:absolute;bottom:5%;right:3%;box-shadow:0 8px 14px #1f321447}.harvest-fly{z-index:7;pointer-events:none;filter:drop-shadow(0 10px 12px #231f1b59);transform-origin:50%;width:auto;height:clamp(74px,9vw,120px);animation:.9s cubic-bezier(.22,.8,.28,1) forwards harvest-fly-to-basket;position:absolute;bottom:16%}.harvest-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.garden-tool-image{object-fit:contain;filter:drop-shadow(0 5px 6px #231f1b29);width:44px;height:44px}.garden-fullscreen .garden-tool.tool-seed{color:#6b4a1f}.care-action{left:var(--care-x,50%);top:var(--care-y,58%);z-index:8;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.watering-action{width:clamp(150px,18vw,250px);height:clamp(150px,18vw,250px)}.watering-action img{filter:drop-shadow(0 14px 18px #231f1b47);transform-origin:68% 54%;width:58%;animation:1.15s ease-in-out infinite water-can-pour;display:block;position:absolute;top:4%;right:4%;transform:rotate(-24deg)}.watering-action:before{content:"";filter:blur(1px);opacity:.78;transform-origin:50% 0;background:linear-gradient(#c1eeffb8,#5bb2dd00);border-radius:999px;width:50px;height:86px;animation:.74s ease-in-out infinite water-stream-pulse;position:absolute;top:45%;left:26%;transform:rotate(18deg)}.water-drop{opacity:0;width:8px;height:17px;transform:translate(var(--drop-x,0), 0) rotate(10deg);animation:water-drop-fall .74s ease-in var(--drop-delay,0s) infinite;background:linear-gradient(#d6f6fff2,#50abdcd1);border-radius:999px;position:absolute;top:49%;left:31%}.seed-action{width:clamp(130px,16vw,220px);height:clamp(120px,15vw,210px)}.seed-action img{filter:drop-shadow(0 12px 16px #231f1b40);width:28%;margin-inline-start:auto;animation:.76s ease-in-out infinite seed-hand-sprinkle;display:block;transform:rotate(-14deg)}.seed-grain{left:var(--seed-x,50%);opacity:0;width:9px;height:7px;transform:translate(var(--seed-drift,0), 0) rotate(18deg);animation:seed-grain-fall .82s ease-in var(--seed-delay,0s) infinite;background:radial-gradient(circle at 35% 30%,#d4a34c 0 30%,#8b5e25 68%,#4d3114 100%);border-radius:50%;position:absolute;top:36%;box-shadow:0 2px 4px #22140a42}.fertilizer-action{width:clamp(160px,19vw,250px);height:clamp(150px,18vw,240px)}.fertilizer-action:after{content:"";opacity:0;filter:blur(1px);background:radial-gradient(circle at 36% 38%,#d09f4875,#d09f4800 32%),radial-gradient(circle at 58%,#744e2257,#744e2200 42%);border-radius:50%;width:76%;height:40%;animation:.82s ease-out infinite fert-dust-bloom;position:absolute;top:54%;left:18%}.fertilizer-action img{filter:drop-shadow(0 14px 18px #231f1b42);width:42%;margin-inline-start:auto;animation:.72s ease-in-out infinite fertilizer-shake;display:block}.fert-grain{left:var(--grain-x,50%);opacity:0;width:10px;height:10px;animation:fert-grain-fall .82s ease-in var(--grain-delay,0s) infinite;background:radial-gradient(circle at 35% 35%,#d7a74a 0 28%,#875f2b 62%,#3d2512 100%);border-radius:50%;position:absolute;top:34%;box-shadow:0 0 0 2px #f6d77e2e,0 3px 5px #1e140a38}.is-watering .plant-sprite-stack{animation:.82s plant-drink}.is-fertilizing .plant-sprite-stack{animation:.82s plant-fed}.is-seeding .stage-seed .plant-sprite-stack,.is-seeding .stage-sprout .plant-sprite-stack{animation:.82s seed-settle}@keyframes sprout-emerge{0%{opacity:0;transform:translateY(26px)scale(.82)}64%{opacity:1;transform:translateY(-4px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dirt-puff{0%{opacity:0;transform:translate(-50%)scale(.45)}38%{opacity:.52;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1.35)}}@keyframes harvest-ready-ring{0%,to{opacity:.34;transform:translate(-50%,-50%)scale(.82)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}}@keyframes harvest-fly-to-basket{0%{opacity:0;transform:translate(-50%)scale(.62)rotate(-12deg)}18%{opacity:1}72%{opacity:1;transform:translate(calc(-50% + var(--harvest-fly-x,24vw)), -42px) scale(1) rotate(10deg)}to{opacity:0;transform:translate(calc(-50% + var(--harvest-fly-x,24vw)), 28px) scale(.42) rotate(24deg)}}@keyframes plant-ready{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.02)}}@keyframes water-can-pour{0%,to{transform:rotate(-24deg)translateY(0)}50%{transform:rotate(-31deg)translateY(4px)}}@keyframes water-drop-fall{0%{opacity:0;transform:translate(var(--drop-x,0), 0) scale(.62) rotate(10deg)}18%{opacity:1}to{opacity:0;transform:translate(var(--drop-x,0), 210px) scale(.82) rotate(10deg)}}@keyframes water-stream-pulse{0%,to{opacity:.42;transform:rotate(18deg)scaleY(.82)}45%{opacity:.82;transform:rotate(18deg)scaleY(1.08)}}@keyframes seed-hand-sprinkle{0%,to{transform:rotate(-14deg)translateY(0)}50%{transform:rotate(-22deg)translateY(4px)}}@keyframes seed-grain-fall{0%{opacity:0;transform:translate(var(--seed-drift,0), 0) scale(.55) rotate(18deg)}22%{opacity:.92}to{opacity:0;transform:translate(var(--seed-drift,0), 154px) scale(.92) rotate(76deg)}}@keyframes fertilizer-shake{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(8deg)translateY(4px)}}@keyframes fert-grain-fall{0%{opacity:0;transform:translate(var(--grain-drift,0), 0) scale(.55)}20%{opacity:.9}to{opacity:0;transform:translate(var(--grain-drift,0), 170px) scale(1)}}@keyframes fert-dust-bloom{0%{opacity:0;transform:translateY(10px)scale(.72)}38%{opacity:.74}to{opacity:0;transform:translateY(38px)scale(1.12)}}@keyframes plant-drink{0%,to{transform:translateY(0)scale(1)}42%{transform:translateY(-5px)scale(1.035)}}@keyframes plant-fed{0%,to{filter:none;transform:translateY(0)scale(1)}45%{filter:saturate(1.16)brightness(1.08);transform:translateY(-3px)scale(1.025)}}@keyframes seed-settle{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(4px)scale(.98)}}@keyframes basket-settle{0%,to{transform:translate(-50%)translateY(0)scale(1)}45%{transform:translate(-50%)translateY(-6px)scale(1.04)}}@media (width>=900px){.garden-fullscreen .garden-plant{width:clamp(84px,7vw,124px);height:clamp(120px,11vw,190px)}.garden-tool-image{width:54px;height:54px}}@media (width<=700px){.garden-bottombar{grid-template-columns:1fr}.garden-guide{order:2}.garden-action-panel{order:1}.garden-guide-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.garden-fullscreen .garden-cloud{width:150px;top:18%}.garden-fullscreen .garden-plant{width:46px;height:70px}.garden-fullscreen .garden-basket{width:48px;height:48px}.garden-fullscreen .garden-tool{min-width:64px;padding:7px 10px}.garden-fullscreen .garden-tool span{display:none}.garden-tool-image{width:38px;height:38px}.harvest-fly{height:76px}.watering-action{width:132px}.seed-action{width:124px;height:118px}.fertilizer-action{width:132px;height:126px}}@media (prefers-reduced-motion:reduce){.stage-sprout .plant-sprite-sprout,.stage-sprout .dirt-puff,.stage-ripe .plant-sprite-bigBush,.stage-ripe button.plant-sprite-action:after,.harvest-fly,.care-action,.watering-action:before,.water-drop,.seed-action img,.seed-grain,.fertilizer-action img,.fert-grain,.is-watering .plant-sprite-stack,.is-fertilizing .plant-sprite-stack,.is-seeding .plant-sprite-stack,.garden-fullscreen .garden-basket.has-crops{animation:none}.plant-stage-sprite{transition:none}}.cucumber-engine-page{background:#e5f2dd;justify-content:center;align-items:stretch;width:100%;height:auto;min-height:100dvh;padding:0 clamp(8px,1.6vw,24px);display:flex;overflow:auto}.cucumber-engine-frame{background:#fffaf0;flex-direction:column;width:min(100%,1360px);min-width:0;min-height:100dvh;display:flex;box-shadow:0 0 54px #2b1f1229}.cucumber-engine-topbar{padding:10px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));background:#fffaf0fa;border-bottom:1px solid #78623d29;flex:none;justify-content:space-between;align-items:center;gap:14px;display:flex}.cucumber-engine-title{text-align:right;min-width:0}.cucumber-engine-title h1{color:var(--ink);margin:0;font-size:clamp(20px,2.3vw,28px);line-height:1.1}.cucumber-engine-title p{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:800}.cucumber-engine-nav{align-items:center;gap:8px;display:flex}.cucumber-engine-stage{aspect-ratio:1180/620;background:#cbe9ef;flex:none;width:100%;min-height:0;position:relative;overflow:hidden}.cucumber-phaser-host{touch-action:none;position:absolute;inset:0;overflow:hidden}.cucumber-phaser-host canvas{display:block;width:100%!important;height:100%!important}.cucumber-engine-hud{padding:14px max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#fffaf0fa;border-top:1px solid #78623d29;flex:none;grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:center;gap:16px;display:grid}.cucumber-engine-controls{gap:12px;min-width:0;display:grid}.cucumber-engine-hud .garden-status{min-height:22px;font-size:16px}.cucumber-engine-hud .garden-controls{justify-content:center;gap:22px}.cucumber-engine-hud .garden-meters{flex:0 0 clamp(270px,25vw,380px);gap:12px;min-width:270px}.cucumber-engine-hud .garden-meter{grid-template-columns:72px minmax(180px,1fr);align-items:center;gap:10px}.cucumber-engine-hud .meter-label{font-size:16px}.cucumber-engine-hud .meter-track{min-width:180px;height:18px;box-shadow:inset 0 0 0 1px #5c442214}.cucumber-engine-hud .garden-tools{flex:0 auto;gap:14px}.cucumber-engine-hud .garden-tool{border-radius:12px;flex:none;min-width:124px;min-height:64px;padding:12px 18px;font-size:17px}.cucumber-engine-hud .garden-tool svg{width:30px;height:30px}.cucumber-engine-hud .tool-icon-water,.cucumber-engine-hud .tool-icon-fert{width:34px;height:34px}.cucumber-engine-hud .garden-guide{gap:8px;padding:12px 14px}.cucumber-engine-hud .garden-guide-head,.cucumber-engine-hud .garden-guide-current{font-size:15px}.cucumber-engine-hud .garden-guide-steps{font-size:12.5px}@media (width>=900px) and (height<=820px){.cucumber-engine-frame{width:min(100%,980px)}.cucumber-engine-topbar{padding-block:8px}.cucumber-engine-title h1{font-size:22px}.cucumber-engine-title p{margin-top:2px;font-size:12px}.cucumber-engine-hud{padding:10px 14px max(10px, env(safe-area-inset-bottom));grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:12px}.cucumber-engine-hud .garden-guide{padding:10px 12px}.cucumber-engine-hud .garden-guide-steps,.cucumber-engine-hud .garden-status{display:none}.cucumber-engine-hud .garden-controls{gap:14px}.cucumber-engine-hud .garden-meters{flex-basis:300px;min-width:240px}.cucumber-engine-hud .garden-meter{grid-template-columns:64px minmax(166px,1fr)}.cucumber-engine-hud .meter-track{min-width:166px;height:16px}.cucumber-engine-hud .garden-tools{gap:10px}.cucumber-engine-hud .garden-tool{min-width:108px;min-height:56px;padding:10px 14px;font-size:16px}}.tool-icon-water,.tool-icon-fert{filter:drop-shadow(0 5px 6px #231f1b24);background-position:50%;background-repeat:no-repeat;background-size:contain;width:28px;height:28px;display:inline-block}.tool-icon-water{background-image:url(/extras/mr-cucumber/tool-water.png)}.tool-icon-fert{background-image:url(/extras/mr-cucumber/tool-fert.png)}.garden-tool-drag-preview{z-index:9000;pointer-events:none;filter:drop-shadow(0 16px 18px #231f1b3d);background:0 0;border:0;place-items:center;width:96px;height:96px;margin:-48px 0 0 -48px;display:grid;position:fixed;transform:scale(1.02)rotate(-2deg)}.garden-tool-drag-preview .tool-icon-water,.garden-tool-drag-preview .tool-icon-fert{filter:none;width:82px;height:82px}.garden-tool-drag-preview .tool-preview-seed{object-fit:contain;opacity:1;filter:brightness(1.05)saturate(1.28)contrast(1.14)drop-shadow(0 13px 14px #19110961);width:98px;height:98px;transform:scale(1.04)}.garden-tool-drag-preview svg{color:#5c421c;filter:drop-shadow(0 12px 12px #231f1b33);width:62px;height:62px}.garden-tool-drag-preview.tool-seed{transform:scale(1.06)rotate(-4deg)}.garden-tool-drag-preview.tool-water{transform:scale(1.06)rotate(-14deg)}.garden-tool-drag-preview.tool-fertilizer{transform:scale(1.04)rotate(8deg)}@media (width<=780px){.cucumber-engine-topbar{padding-block:8px}.cucumber-engine-nav .hud-button span{display:none}.cucumber-engine-hud{grid-template-columns:1fr;gap:8px}.cucumber-engine-hud .garden-guide{order:2}.cucumber-engine-hud .garden-guide-steps{display:none}.cucumber-engine-hud .garden-controls{gap:10px}.cucumber-engine-hud .garden-tool{min-width:0;min-height:50px;padding:8px 14px;font-size:15px}}@media (width<=520px){.cucumber-engine-title h1{font-size:18px}.cucumber-engine-title p{display:none}.cucumber-engine-hud .garden-meters{flex-basis:100%;order:2;min-width:0}.cucumber-engine-hud .garden-tools{justify-content:center;width:100%}}
