:root{font-family:"Pretendard Variable",Pretendard,-apple-system,sans-serif;color:#294d43;background:#e8f2e4;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{display:grid;place-items:center;background:radial-gradient(at 0 0,#fff8df,transparent 70%),#d9eee7}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b26b31;outline-offset:3px}.portal{width:100%;max-width:520px;height:100dvh;max-height:940px;padding:calc(18px + env(safe-area-inset-top,0px)) 22px calc(14px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;background:#f8f9ef;box-shadow:0 20px 80px #294d4320}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{font-size:14px;font-weight:800;display:flex;align-items:center;gap:8px;text-decoration:none}.brand img{width:30px;height:30px}.actions{display:flex;gap:7px}.icon-button{width:44px;height:44px;border:1px solid #b5c8aa;border-bottom:3px solid #a8b990;border-radius:14px;background:#fffcef;color:#52745d;display:grid;place-items:center;padding:10px}.icon-button:active{translate:0 2px}.icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.intro{padding:28px 0 20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7b9276;font-weight:750;margin:0 0 9px}h1{font-size:29px;letter-spacing:-1px;margin:0 0 9px}p{line-height:1.6}.intro>p:last-child{font-size:13px;color:#6c8066;margin:0}.game-list{min-height:0;flex:1;display:flex;flex-direction:column}.card{display:flex;flex-direction:column;flex:1;min-height:0;max-height:490px;border:1px solid #c1d0b2;border-radius:24px;overflow:hidden;background:#fffdf1;box-shadow:0 5px 0 #b9cbaa55}.cover{min-height:80px;flex:1;background:linear-gradient(#cde9df 55%,#9fd1c5 55%);display:grid;place-items:center;overflow:hidden}.cover svg{height:100%;max-height:230px;width:100%}.card-copy{flex-shrink:0;padding:20px}.tags{display:flex;gap:6px;font-size:10px;color:#52745d}.tags span{border-radius:10px;background:#e7edda;padding:4px 8px}h2{font-size:25px;margin:10px 0 6px;letter-spacing:-.6px}.card-copy p{font-size:13px;color:#708068;margin:0 0 17px}.play-button{display:flex;align-items:center;justify-content:space-between;min-height:48px;border:1px solid #326b51;border-bottom:4px solid #2b5f49;border-radius:14px;background:#4b8968;color:#fffdf0;font-size:14px;font-weight:750;text-decoration:none;padding:10px 17px}.play-button span{font-size:21px}.restore-link{font-size:11px;min-height:44px;display:flex;align-items:center;justify-content:center;color:#65805e}.portal-footer{flex-shrink:0;padding-top:14px;display:flex;justify-content:center;align-items:center;gap:16px;font-size:11px;color:#758264}.portal-footer a,.portal-footer button{min-height:44px;display:flex;align-items:center;border:0;background:none;color:inherit;font:inherit;padding:0}.site-dialog{width:calc(100% - 32px);max-width:360px;max-height:calc(100dvh - 28px);overflow:hidden;padding:24px;border:2px solid #a5b99a;border-radius:22px;background:#fffdf1;color:#294d43;text-align:center;box-shadow:0 15px 60px #294d4330}.site-dialog::backdrop{background:#173c35a0;backdrop-filter:blur(3px)}.site-dialog h2{font-size:21px;margin:8px 0 16px}.site-dialog p{font-size:13px;white-space:pre-line;line-height:1.65;margin:0 0 18px}.site-dialog input{width:100%;padding:12px 8px;font-size:12px;border:1px solid #b5c8aa;border-radius:10px;margin-bottom:18px;background:#f2f5e7;color:#365a4d}.site-dialog button{min-height:44px;width:100%;border:1px solid #326b51;border-radius:12px;background:#4b8968;color:#fffdf0;font:inherit;font-weight:700}.site-dialog [hidden]{display:none}@media(max-height:700px){.portal{padding:10px 18px}.intro{padding:14px 0}h1{font-size:24px}.card-copy{padding:13px 16px}.card-copy h2{font-size:22px;margin-top:6px}.card-copy p{margin-bottom:10px}.portal-footer{padding-top:2px}.restore-link{min-height:40px}.site-dialog{padding:20px}}
