@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');

:root{--paper:#f3ecd8;--paper-light:#faf6e9;--ink:#29312b;--muted:#77796a;--green:#315d48;--green-dark:#214535;--green-soft:#dce5d2;--line:#ded6bf;--red:#c45c4e;--gold:#d9a84e;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background-color:var(--paper);font-family:var(--sans);background-image:radial-gradient(#887a5012 .7px,transparent .7px);background-size:5px 5px}.screen-noise{pointer-events:none;position:fixed;inset:0;opacity:.16;background:linear-gradient(115deg,transparent 45%,#fff8 46%,transparent 47%);mix-blend-mode:screen}.app-shell{position:relative;max-width:1240px;min-height:100vh;margin:0 auto;padding:0 54px}.topbar{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9d0b8}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand>span:last-child{display:grid;gap:1px}.brand strong{font:500 12px var(--mono);letter-spacing:.15em}.brand small{font:400 9px var(--mono);letter-spacing:.17em;color:var(--muted)}.brand-mark{width:34px;height:34px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;position:relative;background:var(--paper-light)}.brand-mark:before{content:'';height:2px;position:absolute;inset:15px 0;background:var(--green)}.brand-mark span{width:8px;height:8px;border-radius:50%;background:var(--paper-light);border:2px solid var(--green);z-index:1}.topbar-note,.eyebrow{font:500 10px var(--mono);letter-spacing:.13em;color:var(--muted)}.topbar-note{display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;background:#75916a;border-radius:50%;box-shadow:0 0 0 3px #75916a20}
.auth-layout{min-height:calc(100vh - 89px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:54px;padding:46px 0}.auth-art{height:570px;position:relative;overflow:hidden;background:#cad4ae;border:1px solid #b9c09c;box-shadow:6px 7px 0 #d8ceb2}.sun{position:absolute;width:190px;height:190px;right:66px;top:65px;background:#f0d08b;border-radius:50%;opacity:.9}.mountain{position:absolute;bottom:125px;width:0;height:0;border-style:solid}.mountain-back{left:-40px;border-width:0 250px 250px;border-color:transparent transparent #9cac87}.mountain-front{right:-75px;bottom:110px;border-width:0 300px 300px;border-color:transparent transparent #839b76}.art-grass{position:absolute;bottom:0;background:#526f50}.grass-one{height:125px;left:-15px;right:0;clip-path:polygon(0 28%,14% 38%,28% 17%,43% 34%,57% 12%,72% 31%,88% 8%,100% 25%,100% 100%,0 100%)}.grass-two{height:82px;left:0;right:0;background:#405d46;clip-path:polygon(0 27%,10% 9%,21% 29%,34% 4%,48% 31%,61% 12%,77% 26%,88% 2%,100% 24%,100% 100%,0 100%)}.adventure-caption{position:absolute;left:48px;top:50px;z-index:2}.adventure-caption .eyebrow{color:#4a5f47}.adventure-caption h1{font:700 44px/1.06 var(--serif);letter-spacing:-.035em;margin:18px 0 13px;color:#293d32}.adventure-caption p{font-size:13px;line-height:1.6;color:#4e5f4c;max-width:245px}.pixel-creature{position:absolute;bottom:68px;left:50%;width:128px;height:143px;transform:translateX(-50%);z-index:3;image-rendering:pixelated}.creature-body{position:absolute;width:100px;height:85px;bottom:0;left:14px;background:#e6b83e;border-radius:48% 48% 40% 40%;box-shadow:inset -13px -7px 0 #c89931,0 10px 0 #354d3b}.ear{position:absolute;width:27px;height:61px;background:#e6b83e;top:0;border-radius:80% 15%;transform:rotate(-25deg)}.ear-left{left:14px}.ear-right{right:8px;transform:rotate(75deg)}.ear:after{content:'';position:absolute;inset:0 0 0 50%;background:#544844;border-radius:0 60% 0 0}.eye{position:absolute;z-index:2;width:9px;height:13px;background:#263c3d;border-radius:50%;bottom:46px}.eye-left{left:39px}.eye-right{right:29px}.cheek{position:absolute;z-index:2;background:#d65f4d;width:15px;height:11px;border-radius:50%;bottom:31px}.cheek-left{left:20px}.cheek-right{right:10px}.art-label{position:absolute;bottom:22px;left:26px;right:26px;display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.14em;color:#dbe3c9}.art-label span{letter-spacing:.4em}.auth-panel{max-width:410px;width:100%;justify-self:center;padding:18px 0}.panel-heading .eyebrow{color:#8c7956}.panel-heading h2{font:700 38px/1.1 var(--serif);letter-spacing:-.03em;margin:15px 0 10px}.panel-heading p{font-size:13px;color:var(--muted);margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:32px 0 25px}.auth-tab{border:0;background:none;padding:12px 6px;color:#8b897b;font:500 12px var(--mono);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tab.active{color:var(--green);border-color:var(--green)}#auth-form{display:grid}.auth-panel label{font:500 11px var(--mono);letter-spacing:.04em;margin:0 0 8px}.auth-panel input{height:47px;padding:0 14px;border:1px solid #d5cdb6;background:#faf7ed;border-radius:3px;margin-bottom:18px;outline:0;color:var(--ink);font:13px var(--sans)}.auth-panel input:focus{border-color:#68836d;box-shadow:0 0 0 3px #315d4814}.auth-panel input::placeholder{color:#b0aa99}.button{height:48px;padding:0 18px;border:0;border-radius:3px;font:600 12px var(--mono);letter-spacing:.02em;cursor:pointer;transition:transform .14s,background .14s}.button:hover{transform:translateY(-2px)}.button:disabled{cursor:default;opacity:.58;transform:none}.button-primary{background:var(--green);color:#fffdf3;box-shadow:0 3px 0 var(--green-dark)}.button-primary:hover{background:#3b6b53}.button span{font-size:16px;margin-left:16px}.auth-submit{margin-top:2px;text-align:left;display:flex;justify-content:space-between;align-items:center}.privacy-note{font:10px var(--mono);color:#888677;margin-top:26px}.privacy-note span{margin-right:8px;color:#9c8a60}.form-message{font-size:12px;line-height:1.4;color:#a6453b;min-height:17px;margin:-8px 0 10px}
[hidden]{display:none!important}.game-view{padding-top:47px}.welcome-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.welcome-row h1{font:700 34px var(--serif);margin:8px 0 5px;letter-spacing:-.025em}.welcome-row>div>p{font-size:13px;color:var(--muted);margin:0}.welcome-row .eyebrow{color:#8c7956}.quiet-button{border:1px solid #d4cbb4;background:#f7f1e1;color:#566252;padding:10px 13px;font:10px var(--mono);cursor:pointer}.quiet-button span{margin-left:8px}.game-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:22px;align-items:stretch}.daily-card,.collection-card{border:1px solid #d8cfb8;background:var(--paper-light);box-shadow:4px 5px 0 #e3dac4}.daily-card{position:relative;min-height:505px;padding:25px 28px 23px;overflow:hidden}.daily-topline{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.daily-topline .eyebrow,.collection-heading .eyebrow{color:#8c7956}.date-pill{font:10px var(--mono);color:#777764;border:1px solid #e0d7c0;padding:6px 9px;background:#f5efdf}.daily-copy{position:relative;z-index:2;margin-top:34px}.daily-copy h2{font:700 34px/1.12 var(--serif);letter-spacing:-.03em;margin:0 0 11px}.daily-copy p{max-width:295px;color:#747565;font-size:12px;line-height:1.6;margin:0}.field-art{position:absolute;inset:102px 0 111px 0;overflow:hidden}.field-sun{position:absolute;top:14px;right:62px;width:76px;height:76px;border-radius:50%;background:#f1d58e}.field-hill{position:absolute;width:125%;height:180px;left:-10%;bottom:-33px;border-radius:50% 50% 0 0/55% 55% 0 0}.hill-a{background:#b7c49a;transform:rotate(-7deg);bottom:-8px}.hill-b{background:#869e78;transform:rotate(9deg);bottom:-77px;left:-15%}.field-path{position:absolute;bottom:-70px;left:43%;width:125px;height:210px;border-radius:48%;background:#d5c393;transform:rotate(-18deg);opacity:.75}.field-bush{position:absolute;z-index:1;bottom:53px;width:56px;height:46px;border-radius:52% 45% 15% 15%;background:#5e805a;box-shadow:inset -9px -6px #4d704f}.bush-a{left:31%}.bush-b{right:16%;bottom:31px;transform:scale(.72)}.field-spark{position:absolute;z-index:2;right:26%;bottom:112px;color:#fff4ca;font-size:27px;text-shadow:0 1px 7px white;animation:spark 2.4s ease-in-out infinite}@keyframes spark{50%{transform:scale(.7) rotate(35deg);opacity:.45}}.daily-action{position:absolute;z-index:3;bottom:23px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center}.daily-hint{display:flex;align-items:center;gap:11px;color:#888677;font:10px/1.5 var(--mono)}.daily-hint strong{color:#3f5745;font-weight:500}.hint-icon{font-size:18px;color:#b99c59}.daily-action .button{min-width:195px;display:flex;align-items:center;justify-content:space-between}.collection-card{min-height:505px;padding:23px 20px 15px;display:flex;flex-direction:column}.collection-heading{display:flex;justify-content:space-between;align-items:center;padding:0 1px 17px;border-bottom:1px solid #e6deca}.collection-heading h2{font:700 25px var(--serif);margin:5px 0 0}.count-badge{width:34px;height:34px;border-radius:50%;background:#e7eadb;color:var(--green);display:grid;place-items:center;font:11px var(--mono)}.collection-empty{display:flex;flex:1;min-height:310px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 12px}.empty-ball{width:49px;height:49px;border:1px solid #c9c1aa;border-radius:50%;position:relative;background:linear-gradient(#e6e0cf 0 47%,#c85f50 48% 100%);opacity:.72;margin-bottom:17px}.empty-ball:after{content:'';position:absolute;left:-1px;right:-1px;top:22px;height:3px;background:#837a68}.empty-ball span{position:absolute;z-index:1;left:17px;top:17px;width:14px;height:14px;border:2px solid #837a68;border-radius:50%;background:var(--paper-light)}.collection-empty h3{font:600 17px var(--serif);margin:0 0 8px}.collection-empty p{font-size:11px;line-height:1.6;color:#898879;max-width:220px;margin:0}.collection-footer{border-top:1px solid #e6deca;padding:12px 1px 0;color:#8c8a7a;font:9px var(--mono);letter-spacing:.02em}.mini-star{color:#b69855;font-size:14px;margin-right:5px}.collection-list{display:flex;flex-direction:column;overflow:auto;max-height:388px}.pokemon-row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid #e9e2d0;animation:appear .25s ease-out}.pokemon-row:last-child{border-bottom:0}.pokemon-avatar{height:48px;width:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--pokemon-color) 23%,#f8f2df);position:relative;overflow:hidden}.pokemon-avatar img{width:46px;height:46px;image-rendering:pixelated;object-fit:contain;z-index:1}.pokemon-avatar:after{content:'✦';position:absolute;font-size:22px;color:var(--pokemon-color);opacity:.8}.pokemon-meta{min-width:0;flex:1}.pokemon-meta h3{font:600 13px var(--sans);margin:0 0 5px}.pokemon-meta p{font:9px var(--mono);color:#858574;margin:0}.pokemon-date{align-self:flex-start;color:#9a9787;font:9px var(--mono);padding-top:4px}.capture-result{position:absolute;inset:77px 18px 83px;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(250,246,233,.95);animation:appear .3s ease-out}.result-spark{font-size:19px;color:#b1904c}.result-avatar{width:112px;height:112px;margin:10px 0 6px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--pokemon-color) 23%,#f8f2df);position:relative;overflow:hidden}.result-avatar img{height:102px;width:102px;image-rendering:pixelated;z-index:1}.result-avatar:after{content:'✦';position:absolute;color:var(--pokemon-color);font-size:50px}.capture-result .eyebrow{color:#8d805d}.capture-result h3{font:700 28px var(--serif);margin:5px 0}.capture-result p{font-size:11px;color:#818173;margin:0 0 15px}.result-close{border:1px solid #d8cfb8;background:transparent;color:#586451;padding:8px 15px;font:10px var(--mono);cursor:pointer}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.game-footer{display:flex;justify-content:space-between;border-top:1px solid #d9d0b8;margin-top:27px;padding:14px 0 25px;color:#999582;font:9px var(--mono);letter-spacing:.1em}
@media(max-width:950px){.app-shell{padding:0 28px}.auth-layout{gap:34px}.auth-art{height:520px}.adventure-caption{left:30px}.adventure-caption h1{font-size:38px}.game-grid{grid-template-columns:1.2fr .8fr}.daily-card{padding-left:22px;padding-right:22px}.daily-action{left:22px;right:22px}.daily-action .button{min-width:174px}}
@media(max-width:720px){.app-shell{padding:0 18px}.topbar{height:72px}.topbar-note{font-size:8px}.auth-layout{display:block;padding:25px 0 35px}.auth-art{height:260px;margin-bottom:28px}.sun{width:120px;height:120px;right:45px;top:24px}.adventure-caption{left:24px;top:24px}.adventure-caption h1{font-size:29px;margin:12px 0 6px}.adventure-caption p{font-size:10px;max-width:190px}.pixel-creature{transform:translateX(0) scale(.7);transform-origin:bottom center;left:auto;right:42px;bottom:17px}.mountain-back{bottom:70px}.mountain-front{bottom:62px}.grass-one{height:74px}.grass-two{height:49px}.art-label{bottom:11px}.auth-panel{max-width:470px}.panel-heading h2{font-size:32px}.auth-tabs{margin:23px 0 20px}.welcome-row{align-items:flex-start;gap:14px}.welcome-row h1{font-size:29px}.welcome-row>div>p{max-width:255px;line-height:1.5}.game-view{padding-top:28px}.game-grid{grid-template-columns:1fr}.daily-card{min-height:470px}.collection-card{min-height:300px}.collection-empty{min-height:210px}.collection-list{max-height:280px}.game-footer{font-size:7px;letter-spacing:.04em}.game-footer span:last-child{text-align:right;max-width:55%}}
@media(max-width:400px){.topbar-note{letter-spacing:.06em}.daily-copy h2{font-size:30px}.daily-action .button{min-width:160px;padding:0 12px}.daily-hint{gap:6px;font-size:9px}}
