@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#23332d;background:#f4f2ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;--ink: #23332d;--muted: #7c847d;--line: #e7e4db;--paper: #fffefa;--forest: #1e3d32;--forest-deep: #173329;--gold: #bb9861}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(ellipse at 9% 16%,rgba(221,214,195,.25),transparent 29rem),#f4f2ec}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgba(187,152,97,.48);outline-offset:3px}.app-shell{width:min(1120px,calc(100% - 64px));min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(35,51,45,.09)}.brand{color:var(--ink);display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:31px;height:31px;display:flex;align-items:end;gap:3px;padding:4px;border:1px solid rgba(35,51,45,.2);border-radius:9px;transform:rotate(-3deg)}.brand-mark i{display:block;width:6px;border-radius:5px 5px 2px 2px}.brand-mark i:nth-child(1){height:13px;background:#64806d}.brand-mark i:nth-child(2){height:19px;background:#c39c62}.brand-mark i:nth-child(3){height:10px;background:#9b6657}.brand-name{font-weight:700;letter-spacing:.035em;font-size:15px}.brand-name span{color:#93958d;font-size:9px;letter-spacing:.18em;margin-left:9px;font-weight:600}.connection-status{display:inline-flex;align-items:center;gap:8px;color:#92948e;font-size:12px}.connection-dot{width:7px;height:7px;border-radius:50%;background:#c9a66f}.connection-status.online .connection-dot{background:#5a8c6b;box-shadow:0 0 0 3px #5a8c6b1f}.eyebrow{display:inline-flex;align-items:center;gap:11px;color:#777e74;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow-line{width:26px;height:1px;background:var(--gold)}.gem{display:block;width:24px;height:24px;border-radius:8px 8px 11px 11px;transform:rotate(45deg) scale(.83);box-shadow:inset -3px -4px 7px #00000024,inset 2px 2px 5px #ffffff8c,0 4px 10px #1e2d251a}.gem-white{background:#dbd8c9}.gem-blue{background:#718ca0}.gem-green{background:#688873}.gem-red{background:#ad7062}.gem-black{background:#39443e}.field-label{margin-bottom:8px;color:#626c63;font-size:11px;font-weight:700;letter-spacing:.04em}.field-label-spaced{margin-top:20px}.text-input{width:100%;height:46px;border:1px solid #e5e3da;border-radius:8px;padding:0 14px;background:#fff;color:var(--ink);font-size:13px;transition:border-color .15s ease,box-shadow .15s ease}.text-input::placeholder{color:#b3b4ac}.text-input:focus{border-color:#9eab9f;box-shadow:0 0 0 3px #4e735b14;outline:none}.primary-button{width:100%;min-height:47px;display:flex;align-items:center;justify-content:center;gap:11px;margin-top:23px;border:0;border-radius:8px;background:var(--forest);color:#fffefa;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.04em;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.primary-button:hover:not(:disabled){background:var(--forest-deep);box-shadow:0 7px 16px #1c3a2d26;transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.48}.primary-button>span:last-child{font-size:16px;font-weight:400}.feedback{margin:12px 0 0;font-size:11px;line-height:1.5}.feedback-error{color:#a55046}.feedback-success{color:#477451}.spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-footer{padding:14px 0 22px;border-top:1px solid rgba(35,51,45,.08);color:#aaa99f;text-align:center;font-size:10px;letter-spacing:.06em}.guestbook{border-top:1px solid rgba(35,51,45,.09);padding:35px 5px 38px}.guestbook-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.guestbook-heading h2{margin:9px 0 5px;color:#26392f;font-family:"Noto Serif SC",Georgia,serif;font-size:27px;font-weight:600;letter-spacing:-.045em}.guestbook-heading p{margin:0;color:#8a8e85;font-size:11px;line-height:1.7}.guestbook-count{flex:0 0 auto;border:1px solid #e7e3d9;border-radius:20px;padding:7px 10px;color:#99958a;background:#fffefa8c;font-size:9px}.guestbook-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:14px;align-items:start}.guestbook-form,.guestbook-list{border:1px solid rgba(56,64,54,.09);border-radius:12px;background:#fffefad6}.guestbook-form{padding:18px}.guestbook-form .field-label span{color:#a3a39a;font-size:9px;font-weight:400}.guestbook-textarea{min-height:104px;height:auto;resize:vertical;padding:12px 14px;line-height:1.65}.guestbook-form-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;color:#a0a197;font-size:9px}.guestbook-submit{margin-top:13px;min-height:41px;font-size:10px}.guestbook-list{max-height:365px;overflow:auto;padding:0 16px;scrollbar-color:#d3d0c4 transparent;scrollbar-width:thin}.guestbook-entry{display:flex;gap:11px;border-bottom:1px solid #efede6;padding:14px 0}.guestbook-entry:last-child{border-bottom:0}.guestbook-entry-avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:#e8eee6;color:#536e58;font-size:10px;font-weight:700}.guestbook-entry:nth-child(3n+2) .guestbook-entry-avatar{background:#f0e9df;color:#987550}.guestbook-entry:nth-child(3n) .guestbook-entry-avatar{background:#e6ebf0;color:#60788d}.guestbook-entry-content{min-width:0;flex:1}.guestbook-entry-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.guestbook-entry-meta strong{color:#4c5b50;font-size:10px;font-weight:700}.guestbook-entry-meta time{flex:0 0 auto;margin-left:auto;color:#a2a39a;font-size:8px}.guestbook-delete{flex:0 0 auto;border:1px solid #e8cfc8;border-radius:6px;padding:2px 7px;color:#a5574a;background:#fbf3f0;font:inherit;font-size:8px;cursor:pointer}.guestbook-delete:hover:not(:disabled){background:#f6e3dd}.guestbook-delete:disabled{opacity:.55;cursor:default}.guestbook-admin{margin-bottom:14px;border:1px dashed #dcc9a6;border-radius:12px;padding:10px 12px;background:#fbf6ecb3}.guestbook-admin-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8a6f45;font-size:10px}.guestbook-admin-row .text-input{flex:1;max-width:260px;height:34px}.guestbook-admin-button{flex:0 0 auto;border:1px solid #d9c49d;border-radius:8px;padding:7px 11px;color:#7c6136;background:#fffdf8;font:inherit;font-size:10px;cursor:pointer}.guestbook-admin-button:disabled{opacity:.55;cursor:default}.guestbook-entry-content p{margin:6px 0 0;color:#70786f;font-size:10px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.guestbook-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a3a398;text-align:center}.guestbook-empty>span{color:#b79b68;font-size:21px}.guestbook-empty strong{margin-top:8px;color:#747d73;font-size:10px;font-weight:600}.guestbook-empty p{margin:5px 0 0;font-size:9px}@media(max-width:850px){.app-shell{width:min(680px,calc(100% - 40px))}.guestbook-layout{grid-template-columns:1fr}}@media(max-width:520px){.app-shell{width:calc(100% - 32px)}.topbar{height:72px}.brand-name span{display:none}.connection-status{font-size:10px}.gem{width:20px;height:20px}.page-footer{padding-bottom:17px}.guestbook{padding:27px 0 29px}.guestbook-heading{align-items:start}.guestbook-heading h2{font-size:23px}.guestbook-heading p{max-width:260px;font-size:10px}.guestbook-form{padding:15px}.guestbook-list{max-height:330px;padding:0 13px}}.hero{padding:54px 0 34px}.hero h1{margin:14px 0 12px;color:var(--forest);font-family:"Noto Serif SC",Georgia,serif;font-size:clamp(48px,7vw,84px);font-weight:700;letter-spacing:-.03em;line-height:1}.hero p{max-width:460px;margin:0;color:#7b8178;font-size:14px;line-height:1.8}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;padding-bottom:40px}.game-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(56,64,54,.1);border-radius:18px;color:inherit;background:#fffefa;box-shadow:0 16px 40px #2a30260f;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.game-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px #2a30261f}.game-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px 22px 22px}.game-card-tagline{color:#a08a66;font-size:11px;font-weight:700;letter-spacing:.1em}.game-card h2{margin:6px 0 8px;color:#26392f;font-family:"Noto Serif SC",Georgia,serif;font-size:26px;font-weight:700}.game-card p{margin:0 0 18px;color:#747b72;font-size:13px;line-height:1.75}.game-card-enter{margin-top:auto;border-radius:9px;padding:9px 16px;color:#fff;background:var(--forest);font-size:12px;font-weight:700}.game-art{height:150px;display:flex;align-items:center;justify-content:center;gap:14px;border-bottom:6px solid #6f4f37;background:radial-gradient(ellipse at 50% 40%,#2e5d48,#1d3e31 78%)}.game-art .gem{width:30px;height:30px}.mini-card{width:54px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #cfc9ba;border-radius:7px;color:#22302a;background:linear-gradient(170deg,#fff,#f4f0e6);box-shadow:0 4px 10px #0000004d;font-size:18px}.mini-card b{font-size:22px}.mini-card:nth-child(1){transform:rotate(-10deg) translateY(6px)}.mini-card:nth-child(3){transform:rotate(10deg) translateY(6px)}.mini-card.red{color:#c0392b}.mini-card.joker{color:#c0392b;font-size:12px;font-weight:800;line-height:1}.mini-card.joker span{width:min-content;word-break:break-all;text-align:center}.poker-chips{display:flex;flex-direction:column-reverse;margin-left:6px}.poker-chips i{width:34px;height:9px;margin-top:-2px;border:2px dashed rgba(255,255,255,.85);border-radius:50%;background:#c2563f;box-shadow:0 2px 3px #0000004d}.poker-chips i:nth-child(2){background:#3f6f9c}.poker-chips i:nth-child(3){background:#2f2f2f}
