@charset "UTF-8";
:root{color-scheme:light;--paper:#f5f3ec;--ink:#283e37;--muted:#72796b;--line:#dedfd3;--green:#2f574b;--green-light:#e9eee5;--daughter:#cb7860;--board:#746451;--radius:18px;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.7}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.38}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b97a36;outline-offset:4px}button{touch-action:manipulation}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}button{border:0}a{color:inherit}button,summary{user-select:none}h1,h2,p{margin:0}[hidden]{display:none!important}dialog:not([open]){display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;padding:12px 20px;background:var(--ink);color:white;z-index:20}.skip-link:focus{top:8px}.site-shell{max-width:1120px;margin:0 auto;padding:0 46px}.site-header{height:106px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;letter-spacing:.14em;font-weight:700;line-height:1.35}.brand-mark{width:38px;height:38px;fill:var(--ink)}.brand-mark .mark-daughter{fill:var(--daughter)}.brand small{display:block;margin-top:6px;font:9px/1.2 sans-serif;letter-spacing:.2em;font-weight:500;color:var(--muted)}.header-tools{display:flex;align-items:center;gap:7px}.sound-button{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:100px;padding:8px 13px;background:transparent;font-size:11px;min-height:38px;letter-spacing:.05em}.sound-button svg{width:17px;height:17px}.sound-button b{font-weight:600;color:var(--muted)}.sound-button[aria-pressed=true]{background:var(--green-light);border-color:#cbd4c4}.sound-button[aria-pressed=true] b{color:var(--green)}.icon-button{background:transparent;display:grid;place-items:center;width:38px;height:38px;margin-left:4px}.icon-button svg{width:21px;height:21px}.intro-row{display:flex;align-items:center;justify-content:space-between;padding:34px 0 30px}.intro-row h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:27px;letter-spacing:.075em;font-weight:600;line-height:1.5}.intro-row p{color:var(--muted);margin-top:7px;font-size:12px;letter-spacing:.03em}.total-record{display:flex;align-items:center;gap:13px;font-size:11px;color:var(--muted);padding:8px 0 8px 24px;border-left:1px solid var(--line)}.record-flower{font-size:37px;line-height:1;color:#7d8f6f}.total-record strong{display:block;font:500 29px/1.4 Georgia,serif;color:var(--ink)}.total-record strong small{font:11px sans-serif;margin-left:7px}.game-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);gap:40px;align-items:start}.play-panel{background:#fdfcf8;border:1px solid #e0dfd3;border-radius:var(--radius);padding:24px 28px 18px;box-shadow:0 8px 28px #31432905;min-width:0}.play-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.play-heading>div{display:flex;align-items:center;gap:12px}.difficulty-badge{font-size:10px;line-height:1.2;padding:6px 10px;background:var(--green-light);border-radius:5px;white-space:nowrap;color:#4c6252;letter-spacing:.05em}.play-heading h2{font-size:16px;letter-spacing:.05em;font-weight:600}.level-number{color:#a2a498;font:12px Georgia,serif;letter-spacing:.1em;white-space:nowrap}.score-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 24px;text-align:center}.score-strip>div+div{border-left:1px solid var(--line)}.score-strip span{display:block;color:var(--muted);font-size:10px;letter-spacing:.03em}.score-strip strong{display:block;font:400 31px/1.35 Georgia,serif;margin-top:4px;font-variant-numeric:tabular-nums}.score-strip strong small{font:10px sans-serif;margin-left:5px}.board-zone{width:100%;max-width:368px;margin:0 auto}.board-frame{position:relative;padding:13px;border-radius:13px;background:linear-gradient(105deg,#8f8068,#9c8c72 50%,#918167);box-shadow:0 3px 0 #76674f,0 10px 20px #46331b13,inset 0 1px 0 #b5a58c}.board-frame:before{content:"";position:absolute;inset:5px;border:1px solid #ffffff16;border-radius:9px;pointer-events:none}.board{position:relative;aspect-ratio:4/5;touch-action:none;border-radius:5px;background-color:#695c49;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:25% 20%;box-shadow:inset 0 2px 7px #211b1745;isolation:isolate;outline-offset:4px}.piece{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:6px;background:linear-gradient(135deg,#ebe0c9,#e1d4b9);color:#695640;box-shadow:inset 0 1px 0 #ffffff9e,inset 0 -3px 0 #b8a685,0 2px 2px #30241740;border:1px solid #f5edda4d;transition:box-shadow .16s;z-index:2;touch-action:none;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:clamp(19px,2vw,25px);letter-spacing:.06em;line-height:1.55;cursor:grab;padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.piece[data-h="2"][data-w="1"] .piece-label{writing-mode:vertical-rl;letter-spacing:.18em}.piece[data-w="1"][data-h="1"]{background:linear-gradient(135deg,#e9e7d9,#dcdccc);color:#67705a;box-shadow:inset 0 1px 0 #ffffffa0,inset 0 -3px 0 #b1b5a0,0 2px 2px #30241740;font-size:21px}.piece.daughter{background:linear-gradient(135deg,#d78c72,#c6755c);color:#fff1dd;border-color:#e39b80;box-shadow:inset 0 1px 0 #efb89a,inset 0 -3px 0 #ae5e48,0 2px 2px #30241740;font-size:43px;font-weight:500}.piece.daughter:before{content:"";position:absolute;width:42%;height:42%;border:1px solid #ffefd226;border-radius:50%;top:29%;left:29%;pointer-events:none}.piece small{font:9px sans-serif;letter-spacing:.12em;margin-top:6px;opacity:.7}.piece.selected{box-shadow:inset 0 0 0 3px #fff9dc,inset 0 -3px 0 #aa987a,0 2px 5px #30241770;z-index:3}.piece.hint-piece{outline:3px solid #d4c462;outline-offset:-3px}.piece.dragging{cursor:grabbing;transition:none;z-index:5;filter:brightness(1.04)}.piece.is-solved{box-shadow:inset 0 0 0 2px #f9e4b7,0 0 22px #e9c89580}.piece:focus-visible{outline:3px solid #fff4b8;outline-offset:-4px}.exit-gap{position:absolute;bottom:-4px;left:calc(25% + 6px);right:calc(25% + 6px);height:17px;background:#fdfcf8;border-radius:4px 4px 0 0;z-index:1}.exit-label{display:flex;gap:22px;align-items:center;justify-content:center;color:#8f947f;font-size:10px;letter-spacing:.16em;padding-top:12px}.exit-label span{font:16px sans-serif;color:#9caa88}.board-status{min-height:38px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:#737b69;margin:10px -10px 13px;line-height:1.6}.board-status.hint-status{color:var(--green);font-weight:600}.play-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.control-button{background:#f4f4eb;border:1px solid #e0e2d5;border-radius:8px;min-height:41px;padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;white-space:nowrap}.control-button:not(:disabled):hover{background:#e9eee3;border-color:#c5d0be}.control-button svg{width:16px;height:16px}.play-footnote{display:flex;justify-content:space-between;gap:10px;color:#8a8e80;font-size:9px;margin-top:15px;line-height:1.6}.side-panel{min-width:0;padding-top:3px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading h2{font-size:16px;font-weight:600;letter-spacing:.05em}.section-heading>span{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:3px 9px}.section-description{font-size:11px;color:var(--muted);margin-top:6px}.difficulty-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;border-bottom:1px solid var(--line);padding:0 0 9px;margin-top:22px}.difficulty-tab{padding:8px 2px;font-size:11px;background:transparent;border-radius:6px;min-height:35px;white-space:nowrap}.difficulty-tab[aria-pressed=true]{background:var(--green);color:#fff}.difficulty-tab:not([aria-pressed=true]):hover{background:var(--green-light)}.difficulty-description{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;margin:15px 1px 12px;gap:8px}.level-list{display:flex;flex-direction:column;gap:9px}.level-card{display:flex;align-items:center;gap:13px;text-align:left;background:#faf9f4;border:1px solid var(--line);border-radius:11px;padding:13px;position:relative;min-height:87px;transition:border-color .15s,background .15s}.level-card[aria-current=true]{border-color:#5d7c64;background:#eef1e8;box-shadow:inset 0 0 0 .3px #5d7c64}.level-card:hover{border-color:#82987b}.level-card[aria-current=true]:after{content:"";position:absolute;right:13px;top:15px;width:5px;height:5px;border-radius:50%;background:#587b5d}.mini-board{position:relative;background:#dedbca;width:42px;height:53px;flex-shrink:0;border-radius:3px;overflow:hidden;border:2px solid #c2baa6}.mini-piece{position:absolute;border-radius:1px;background:#aaa58c;border:.5px solid #ddd8c7}.mini-piece.mini-daughter{background:#cc8067;border-color:#d8997f}.level-card-info{min-width:0;flex:1}.level-card-title{font-size:12px;font-weight:600;display:block;letter-spacing:.02em}.level-card-meta{display:flex;align-items:center;gap:10px;font-size:9px;color:var(--muted);margin-top:4px}.level-card-count{font:24px/1 Georgia,serif;white-space:nowrap;margin:11px 2px 0 0}.level-card-count small{font:9px sans-serif;margin-left:4px}.level-card .cleared-mark{color:var(--green);font-weight:700}.solution-section{border-top:1px solid var(--line);margin-top:27px;padding-top:24px}.solution-section .section-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:19px;font-weight:600}.solution-section .section-heading svg{width:27px;height:27px;fill:none;stroke:#7e9074;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.solution-section>p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:10px}.solution-button{display:flex;justify-content:space-between;align-items:center;background:#e8ede2;width:100%;border:1px solid #d2dbca;border-radius:8px;padding:12px 16px;margin-top:15px;font-size:12px;color:var(--green)}.solution-button:hover{background:#dce5d4}.solution-button span{font-size:17px}.source-summary{font-size:9px;color:#8a8e7e;line-height:1.7;margin:12px 0 8px}.source-summary a{text-decoration:underline;text-underline-offset:3px}.source-summary a:hover{color:var(--green)}.solution-section details{font-size:10px;color:var(--muted)}.solution-section summary{cursor:pointer;padding:4px 0}.solution-list{max-height:220px;overflow:auto;padding-left:28px;line-height:2.1;border-left:1px solid var(--line);margin:12px 0 0 4px}.solution-list button{padding:1px 5px;background:transparent;color:inherit;text-align:left;font-size:11px}.solution-list button:hover{text-decoration:underline;color:var(--green)}.save-note{display:flex;align-items:flex-start;gap:6px;font-size:9px;color:#8a8e80;line-height:1.8;margin:20px 0 0}.save-note svg{width:13px;height:13px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;margin-top:2px}.site-footer{display:flex;justify-content:space-between;color:#909382;font-size:10px;padding:29px 1px 32px}.site-footer>span{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.08em}.site-footer button{padding:0;background:transparent;font-size:9px;color:#818775;text-decoration:underline;text-underline-offset:4px}.replay-controls{border:1px solid #ccd6c0;background:#edf0e6;border-radius:10px;padding:11px 12px}.replay-caption{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--green)}.replay-caption button{background:transparent;padding:0;font-size:10px;text-decoration:underline;text-underline-offset:3px}.replay-buttons{display:flex;align-items:center;gap:7px;margin:11px 0 5px}.replay-buttons button{background:#fffdf5;border:1px solid #d1d8c5;border-radius:6px;height:32px;padding:0 12px;font-size:11px}.replay-buttons span{font-size:11px;margin-left:auto;font-variant-numeric:tabular-nums}.replay-controls input{width:100%;accent-color:var(--green);height:18px;cursor:pointer}.replay-controls>p{font-size:9px;color:var(--muted);text-align:center}.modal{border:1px solid #e0dfd0;border-radius:20px;background:#faf9f2;color:var(--ink);max-width:480px;width:calc(100% - 34px);padding:34px;box-shadow:0 20px 100px #1f342c24;max-height:85svh;overflow:auto}.modal::backdrop{background:#26372d65;backdrop-filter:blur(4px)}.modal-close{position:absolute;top:12px;right:13px;background:transparent;width:34px;height:34px;font:26px/1 sans-serif;font-weight:300;color:#87907c}.dialog-eyebrow{display:block;font:9px sans-serif;letter-spacing:.2em;color:#819073;margin-bottom:13px}.modal h2{font:600 25px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.04em;margin-bottom:15px}.modal p{font-size:12px;color:var(--muted);line-height:1.9}.modal .dialog-note{font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:19px}.primary-button{border-radius:9px;background:var(--green);color:#fff;width:100%;padding:12px 18px;font-size:12px;text-align:center;margin-top:22px}.primary-button:hover{background:#234638}.help-list{padding-left:20px;line-height:1.7;margin:0}.help-list li{padding-left:7px;margin:17px 0}.help-list strong{font-size:13px;font-weight:600}.help-list p{font-size:11px;margin-top:4px}.help-illustration{display:flex;flex-direction:column;align-items:center;justify-content:center;float:right;margin:0 0 8px 20px}.help-illustration span{background:#cd8268;color:#fff0d7;width:49px;height:49px;border-radius:6px;display:grid;place-items:center;font:26px serif}.help-illustration i{font-style:normal;color:#9ea486;font-size:20px}.about-modal a{font-size:12px;word-break:break-word;text-underline-offset:3px;color:var(--green)}.about-modal h3{font-size:13px;margin-top:20px}.about-modal ul{padding-left:20px;font-size:12px;color:var(--muted)}.dialog-actions{display:flex;gap:10px;margin-top:22px}.dialog-actions .primary-button{margin:0}.dialog-actions button{flex:1}.compact-modal{max-width:390px}.clear-modal{text-align:center;max-width:400px}.clear-flower{display:block;font-size:56px;line-height:1.3;color:#8da37c;margin-bottom:8px}.clear-modal .dialog-eyebrow{margin-bottom:7px}.clear-modal h2{font-size:25px;margin-bottom:11px}.clear-score{margin:22px 0 14px}.clear-score strong{font:50px/1 Georgia,serif}.clear-score span{font-size:12px;margin-left:8px}.clear-record{display:flex;justify-content:center;gap:20px;border-top:1px solid var(--line);padding-top:17px;margin-top:22px;color:var(--muted);font-size:10px}.clear-record b{font:18px Georgia,serif;color:var(--ink);margin:0 3px}.text-button{display:block;margin:12px auto 0;padding:5px 10px;background:transparent;color:var(--muted);font-size:11px}.noscript{background:#fff2d8;color:#755d32;padding:20px;text-align:center}.unavailable-note{background:#fff2d8;border:1px solid #e7d4a4;color:#755d32;padding:12px;border-radius:8px}
@media(min-width:1200px){.site-shell{max-width:1120px}.play-panel{padding-left:31px;padding-right:31px}.board-zone{max-width:369px}}
@media(max-width:900px){.site-shell{padding:0 28px}.game-layout{gap:25px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.play-panel{padding:20px 20px 17px}.board-frame{padding:11px}.play-heading h2{font-size:14px}.level-card{padding:11px;gap:10px}.level-card-title{font-size:11px}.level-card-count{font-size:21px}.difficulty-tabs{gap:1px}.difficulty-tab{font-size:10px}.intro-row h1{font-size:24px}.play-footnote{font-size:8px}.control-button{padding:8px 5px;gap:4px;font-size:10px}.play-heading>div{gap:8px}}
@media(max-width:700px){.site-shell{max-width:480px;padding:0 20px}.site-header{height:82px}.brand{font-size:22px;gap:10px}.brand-mark{width:31px;height:31px}.brand small{font-size:7px;margin-top:4px}.header-tools{gap:4px}.sound-button{padding:6px 8px;gap:5px;min-height:34px;font-size:10px}.sound-button svg{width:14px;height:14px}.se-button{padding:6px;width:33px;justify-content:center}.se-button span{display:none}.se-button[aria-pressed=false]{opacity:.5}.icon-button{width:30px;margin-left:0}.icon-button svg{width:20px}.intro-row{padding:24px 0 20px;gap:10px}.intro-row h1{font-size:20px;letter-spacing:.04em}.intro-row p{font-size:10px;margin-top:5px}.total-record{border:0;padding:0;gap:6px;font-size:8px;line-height:1.6}.record-flower{font-size:22px}.total-record strong{font-size:24px}.total-record strong small{font-size:9px}.game-layout{display:flex;flex-direction:column;gap:27px}.play-panel{width:100%;padding:19px 21px 16px;border-radius:15px}.play-heading h2{font-size:14px}.difficulty-badge{font-size:9px;padding:5px 8px}.level-number{font-size:11px}.score-strip{margin:17px 0 20px}.score-strip strong{font-size:29px;margin-top:2px}.score-strip span{font-size:9px}.board-zone{max-width:338px}.board-frame{padding:10px;border-radius:10px}.piece{border-radius:5px;font-size:23px}.piece[data-w="1"][data-h="1"]{font-size:19px}.piece.daughter{font-size:38px}.piece small{font-size:8px;margin-top:3px}.exit-gap{height:15px;left:calc(25% + 5px);right:calc(25% + 5px)}.exit-label{padding-top:9px;font-size:9px}.board-status{font-size:10px;min-height:32px;margin:7px -12px 10px}.control-button{min-height:41px;font-size:11px;gap:5px}.control-button svg{width:15px;height:15px}.play-footnote{margin-top:12px;font-size:8px;gap:5px}.side-panel{width:100%;padding:0 2px}.section-heading h2{font-size:15px}.section-description{font-size:11px}.difficulty-tabs{margin-top:18px;gap:3px}.difficulty-tab{font-size:11px;padding:8px 2px}.level-card{padding:12px 14px;min-height:82px;gap:14px}.level-card-title{font-size:12px}.level-card-meta{font-size:10px}.level-card-count{font-size:27px}.level-card-count small{font-size:10px}.mini-board{width:41px;height:51px}.solution-section{margin-top:24px;padding-top:22px}.solution-section>p br{display:none}.solution-section>p{font-size:11px}.source-summary{font-size:10px}.save-note{font-size:9px}.site-footer{padding-top:27px;padding-bottom:max(26px,env(safe-area-inset-bottom));font-size:9px}.site-footer button{font-size:8px}.modal{padding:28px}.modal h2{font-size:23px}.clear-modal h2{font-size:24px}}
@media(max-width:359px){.site-shell{padding:0 13px}.brand{font-size:20px}.brand-mark{width:27px}.sound-button{font-size:9px;padding:6px}.intro-row h1{font-size:18px}.record-flower{display:none}.play-panel{padding:17px 16px}.play-heading h2{font-size:13px}.play-controls{gap:5px}.play-footnote{font-size:7px}.piece.daughter{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.piece-number{position:absolute;top:4px;right:6px;font:10px/1.2 Georgia,serif;opacity:.65;letter-spacing:0}.piece-number:empty{display:none}.piece.is-animating{z-index:7}.piece:disabled{opacity:1;cursor:default}
@media(max-width:700px){.intro-row h1{font-size:clamp(16px,4.6vw,18px);letter-spacing:.02em;white-space:nowrap}.play-controls .control-button{min-height:44px}}

/* Keep the last slide visible below the opening, within its own landing space. */
.board-zone {
  position: relative;
  isolation: isolate;
  clip-path: inset(-24px -24px 0);
}
.board-frame { z-index: 2; }
.board { z-index: 2; }
.piece.dragging {
  transition: none;
  filter: none;
  will-change: transform;
  backface-visibility: hidden;
}
.piece.is-animating { will-change: transform, opacity; }
.piece.has-exited, .piece.has-exited:disabled {
  opacity: 0;
  pointer-events: none;
}
.exit-landing {
  position: relative;
  height: clamp(68px, 22vw, 88px);
  isolation: isolate;
  z-index: 1;
}
.exit-landing::before {
  content: "";
  position: absolute;
  top: -10px;
  bottom: 0;
  left: 25%;
  width: 50%;
  background: linear-gradient(180deg, #d7dfbf6b, #e5e5c52e 65%, transparent);
  border-radius: 0 0 45% 45%;
  opacity: 0;
  transition: opacity 400ms ease;
  pointer-events: none;
  z-index: -1;
}
.exit-landing::after {
  content: "";
  position: absolute;
  top: 20px;
  left: 50%;
  width: 40%;
  height: 27px;
  border: 1px solid #9cab7570;
  border-radius: 50%;
  opacity: 0;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: -1;
}
.exit-landing .exit-label {
  padding-top: 16px;
  transition: opacity 180ms ease;
}
.exit-button {
  position: absolute;
  top: 13px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  max-width: calc(100% - 20px);
  padding: 9px 15px;
  border: 1px solid #c9d3bb;
  border-radius: 100px;
  background: #f4f6eaf0;
  color: var(--green);
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .03em;
  white-space: nowrap;
  box-shadow: 0 3px 10px #52634008;
  transition: background 180ms ease, opacity 180ms ease;
}
.exit-button:hover { background: #e7eddb; }
.exit-button span { font-size: 16px; }
.exit-message {
  position: absolute;
  top: 25px;
  left: 0;
  width: 100%;
  color: #7a8869;
  text-align: center;
  font: 13px/1.8 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: .12em;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 600ms ease, transform 600ms ease;
  pointer-events: none;
}
.board-zone.is-exit-ready .exit-landing::before { opacity: .7; }
.board-zone.is-exit-ready .exit-label,
.board-zone.is-exiting .exit-label,
.board-zone.is-celebrating .exit-label,
.board-zone.is-complete .exit-label { opacity: 0; visibility: hidden; }
.board-zone.is-exiting .exit-button,
.board-zone.is-celebrating .exit-button,
.board-zone.is-complete .exit-button { opacity: 0; visibility: hidden; pointer-events: none; }
.board-zone.is-exiting .exit-landing::before { opacity: 1; }
.board-zone.is-celebrating .exit-landing::before {
  animation: exit-light-settle 1400ms ease-out both;
}
.board-zone.is-celebrating .exit-landing::after {
  animation: exit-ring-settle 1200ms ease-out both;
}
.board-zone.is-celebrating .exit-message,
.board-zone.is-complete .exit-message { opacity: 1; transform: translateY(0); }
.board-zone.is-complete .exit-landing::before { opacity: .18; }
.clear-modal[open] { animation: clear-result-reveal 420ms cubic-bezier(.22, .75, .32, 1) both; }
.clear-modal h2 { text-wrap: balance; }
.clear-modal[open]::backdrop { animation: clear-backdrop-reveal 420ms ease both; }
@keyframes exit-light-settle {
  from { opacity: 1; }
  to { opacity: .18; }
}
@keyframes exit-ring-settle {
  from { opacity: .5; transform: translateX(-50%) scale(.7); }
  to { opacity: 0; transform: translateX(-50%) scale(1.45); }
}
@keyframes clear-result-reveal {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes clear-backdrop-reveal {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media(max-width:700px) {
  .exit-landing .exit-label { padding-top: 13px; }
  .exit-button { top: 10px; font-size: 10px; }
  .exit-message { top: 23px; font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .exit-landing::before, .exit-message, .clear-modal[open], .clear-modal[open]::backdrop {
    animation: none !important;
    transition: none !important;
    transform: none;
  }
  .board-zone.is-celebrating .exit-landing::before { opacity: .3; }
  .board-zone.is-celebrating .exit-landing::after { animation: none !important; opacity: 0; }
}
