:root{
  --paper:#d7c2a0;
  --paper-2:#ead9b8;
  --ink:#4a3323;
  --muted:#7d674e;
  --red:#c53c2e;
  --green:#4f8c67;
  --gold:#b9883e;
  --shadow:rgba(47,31,18,.25);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:#8f785d;color:var(--ink);font-family:Arial,"Noto Sans",system-ui,-apple-system,sans-serif}
body{overflow-x:hidden}
button{font:inherit}
.hidden{display:none!important}

.paper-texture{
  background:
    radial-gradient(circle at 20% 30%,rgba(255,255,255,.18) 0 1px,transparent 2px),
    radial-gradient(circle at 70% 70%,rgba(70,45,24,.08) 0 1px,transparent 2px),
    linear-gradient(135deg,var(--paper-2),var(--paper));
  background-size:19px 19px,27px 27px,100% 100%;
}

.lobby-page{width:min(100%,620px);min-height:100vh;margin:0 auto;background:#b49c78;padding-bottom:calc(18px + var(--safe-bottom));box-shadow:0 0 40px rgba(0,0,0,.22)}
.hero{padding:calc(16px + var(--safe-top)) 16px 16px;border-bottom:1px solid rgba(78,52,30,.15)}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:900;color:var(--red);opacity:.85}
h1{margin:4px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(26px,7vw,39px);line-height:1;color:#4d3525}

.account-btn{border:1px solid rgba(80,55,35,.23);background:rgba(255,248,229,.68);border-radius:999px;padding:6px 10px 6px 6px;display:flex;align-items:center;gap:8px;color:var(--ink);box-shadow:0 2px 0 rgba(72,48,30,.12);max-width:47%}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#6d5138;color:#fff6df;font-weight:900;flex:0 0 auto;overflow:hidden;background-size:cover;background-position:center}
.account-copy{text-align:left;min-width:0;display:grid}
.account-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-copy small{font-size:10px;color:var(--muted);margin-top:2px}

.dashboard-row{margin-top:18px;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}
.stat-pill,.share-pill{min-height:54px;border-radius:14px;border:1px solid rgba(80,55,35,.18);background:rgba(255,247,225,.72);display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;color:var(--ink);box-shadow:0 2px 0 rgba(80,55,35,.10)}
.stat-pill span:last-child,.share-pill span:last-child{display:grid;line-height:1.05;text-align:left}
.stat-pill small,.share-pill small{font-size:10px;color:var(--muted);font-weight:800}
.stat-pill strong,.share-pill strong{font-size:17px;margin-top:4px}
.stat-icon{font-size:20px}
.share-pill{border:0;background:linear-gradient(180deg,#3ca8e8,#198acb);color:white;cursor:pointer}
.share-pill small{color:rgba(255,255,255,.82)}
.share-pill:active{transform:translateY(1px)}

.progress-track{height:9px;background:rgba(82,61,42,.17);border-radius:999px;overflow:hidden;margin-top:13px;border:1px solid rgba(80,55,35,.10)}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#5a936b,#79aa79);transition:width .3s ease}

.book-area{padding:14px 10px 0}
.book{position:relative;border-radius:16px;min-height:690px;padding:18px 14px 20px;box-shadow:0 9px 20px var(--shadow),inset 0 0 0 2px rgba(255,255,255,.2);border:2px solid rgba(80,53,31,.25);overflow:hidden}
.book:before,.book:after{content:"";position:absolute;top:0;bottom:0;width:49%;pointer-events:none}
.book:before{left:0;background:linear-gradient(90deg,rgba(94,63,39,.08),transparent 16%,transparent 82%,rgba(94,63,39,.05))}
.book:after{right:0;background:linear-gradient(90deg,rgba(94,63,39,.05),transparent 18%,rgba(94,63,39,.08))}
.book-spine{position:absolute;z-index:1;top:0;bottom:0;left:50%;width:16px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(69,45,28,.13),rgba(255,255,255,.12),rgba(69,45,28,.10),transparent);pointer-events:none}
.level-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}

.level-card{position:relative;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit;min-width:0}
.level-thumb{position:relative;aspect-ratio:1.14/1;border:7px solid #f6edcf;border-bottom-width:18px;box-shadow:0 5px 9px rgba(62,42,27,.26),0 0 0 1px rgba(78,53,33,.18);background:#96826c;overflow:hidden;transform:rotate(var(--tilt,0deg));transition:transform .16s ease,filter .16s ease}
.level-card:nth-child(2n){--tilt:1.2deg}.level-card:nth-child(3n){--tilt:-1deg}.level-card:nth-child(5n){--tilt:.7deg}
.level-card:not(.locked):active .level-thumb{transform:rotate(var(--tilt,0deg)) scale(.98)}
.level-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.level-number{position:absolute;top:7px;left:7px;min-width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:rgba(55,39,27,.82);color:#fff4d8;font-size:13px;font-weight:900;border:2px solid rgba(255,255,255,.8)}
.level-state{position:absolute;right:7px;bottom:7px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;color:white;background:rgba(85,65,44,.78);border:1px solid rgba(255,255,255,.7)}
.level-card.completed .level-state{background:rgba(64,135,90,.92)}
.level-card.open .level-state{background:rgba(180,121,42,.94)}
.level-card.locked .level-thumb img{filter:grayscale(.85) brightness(.55) blur(.3px)}
.level-card.locked .level-thumb:after{content:"🔒";position:absolute;inset:0;display:grid;place-items:center;font-size:42px;background:rgba(59,44,31,.24);text-shadow:0 2px 4px rgba(0,0,0,.35)}
.level-title{font-family:Georgia,"Times New Roman",serif;font-size:13px;font-weight:800;line-height:1.2;text-align:center;margin:8px 4px 0;color:#57402d;min-height:31px}
.level-meta{text-align:center;font-size:10px;color:var(--muted);margin-top:2px}

.pager{display:flex;align-items:center;justify-content:center;gap:18px;padding:13px 0 0;color:#f7ecd2;font-weight:900}
.pager-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(71,51,34,.75);color:white;font-size:28px;line-height:1;box-shadow:0 2px 0 rgba(0,0,0,.2)}
.pager-btn:disabled{opacity:.35}

.toast{position:fixed;z-index:50;left:50%;bottom:calc(25px + var(--safe-bottom));transform:translate(-50%,12px);opacity:0;pointer-events:none;background:rgba(39,29,21,.94);color:#fff3d6;padding:10px 15px;border-radius:999px;font-weight:800;font-size:13px;transition:.2s;max-width:min(90vw,480px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

.modal{position:fixed;z-index:100;inset:0;background:rgba(32,24,18,.58);backdrop-filter:blur(3px);display:grid;place-items:center;padding:18px}
.modal-card{position:relative;width:min(100%,390px);border-radius:22px;background:#f2e2c4;border:2px solid rgba(89,60,37,.3);padding:28px 20px 22px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.modal-close{position:absolute;right:12px;top:10px;width:35px;height:35px;border-radius:50%;border:0;background:rgba(82,58,38,.12);color:#65492f;font-size:25px;line-height:1}
.modal-icon{font-size:42px;margin-bottom:4px}.modal-card h2{font-family:Georgia,"Times New Roman",serif;margin:4px 0 8px;font-size:25px}.modal-card p{margin:0 0 16px;color:#6f5a45;line-height:1.45;font-size:14px}
.login-btn{width:100%;min-height:48px;border-radius:14px;border:0;margin-top:9px;padding:10px 14px;font-weight:900;cursor:pointer}.login-btn.telegram{background:#249bd7;color:white}.login-btn.reward{background:#57936e;color:white}.login-btn.ghost{background:transparent;border:1px solid rgba(87,59,36,.25);color:#6a4e36}.login-btn:disabled{opacity:.5;cursor:not-allowed}
.google-login-host{margin-top:10px;min-height:44px;display:flex;justify-content:center;overflow:hidden}
.modal-note{font-size:11px!important;margin-top:13px!important;margin-bottom:0!important;color:#8d765e!important}
.share-counter{background:rgba(92,71,49,.09);border-radius:12px;padding:10px;font-size:14px;color:#674e36}

@media (max-width:390px){
  .dashboard-row{grid-template-columns:1fr 1fr}.share-pill{grid-column:1/-1}
  .book{min-height:650px;padding-left:10px;padding-right:10px}.level-grid{gap:18px 12px}.level-thumb{border-width:5px;border-bottom-width:15px}.level-title{font-size:12px}
}
