*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,system-ui,sans-serif;color:#271606;background-color:#fbf0dc;background-image:radial-gradient(1200px 800px at 70% -10%,rgba(44,104,68,.07),transparent 60%),radial-gradient(900px 600px at 0% 100%,rgba(26,85,122,.07),transparent 55%),linear-gradient(180deg,#fbf0dc,#f2e3c4 60%,#fbf0dc);background-attachment:fixed;min-height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}ol,ul{list-style:none;margin:0;padding:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.app{max-width:560px;margin:0 auto;min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom) + var(--ad-banner-height, 0px));display:flex;flex-direction:column;gap:10px}.app__header{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 4px 8px;border-bottom:1px solid rgba(200,174,130,.5);margin-bottom:4px}.app__title{display:inline-flex;align-items:center;gap:10px;margin-left:-14px;font-size:22px;font-weight:700;letter-spacing:.01em;background:linear-gradient(135deg,#8b5e0e,#2c6844 55%,#1a557a);-webkit-background-clip:text;background-clip:text;color:transparent}.app__title-mark{height:34px}.app__header-row{display:flex;align-items:center;justify-content:space-between;align-self:stretch;margin:0 0 0 38px}.app__subtitle{margin:0;color:#8c6848;font-size:16px;letter-spacing:.04em}.app__history-btn{font-size:16px;font-weight:700;color:#2c6844;background:#2c684414;border:1px solid rgba(44,104,68,.3);border-radius:999px;padding:3px 10px;cursor:pointer;letter-spacing:.04em;transition:background .15s ease,border-color .15s ease}.app__history-btn:hover,.app__history-btn:focus-visible{background:#2c684426;border-color:#2c684480;outline:none}.app__main{flex:1;display:flex;flex-direction:column}.app__footer{color:#8c6848;text-align:center;padding-top:8px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:8px}.app__footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px}.app__footer-links a{color:#8c6848;text-decoration:underline;text-underline-offset:2px}.app__footer-links a:hover,.app__footer-links a:focus-visible{color:#5a3a20;outline:none}.error{background:#8c1c1c14;border:1px solid rgba(140,28,28,.28);color:#8c1c1c;border-radius:14px;padding:16px;font-size:16px}.patterns{display:flex;flex-direction:column;gap:10px}.patterns__heading{font-size:28px;font-weight:800;margin:0;letter-spacing:.02em;color:#271606;animation:cardAppear .4s ease-out both}.patterns__lead{color:#5a3a20;font-size:16px;margin:0 0 4px;animation:cardAppear .4s ease-out .06s both}.patterns__list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.patterns__card{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;position:relative;overflow:hidden;isolation:isolate;width:100%;height:100%;min-height:78px;text-align:left;padding:18px 16px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;transition:transform .12s ease,box-shadow .18s ease,border-color .18s ease}.patterns__card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:center/cover no-repeat;opacity:.9;transition:opacity .18s ease}.patterns__card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(to right,#f8eed7f2,#f8eed7c7 46%,#f8eed775)}.patterns__card:hover,.patterns__card:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 1px #2c684459,0 12px 32px -8px #1a557a33;border-color:#2c684480;outline:none}.patterns__card:hover:before,.patterns__card:focus-visible:before{opacity:1}.patterns__card:active{transform:scale(.94)}.patterns__card:first-child{grid-column:1/-1;min-height:104px;border-color:#2c684461}.patterns__card--all:before{background-image:url(/assets/images/patterns/all.svg)}.patterns__card--area:before{background-image:url(/assets/images/patterns/area.svg)}.patterns__card--name:before{background-image:url(/assets/images/patterns/name.svg)}.patterns__card--flag:before{background-image:url(/assets/images/patterns/flag.svg)}.patterns__card--map:before{background-image:url(/assets/images/patterns/map.svg)}.patterns__card--heritage:before{background-image:url(/assets/images/patterns/heritage.svg)}.patterns__card--nature:before{background-image:url(/assets/images/patterns/nature.svg)}.patterns__card--geography:before{background-image:url(/assets/images/patterns/geography.svg)}.patterns__card-name{position:relative;z-index:1;font-size:18px;font-weight:700;color:#271606;text-shadow:0 1px 2px rgba(248,238,215,.85)}.patterns__card-meta{position:relative;z-index:1;color:#8c6848;font-size:16px;white-space:nowrap}.patterns__card-meta strong{display:block;color:#2c6844;font-weight:600}.difficulty{display:flex;flex-direction:column;gap:18px}.difficulty__header{display:flex;align-items:center;gap:14px}.difficulty__back{flex:0 0 auto}.difficulty__heading{font-size:24px;font-weight:800;margin:0;color:#271606;animation:cardAppear .4s ease-out both}.difficulty__lead{color:#5a3a20;font-size:16px;margin:0;animation:cardAppear .4s ease-out .06s both}.difficulty__pattern{color:#2c6844;font-weight:700;background:#2c684414;border:1px solid rgba(44,104,68,.3);padding:2px 10px;border-radius:999px}.difficulty__list{display:flex;flex-direction:column;gap:12px}.difficulty__card{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;width:100%;text-align:left;padding:18px;display:flex;flex-direction:column;gap:6px;border-left:4px solid rgba(200,174,130,.6);transition:transform .12s ease,box-shadow .18s ease,border-color .18s ease}.difficulty__card:hover,.difficulty__card:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 1px #2c684459,0 12px 32px -8px #1a557a33;outline:none}.difficulty__card:active{transform:scale(.96)}.difficulty__card--easy{border-left-color:#1b5c38}.difficulty__card--normal{border-left-color:#9c6e0a}.difficulty__card--hard{border-left-color:#8c1c1c}.difficulty__card-name{font-size:20px;font-weight:800;letter-spacing:.04em;color:#271606}.difficulty__card--easy .difficulty__card-name{color:#1b5c38}.difficulty__card--normal .difficulty__card-name{color:#9c6e0a}.difficulty__card--hard .difficulty__card-name{color:#8c1c1c}.difficulty__card-desc{font-size:16px;color:#8c6848}.quiz{display:flex;flex-direction:column;gap:10px;animation:phaseIn .38s ease-out both}.quiz__top{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.quiz__pattern{font-size:16px;letter-spacing:.08em;color:#2c6844;background:#2c684414;border:1px solid rgba(44,104,68,.3);padding:4px 10px;border-radius:999px;font-weight:600}.quiz__progress{display:inline-flex;align-items:baseline;gap:4px;color:#5a3a20;font-variant-numeric:tabular-nums}.quiz__progress-current{font-size:22px;font-weight:700;color:#271606;display:inline-block;animation:scoreNumPop .38s cubic-bezier(.34,1.56,.64,1) both}.quiz__progress-sep{color:#8c6848}.quiz__progress-total{font-size:16px}.quiz__card{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:20px 18px;display:flex;flex-direction:column;gap:16px;animation:quizCardIn .32s cubic-bezier(.22,1,.36,1) both}.quiz__media{margin:0;border-radius:14px;overflow:hidden;background:#c8ae8240;border:1px solid rgba(200,174,130,.4)}.quiz__media img{width:100%;max-height:240px;object-fit:contain;display:block}.quiz__media-loading{display:flex;align-items:center;justify-content:center;height:200px;color:#8c6848;font-size:16px;letter-spacing:.04em}.quiz__question{font-size:19px;line-height:1.55;margin:0;font-weight:700;color:#271606}.quiz__status{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.quiz__score{margin:0;font-variant-numeric:tabular-nums;color:#5a3a20}.quiz__score strong{font-size:22px;color:#2c6844;font-weight:800;margin-right:4px;display:inline-block;animation:scoreNumPop .4s cubic-bezier(.34,1.56,.64,1) both}.quiz__footer{display:flex;justify-content:center;padding-top:4px}.quiz__exit-btn{font-size:16px;color:#8c6848;background:none;border:none;padding:6px 12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .15s ease}.quiz__exit-btn:hover,.quiz__exit-btn:focus-visible{color:#5a3a20;outline:none}.answers{display:flex;flex-direction:column;gap:10px}.answers--blocks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer__btn{position:relative;width:100%;min-height:56px;padding:12px 14px;text-align:left;font-size:16px;line-height:1.4;color:#271606;background:#fbf0dcb3;border:1px solid rgba(200,174,130,.45);border-radius:14px;transition:background .15s ease,transform 80ms ease,border-color .18s ease}.answer__btn img{display:inline-block;max-height:56px;vertical-align:middle}.answer__btn:hover:not(:disabled),.answer__btn:focus-visible{background:#2c684414;border-color:#2c684466;outline:none}.answer__btn:active:not(:disabled){transform:scale(.95)}.answer__btn:disabled{cursor:default}.answer--clicked .answer__btn{border-color:#c8ae82b3;background:#e6d0a899}.answer--correct .answer__btn{background:#1b5c381a;border-color:#1b5c3880;color:#1b5c38;font-weight:600;animation:correctPulse .45s ease-out both}.answer--correct .answer__btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;animation:ringBurst .55s ease-out forwards;pointer-events:none}.answer__correct-label,.answer__wrong-label{position:absolute;top:6px;right:8px;font-size:16px;font-weight:700;letter-spacing:.06em;color:#f8edcc;padding:2px 8px;border-radius:999px;pointer-events:none}.answer__correct-label{background:#1b5c38}.answer__wrong-label{background:#8c1c1c}.answer--wrong .answer__btn{background:#8c1c1c14;border-color:#8c1c1c73;color:#8c1c1c;animation:wrongShake .45s ease-in-out both}.answers--blocks .answer__btn{min-height:92px;text-align:center;display:flex;align-items:center;justify-content:center}.answers--blocks .answer__btn img{max-height:inherit}.status-dots{display:flex;gap:6px;flex-wrap:wrap}.status-dots__dot{width:12px;height:12px;border-radius:50%;background:#c8ae8280}.status-dots__dot--correct{background:#1b5c38;box-shadow:0 0 6px #1b5c3880;animation:dotPop .4s cubic-bezier(.34,1.56,.64,1) both}.status-dots__dot--wrong{background:#8c1c1c;box-shadow:0 0 6px #8c1c1c73;animation:dotPop .38s cubic-bezier(.34,1.56,.64,1) both}.verdict{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-left-width:4px;border-left-style:solid;animation:verdictBounce .5s cubic-bezier(.34,1.56,.64,1) both}.verdict .btn{animation:phaseIn .3s ease-out .2s both}.verdict--correct{border-left-color:#1b5c38;background:linear-gradient(135deg,#1b5c381a,#f8eed7f2)}.verdict--wrong{border-left-color:#8c1c1c;background:linear-gradient(135deg,#8c1c1c1a,#f8eed7f2)}.verdict__label{margin:0;font-size:18px;font-weight:800;display:inline-flex;align-items:center;gap:10px}.verdict__report-flag{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:#8c1c1c;background:#8c1c1c1a;border:1px solid rgba(140,28,28,.35);transition:background .15s ease,transform 80ms ease}.verdict__report-flag:hover,.verdict__report-flag:focus-visible{background:#8c1c1c33;outline:none}.verdict__report-flag:active{transform:scale(.9)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;font-size:16px;font-weight:700;border-radius:999px;transition:transform 80ms ease,box-shadow .18s ease,filter .18s ease}.btn--primary{background:linear-gradient(135deg,#2c6844,#1a557a);color:#f8edcc;box-shadow:0 8px 24px -8px #2c684473}.btn--primary:hover,.btn--primary:focus-visible{filter:brightness(1.1);outline:none}.btn--primary:active{transform:scale(.94)}.btn--danger{background:linear-gradient(135deg,#8c1c1c,#8c1c1cbf);color:#f8edcc;box-shadow:0 6px 20px -6px #8c1c1c66}.btn--danger:hover,.btn--danger:focus-visible{filter:brightness(1.1);outline:none}.btn--danger:active{transform:scale(.94)}.result{display:flex;flex-direction:column;gap:16px;animation:phaseIn .4s ease-out both}.result__heading{font-size:26px;font-weight:800;margin:4px 0 0;color:#271606}.result__score{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:24px;text-align:center;display:flex;flex-direction:column;gap:8px;animation:scoreCardIn .52s cubic-bezier(.34,1.56,.64,1) .12s both}.result__score--gold{border-color:#9c6e0a8c;box-shadow:0 0 0 1px #9c6e0a4d,0 16px 40px -10px #9c6e0a40}.result__score--silver{border-color:#6e5f4b73}.result__score--bronze{border-color:#64441e80}.result__total{margin:0;font-variant-numeric:tabular-nums}.result__total strong{font-size:48px;color:#2c6844;font-weight:800;display:inline-block}.result__total strong.result__total-num--rolling{color:#9c6e0a;animation:scoreTick .18s ease-out both}.result__total strong.result__total-num--landed{animation:scoreLand .7s cubic-bezier(.22,1.6,.36,1) both}.result__total span{color:#5a3a20;margin-left:6px;font-size:16px}.result__accuracy{margin:0;color:#5a3a20}.result__accuracy strong{color:#271606;font-size:20px}.result__judge{margin:0;color:#271606;font-weight:700}.result__list{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:8px 4px;animation:phaseIn .4s ease-out .28s both}.result__item{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:10px 14px;font-size:16px;font-weight:700;border-bottom:1px solid rgba(200,174,130,.3);animation:resultRise .5s cubic-bezier(.22,1,.36,1) both}.result__item:last-child{border-bottom:0}.result__item--correct .result__verdict,.result__item--correct .result__answer{color:#1b5c38;font-weight:700}.result__item--wrong .result__verdict,.result__item--wrong .result__answer{color:#8c1c1c;font-weight:700}.result__index{color:#8c6848}.result__answer{color:#5a3a20}.result__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;animation:phaseIn .4s ease-out .46s both}.result__actions .btn{padding:0 24px;min-height:48px;font-size:16px}@keyframes scoreTick{0%{transform:scale(1.35);opacity:.5}55%{transform:scale(.94)}to{transform:scale(1);opacity:1}}@keyframes scoreLand{0%{transform:scale(1);text-shadow:0 0 0 rgba(156,110,10,0)}30%{transform:scale(1.55);text-shadow:0 0 28px rgba(156,110,10,.85)}55%{transform:scale(.9)}75%{transform:scale(1.1)}to{transform:scale(1);text-shadow:0 0 0 rgba(156,110,10,0)}}@keyframes resultRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.result__list .result__item:nth-child(1){animation-delay:.35s}.result__list .result__item:nth-child(2){animation-delay:.41s}.result__list .result__item:nth-child(3){animation-delay:.47s}.result__list .result__item:nth-child(4){animation-delay:.53s}.result__list .result__item:nth-child(5){animation-delay:.59s}.result__list .result__item:nth-child(6){animation-delay:.65s}.result__list .result__item:nth-child(7){animation-delay:.71s}.result__list .result__item:nth-child(8){animation-delay:.77s}.result__list .result__item:nth-child(9){animation-delay:.83s}.result__list .result__item:nth-child(10){animation-delay:.89s}.result__list .result__item:nth-child(11){animation-delay:.95s}.result__list .result__item:nth-child(12){animation-delay:1.01s}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px}.loading__spinner{display:flex;gap:8px}.loading__spinner span{width:14px;height:14px;border-radius:50%;background:#2c6844;animation:pulse 1.2s ease-in-out infinite}.loading__spinner span:nth-child(2){animation-delay:.15s;background:#1a557a}.loading__spinner span:nth-child(3){animation-delay:.3s;background:#8b5e0e}.loading__text{color:#5a3a20;font-size:16px}@keyframes pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes phaseIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes quizCardIn{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:none}}@keyframes correctPulse{0%{transform:scale(1)}30%{transform:scale(1.06)}65%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes ringBurst{0%{box-shadow:0 0 #1b5c38b8}to{box-shadow:0 0 0 24px #1b5c3800}}@keyframes wrongShake{0%,to{transform:translate(0)}18%{transform:translate(-10px) rotate(-.5deg)}36%{transform:translate(10px) rotate(.5deg)}54%{transform:translate(-7px)}72%{transform:translate(6px)}90%{transform:translate(-2px)}}@keyframes verdictBounce{0%{opacity:0;transform:translateY(20px) scale(.92)}55%{opacity:1;transform:translateY(-5px) scale(1.02)}78%{transform:translateY(3px) scale(.99)}to{opacity:1;transform:none}}@keyframes dotPop{0%{transform:scale(0)}55%{transform:scale(1.5)}75%{transform:scale(.84)}to{transform:scale(1)}}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:none}}@keyframes scoreNumPop{0%{transform:scale(1)}35%{transform:scale(1.45)}65%{transform:scale(.9)}to{transform:scale(1)}}@keyframes scoreCardIn{0%{opacity:0;transform:scale(.82) translateY(-12px)}60%{transform:scale(1.04) translateY(0)}to{opacity:1;transform:none}}.history{display:flex;flex-direction:column;gap:20px;animation:phaseIn .38s ease-out both}.history__header{display:flex;align-items:center;gap:14px}.history__title{font-size:22px;font-weight:800;margin:0}.history__empty{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:40px 24px;text-align:center;color:#5a3a20;font-size:16px}.history__empty p{margin:4px 0}.history__charts{display:grid;grid-template-columns:1fr;gap:12px}.history__chart-card{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:12px 8px 8px;text-align:center}.history__chart-title{margin:0 0 4px;text-align:center;font-size:16px;font-weight:700;letter-spacing:.06em;color:#5a3a20}.history__sessions{display:flex;flex-direction:column;gap:10px}.history__session{background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;overflow:hidden}.history__session-head{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:10px 14px;background:#c8ae822e;border-bottom:1px solid rgba(200,174,130,.3);text-align:left;cursor:pointer;transition:background .12s ease}.history__session-head:hover{background:#c8ae8247}.history__session-date{font-size:16px;color:#8c6848;white-space:nowrap}.history__session-genre{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.history__session-pattern{font-size:16px;font-weight:700;white-space:nowrap}.history__session-difficulty{font-size:16px;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:999px;white-space:nowrap;border:1px solid currentColor}.history__session-difficulty--easy{color:#1b5c38;background:#1b5c381a}.history__session-difficulty--normal{color:#9c6e0a;background:#9c6e0a1f}.history__session-difficulty--hard{color:#8c1c1c;background:#8c1c1c1a}.history__session-score{font-size:16px;font-weight:700;color:#2c6844;white-space:nowrap}.history__session-chevron{font-size:16px;color:#8c6848}.history__attempts{display:flex;flex-direction:column}.history__attempt{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:start;padding:10px 14px;border-bottom:1px solid rgba(200,174,130,.2);font-size:16px}.history__attempt:last-child{border-bottom:0}.history__attempt--correct .history__attempt-badge{color:#1b5c38}.history__attempt--wrong .history__attempt-badge{color:#8c1c1c}.history__attempt--correct .history__attempt-answer span:last-child{color:#1b5c38;font-weight:600}.history__attempt--wrong .history__attempt-answer span:last-child{color:#8c1c1c}.history__attempt-badge{font-size:18px;font-weight:700;line-height:1.2;text-align:center}.history__attempt-body{display:flex;flex-direction:column;gap:3px}.history__attempt-question{margin:0;color:#271606;font-size:16px;line-height:1.45}.history__attempt-answer,.history__attempt-correct{margin:0;display:flex;gap:4px;align-items:baseline;flex-wrap:wrap}.history__attempt-correct span:last-child{color:#1b5c38;font-weight:600}.history__attempt-label{color:#8c6848;flex-shrink:0}.history__attempt-genre{font-size:16px;color:#8c6848;background:#c8ae8259;border-radius:4px;padding:2px 6px;white-space:nowrap;align-self:start;margin-top:2px}.btn--ghost{color:#5a3a20;background:#c8ae8240;border:1px solid rgba(200,174,130,.5);font-size:16px;min-height:36px;padding:0 14px}.btn--ghost:hover,.btn--ghost:focus-visible{background:#c8ae8266;outline:none}@keyframes exitConfirmIn{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:none}}.exit-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}.exit-confirm__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#27160680;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.exit-confirm__content{position:relative;background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:28px 24px 20px;width:100%;max-width:340px;text-align:center;animation:exitConfirmIn .28s cubic-bezier(.34,1.4,.64,1) both}.exit-confirm__message{margin:0 0 6px;font-size:17px;font-weight:700;line-height:1.55;color:#271606}.exit-confirm__note{margin:0 0 20px;font-size:16px;color:#8c6848}.exit-confirm__actions{display:flex;gap:10px;justify-content:center}.exit-confirm__actions .btn{flex:1;max-width:140px;white-space:nowrap;font-size:15px}.report{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}.report__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#27160680;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.report__content{position:relative;background:linear-gradient(180deg,#f8eed7f2,#ebdab9f2);border:1px solid rgba(200,174,130,.55);border-radius:22px;box-shadow:0 10px 30px -10px #371c0824,0 2px 6px -1px #371c0814;padding:24px 22px 18px;width:100%;max-width:380px;max-height:90dvh;overflow-y:auto;animation:exitConfirmIn .28s cubic-bezier(.34,1.4,.64,1) both}.report__title{margin:0 0 4px;font-size:18px;font-weight:800;color:#271606}.report__note{margin:0 0 14px;font-size:16px;color:#8c6848}.report__reasons{display:flex;flex-direction:column;gap:8px}.report__reason{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(200,174,130,.5);border-radius:14px;background:#fbf0dc99;cursor:pointer;font-size:16px;color:#271606;transition:background .12s ease,border-color .12s ease}.report__reason:hover{border-color:#2c684480}.report__reason input{width:18px;height:18px;accent-color:#2C6844;flex:0 0 auto}.report__text{margin-top:10px;width:100%;resize:vertical;padding:10px 12px;font:inherit;font-size:16px;color:#271606;background:#fbf0dcb3;border:1px solid rgba(200,174,130,.6);border-radius:14px}.report__text:focus-visible{outline:none;border-color:#2c684499}.report__error{margin:12px 0 0;font-size:16px;color:#8c1c1c}.report__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.report__actions .btn{flex:1;max-width:150px;min-height:42px}.report__actions--single{justify-content:center}@media (min-width: 640px){.app{padding:calc(28px + env(safe-area-inset-top)) 24px calc(32px + var(--ad-banner-height, 0px))}.quiz__question{font-size:21px}.patterns__list{grid-template-columns:1fr 1fr 1fr}.patterns__card:first-child{grid-column:1/-1}}.patterns__list li{animation:cardAppear .4s ease-out both}.patterns__list li:nth-child(1){animation-delay:.08s}.patterns__list li:nth-child(2){animation-delay:.15s}.patterns__list li:nth-child(3){animation-delay:.22s}.patterns__list li:nth-child(4){animation-delay:.29s}.patterns__list li:nth-child(5){animation-delay:.36s}.patterns__list li:nth-child(6){animation-delay:.43s}.patterns__list li:nth-child(7){animation-delay:.5s}.patterns__list li:nth-child(8){animation-delay:.57s}.patterns__list li:nth-child(9){animation-delay:.64s}.patterns__list li:nth-child(10){animation-delay:.71s}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.celebrate-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10000;opacity:0;background:radial-gradient(circle at 50% 42%,#fffaebf2,#ffe0968c 45%,#ffe09600 75%)}.celebrate-glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9998;opacity:0;background:radial-gradient(ellipse 120% 100% at 50% 50%,#e0a40000 55%,#e0a40047 82%,#9c6e0a8c)}.wrong-stamp{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:9999}.wrong-stamp__mark{position:absolute;top:50%;left:50%;width:min(42vw,320px);height:min(42vw,320px);color:#8c1c1c;opacity:0;transform:translate(-50%,-50%);filter:drop-shadow(0 6px 10px rgba(140,28,28,.35))}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
