/* Parsicle's atelier: paper, ink, found words, and small discoveries.
   Diagram geometry belongs to diagram.js. Never transform its word wrappers. */
:root{
  --paper:#f7f5ef;--white:#fffefb;--ink:#252c31;--muted:#696c6c;
  --blue:#2854aa;--coral:#b75743;--line:#d9d8ce;--wash:#eeeee8;
  --serif:'Fraunces','Iowan Old Style',Baskerville,Georgia,serif;
  --sans:'DM Sans',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
html{background:var(--paper);color:var(--ink)}
body{background:radial-gradient(ellipse at 15% 5%,#fffdf8 0,transparent 55%),var(--paper);font-family:var(--sans);font-weight:400}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23grain)' opacity='.55' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}
h1{line-height:1.04}h2{line-height:1.12}h3{line-height:1.2}
.eyebrow{font:600 .62rem/1.5 var(--sans);letter-spacing:.14em;color:var(--coral);text-transform:uppercase}
button{font-family:var(--sans);font-weight:500;border-radius:4px;transition:background .18s,border-color .18s,box-shadow .18s}
button.primary{background:var(--coral);border:1px solid #9c4736;box-shadow:0 3px 0 #8e3c2e,0 5px 10px #6931210a;font-weight:550;letter-spacing:.005em;color:#fffdf8}
button.primary:hover{background:#aa4d3c;box-shadow:0 3px 0 #803629,0 6px 15px #69312115}
button.primary:active{translate:0 2px;box-shadow:0 1px 0 #8e3c2e}
button:disabled{box-shadow:none!important}
button.quiet{font-weight:500;color:var(--muted);background:transparent}
button.quiet:hover{background:#ecebe3;border-color:transparent;box-shadow:none}
button.text-link{font-weight:500;color:var(--blue)}
button[aria-pressed=true]:not(.word-tile):not(.diagram-word){background:#e7ecf3;color:var(--blue)}
:focus-visible{outline-color:var(--blue);outline-offset:4px}
header{max-width:1320px;padding:25px 32px 20px;border-bottom:1px solid var(--line);gap:24px}
.brand{min-width:0;width:auto;min-height:46px;flex:0 0 auto;box-shadow:none!important}
.brand .brand-lockup{display:block;width:190px;min-width:0;height:auto;max-height:none}
.topnav{gap:14px}.topnav button{position:relative;font-size:.76rem;border-radius:0;min-height:44px;padding:8px 5px;font-weight:500;letter-spacing:.01em}
.topnav button.active,.topnav button.active:hover{background:transparent;color:var(--ink)}
.topnav button.active::after{content:"";position:absolute;left:5px;right:5px;bottom:4px;height:2px;background:var(--coral)}
main{max-width:1320px;padding:21px 32px 76px;min-height:calc(100svh - 170px)}
footer{max-width:1256px;border-top:1px solid var(--line);color:#797b77;font-size:.64rem;padding:17px 0 21px}

/* One illustrated world beside a quietly theatrical word board. */
.puzzle-game.atelier-game{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(30px,4vw,65px);max-width:none;margin:0 auto}
.atelier-world{padding-top:32px;min-width:0;align-self:start}
.atelier-world>.eyebrow{font-size:.56rem;letter-spacing:.13em;margin:0 0 22px}
.atelier-world .world-title{font-size:clamp(2.8rem,4.15vw,4.2rem);line-height:1.07;margin:0;letter-spacing:-.052em;font-weight:500}
.atelier-world .world-title em{font-weight:400;color:var(--coral)}
.world-illustration{position:relative;margin:18px -26px 0 -30px;aspect-ratio:1.22;isolation:isolate}
.world-illustration img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.world-caption{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:19px;margin-top:4px;max-width:380px}
.folio-index{font:400 2.4rem/1 var(--serif);color:var(--coral);letter-spacing:-.06em;border-right:1px solid var(--line);padding-right:15px}
.world-caption h3{font-size:1.16rem;letter-spacing:-.025em;margin:0 0 4px}
.world-caption p{font-size:.69rem;line-height:1.55;color:var(--muted);margin:0;max-width:250px}
.atelier-play{min-width:0;padding-top:6px}
.game-progress{display:flex;align-items:center;gap:16px;min-height:40px;margin-bottom:14px}
.round-label{font-size:.64rem;line-height:1.25;font-weight:500;color:var(--ink);flex:1;max-width:185px;letter-spacing:.015em}
.game-progress .steps{display:flex;gap:8px;flex:1;justify-content:center;min-width:0}
.game-progress .step{position:relative;display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid #c9cbc3;border-radius:50%;background:transparent;color:#878b85;font:500 .57rem/1 var(--sans);box-shadow:none}
.game-progress .step:not(:last-child)::after{content:"";position:absolute;width:7px;height:1px;background:#d2d4ca;left:25px;top:11px}
.game-progress .step.done{background:#354347;border-color:#354347;color:#fffdf7}
.game-progress .step.current{background:var(--coral);border-color:var(--coral);color:#fffdf7;outline:3px solid #f3e3da;outline-offset:1px}
.round-count{font-size:.63rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.board-card.game-board{position:relative;padding:0;overflow:visible;border:1px solid #d0d2c8;border-radius:5px;background:var(--white);box-shadow:0 2px 0 #efeee6,0 3px 0 #d9dad1,0 5px 0 #faf9f3,0 6px 0 #dedfd6,0 15px 35px #30392e09}
.board-card.game-board::before{content:"";position:absolute;left:27px;top:-1px;width:50px;height:2px;background:var(--coral);border-radius:1px;pointer-events:none}
.game-board.confirmed{border-color:#bbc6cb;box-shadow:0 2px 0 #efeee6,0 3px 0 #d3d9d8,0 5px 0 #faf9f3,0 6px 0 #dedfd6,0 15px 35px #30392e09}
.puzzle-question{background:transparent;padding:25px 27px 0;border:0;border-radius:0}
.puzzle-kicker{font-size:.56rem;letter-spacing:.14em;margin:0 0 11px;color:#8d624e}
.move-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.game-board .sentence{font-family:var(--serif);font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.32;margin:0 0 12px;min-height:0;color:var(--ink);font-weight:500;letter-spacing:-.035em}
.game-board .task-prompt{font-size:.77rem;line-height:1.6;color:#696d6b;margin:0;max-width:580px;font-weight:400}
.board-surface{padding:22px 22px 9px;background:transparent}
.game-board .draft-tag{color:#8a8e87;letter-spacing:.1em;font-size:.49rem;font-weight:500;margin:0 0 1px;min-height:17px;gap:6px}
.game-board .draft-dot{border-color:#9da69c;width:5px;height:5px}
.game-board .draft-tag.accepted{color:var(--blue)}
.game-board .draft-tag.accepted .draft-dot{background:var(--blue);border-color:var(--blue)}
.game-board .diagram-mount{margin:0;width:100%;min-height:0}
.game-board .diagram-scroll{padding-top:1px;padding-bottom:6px}
.game-board .diagram-lines{color:#45514e}
.game-board .word-face{background:linear-gradient(#fffefa,#fcfbf5);border-color:#bfc5ba;border-radius:2px;box-shadow:0 2px 0 #dbded3,0 3px 5px #26322810;color:#29322e;font-family:var(--serif);font-weight:400}
.game-board .diagram-word[data-supplied=true] .word-face{border-color:#cbd0c5;box-shadow:0 2px 0 #e5e6dd}
.game-board .is-confirmed .word-face{border-color:#a9bdc1;box-shadow:0 2px 0 #d5e0df}
.game-board .is-confirmed .complement-trace{stroke:var(--blue)}
.game-board .diagram-word.is-selected .word-face,.game-board .word-tile.selected .word-face{background:#fff5e8;border-color:var(--coral);box-shadow:0 3px 0 #d5b49f,0 5px 12px #aa623025}
.game-board .diagram-drop.empty-word .word-face{background:#f4f5ee;border-color:#9aa696;color:#7b8878;box-shadow:inset 0 1px 3px #314c3610}
.magnet-shelf{position:relative;background:linear-gradient(175deg,#f0f0e8,#f7f6ee);border-top:1px solid #e1e2d7;border-bottom:1px solid #e5e5dc;padding:12px 26px 13px;box-shadow:inset 0 2px 4px #26372103}
.magnet-shelf[hidden]{display:none}
.shelf-label{display:block;color:#8a8a7c;font-size:.49rem;line-height:1.4;text-transform:uppercase;font-weight:500;letter-spacing:.14em;margin-bottom:3px}
.magnet-shelf .word-tray{border:0;padding:0;min-height:48px;gap:7px}
.magnet-shelf .tray-caption{color:#777c72;font-size:.65rem;line-height:1.4;padding:1px 0 0}
.magnet-shelf .tray-empty{font-size:.69rem;color:#777c72;min-height:24px;padding-top:2px}
.magnet-shelf:has(.tray-empty){padding-top:10px;padding-bottom:10px}
.magnet-shelf:has(.tray-empty) .word-tray{min-height:24px}
.game-board .toolbar{margin:0;padding:17px 25px 18px;border:0;gap:7px;flex-wrap:wrap}
.game-board .toolbar .quiet{border:1px solid transparent;padding:9px 10px;font-size:.72rem;border-radius:3px;background:transparent;min-height:44px;font-weight:400}
.game-board .toolbar .quiet:hover{background:#f0f0e8}
.game-board .toolbar .primary{min-height:47px;min-width:140px;margin-left:auto;padding:11px 20px;font-size:.79rem}
.game-board .connection-tools{margin:0;padding:0 25px 11px}
.game-board .connection-tools:empty{display:none}
.game-board .connection-tools>details{border-top:1px solid #edeee6}
.game-board .relationship-options>summary,.game-board .relation-reading>summary{color:#85897e;font-size:.64rem;min-height:37px}
.game-footnote{font-size:.61rem;text-align:center;color:#8b8c83;margin:21px 0 0;line-height:1.5}

/* Feedback arrives as the next line in the story, with a tiny collected artwork. */
.game-board #play-feedback:empty{display:none}
.game-board .feedback,.game-board .hint{position:relative;display:flow-root;border:0;border-radius:0;margin:0;padding:19px 25px;background:#f0f1e9;animation:result-arrive .28s ease-out}
.game-board .feedback.good{background:#eef2ed;color:#34473d;border-top:1px solid #dce5da;border-bottom:1px solid #dce5da}
.game-board .feedback.repair{background:#faf0e8;border-top:1px solid #eadacf;border-bottom:1px solid #eadacf}
.game-board .hint{background:#f1f2ec;border-top:1px solid #e0e5da;border-bottom:1px solid #e0e5da}
.result-art{float:right;width:79px;height:100px;margin:-3px -5px 7px 17px;object-fit:cover;border:3px solid #fffdf7;box-shadow:0 1px 5px #3c4f4020;transform:rotate(4deg)}
.result-heading{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.result-heading h3,.game-board .feedback h3{font:500 1.3rem/1.18 var(--serif);letter-spacing:-.035em;margin:0}
.result-seal{display:inline-grid;place-items:center;flex:none;width:29px;height:29px;background:transparent;color:#61765e;border:1px solid #94a58e;border-radius:50%;font-size:16px;font-weight:400;transform:rotate(-7deg)}
.game-board .feedback p,.game-board .hint p{font-size:.75rem;line-height:1.6;margin:7px 0}
.game-board .consequence{border-color:#d5dfd1;margin-top:13px;padding-top:12px;gap:13px}
.game-board .consequence p{font-size:.72rem}
.game-board .prediction-result{border-color:#d5dfd1}
.game-board .assisted-note{font-size:.64rem!important;color:#7b8273;margin-top:11px;padding-top:9px;border-top:1px solid #d5dfd1}
.game-board .meaning-scene{flex-wrap:wrap;gap:8px}
@keyframes result-arrive{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}

/* The seven-window house is a story cover, never a status dashboard. */
.story-cover{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:center;padding:35px 0 24px;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
.story-cover .cover-copy{position:relative;z-index:1;padding:0 0 30px}
.story-cover .eyebrow{font-size:.59rem;margin-bottom:24px}
.story-cover h1{font:500 clamp(3.5rem,6vw,5.7rem)/1.02 var(--serif);letter-spacing:-.055em;max-width:550px;margin-bottom:23px}
.story-cover h1 em{color:var(--coral);font-weight:400}
.story-cover .lede{font-size:.84rem;line-height:1.7;max-width:385px;color:var(--muted);margin-bottom:27px}
.story-cover .cover-art,.story-cover>img{width:112%;max-width:none;margin-left:-5%;aspect-ratio:1.15;object-fit:contain;mix-blend-mode:multiply;filter:none;border:0;box-shadow:none}
.story-cover .cover-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cover-sticker{position:absolute;right:4%;bottom:8%;display:grid;place-content:center;width:88px;height:88px;padding:12px;border:1px solid #a66e56;border-radius:50%;background:#f7f2e4bf;color:#a2634d;font:500 .64rem/1.3 var(--sans);text-align:center;letter-spacing:.05em;transform:rotate(9deg);box-shadow:inset 0 0 0 4px #f7f2e4,inset 0 0 0 5px #c6ab95}
.cover-sticker strong{font:500 1.6rem/1 var(--serif);display:block}
.chapter-strip{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:16px;padding:23px 0 26px;margin:10px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;box-shadow:none}
.chapter-strip .strip-label{font:500 .59rem/1.6 var(--sans);letter-spacing:.02em;color:#7b8075;min-width:100px;margin-right:14px}
.chapter-strip button,.chapter-strip .window-token{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;width:67px;min-height:81px;padding:10px 6px;border:1px solid #c8cdc4;border-radius:29px 29px 2px 2px;background:#f0f1e9;color:#939a8e;font:500 .62rem/1.1 var(--sans);box-shadow:inset 0 0 0 5px #f8f7f1,inset 0 0 0 6px #d7dbcf}
.chapter-strip button::before,.chapter-strip .window-token::before{content:"";position:absolute;top:34px;bottom:8px;left:50%;width:1px;background:#d5dacd;opacity:.65}
.chapter-strip button strong,.chapter-strip .window-token strong,.chapter-strip .window-number{font:500 1.4rem/1 var(--serif);position:relative;z-index:1}
.chapter-strip .window-status{position:relative;z-index:1;font-size:.62rem}
.chapter-strip button.current,.chapter-strip .window-token.current{background:#dce8f4;border-color:#7794ae;color:var(--blue);box-shadow:inset 0 0 0 5px #f9f8f1,inset 0 0 0 6px #aac0d1}
.chapter-strip button.done,.chapter-strip .window-token.done,.chapter-strip .window-token.complete{background:#e6e9dc;border-color:#a8b29b;color:#617052}
.chapter-strip .chapter-pip.complete::after{display:none}
.chapter-strip button:disabled{opacity:1}
.chapter-hero{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;margin:24px 0 35px}
.chapter-hero img{width:100%;border:1px solid #d6d4c9;box-shadow:5px 5px 0 #ebe8de;border-radius:2px}
.chapter-hero h1{font-size:clamp(2.5rem,5vw,4.4rem)}
.chapter-hero p{font-size:.84rem;line-height:1.7;color:var(--muted)}
.paper{position:relative;background:#fffef9;border:1px solid #d4d4c9;border-radius:3px;box-shadow:3px 4px 0 #ebe9df,4px 5px 0 #d9d8ce,0 12px 28px #363c2b05;padding:34px 38px}
.paper::before{content:"";position:absolute;left:37px;top:-1px;width:47px;height:2px;background:var(--coral)}
.paper h1{font-size:clamp(2rem,4vw,3.1rem)}
.paper h2{font-size:1.65rem}.paper p{font-size:.84rem;line-height:1.75}
.revisit{border:0;border-left:2px solid var(--coral);border-radius:0;background:#efefe7;padding:17px 21px;box-shadow:none}
.revisit h3{font-size:1.25rem}.revisit p{font-size:.78rem}
.claim-card{background:#f3eee3;border:1px solid #ded8c8;border-radius:3px;box-shadow:none;padding:20px}
.claim-card h3{font-size:1.3rem}.claim-card p{font-size:.8rem}
.closure{max-width:900px;margin:35px auto;text-align:center}
.closure h1{font-size:clamp(2.6rem,5vw,4rem);max-width:650px;margin:0 auto 20px}
.closure .lede{font-size:.88rem;line-height:1.7;max-width:570px;margin:0 auto 23px}
.closure-art,.closure>img{width:min(100%,600px);max-height:340px;object-fit:contain;mix-blend-mode:multiply;margin:0 auto 15px}
.discovery-seal{display:inline-flex;align-items:center;gap:13px;text-align:left;margin:9px 0 20px;padding:12px 18px;border:1px solid #bd967e;border-radius:1px;outline:1px solid #d2b8a4;outline-offset:3px;color:#9b6149;transform:rotate(-2deg);background:#fbf7ec}
.discovery-seal>span{font:500 2.1rem/1 var(--serif);border-right:1px solid #d2b8a4;padding-right:13px}
.discovery-seal p{font:500 .52rem/1.55 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0}
.discovery-seal strong{display:block;font-size:.67rem;font-weight:500;letter-spacing:.04em}
.closure .chapter-strip{max-width:630px;margin:10px auto 30px}
.ending-paper{max-width:850px;margin:25px auto}

/* Every sentence shape is a collectible illustrated composition. */
.practice-header,.practice-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:27px 0 34px}
.practice-header h1,.practice-top h1{font-size:clamp(2.7rem,5vw,4.2rem);margin:7px 0 14px;max-width:760px}
.practice-top h1 em{font-weight:400;color:var(--coral)}
.practice-header p,.practice-top .lede{font-size:.83rem;line-height:1.65;color:var(--muted);max-width:620px}
.practice-stamp,.practice-sticker{display:grid;place-content:center;flex:none;width:102px;height:102px;border:1px solid #adae9e;border-radius:50%;color:#7c826e;text-align:center;transform:rotate(9deg);box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6px #c3c5b5;font:500 .57rem/1.45 var(--sans);letter-spacing:.08em}
.practice-stamp strong{font:500 2rem/1 var(--serif);display:block;margin-bottom:4px}
.pattern-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:31px 28px;margin:24px 0 44px}
.pattern-tile{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;min-height:465px;aspect-ratio:3/4;margin:0;padding:0;overflow:hidden;background:#eeeadd;border:1px solid #d1cfc1;border-radius:4px;box-shadow:0 2px 0 #e3dfd2,0 3px 0 #cfcbbf,0 10px 22px #3e3a2a0a;transition:translate .25s,box-shadow .25s}
.pattern-tile:hover{translate:0 -3px;box-shadow:0 2px 0 #e3dfd2,0 3px 0 #cfcbbf,0 16px 28px #3e3a2a12}
.pattern-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.pattern-tile::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#faf7ede6 0,#faf7edba 28%,#faf7ed00 45%,#faf7ed00 66%,#faf7edb0 88%,#faf7edf2 100%)}
.practice-num{position:absolute;right:23px;top:19px;width:auto;color:#797c71;font:500 .52rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.practice-info{flex:0 0 auto;padding:40px 26px 12px;margin:0;max-width:100%}
.practice-info h3{font:500 clamp(1.55rem,2.65vw,2.15rem)/1.05 var(--serif);letter-spacing:-.045em;margin:0 0 9px;max-width:270px;color:#26332f}
.pattern-tagline{font:400 .7rem/1.5 var(--sans);color:#586259;max-width:220px;margin:0}
.practice-info .pattern-tagline{color:#354039}
.pattern-tile>button,.pattern-tile>.primary{align-self:flex-start;margin: auto 25px 13px;padding:10px 15px;min-height:44px;border:1px solid #aaa997;background:#fffdf3d9;border-radius:3px;box-shadow:0 2px 0 #c9c8b8;color:#374337;font-size:.7rem;font-weight:500;backdrop-filter:blur(6px)}
.pattern-tile>button:hover{background:#fffdf7;border-color:#6d7c68;box-shadow:0 2px 0 #b3baa7}
.pattern-definition{position:relative;margin:0 25px 17px;font-size:.6rem;color:#6c776a;border-top:1px solid #afb4a76b;padding-top:0}
.pattern-definition summary{display:flex;align-items:center;min-height:34px;cursor:pointer;font-size:.61rem;color:#6e7668;list-style:none}
.pattern-definition summary::after{content:"+";margin-left:auto;font-size:16px;font-weight:400}
.pattern-definition[open] summary::after{content:"−"}
.pattern-definition[open]{background:#faf8eff0;margin-bottom:12px;border-radius:3px;padding:0 10px 9px;margin-left:15px;margin-right:15px}
.pattern-definition p,.pattern-definition .formula{font-size:.64rem;line-height:1.5;margin:5px 0 0}
.pattern-definition .pattern-mark{display:inline-block;width:62px;height:32px;vertical-align:middle;margin:0 7px 0 0;color:#647861}
.pattern-tile .pattern-mark:not(.pattern-definition .pattern-mark){display:none}
.practice-note{font-size:.73rem;color:var(--muted);max-width:720px;line-height:1.65;margin:24px 0}
.practice-record{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:15px 0 30px;padding:0;color:#78806f}
.practice-record summary{font-size:.71rem;color:#697961;min-height:48px}.practice-record p{font-size:.73rem;line-height:1.65;max-width:780px}

/* The notebook is a real paper trail; the learning record stays a quiet disclosure. */
.notebook-title{font-size:clamp(2.7rem,5vw,4.2rem);margin:25px 0 10px}
.notebook-grid{grid-template-columns:minmax(0,1fr) 260px;gap:35px;margin-top:29px}
.notebook-grid .paper{padding:29px 31px}
.notebook-grid h2{font-size:1.7rem}
.evidence-item{padding:20px 0;border-bottom:1px solid #e2e2d8;background:transparent;border-radius:0}
.evidence-item h3{font-size:1.3rem;margin-bottom:8px}.evidence-item p{font-size:.79rem;line-height:1.7}
.evidence-num,.evidence-number{font:500 1.75rem/1 var(--serif);color:var(--coral)}
.learning-record{padding:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;border-radius:0;box-shadow:none;margin:17px 0}
.learning-record>summary{padding:16px 0;color:#747b6c;font-size:.69rem;cursor:pointer}
.learning-record .stats,.stats{background:transparent;border:0;border-radius:0;box-shadow:none}
.stats h3{font-size:1.25rem}.stat{border-color:#e0e1d7}.stat strong{font:500 1.6rem/1.15 var(--serif);color:#46563e}.stat span{font-size:.63rem}
.notebook-empty{padding:30px 0;color:var(--muted);font:400 1.05rem/1.5 var(--serif)}
.notebook-top h1{font-size:clamp(2.7rem,5vw,4.2rem);margin:25px 0 12px}.notebook-top p{font-size:.83rem;color:var(--muted)}
.notebook-layout{grid-template-columns:minmax(0,1fr) 260px;gap:35px}.notebook-side{border-left:1px solid var(--line)}
.evidence-entry{border-color:#d9ddd2}.entry-number{color:var(--coral);font-size:1.9rem}.entry-title h3{font-size:1.3rem}.evidence-entry p{font-size:.8rem;line-height:1.7}.evidence-entry .small{font-size:.68rem;color:#7d8476}.evidence-entry details>summary{font-size:.7rem;color:#6c7d61}
.progress-stat strong{font-size:1.8rem;color:#596b50}.progress-stat span{font-size:.69rem}
.margin-panel{background:#eeefe6;border-top:1px solid #aab79e;padding:25px}.margin-panel h2{font-size:1.7rem}.margin-panel p{font-size:.8rem;line-height:1.65}
.meaning-options{gap:13px}
.meaning-option{position:relative;border:1px solid #cacdc1;background:#fffdf7;box-shadow:0 3px 0 #e3e3d7;border-radius:3px;padding:20px;text-align:left;font-weight:400}
.meaning-option:hover{background:#f6f5ec;border-color:#a5b29d}.meaning-option.selected{background:#edf1e8;border-color:#91a385}
.meaning-option strong{font:500 1.15rem/1.2 var(--serif);letter-spacing:-.025em}.meaning-option p{font-size:.77rem;color:#6f7769;line-height:1.6}
.option-letter{color:#a9755b;font:500 1.7rem/1 var(--serif)}
.settings-grid{gap:24px}.setting-card{background:#fffef8;border:1px solid #d6d7cc;border-radius:4px;box-shadow:0 3px 0 #e8e6dc;padding:25px}
.setting-card h2{font-size:1.5rem}.setting-card p{font-size:.8rem;line-height:1.65;color:var(--muted)}
dialog{border:1px solid #c6cabe;border-radius:5px;background:#fffdf6;box-shadow:0 25px 80px #202a3040;padding:30px;max-width:500px}
dialog h2{font-size:1.8rem}dialog p{font-size:.84rem;line-height:1.65}dialog::backdrop{background:#26362c50;backdrop-filter:blur(3px)}
.text-link,.relationship-options summary,.relation-reading summary{text-underline-offset:4px}

@media(max-width:1120px){
  .puzzle-game.atelier-game{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:30px}
  .atelier-world .world-title{font-size:3.15rem}.atelier-world>.eyebrow{font-size:.5rem;letter-spacing:.1em}
  .world-illustration{margin-left:-21px;margin-right:-20px;aspect-ratio:1.08}
  .world-caption{gap:12px}.world-caption h3{font-size:1.04rem}.world-caption p{font-size:.64rem}
  .pattern-tile{min-height:410px}.practice-info{padding-left:22px;padding-right:22px}.pattern-tile>button{margin-left:21px}
}
@media(max-width:900px){
  .pattern-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.pattern-tile{min-height:440px}
  .practice-info h3{font-size:2rem}.notebook-grid,.notebook-layout{grid-template-columns:1fr}.notebook-grid .stats{max-width:100%}.notebook-side{border-left:0;padding-left:0}
  .story-cover h1{font-size:3.9rem}.story-cover .lede{font-size:.78rem}
}
@media(max-width:820px){
  .puzzle-game.atelier-game{display:flex;flex-direction:column;gap:4px;max-width:680px}
  .atelier-world{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;height:95px;padding:0 3px;overflow:visible;order:0}
  .atelier-world>.eyebrow,.atelier-world .world-caption{display:none}
  .atelier-world .world-title{display:block;font-size:23px;line-height:1.13;letter-spacing:-.045em;margin:0;padding-left:4px}
  .world-illustration{position:relative;inset:auto;width:180px;height:100px;margin:-3px 0;aspect-ratio:auto}
  .world-illustration img{object-fit:contain;object-position:center}
  .atelier-world::after{display:none}
  .atelier-play{width:100%;padding-top:0}.game-progress{margin-bottom:13px}.game-board .sentence{font-size:1.9rem}
  .story-cover{grid-template-columns:.9fr 1.1fr;gap:5px}.cover-sticker{width:75px;height:75px;right:1%;font-size:.53rem}
}
@media(max-width:650px){
  header{padding:13px 16px 10px;gap:12px;align-items:center;flex-wrap:nowrap}
  .brand{min-width:0;min-height:44px}.brand .brand-lockup{width:150px}
  .topnav{gap:0;flex:0 1 auto;flex-wrap:nowrap}.topnav button{font-size:12px;min-height:44px;padding:7px 1px;letter-spacing:0;white-space:nowrap}.topnav button.active::after{left:1px;right:1px}
  main{padding:10px 12px 52px;min-height:calc(100svh - 150px)}footer{margin:0 16px;padding:14px 0 20px;font-size:.59rem}
  .atelier-world{height:95px}.world-illustration{inset:auto}
  .game-progress{gap:10px;min-height:37px;margin-bottom:12px}.round-label{font-size:.59rem;max-width:140px}
  .game-progress .steps{gap:7px}.game-progress .step{flex-basis:21px;width:21px;height:21px;font-size:.51rem}.game-progress .step:not(:last-child)::after{left:22px;width:6px;top:9px}
  .round-count{font-size:.58rem}.board-card.game-board{border-radius:4px}.board-card.game-board::before{left:18px;width:37px}
  .puzzle-question{padding:20px 18px 0}.puzzle-kicker{font-size:.51rem;margin-bottom:9px}.game-board .sentence{font-size:1.55rem;line-height:1.33;margin-bottom:11px}
  .game-board .task-prompt{font-size:.73rem;line-height:1.55}.board-surface{padding:17px 9px 8px}.game-board .draft-tag{font-size:.45rem;margin-left:8px}
  .magnet-shelf{padding:11px 17px 12px}.shelf-label{font-size:.46rem}.magnet-shelf .tray-caption{font-size:.63rem}
  .game-board .toolbar{padding:13px 15px 15px;gap:5px}.game-board .toolbar .quiet{font-size:.68rem;padding:8px 7px;min-height:44px}.game-board .toolbar .primary{font-size:.72rem;min-height:45px;min-width:117px;padding:10px 12px}
  .game-board .connection-tools{padding:0 18px 8px}.game-board .relationship-options>summary,.game-board .relation-reading>summary{font-size:.62rem;min-height:40px}
  .game-footnote{font-size:.58rem;margin-top:18px}.game-board .feedback,.game-board .hint{padding:17px 18px}.result-art{width:65px;height:84px;margin-right:-2px;margin-left:12px}
  .result-heading{gap:8px}.result-heading h3,.game-board .feedback h3{font-size:1.2rem}.game-board .feedback p,.game-board .hint p{font-size:.72rem}.result-seal{width:25px;height:25px;font-size:14px}
  .story-cover{display:flex;flex-direction:column-reverse;gap:0;padding:0 7px 14px;align-items:stretch}.story-cover .cover-copy{padding:0 4px 13px}.story-cover .eyebrow{font-size:.55rem;margin-bottom:17px}
  .story-cover h1{font-size:3.7rem;margin-bottom:20px;max-width:390px}.story-cover .lede{font-size:.8rem;max-width:380px;line-height:1.65;margin-bottom:24px}
  .story-cover .cover-art,.story-cover>img{width:112%;margin-left:-6%;aspect-ratio:1.7;max-height:270px;object-fit:cover;object-position:center 35%}.cover-sticker{right:5%;bottom:auto;top:165px;width:71px;height:71px;font-size:.5rem}
  .chapter-strip{gap:8px;padding:21px 3px;margin:10px 0 28px}.chapter-strip button,.chapter-strip .window-token{flex:1;width:auto;min-height:65px;font-size:.5rem;gap:3px;padding:7px 2px;border-radius:23px 23px 2px 2px;box-shadow:inset 0 0 0 4px #f8f7f1,inset 0 0 0 5px #d7dbcf}
  .chapter-strip button strong,.chapter-strip .window-token strong,.chapter-strip .window-number{font-size:1.2rem}.chapter-strip button::before,.chapter-strip .window-token::before{top:29px;bottom:6px}.chapter-strip .strip-label{display:none}
  .chapter-strip button.current,.chapter-strip .window-token.current{box-shadow:inset 0 0 0 4px #f9f8f1,inset 0 0 0 5px #aac0d1}
  .chapter-hero{display:flex;flex-direction:column-reverse;gap:23px;margin:13px 7px 27px;align-items:stretch}.chapter-hero h1{font-size:2.9rem}.chapter-hero p{font-size:.79rem}.chapter-hero img{max-height:250px;object-fit:cover}
  .paper{padding:26px 22px;margin-left:4px;margin-right:5px}.paper::before{left:22px}.paper h1{font-size:2.3rem}.paper h2{font-size:1.5rem}.paper p{font-size:.8rem;line-height:1.7}
  .closure{margin:23px 5px}.closure h1{font-size:2.65rem}.closure .lede{font-size:.8rem}.closure-art{max-height:230px}.discovery-seal{scale:.93}
  .practice-header,.practice-top{gap:10px;margin:24px 8px 29px;align-items:flex-start}.practice-header h1,.practice-top h1{font-size:2.8rem;margin-top:10px}.practice-header p,.practice-top .lede{font-size:.78rem}.practice-stamp,.practice-sticker{width:66px;height:66px;margin-top:4px;font-size:.42rem;box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 4px #c3c5b5}.practice-stamp strong{font-size:1.4rem}
  .pattern-collection{grid-template-columns:1fr;gap:28px;margin:20px 8px 35px;max-width:470px}.pattern-tile{min-height:455px;aspect-ratio:3/4}.practice-info{padding:40px 27px 12px}.practice-info h3{font-size:2.1rem;max-width:285px}.pattern-tagline{font-size:.72rem;max-width:230px}.practice-num{font-size:.54rem;right:24px;top:21px}
  .pattern-tile>button{margin-left:26px;margin-bottom:11px;font-size:.72rem}.pattern-definition{margin-left:26px;margin-right:26px;margin-bottom:16px}.pattern-definition summary{font-size:.64rem;min-height:39px}.pattern-definition p,.pattern-definition .formula{font-size:.69rem}
  .practice-note{margin:20px 9px;font-size:.72rem}.notebook-title,.notebook-top h1{font-size:2.8rem;margin:25px 8px 12px}.notebook-grid{gap:25px;margin-top:25px}.notebook-grid .paper{padding:25px 22px}.evidence-item{padding:19px 0}.evidence-item h3{font-size:1.25rem}
  .meaning-options{gap:11px}.meaning-option{padding:17px}.meaning-option strong{font-size:1.12rem}.meaning-option p{font-size:.74rem}.settings-grid{gap:17px}.setting-card{padding:22px}
  dialog{padding:24px;max-width:calc(100vw - 30px)}dialog h2{font-size:1.6rem}
}
@media(max-width:390px){
  .brand .brand-lockup{width:138px}
  .atelier-world{height:95px}.world-illustration{width:170px}.game-progress{gap:7px}.round-label{max-width:123px;font-size:.56rem}.game-progress .steps{gap:6px}.game-progress .step{flex-basis:19px;width:19px;height:19px}.game-progress .step:not(:last-child)::after{left:20px;top:8px;width:5px}.round-count{font-size:.55rem}
  .puzzle-question{padding:19px 15px 0}.game-board .sentence{font-size:1.43rem}.game-board .task-prompt{font-size:.7rem}.board-surface{padding-left:8px;padding-right:8px}.game-board .toolbar{padding-left:11px;padding-right:11px;gap:4px}.game-board .toolbar .primary{min-width:107px;font-size:.68rem}.game-board .toolbar .quiet{font-size:.65rem;padding-left:6px;padding-right:6px}
  .chapter-strip{gap:6px}.story-cover h1{font-size:3.2rem}.cover-sticker{top:140px}.practice-header h1,.practice-top h1{font-size:2.45rem}.practice-stamp,.practice-sticker{width:59px;height:59px}.pattern-tile{min-height:415px}.practice-info h3{font-size:1.95rem}
}
@media(max-width:360px){
  header{flex-wrap:wrap;gap:0;padding-bottom:4px}.brand{margin:auto;min-height:46px}.brand .brand-lockup{width:170px}.topnav{width:100%;justify-content:center;gap:23px}.topnav button{min-height:44px;padding:7px 2px;font-size:12px}
  .atelier-world{height:90px}.atelier-world .world-title{font-size:20px;padding-left:2px}.world-illustration{width:150px;height:92px}.round-label{max-width:116px}.game-progress{gap:5px}.game-progress .steps{gap:5px}.round-count{font-size:.52rem}
  .practice-stamp,.practice-sticker{display:none}.practice-header h1,.practice-top h1{font-size:2.55rem}.pattern-tile{min-height:390px}.practice-info h3{font-size:1.8rem}.practice-info{padding:37px 21px 12px}.pattern-tagline{font-size:.67rem}.pattern-tile>button{margin-left:21px;font-size:.68rem}.pattern-definition{margin-left:21px;margin-right:21px}
}
/* A saved sentence is a small bookmark within the illustrated collection. */
.revisit:has([data-resume]){padding:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;margin:20px 0}
.revisit:has([data-resume])>h3,.revisit:has([data-resume])>p{display:none}
.revisit:has([data-resume]) .actions{margin:0;gap:8px}
.revisit [data-resume]{border:0;background:transparent;box-shadow:none;padding:11px 0;min-height:48px;text-align:left;font-size:.82rem;color:var(--coral);flex-grow:0}
.revisit [data-resume]::after{content:' ↗';margin-left:8px}
.revisit [data-resume]:hover{text-decoration:underline;text-underline-offset:4px}
/* Reading sizes adjusted after the 390px rendered check. */
.game-board .task-prompt{font-size:.86rem;color:#5d6460}
.game-board .feedback p,.game-board .hint p{font-size:.84rem}
@media(max-width:650px){
  .game-board .task-prompt{font-size:.875rem;line-height:1.5}
  .game-board .feedback p,.game-board .hint p{font-size:.875rem;line-height:1.55}
  .magnet-shelf .tray-caption{font-size:.79rem;line-height:1.45}
  .game-board .toolbar .primary{font-size:.875rem;min-height:48px}
  .game-board .toolbar .quiet{font-size:.78rem}
  .game-board .relationship-options>summary,.game-board .relation-reading>summary{font-size:.75rem;min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
  .pattern-tile:hover{translate:none}
}

/* A discovery opens a place in the world, not another dashboard statistic. */
.case-map-invitation{width:100%;display:flex;align-items:center;gap:22px;text-align:left;padding:0;margin:20px 0 32px;border:1px solid #b9c7c4;background:#fcfbf5;overflow:hidden;box-shadow:0 3px 0 #e5e6dc;border-radius:4px;color:var(--ink)}
.case-map-invitation>img{width:160px;height:115px;object-fit:cover;flex:none}
.case-map-invitation>span{display:grid;gap:5px;padding:12px 18px 12px 0}
.case-map-invitation small{font:600 .62rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.case-map-invitation strong{font:400 1.6rem/1.1 var(--serif);letter-spacing:-.03em}
.case-map-invitation>span>span{font:.76rem/1.5 var(--sans);color:var(--blue)}
.case-map-navigation{display:flex;justify-content:space-between;gap:10px;margin-bottom:20px}
.case-reflection{max-width:760px;margin:40px auto 15px;padding:28px 0;border-top:1px solid var(--line)}
.case-reflection h2{font:400 2.25rem/1.1 var(--serif);margin:0 0 15px}
.case-reflection label{display:block;margin-bottom:12px;line-height:1.6}
.case-reflection textarea{width:100%;min-height:120px}
.game-board .draft-tag.accepted{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;background:#316b58;color:#fffef7;border-radius:3px;letter-spacing:.06em;font-weight:650;box-shadow:0 2px 0 #1c4a3a}
.game-board .draft-tag.accepted .draft-dot{display:none}
.game-board.confirmed .board-surface{background:#f0f5e9}
.game-board .is-confirmed .word-face{border-color:#4f8566;box-shadow:0 3px 0 #c0d8be;animation:connection-lit .6s ease-out}
@keyframes connection-lit{0%{box-shadow:0 0 0 4px #c1dcae,0 3px 0 #c0d8be}100%{box-shadow:0 0 0 0 transparent,0 3px 0 #c0d8be}}
@media(max-width:650px){.case-map-invitation{gap:14px}.case-map-invitation>img{width:90px;height:115px}.case-map-invitation strong{font-size:1.3rem}.case-map-invitation>span{padding-right:12px}.case-map-navigation button{font-size:.75rem}.case-reflection h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.game-board .is-confirmed .word-face{animation:none}}

/* Connections belong to the move: a small tray of line shapes at the drop. */
.sentence-diagram .diagram-drop-area{border-radius:5px;cursor:default;outline-offset:-3px}
.sentence-diagram.has-selection .diagram-drop-area{cursor:copy}
.sentence-diagram .diagram-drop-area.is-aiming{background:#dcebe433!important;outline:2px dashed #749f92}
.sentence-diagram .diagram-drop-area:focus-visible{outline:2px dashed #b55943}
.sentence-diagram .diagram-choices{position:fixed;z-index:150;width:360px;max-width:calc(100vw - 20px);padding:10px;background:#fffefa;color:#303b37;border:1px solid #a9b8ad;border-top:3px solid #b65f47;border-radius:7px;box-shadow:0 5px 0 #e5e5db,0 14px 42px #23372f36;overflow:auto;overscroll-behavior:contain;animation:connection-tray-in .14s ease-out}
.sentence-diagram .local-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.sentence-diagram .diagram-choices .local-choice-label{margin:0 4px;font:400 20px/1.2 var(--serif,Georgia,serif);letter-spacing:-.025em;color:#303b37}
.sentence-diagram .diagram-choices .local-choice-cancel{flex:none;min-height:44px;padding:7px 9px;margin:0;font:500 13px/1.2 var(--sans,system-ui,sans-serif);color:#686e64;border:0;box-shadow:none;background:transparent}
.sentence-diagram .local-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.sentence-diagram .diagram-choices .diagram-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;width:100%;min-height:70px;margin:0;padding:7px 10px;border:1px solid #d2d8cd;border-radius:3px;box-shadow:0 2px 0 #e7e9e0;background:#fcfcf5;color:#303b37;text-align:left;font:550 13px/1.2 var(--sans,system-ui,sans-serif);white-space:normal;overflow-wrap:anywhere}
.sentence-diagram .diagram-choices .diagram-choice:hover,.sentence-diagram .diagram-choices .diagram-choice:focus-visible{background:#eef5e9;border-color:#7a9e8e;color:#244d40}
.sentence-diagram .diagram-choices .diagram-choice:active{transform:translateY(1px);box-shadow:none}
.sentence-diagram .connection-glyph{display:block;flex:none;width:68px;height:25px;fill:none;stroke:#909a91;stroke-width:1.6;stroke-linecap:round}
.sentence-diagram .connection-glyph .glyph-connection{stroke:#b45d44;stroke-width:2.4}
@keyframes connection-tray-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@media(max-width:360px){.sentence-diagram .diagram-choices{padding:8px}.sentence-diagram .local-choice-grid{gap:6px}.sentence-diagram .diagram-choices .diagram-choice{padding:6px 8px;min-height:69px;font-size:13px}.sentence-diagram .diagram-choices .local-choice-label{font-size:19px}}
@media(prefers-reduced-motion:reduce){.sentence-diagram .diagram-choices{animation:none}}

/* Sound lives beside the board so the signature interaction is discoverable. */
.board-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-9px;margin-bottom:1px;min-height:44px}
.board-status .draft-tag{margin:0!important;flex:1;min-width:0}
.game-board .sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:44px;padding:7px 5px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:#6b736e;font:500 11px/1 var(--sans);white-space:nowrap}
.game-board .sound-toggle[aria-pressed=true]{background:transparent;color:#2854aa}
.game-board .sound-toggle:hover{background:#e9edf0}
.game-board .sound-toggle svg{flex:none}
@media(max-width:650px){.board-status{margin-left:8px;margin-right:4px}.game-board .sound-toggle{font-size:11px}}

/* The drop is Parsicle's physical signature. Only the magnet face moves:
   the wrapper retains the exact sentence position and branch angle. */
.game-board .diagram-word.drop-settled .word-face{animation:none}
.game-board .diagram-word[data-drop-feedback="snap"] .word-face{
  position:relative;z-index:2;transform-origin:50% 78%;
  animation:parsicle-magnet-snap 420ms both;
  transition:none;will-change:transform,box-shadow;
}
@keyframes parsicle-magnet-snap{
  0%{transform:translateY(-18px) scale(1.1) rotate(-1.8deg);box-shadow:0 6px 0 #c1c7ba,0 15px 18px #26333338}
  18%{transform:translateY(2px) scale(1.085,.91) rotate(.5deg);box-shadow:0 1px 0 #aab6a5,0 2px 3px #26333322}
  38%{transform:translateY(-4px) scale(.985,1.025) rotate(-.45deg);box-shadow:0 4px 0 #c6cfbf,0 8px 10px #26333320}
  64%{transform:translateY(.7px) scale(1.01,.99) rotate(.15deg);box-shadow:0 2px 0 #c9d0c1,0 3px 5px #26333313}
  100%{transform:translateY(0) scale(1) rotate(0);box-shadow:0 2px 0 #c9d0c1,0 3px 5px #26333310}
}
.drop-magnet-field{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:1}
.drop-magnet-field::before{content:"";position:absolute;inset:-5px;border:2px solid #e8b33e;border-radius:5px;opacity:0;animation:parsicle-contact-field 340ms 55ms ease-out both}
@keyframes parsicle-contact-field{0%{opacity:0;scale:.94}10%{opacity:.88;scale:1}100%{opacity:0;scale:1.32 1.42}}
.drop-magnet-field i{position:absolute;display:block;width:7px;height:2px;border-radius:2px;background:#2855d9;opacity:0;animation:parsicle-field-stroke 260ms 70ms ease-out both}
.drop-magnet-field i:nth-child(1){left:-12px;top:3px;--field-x:-6px;--field-y:-4px;--field-angle:28deg}
.drop-magnet-field i:nth-child(2){right:-12px;top:4px;--field-x:6px;--field-y:-4px;--field-angle:-28deg}
.drop-magnet-field i:nth-child(3){left:-10px;bottom:0;--field-x:-5px;--field-y:4px;--field-angle:-28deg;background:#e8b33e}
.drop-magnet-field i:nth-child(4){right:-10px;bottom:0;--field-x:5px;--field-y:4px;--field-angle:28deg;background:#e8b33e}
@keyframes parsicle-field-stroke{0%{opacity:0;transform:translate(0,0) rotate(var(--field-angle)) scaleX(.5)}14%{opacity:.9}100%{opacity:0;transform:translate(var(--field-x),var(--field-y)) rotate(var(--field-angle)) scaleX(.65)}}
.game-board .diagram-lines .drop-connector-pulse{animation:parsicle-connection-contact 350ms 65ms ease-out both}
@keyframes parsicle-connection-contact{0%{stroke:currentColor;stroke-width:2.2}8%{stroke:#2855d9;stroke-width:4.1}100%{stroke:currentColor;stroke-width:2.2}}
.game-board .diagram-word[data-drop-feedback="quiet"] .word-face{animation:none;outline:2px solid #2855d9;outline-offset:3px;transition:none}
.parsicle-drag-ghost{border-color:#a7b5be;box-shadow:0 4px 0 #c7cfc2,0 12px 20px #26333335!important}
.game-board .word-tile.selected .word-face{box-shadow:0 5px 0 #d0b49a,0 9px 15px #613b2526}
.no-motion .drop-magnet-field{display:none}
.no-motion .game-board .is-confirmed .word-face{animation:none}
.no-motion .game-board .diagram-word[data-drop-feedback] .word-face{animation:none;outline:2px solid #2855d9;outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .drop-magnet-field{display:none}
  .game-board .diagram-word[data-drop-feedback] .word-face{animation:none;outline:2px solid #2855d9;outline-offset:3px}
  .game-board .diagram-lines .drop-connector-pulse{animation:none}
}
