@charset "UTF-8";
@font-face{font-family:Nunito;font-style:normal;font-weight:400 1000;font-display:swap;src:url('./fonts/nunito-latin.woff2') format('woff2')}
:root{
  --font:Nunito,'Arial Rounded MT Bold',system-ui,sans-serif;
  --ink:#2e336b;--muted:#7779a0;--purple:#7050d6;--purple-dark:#4d33a2;
  --paper:#f5f1ff;--gold:#ffd45b;--green:#7050d6;--line:#dcd2f5;
  font-family:var(--font);color:var(--ink);font-synthesis:none;color-scheme:light;
  background:#e8e5ff;
}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;-webkit-tap-highlight-color:transparent;background:radial-gradient(ellipse at 6% 12%,#fff9 0,transparent 40%),radial-gradient(ellipse at 100% 85%,#bcecffaa 0,transparent 42%),linear-gradient(145deg,#e6dcff,#eef1ff 56%,#d6ebff);background-attachment:fixed}
body:before,body:after{content:'';position:fixed;pointer-events:none;border:2px solid #fff9;border-radius:38px;width:110px;height:150px;transform:rotate(-20deg);top:24%;left:max(15px,calc(50% - 620px));opacity:.38}
body:after{width:76px;height:105px;left:auto;right:max(12px,calc(50% - 590px));top:63%;transform:rotate(18deg);background:#ffffff36}
button,a{touch-action:manipulation}
button{font:inherit;color:inherit;cursor:pointer;border:0;user-select:none;-webkit-user-select:none}
button:disabled{opacity:.4;cursor:default}
button:focus-visible,a:focus-visible{outline:3px solid #f5bb35;outline-offset:4px}
a{color:inherit}
.app-shell{position:relative;z-index:1;max-width:1000px;padding:24px 40px max(24px,env(safe-area-inset-bottom));margin:auto}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand>svg{width:54px;height:54px;filter:drop-shadow(0 3px 0 #5c37b22c);transform:rotate(-5deg)}
.brand>span{font-size:59px;line-height:.82;font-weight:1000;letter-spacing:-3px;color:var(--purple);text-shadow:0 3px 0 #fff}
.brand-sub{display:block;font-size:8px;line-height:1.4;font-weight:900;letter-spacing:1.8px;margin:9px 0 0 4px;color:#8680a8;text-shadow:none}
.header-actions{display:flex;align-items:center;gap:10px}
.icon-button,.install-button{display:flex;align-items:center;justify-content:center;background:#fffaf6;border:2px solid #fff;border-radius:16px;color:#7757bd;box-shadow:0 4px 0 #cfc5e9;min-height:44px;transition:transform .15s,box-shadow .15s}
.icon-button{width:44px}
.icon-button svg,.install-button svg,.tool-button svg{width:21px;height:21px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.install-button{gap:7px;padding:8px 15px;font-size:12px;font-weight:900}
.game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 20px}
.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:900;color:#9984c5;margin:0 0 5px}
h1{font-size:33px;font-weight:1000;letter-spacing:-.9px;line-height:1.18;margin:0;color:#5e43ac}
p.intro{font-size:13px;font-weight:700;color:#8882a6;line-height:1.5;margin:7px 0 0}
.new-game-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:11px 21px;border:2px solid #fff0a8;border-radius:17px;background:linear-gradient(#ffe985,#ffd056);color:#6b4d1d;font-size:13px;font-weight:1000;white-space:nowrap;box-shadow:0 5px 0 #d8ab44,0 7px 0 #c3b2df55;transition:transform .15s,box-shadow .15s}
.new-game-button>span{font-size:24px;line-height:1;font-weight:900}
.game-panel{position:relative;padding:22px 25px 15px;background:radial-gradient(ellipse at 45% 10%,#7199ff66,transparent 70%),linear-gradient(165deg,#517ee8,#4367d4 70%,#3d5fcb);border:4px solid #adc5ff;border-radius:27px;box-shadow:0 7px 0 #7887ce,0 16px 26px -15px #514e9299;isolation:isolate}
.table-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#eaf1ff;font-size:10px;font-weight:900;letter-spacing:.7px}
.table-meta>span:first-child{display:flex;align-items:center;gap:6px}
.table-meta b{font-weight:1000;color:#fff}
.table-meta>span:last-child{background:#2746a166;border:1px solid #8eafff55;padding:5px 9px;border-radius:30px;letter-spacing:0;white-space:nowrap}
.live-dot{width:7px;height:7px;border-radius:50%;background:#ffe785;box-shadow:0 0 0 3px #ffe78522}
.meta-divider{padding:0 4px;color:#b0c8ff}
.overall-progress{height:9px;border:2px solid #3555b8;background:#2d51b0;border-radius:10px;overflow:hidden;margin:12px 0 18px;box-shadow:0 1px 0 #90afff80}
.overall-progress>span{display:block;height:100%;width:0;border-radius:7px;background:linear-gradient(#fff0a2,#ffc943);transition:width .3s}
.section-label{display:flex;justify-content:space-between;font-size:10px;font-weight:1000;letter-spacing:1.2px;color:#c5d8ff;margin:0 2px 9px}
.foundations{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.foundation{--tone:#efe3ff;--edge:#bca4e4;--accent:#9b6bdd;position:relative;min-height:107px;padding:10px 6px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;border:2px solid #fff8;border-radius:17px;background:linear-gradient(#fff7,#fff0 70%),var(--tone);color:#40416c;box-shadow:0 4px 0 var(--edge),0 7px 9px -7px #21377c99;transition:transform .15s,filter .15s,box-shadow .15s}
.foundation:nth-child(6n+2){--tone:#ffdfd7;--edge:#dda199;--accent:#e9918a}
.foundation:nth-child(6n+3){--tone:#d4f1ff;--edge:#88bddf;--accent:#65b8de}
.foundation:nth-child(6n+4){--tone:#fff0c3;--edge:#d7b66d;--accent:#dfb94f}
.foundation:nth-child(6n+5){--tone:#d8f3df;--edge:#90bd9d;--accent:#7fbd91}
.foundation:nth-child(6n+6){--tone:#f5dbf3;--edge:#c79ac9;--accent:#c584c6}
.foundation-icon{font-size:26px;line-height:1;filter:drop-shadow(0 2px 0 #fff8)}
.foundation-name{font-size:12px;line-height:1.16;font-weight:1000;text-align:center;max-width:100%;overflow-wrap:break-word;min-height:26px;display:flex;align-items:center;justify-content:center}
.foundation-progress{display:flex;align-items:center;gap:3px}
.foundation-progress i{display:block;width:9px;height:5px;border-radius:5px;background:#384e6c26;box-shadow:0 1px 0 #fff7}
.foundation-progress i.done{background:var(--accent);box-shadow:inset 0 1px 0 #fff6}
.foundation .count{position:absolute;right:5px;bottom:3px;font-size:8px;font-weight:900;color:#626485}
.foundation.complete{--tone:#d1f4db;--edge:#78b58b;background:linear-gradient(#f7fff680,#ffffff00),#ccefd7;opacity:1}
.foundation.complete:after{content:'✓';position:absolute;top:6px;right:6px;width:17px;height:17px;display:grid;place-items:center;background:#51ad70;border:2px solid #edfff1;border-radius:50%;color:#fff;font-size:10px;font-weight:1000}
.board-divider{display:flex;align-items:center;justify-content:space-between;padding-top:17px;margin:21px 2px 18px;border-top:2px solid #97b9ff33;color:#c5d8ff;font-size:10px;font-weight:1000;letter-spacing:1.2px}
.board-divider>span:last-child{font-size:9px;letter-spacing:0;background:#2448a34d;padding:4px 9px;border-radius:30px;color:#e0eaff}
.columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-height:176px;padding:0 12px}
.column{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:170px;padding-top:var(--stack-offset,0px)}
.column-count{position:absolute;right:3px;top:-12px;color:#bed3ff;font-size:9px;font-weight:900}
.under-card{position:absolute;top:var(--offset);left:0;right:0;height:139px;border:2px solid #d6e4ff;border-radius:14px;pointer-events:none;background:repeating-linear-gradient(45deg,#8a8de8 0 5px,#999bed 5px 10px);box-shadow:0 2px 0 #213c9180}
.under-card.revealed{background:#ecf0ff;border-color:#d5dcf2}
.word-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;width:100%;min-height:147px;padding:30px 8px 28px;background:linear-gradient(#fff,#fffdf2);border:2px solid #fff;border-radius:14px;box-shadow:0 5px 0 #c4cbe6,0 8px 0 #24449b80,0 12px 12px -10px #14317f66;transition:transform .15s,box-shadow .15s,border-color .15s}
.word-label{position:absolute;top:9px;left:10px;font-size:6px;font-weight:1000;letter-spacing:1.2px;color:#9fa6c3}
.word-card .word{font-size:23px;font-weight:1000;line-height:1.15;letter-spacing:-.6px;max-width:100%;overflow-wrap:anywhere;hyphens:none;text-align:center;color:#343f78;text-wrap:balance}
.word-card.long-word .word{font-size:20px}
.word-card.very-long-word .word{font-size:18px}
.card-flower{position:absolute;bottom:7px;right:10px;color:#bdbae1;font-size:18px;line-height:1}
.word-card.selected{z-index:3;border:3px solid #ffe273;background:#fff8d9;transform:translateY(-7px) rotate(-2deg);box-shadow:0 5px 0 #d4b963,0 10px 17px -4px #172b7d66;padding:29px 7px 27px}
.word-card.selected:after{content:'✓';position:absolute;top:-10px;right:-8px;background:#ffd45b;color:#8b650b;border:2px solid #fff0ab;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:1000;box-shadow:0 2px 0 #bb8b2b}
.empty-column{height:147px;background:#2446a13d;border:2px dashed #a0bcff66;border-radius:14px;color:#b2c8ff;font-size:29px;font-weight:700;box-shadow:inset 0 3px 0 #2a48a122}
.empty-column>span{display:block;font-size:8px;font-weight:900;letter-spacing:1px;margin-top:4px}
.stock-area{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 12px 19px;min-height:111px}
.draw-area{display:flex;align-items:center;gap:13px}
.stock-card{position:relative;display:grid;place-items:center;width:83px;height:109px;flex-shrink:0;color:#fff3a0;border:3px solid #e7e0ff;border-radius:14px;background:repeating-linear-gradient(45deg,#8062d5 0 7px,#886bdf 7px 14px);box-shadow:0 4px 0 #403c9b,3px 6px 0 #aeb5e6,5px 8px 0 #263c9977;transition:transform .15s}
.stock-card:after{content:'';position:absolute;inset:6px;border:1px solid #dacbff99;border-radius:7px;pointer-events:none}
.stock-motif{font-size:49px;font-weight:900;line-height:1;text-shadow:0 3px 0 #5136a27d}
#stock-count{position:absolute;bottom:8px;left:0;right:0;font-size:9px;letter-spacing:.4px;font-weight:1000;color:#fff5c6;z-index:1}
.stock-card.recycle .stock-motif{font-size:40px}
.stock-card.no-cards{opacity:.55;background:#294ca44d;border:2px dashed #99b5ff80;box-shadow:none;color:#c7d7ff}
.stock-card.no-cards:after{display:none}
.waste-slot{width:83px;height:109px;flex-shrink:0}
.waste-slot>.word-card{min-height:109px;height:109px;padding:25px 6px}
.waste-slot .word-card .word{font-size:16px}
.waste-slot .word-card.long-word .word{font-size:14px}
.waste-placeholder{width:100%;height:100%;display:grid;place-items:center;border:2px dashed #aac1ff66;border-radius:14px;color:#aec6ff;font-size:29px;background:#27449c22}
.deck-caption{display:flex;flex-direction:column;gap:7px;margin-left:7px;max-width:184px}
.deck-caption strong{font-size:17px;line-height:1.2;font-weight:1000;color:#fff4c7}
.deck-caption span{font-size:11px;font-weight:700;line-height:1.5;color:#c0d3ff}
.completed-note{display:flex;align-items:center;gap:9px;color:#c1ceff;font-size:12px;font-weight:900;line-height:1.5;padding-right:9px}
.completed-note>span:first-child{font-size:34px;color:#ffe482}
.table-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:2px solid #97b9ff33;padding-top:12px}
.table-footer p{margin:0;font-size:11px;font-weight:800;line-height:1.5;color:#e5edff}
#saved-status{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:8px;font-weight:800;color:#b7ceff}
.save-dot{width:5px;height:5px;border-radius:50%;background:#9ee4b3}
.toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0 20px}
.tool-button{display:flex;align-items:center;justify-content:center;gap:8px;background:#fffafc;border:2px solid #fff;border-radius:17px;min-height:47px;min-width:138px;padding:10px 15px;color:#7653be;font-size:12px;font-weight:1000;box-shadow:0 4px 0 #cbc1e8;transition:transform .15s,box-shadow .15s}
.tool-button svg{width:19px;height:19px}
.toolbar-divider{display:none}
.unlimited{font-size:19px;line-height:1;color:#b8a1d4;margin-left:0}
.page-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8f86b0;font-size:10px;font-weight:800}
.offline-status{background:none;padding:0;color:#80789f;font-size:10px;font-weight:800;line-height:1.6;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#aaa0cd}
.hinted{animation:hint-glow .8s ease-in-out 3;z-index:4}
.just-scored{animation:score-pop .45s cubic-bezier(.2,.8,.3,1);z-index:5}
.just-completed{animation:category-pop .6s cubic-bezier(.2,.8,.3,1);z-index:5}
.collect-burst{position:fixed;pointer-events:none;z-index:60;width:0;height:0}
.collect-particle{position:absolute;left:0;top:0;color:var(--accent,#ffd45b);font-size:19px;text-shadow:0 2px 0 #fff;animation:star-burst .75s ease-out both;animation-delay:calc(var(--i)*8ms)}
.toast{position:fixed;z-index:70;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%,15px);width:max-content;max-width:min(92vw,480px);padding:13px 19px;border:2px solid #cbb0ff;border-radius:18px;background:#6944b8;color:#fffaf0;box-shadow:0 5px 0 #48278c,0 10px 20px #3b237a22;font-size:13px;font-weight:800;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
dialog{width:min(450px,calc(100% - 30px));max-height:calc(100dvh - 36px);padding:0;border:4px solid #ddd0ff;border-radius:28px;background:#f9f6ff;color:var(--ink);box-shadow:0 8px 0 #7050a866,0 24px 100px #24134444;font-family:var(--font)}
dialog::backdrop{background:#23216e80;backdrop-filter:blur(5px)}
.modal-inner{padding:25px}
.modal-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.modal-eyebrow{font-size:10px;font-weight:1000;letter-spacing:1.3px;color:#a08ac8}
.close-modal{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#eee5ff;color:#977bc1;border-radius:13px;font-size:25px;font-weight:900;box-shadow:0 3px 0 #dbceef}
.modal-inner h2{font-size:31px;font-weight:1000;line-height:1.1;letter-spacing:-.8px;margin:6px 0 12px;color:#6545b0}
.modal-inner p{font-size:13px;font-weight:700;line-height:1.65;color:#807798}
.modal-inner ol{padding-left:20px;font-size:12px;font-weight:700;line-height:1.65;color:#736887}
.modal-inner li{padding:0 0 10px 3px}
.modal-inner strong{font-weight:1000}
.modal-primary{display:block;width:100%;min-height:48px;margin-top:21px;padding:13px;border:2px solid #fff0a8;border-radius:16px;background:linear-gradient(#ffe985,#ffd056);color:#73551b;font-size:14px;font-weight:1000;box-shadow:0 4px 0 #dab14c;transition:transform .15s,box-shadow .15s}
.modal-secondary{display:block;width:100%;min-height:44px;background:transparent;padding:14px 4px 5px;font-size:12px;font-weight:800;color:#9a88b5}
.difficulty-options{display:grid;gap:11px;margin-top:21px}
.difficulty-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:70px;text-align:left;padding:12px 15px;border:2px solid #e2d7f6;border-radius:17px;background:#fff;box-shadow:0 3px 0 #e4d8f3}
.difficulty-choice.active{border-color:#a284ea;background:#efe5ff;box-shadow:0 3px 0 #ab8edb}
.difficulty-choice strong{display:block;font-size:14px;font-weight:1000;color:#7456b2}
.difficulty-choice small{display:block;margin-top:3px;color:#9a8bac;font-size:11px;font-weight:800}
.difficulty-choice>span:last-child{font-size:28px;color:#a891d3}
.modal-info{padding:13px 15px;margin-top:17px;border-radius:15px;background:#eee9fa;font-size:11px;font-weight:700;line-height:1.65;color:#9584ae}
.win-content{text-align:center}
.win-mark{font-size:64px;line-height:1.35;text-align:center;margin-top:4px;filter:drop-shadow(0 5px 0 #ddaf4733)}
.win-stats{display:flex;justify-content:center;gap:33px;margin:21px 0}
.win-stats strong{display:block;font-size:32px;font-weight:1000;color:#7951c4}
.win-stats span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#aa92bf}
.settings-line{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:14px;margin-top:18px;border-top:2px solid #e9dff4;font-size:11px;font-weight:800}
.text-button{background:none;color:#8b6db8;font-size:11px;font-weight:900;text-decoration:underline}
.storage-alert{color:#ffe9ab!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.foundations.few-categories{grid-template-columns:repeat(4,minmax(0,1fr))}
@keyframes hint-glow{50%{outline:4px solid #ffe381;outline-offset:3px;filter:brightness(1.07)}}
@keyframes score-pop{0%,100%{transform:scale(1)}45%{transform:translateY(-4px) scale(1.06)}}
@keyframes category-pop{0%,100%{transform:scale(1)}35%{transform:translateY(-8px) rotate(-4deg) scale(1.08)}65%{transform:rotate(3deg) scale(1.04)}}
@keyframes star-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--i)*137.5deg)) translateY(0) scale(.3)}25%{opacity:1}65%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--i)*137.5deg)) translateY(-68px) scale(.35)}}
@media(hover:hover){.foundation:not(.complete):hover{transform:translateY(-3px);filter:brightness(1.035)}.word-card:not(.selected):hover{transform:translateY(-3px);border-color:#ffe389}.new-game-button:hover,.modal-primary:hover{filter:brightness(1.03)}.tool-button:hover,.icon-button:hover,.install-button:hover{color:#5837a4;background:#fff}}
.new-game-button:active,.modal-primary:active{transform:translateY(4px);box-shadow:0 1px 0 #d8ab44}
.tool-button:active,.icon-button:active,.install-button:active{transform:translateY(3px);box-shadow:0 1px 0 #cbc1e8}
.foundation:active:not(.complete){transform:translateY(3px);box-shadow:0 1px 0 var(--edge)}
@media(max-width:760px){
  body:before,body:after{display:none}
  .app-shell{max-width:560px;padding:16px 17px max(18px,env(safe-area-inset-bottom))}
  .masthead{padding:0 2px 13px;gap:10px}
  .brand{gap:7px}.brand>svg{width:42px;height:42px}.brand>span{font-size:47px;letter-spacing:-2.5px}.brand-sub{font-size:6px;letter-spacing:1.1px;margin-top:8px;margin-left:2px}
  .header-actions{gap:8px}.icon-button{width:41px;min-height:41px;border-radius:14px}.icon-button svg,.install-button svg{width:19px;height:19px}.install-button{min-height:41px;padding:8px 11px;font-size:11px;border-radius:14px;gap:5px}
  .game-heading{margin:17px 2px 18px;gap:9px}.game-heading .eyebrow,.game-heading .intro{display:none}h1{font-size:24px;line-height:1.1;letter-spacing:-.6px}
  .new-game-button{min-height:41px;border-radius:14px;padding:8px 11px;font-size:11px;gap:4px;box-shadow:0 4px 0 #d8ab44}.new-game-button>span{font-size:19px}
  .game-panel{padding:15px 14px 12px;border-radius:24px;border-width:3px;box-shadow:0 6px 0 #7887ce,0 12px 18px -12px #514e9299}
  .table-meta{font-size:8px;letter-spacing:.4px;gap:4px}.table-meta>span:first-child{gap:4px}.table-meta>span:last-child{padding:4px 6px;font-size:8px}.meta-divider{padding:0 2px}.live-dot{width:5px;height:5px}
  .overall-progress{height:8px;margin:9px 0 13px}.section-label{font-size:9px;letter-spacing:1px;margin-bottom:8px}
  .foundations{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 8px}.foundations.few-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foundation{min-height:73px;padding:7px 4px 10px;border-radius:13px;gap:3px;box-shadow:0 3px 0 var(--edge),0 6px 8px -6px #21377c99}.foundation-icon{font-size:20px}.foundation-name{font-size:10px;line-height:1.1;min-height:22px;letter-spacing:-.1px}.foundation-progress{gap:3px;margin-top:0}.foundation-progress i{height:4px;width:7px}.foundation .count{font-size:7px;right:4px;bottom:2px}.foundation.complete:after{width:14px;height:14px;font-size:8px;top:4px;right:4px}
  .board-divider{padding-top:12px;margin:16px 1px 15px;font-size:9px;letter-spacing:1px}.board-divider>span:last-child{font-size:8px;padding:3px 7px}
  .columns{padding:0;gap:9px;min-height:139px}.column{min-height:139px}.column-count{font-size:8px;top:-11px}.word-card{min-height:112px;border-radius:12px;padding:25px 5px 22px;box-shadow:0 4px 0 #c4cbe6,0 7px 0 #24449b80}.word-card .word{font-size:17px;line-height:1.12;letter-spacing:-.5px}.word-card.long-word .word{font-size:14px;letter-spacing:-.4px}.word-card.very-long-word .word{font-size:12px}.word-card.selected{padding:24px 4px 21px;transform:translateY(-6px) rotate(-2deg)}.word-card.selected:after{width:19px;height:19px;font-size:11px;right:-7px;top:-8px}.word-label{font-size:5px;left:7px;top:8px;letter-spacing:.8px}.card-flower{font-size:14px;right:7px;bottom:6px}.under-card{height:106px;border-radius:12px}.empty-column{height:112px;border-radius:12px;font-size:24px}.empty-column>span{font-size:7px}
  .stock-area{margin:13px 0 13px;min-height:87px}.draw-area{gap:11px}.stock-card,.waste-slot{width:64px;height:85px}.stock-card{border-radius:12px}.stock-card:after{inset:4px;border-radius:6px}.stock-motif{font-size:37px}#stock-count{font-size:7px;bottom:6px}.waste-slot>.word-card{height:85px;min-height:85px;padding:23px 4px}.waste-slot .word-card .word{font-size:14px}.waste-slot .word-card.long-word .word{font-size:12px}.waste-placeholder{border-radius:12px}.deck-caption{margin-left:0;max-width:144px;gap:5px}.deck-caption strong{font-size:14px;line-height:1.2}.deck-caption span{font-size:9px;line-height:1.45}.completed-note{display:none}
  .table-footer{flex-direction:column;align-items:flex-start;gap:4px;padding-top:9px}.table-footer p{font-size:10px;line-height:1.4}#saved-status{font-size:7px;gap:4px}.save-dot{width:4px;height:4px}
  .toolbar{gap:8px;margin:20px 2px 17px}.tool-button{min-width:0;flex:1;min-height:45px;padding:9px 5px;border-radius:14px;font-size:10px;gap:5px}.tool-button svg{width:16px;height:16px}.unlimited{font-size:15px;margin-left:-2px}
  .page-footer{flex-direction:column;gap:5px;font-size:9px}.offline-status{font-size:8px}
  .modal-inner{padding:21px}.modal-inner h2{font-size:28px}.modal-inner p{font-size:12px}.modal-inner ol{font-size:11px}.modal-info{font-size:10px}.modal-eyebrow{font-size:9px}.win-stats{gap:25px}
}
@media(max-width:374px){
  .app-shell{padding-left:11px;padding-right:11px}.brand>span{font-size:42px}.brand>svg{width:35px;height:35px}.brand-sub{font-size:5px;letter-spacing:.8px}.header-actions{gap:6px}.icon-button{width:36px;min-height:38px}.install-button{min-height:38px;padding:7px 8px;font-size:10px}.install-button svg{width:16px}.game-heading{margin-top:13px;margin-bottom:15px}h1{font-size:21px}.new-game-button{font-size:10px;padding:8px 8px;gap:2px}.game-panel{padding:13px 11px 11px}.table-meta{font-size:7px}.table-meta>span:last-child{font-size:7px}.foundation-name{font-size:9px}.columns{gap:7px}.word-card .word{font-size:15px;letter-spacing:-.5px}.word-card.long-word .word{font-size:12px}.word-card.very-long-word .word{font-size:11px}.tool-button{font-size:9px;gap:3px}.tool-button svg{width:14px}.deck-caption{max-width:120px}.deck-caption strong{font-size:12px}.deck-caption span{font-size:8px}.stock-card,.waste-slot{width:58px}.table-footer p{font-size:9px}.brand-sub{margin-top:7px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Paciência: categorias no baralho, grupos visíveis e espaços reutilizáveis. */
.foundations{grid-template-columns:repeat(4,minmax(0,1fr))}
.foundation{min-height:108px}
.empty-foundation{border:2px dashed #b4caff99;background:#25469e35;box-shadow:inset 0 3px 0 #294da955;color:#dce7ff;gap:4px}
.empty-foundation .foundation-name{min-height:0;color:#eaf0ff}
.slot-plus{font-size:31px;line-height:1;font-weight:700;color:#b5ceff}
.slot-caption{font-size:9px;font-weight:800;color:#bfd1ff;line-height:1.2;text-align:center;max-width:100%}
.columns{align-items:start;min-height:180px}
.column{justify-content:flex-start;min-height:160px}
.word-card{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;min-height:145px}
.word-card.category-card{background:linear-gradient(#fff7d6,#ffe898);border-color:#fff2a5;box-shadow:0 5px 0 #d3b85d,0 8px 0 #24449b80;padding-top:42px}
.category-card .word-label{color:#9d7931}
.category-card .word{font-size:18px;color:#755422}
.category-card-icon{position:absolute;top:19px;left:0;right:0;text-align:center;font-size:23px;line-height:1}
.category-card .card-flower{font-size:8px;right:0;left:0;text-align:center;color:#9c803f;font-weight:900}
.group-count{position:absolute;right:6px;top:6px;min-width:19px;padding:2px 4px;border-radius:12px;background:#7454c4;color:#fff;font-size:9px}
.word-card.covered-card{height:45px;min-height:45px;padding:6px 5px;margin-bottom:-2px;border-radius:11px;box-shadow:0 2px 0 #c4cbe6;justify-content:center;z-index:1}
.covered-card .word{font-size:13px;line-height:1.1;letter-spacing:-.2px}
.covered-card .word-label,.covered-card .card-flower,.covered-card .category-card-icon{display:none}
.covered-card{padding-right:20px}
.covered-card .group-count{min-width:14px;right:3px;top:4px;font-size:8px;padding:1px 3px}
.word-card.covered-card.selected{transform:none;padding:5px 4px;background:#fff1bd;box-shadow:0 2px 0 #c4a252}
.word-card.selected:after{pointer-events:none}
.completed-categories{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.completed-categories:empty{display:none}
.completed-categories>span{padding:4px 8px;border:1px solid #c5efd977;border-radius:15px;background:#d7ffe52b;color:#edfff3;font-size:10px;font-weight:900}
.toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tool-button{min-width:0}
.drag-ghost{position:fixed!important;z-index:9999!important;pointer-events:none!important;margin:0!important;transform:rotate(-5deg)!important;opacity:.95;min-height:110px;box-shadow:0 12px 26px #15235866!important}
.dragging-source{opacity:.35!important}
.drag-over{outline:3px solid #ffe58b!important;outline-offset:4px;filter:brightness(1.05)}
body.dragging,body.dragging *{cursor:grabbing!important}
.dragging .word-card{transition:none}
@media(max-width:760px){
  .foundations{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .foundation{min-height:91px;padding:8px 4px 11px}
  .foundation-name{font-size:10px}
  .slot-plus{font-size:24px}.slot-caption{font-size:8px}
  .word-card{min-height:115px}
  .word-card.category-card{padding-top:38px;box-shadow:0 4px 0 #d3b85d,0 7px 0 #24449b80}
  .category-card .word{font-size:14px}
  .category-card-icon{top:18px;font-size:18px}
  .category-card .card-flower{font-size:7px}
  .word-card.covered-card{min-height:44px;height:44px;padding:5px 20px 5px 3px}
  .covered-card .word{font-size:11px}
  .columns{min-height:145px}.column{min-height:140px}
  .waste-slot>.category-card{padding-top:31px;padding-bottom:17px}
  .waste-slot .category-card-icon{top:15px;font-size:16px}
  .waste-slot .category-card .word{font-size:12px}
  .waste-slot .category-card .card-flower{font-size:6px;bottom:5px}
  .toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:21px}
  .tool-button{font-size:11px;gap:7px}
  .table-footer p{font-size:10px}
  .completed-categories>span{font-size:8px}
  .section-label{font-size:8px;letter-spacing:.7px}
}
@media(max-width:374px){
  h1{font-size:20px;max-width:170px}.game-heading{align-items:center}
  .foundation-name{font-size:10px}.word-card.category-card .word{font-size:12px}
  .covered-card .word{font-size:10px}.slot-caption{font-size:7px}
}

/* Três poderes de apoio, sempre gratuitos. */
.power-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:600px;margin:25px auto 12px}
.power-button{position:relative;min-height:88px;padding:12px 16px 10px;border:2px solid #fff;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#6443ad;background:linear-gradient(#fff,#eae1ff);box-shadow:0 5px 0 #c6b7e4;font-size:12px;font-weight:1000;transition:transform .15s,box-shadow .15s}
.power-button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.power-button.return-power{background:linear-gradient(#f5fbff,#d3e8ff);color:#426fab;box-shadow:0 5px 0 #a8c6e5}
.power-button.joker-power{background:linear-gradient(#fff4bd,#ffdc79);color:#856226;box-shadow:0 5px 0 #d8b155}
.power-joker-icon{font-size:30px;line-height:1}
.power-infinity{position:absolute;right:9px;top:5px;font-size:20px;line-height:1;opacity:.6}
.power-button.power-active{outline:3px solid #ffcf48;outline-offset:3px;transform:translateY(-3px)}
.power-button:active{transform:translateY(4px);box-shadow:0 1px 0 #bda9dc}
.toolbar{max-width:600px;grid-template-columns:repeat(3,minmax(0,1fr));margin:13px auto 20px;gap:9px}
.toolbar .tool-button{min-height:40px;padding:8px;background:#ffffff80;border:1px solid #fff;box-shadow:0 2px 0 #d5c9e9;font-size:11px}
.word-card.joker-card{background:linear-gradient(140deg,#b08ae6,#7852c8);border-color:#e6ccff;box-shadow:0 5px 0 #5c399c,0 8px 0 #24449b80;cursor:pointer;gap:9px;padding:20px 5px 24px}
.joker-card .word{color:#fff4c3;font-size:19px}
.joker-mark{font-size:35px;line-height:1}
.joker-caption{position:absolute;bottom:9px;left:3px;right:3px;text-align:center;font-size:8px;color:#f0e3ff;font-weight:900}
.word-card.joker-card.covered-card{min-height:44px;height:44px;padding:4px;flex-direction:column;gap:2px;opacity:1;box-shadow:0 2px 0 #593699}
.joker-card.covered-card .joker-mark{font-size:17px}
.joker-card.covered-card .word{font-size:9px;white-space:nowrap}
.joker-card.covered-card .joker-caption{display:none}
.word-card.card-blocked:disabled{opacity:.67;cursor:default;filter:saturate(.7)}
.column.joker-pick{outline:2px dashed #ffdf83;outline-offset:5px;border-radius:12px}
@media(max-width:760px){
  .power-tools{gap:9px;margin:21px 2px 11px}
  .power-button{min-height:76px;padding:10px 6px 8px;gap:5px;border-radius:17px;font-size:10px;line-height:1.1}
  .power-button svg{width:25px;height:25px}.power-joker-icon{font-size:27px}.power-infinity{right:6px;top:4px;font-size:16px}
  .toolbar{gap:7px;margin:12px 2px 17px}
  .toolbar .tool-button{font-size:9px;gap:4px;padding:8px 4px;min-height:40px;border-radius:13px}
  .toolbar .tool-button svg{width:14px;height:14px}
  .word-card.joker-card{min-height:115px;padding:18px 4px 24px}
  .joker-card .word{font-size:14px}.joker-mark{font-size:27px}.joker-caption{font-size:7px}
}
