.faith-game dialog{padding:0;border-radius:8px;max-width:min(1040px,94vw);max-height:92dvh;overflow:auto;box-shadow:0 30px 100px #0005}.faith-game dialog::backdrop{background:#1b1418c9;backdrop-filter:blur(9px)}.card-paper{--card-ink:#24312e;background:var(--paper);color:var(--card-ink);padding:34px 42px 27px;position:relative;min-height:480px;overflow:hidden}.card-paper.paper-red{--card-ink:#44252c}.card-paper.paper-blue{--card-ink:#1b3545}.card-paper.paper-lime,.card-paper.paper-yellow{--card-ink:#29331c}.card-paper.paper-gold{--card-ink:#544721}.card-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;font-size:10px;letter-spacing:1.7px;text-transform:uppercase;position:relative;z-index:2}.card-toolbar button{color:var(--card-ink);background:none;border:0;padding:8px;font-size:12px;text-transform:none;letter-spacing:0}.card-toolbar button.close-card{font-size:26px;line-height:1;padding:3px 9px}.card-toolbar .card-tools{display:flex;align-items:center;gap:16px}.card-title-row{display:flex;align-items:center;gap:24px;border-bottom:1px dashed #26302c40;padding-bottom:20px;position:relative}.card-number{font:64px/1 var(--serif);border-right:1px dashed #26302c50;padding-right:24px;align-self:stretch;display:grid;place-items:center;min-width:86px}.card-paper h2{font:42px/1.08 var(--serif);letter-spacing:-1.5px;margin:0;max-width:710px;text-wrap:balance}.card-subtitle{font-size:13px;display:block;margin-top:7px;letter-spacing:.4px}.card-paper p{font-size:18px;line-height:1.65;color:var(--card-ink);margin:20px 0 0}.card-paper p.instructions{font-size:15px;line-height:1.5;color:#225747;margin:20px 0 22px;max-width:780px}.card-main{position:relative}.card-copy{max-width:660px;margin:24px 0;white-space:pre-line}.card-copy.large-copy{font:27px/1.55 var(--serif)}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;border-top:1px solid #26302c30;padding-top:20px}.card-bottom .primary-button{background:var(--card-ink);border-color:var(--card-ink);color:#fff9ec}.card-bottom .secondary-button{border-color:#26302c50;color:var(--card-ink)}.card-feedback{font-size:13px;max-width:650px;line-height:1.5;min-height:20px}.card-feedback.good{color:#145435}.card-feedback.bad{color:#7e202b}.action-label{display:inline-block;padding:9px 15px;border:1px dashed #26302c55;font-size:13px;margin-top:17px}.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:30px;align-items:start;margin-top:25px}.activity-lines{display:grid;gap:18px}.fill-line{font:21px/1.9 var(--serif);position:relative;padding-left:22px}.fill-line:before{content:'';width:7px;height:7px;border-radius:50%;background:#dda959;position:absolute;left:0;top:17px}.word-slot{display:inline-flex;justify-content:center;align-items:center;min-width:90px;min-height:35px;border:0;border-bottom:1.5px solid #384943a0;background:#ffffff1f;color:var(--card-ink);font:inherit;padding:0 8px;margin:0 3px;vertical-align:baseline}.word-slot.filled{background:#fffdf4;box-shadow:1px 2px 0 #51400c25;transform:rotate(-1deg);border-bottom:0;font-size:18px}.word-slot.selected{outline:2px solid #316a78;outline-offset:3px}.word-slot.wrong{outline:2px solid #a12944}.envelope-panel{position:sticky;top:20px;padding-top:30px}.envelope{width:100%;height:130px;position:relative;border:0;background:#f4f1e6;filter:drop-shadow(1px 7px 8px #293e4720);border-radius:2px;isolation:isolate;color:#507766}.envelope:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,#fbfaf5,#d4d6d2);clip-path:polygon(0 0,50% 60%,100% 0);z-index:2;transform-origin:top;transition:transform .5s}.envelope:after{content:'';position:absolute;inset:0;background:linear-gradient(30deg,#eeede8 49%,#fff 50%,#dcded7 51%);clip-path:polygon(0 0,50% 65%,100% 0,100% 100%,0 100%);z-index:1}.envelope .seal{position:absolute;top:58px;left:45%;font-size:18px;color:#81704b;z-index:3;transition:opacity .4s}.envelope .env-label{position:absolute;left:0;right:0;bottom:15px;font:italic 18px var(--serif);z-index:3}.envelope.open:before{transform:rotateX(170deg)}.envelope.open .seal{opacity:0}.envelope-note{font-size:10px!important;text-align:center!important;margin:13px 0 0!important;color:#40594e!important;line-height:1.5!important}.word-bank{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-start;margin-top:20px}.word-piece{background:#fffcf3;color:#24312e;border:0;padding:8px 11px;font:18px var(--serif);box-shadow:1px 3px 4px #24312e20;transform:rotate(var(--tilt,-1deg));min-height:38px}.word-piece:hover{transform:translateY(-3px) rotate(0)}.word-piece.used{display:none}.order-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.order-slot{display:flex;align-items:center;gap:8px;font:17px/1.2 var(--serif);text-align:left;min-height:56px;padding:10px;border:1px dashed #16324466;background:#ffffff24;color:var(--card-ink)}.order-slot small{font:10px Arial;opacity:.55;min-width:12px}.order-slot.filled{background:#fffdf4;box-shadow:1px 3px 5px #1234;border:0;transform:rotate(-.5deg)}.order-slot.selected{outline:2px solid #2e677b;outline-offset:2px}.card-paper textarea{resize:vertical;width:100%;min-height:85px;border:0;border-bottom:1px solid #273c4355;border-radius:0;padding:12px;background:#ffffff48;font:18px/1.5 var(--serif);color:var(--card-ink)}.card-paper textarea:focus{outline:2px solid #427883;outline-offset:2px}.reflection-input{max-width:660px;margin-top:22px}.reflection-input label{display:block;font-size:11px;margin-bottom:8px}.columns-activity{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.discern-column{min-width:0}.discern-column h3{font:22px var(--serif);border-bottom:1px dashed #35453c66;padding-bottom:13px;color:#a14c77}.discern-item{font:15px/1.5 var(--serif);padding:12px 0;border-bottom:1px solid #35453c20}.discern-item select{display:block;margin-top:9px;width:100%;padding:8px;border:1px solid #35453c55;background:#fff9;color:var(--card-ink);font:12px Arial}.example-input{margin-top:12px}.example-input label{font-size:10px;display:block;margin-bottom:4px}.example-input textarea{font-size:14px;min-height:65px}.classify-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}.match-layout{display:grid;grid-template-columns:1fr 80px 1fr;gap:15px;position:relative;margin-top:26px;min-height:256px}.match-column{display:grid;grid-template-rows:repeat(4,52px);gap:13px;z-index:2}.match-choice{background:#fff5;border:1px solid #23352c50;border-radius:3px;padding:12px;font:20px var(--serif);color:var(--card-ink)}.match-choice.selected{background:#edce81;outline:2px solid #b78639}.match-choice.matched{border-width:2px;border-color:var(--pair);background:color-mix(in srgb,var(--pair) 14%,white)}.match-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.small-note{font-size:11px!important;line-height:1.5!important;color:#5a6458!important;margin-top:18px!important}.photo-view{padding:25px;min-width:280px}.photo-view button{display:block;margin-left:auto}.original-frame{width:min(80vw,1050px);height:min(65vw,700px);overflow:hidden;position:relative;margin-top:15px}.original-frame img{position:absolute;width:75%;height:auto;max-height:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);object-fit:contain}.small-dialog{padding:35px;width:min(530px,92vw)}.small-dialog .dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.small-dialog h2{font:32px var(--serif);margin:0}.small-dialog p{font-size:13px;line-height:1.6;margin:12px 0;color:var(--muted)}.small-dialog label{font-size:12px;display:block;margin:15px 0 6px}.small-dialog input{width:100%;padding:11px 12px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:3px}.setup-names{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.setup-actions{display:flex;gap:12px;justify-content:space-between;margin-top:25px}.rules-list{padding-left:20px;font-size:13px;line-height:1.7}.rules-list li{margin-bottom:13px}.card-review-bar{display:flex;gap:8px;flex-wrap:wrap}.card-review-bar .secondary-button{min-height:40px}.card-paper .paper-strips{display:grid;gap:16px;justify-items:start;margin:35px 0;font:27px/1.35 var(--serif)}.paper-strips span{padding:8px 18px;background:#fffdf0;box-shadow:0 2px 4px #3a111c30;transform:rotate(-1deg)}.paper-strips span:nth-child(2){margin-left:20%;transform:rotate(1deg)}.paper-strips span:nth-child(3){margin-left:45%;font-weight:bold}.card-main .fg-deco-bulb{position:absolute;right:0;top:0;pointer-events:none}.card-main:has(.fg-deco-bulb)>.card-copy{padding-right:75px}
@media(min-width:1500px){.tile{aspect-ratio:1.4}.tile-title{font-size:17px}.tile-number{font-size:29px}}
@media(max-width:1150px){.game-wrap{padding:25px 32px}.game-layout{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.tile{padding:9px;aspect-ratio:1}.tile-title{font-size:13px}.tile-sticker{font-size:12px;right:6px}.tile-hint{font-size:7px}.board-edges{gap:8px}.edge-zone{padding:10px}.edge-zone strong{font-size:15px}.game-heading h1{font-size:56px}}
@media(max-width:850px){.game-layout{grid-template-columns:1fr}.game-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.turn-panel{grid-row:span 2}.angel-section{margin-top:0}.players-list{margin-top:0}.game-heading h1{font-size:50px}.tile{aspect-ratio:1.13}.tile-title{font-size:15px}.card-paper{padding:25px}.card-paper h2{font-size:33px}.activity-layout{grid-template-columns:minmax(0,1fr) 175px;gap:22px}.word-piece{font-size:16px}.envelope{height:115px}.columns-activity{gap:14px}.game-message{grid-column:1/-1;margin:0}.card-number{font-size:50px;min-width:60px;padding-right:16px}}
@media(max-width:560px){.faith-game .header{height:82px}.game-wrap{padding:22px 16px}.game-heading{align-items:start;gap:10px}.game-heading .eyebrow{font-size:8px;letter-spacing:1px}.game-heading h1{font-size:43px;letter-spacing:-2px}.game-heading p.description{font-size:11px;max-width:240px}.heading-actions{flex-direction:column;gap:0;align-items:end}.heading-actions .text-button{font-size:10px;white-space:nowrap}.board-shell{padding:10px}.board-grid{gap:7px 6px}.tile{padding:6px;aspect-ratio:.73;border-radius:3px}.tile-title{font-size:10px;margin-top:5px;line-height:1.15;overflow-wrap:anywhere}.tile-number{font-size:20px}.tile-sticker{font-size:9px;right:5px;top:7px}.tile-hint{font-size:7px;line-height:1.2;margin-top:5px}.tile .tile-direction{right:-7px;font-size:9px}.tile.left .tile-direction{left:-7px}.tile.up .tile-direction{top:-9px}.tile-tokens{right:3px;bottom:3px;gap:1px}.tile-tokens .token{width:13px;height:13px;border-width:1px;font-size:7px}.board-top{font-size:7px;letter-spacing:1px;margin-bottom:11px}.board-top span:last-child{font-size:8px}.board-edges{gap:6px;margin-top:12px}.edge-zone{min-height:66px;padding:8px;align-items:start}.edge-zone strong{font-size:12px}.edge-zone small{font-size:8px;line-height:1.3;max-width:80px}.edge-zone .zone-symbol{font-size:17px}.board-note{font-size:9px;line-height:1.5}.game-sidebar{gap:14px 20px}.turn-title{font-size:25px}.turn-note{font-size:11px}.side-tools{flex-wrap:wrap;gap:0;margin-bottom:6px}.game-bottom{align-items:start;font-size:9px}.game-bottom em{font-size:12px;max-width:170px}.game-status{font-size:9px}.card-paper{padding:17px 17px 22px;min-height:450px}.card-toolbar{font-size:8px;letter-spacing:1px;margin-bottom:12px}.card-toolbar .card-tools{gap:5px}.card-toolbar button{font-size:10px}.card-title-row{gap:12px;padding-bottom:15px}.card-paper h2{font-size:29px;letter-spacing:-1px}.card-number{font-size:40px;min-width:44px;padding-right:12px}.card-paper p.instructions{font-size:13px;margin:18px 0}.card-paper p{font-size:16px}.activity-layout{grid-template-columns:1fr;gap:22px}.envelope-panel{position:static;padding-top:12px;display:grid;grid-template-columns:125px 1fr;gap:12px;align-items:start}.envelope{height:92px}.envelope .env-label{font-size:14px;bottom:10px}.envelope .seal{top:35px;font-size:14px}.envelope-note{grid-column:1;font-size:9px!important;margin:0!important}.word-bank{grid-column:2;grid-row:1/3;margin:0;gap:7px}.word-piece{font-size:14px;padding:6px 8px}.fill-line{font-size:19px;padding-left:15px}.fill-line:before{width:5px;height:5px}.activity-lines{gap:12px}.word-slot{min-width:65px;min-height:31px;font-size:17px}.word-slot.filled{font-size:16px}.order-slots{gap:7px}.order-slot{font-size:15px;min-height:55px;padding:8px}.card-bottom{align-items:flex-start;gap:15px;flex-direction:column}.card-review-bar{width:100%;justify-content:flex-end}.card-copy.large-copy{font-size:23px}.columns-activity{grid-template-columns:1fr}.example-input textarea{min-height:60px}.classify-list{grid-template-columns:1fr 1fr;gap:0 15px}.discern-item{font-size:14px}.match-layout{grid-template-columns:1fr 32px 1fr;gap:5px}.match-choice{font-size:16px;padding:7px}.small-dialog{padding:25px}.small-dialog h2{font-size:29px}.original-frame{width:85vw;height:65vw}.card-paper .paper-strips{font-size:23px}.photo-view{padding:12px}.card-main .fg-deco-bulb{width:65px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.tile:hover{transform:none}}

/* Keep the complete map legible at every panel width. */
.board-grid{grid-auto-rows:1fr}.tile{height:100%;aspect-ratio:auto;min-height:115px}.tile-title{overflow-wrap:anywhere;hyphens:auto}.tab-hidden .tile:before{animation-play-state:paused}
@media(max-width:560px){.tile{min-height:105px}.tile-title{max-width:100%}}

.card-main:has(.fg-deco-clipping){display:grid;grid-template-columns:148px minmax(0,1fr);gap:0 22px;align-items:start}.card-main:has(.fg-deco-clipping)>.fg-decorations{grid-row:1/3}.card-main:has(.fg-deco-clipping)>.action-label{grid-column:2;justify-self:start}.card-main:has(.fg-deco-clipping)>.card-copy{font-size:25px;margin-top:24px}.card-main .fg-deco-prayer-strips{font:27px/1.4 var(--serif)}
@media(max-width:560px){.card-main:has(.fg-deco-clipping){grid-template-columns:95px minmax(0,1fr);gap:0 15px}.card-main .fg-deco-clipping{width:85px;margin-top:25px}.card-main:has(.fg-deco-clipping)>.card-copy{font-size:20px}.card-main .fg-deco-prayer-strips{font-size:23px}}

.tile-title{text-wrap:pretty;hyphens:manual}.card-main:has(.fg-deco-bulb)>.instructions{padding-right:100px;min-height:80px}
@media(max-width:560px){.tile-title{hyphens:auto}.card-main:has(.fg-deco-bulb)>.instructions{padding-right:72px;min-height:70px}}

#card-dialog{width:min(1040px,94vw)}.word-bank{max-height:255px;overflow-y:auto;overscroll-behavior:contain;padding:5px 5px 8px;scrollbar-width:thin}.envelope-panel:has(.envelope.open){padding-top:75px}
@media(max-width:560px){.envelope-panel:has(.envelope.open){padding-top:60px}.word-bank{max-height:300px}}

.faith-game{--serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;--gold:#ddb676;--wine:#a42b40}.faith-game .header{height:88px}.game-wrap{width:100%;max-width:1260px;margin:0 auto;padding:25px 36px 80px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.game-breadcrumb{font-size:9px;color:var(--muted);letter-spacing:2px}.game-heading h1{font:clamp(44px,4.2vw,64px)/1.05 var(--serif);letter-spacing:-2.2px;margin:9px 0 0}.game-heading h1 em{color:var(--accent)}.map-tools{display:flex;gap:9px;align-items:center}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:50%;padding:8px}.icon-button:hover{color:var(--ink);border-color:var(--ink)}.icon-button svg{width:21px;height:21px}.icon-button:disabled{opacity:.4}.ocean-board{position:relative;isolation:isolate;box-shadow:0 15px 60px #0002;border-radius:4px;background:#0d707d}.map-water{overflow:hidden;border-radius:4px 4px 0 0}.ocean-map{display:block;width:100%;height:auto;overflow:hidden}.water-scene{pointer-events:none}.water-colors{animation:sea-swell 17s ease-in-out infinite alternate;transform-origin:50% 50%}.water-ripples{animation:sea-current 16s ease-in-out infinite alternate;transform-origin:50% 50%}.water-ripples-second{animation:sea-current-return 23s ease-in-out infinite alternate;opacity:.4}.cell-hit{fill:#d1efdc03;stroke:#d6efe68c;stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .4s}.cell-face{opacity:0;transition:opacity .65s;pointer-events:none}.map-piece{cursor:pointer;outline:none}.map-piece:hover .cell-face,.map-piece:focus-visible .cell-face,.map-piece.is-revealed .cell-face{opacity:.98}.map-piece:focus-visible .cell-hit{stroke:#fff;stroke-width:3}.cell-content{pointer-events:none;fill:#fff9e6}.cell-number{font:italic 35px var(--serif);letter-spacing:-1px;transition:transform .5s,fill .5s}.cell-icon{font-size:18px;fill:#fff8;transition:opacity .3s}.cell-name{opacity:0;font:21px var(--serif);fill:var(--cell-ink);transition:opacity .4s}.map-piece:hover .cell-number,.map-piece:focus-visible .cell-number,.map-piece.is-revealed .cell-number{fill:var(--cell-ink);transform:translateY(-46px);font-size:25px}.map-piece:hover .cell-icon,.map-piece:focus-visible .cell-icon,.map-piece.is-revealed .cell-icon{opacity:0}.map-piece:hover .cell-name,.map-piece:focus-visible .cell-name,.map-piece.is-revealed .cell-name{opacity:1}.traveler{fill:#fff4b5;filter:drop-shadow(0 0 7px #ffdb73)}.traveler-halo{fill:none;stroke:#fff4b5;stroke-width:1;opacity:.7;animation:token-breathe 2.5s ease-in-out infinite}.is-current .cell-hit{fill:#fff5c812;stroke:#ffedab;stroke-width:1.8}.shore{display:flex;align-items:stretch;min-height:104px;background:linear-gradient(105deg,#1e4550,#175b62 62%,#246d6d);border-top:1px solid #d6efe68c;border-radius:0 0 4px 4px;overflow:hidden}.start-gate{position:relative;display:flex;align-items:center;gap:23px;width:calc(100% - 170px);min-height:104px;border:0;background:transparent;color:#f6edd2;padding:21px 30px;text-align:left;transition:background .5s}.start-gate:hover{background:#dfe979e6;color:#233731}.start-gate small{display:block;font-size:8px;letter-spacing:2px;margin-bottom:7px;opacity:.72}.start-gate strong{font:29px/1.05 var(--serif);font-weight:400}.gate-arrow{font:32px var(--serif);margin-left:12px}.start-gate.is-invitation strong{font-size:35px}.is-invitation:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent,#f4dfa517,transparent);transform:translateX(-100%);animation:dawn-light 8s ease-in-out infinite;pointer-events:none}.rising-sun{width:43px;height:42px;position:relative;display:block;flex-shrink:0;overflow:hidden;border-bottom:1px solid currentColor}.rising-sun:before{content:'';position:absolute;inset:12px 5px -10px;border:1px solid currentColor;border-radius:50%}.rising-sun:after{content:'';position:absolute;left:20px;top:1px;height:6px;width:1px;background:currentColor;box-shadow:-18px 13px currentColor,18px 13px currentColor}.rising-sun i{position:absolute;inset:20px 12px -5px;background:#f5d482;filter:blur(10px);opacity:.55}.amen-shore{margin-left:auto;min-width:170px;border:0;border-left:1px solid #d6efe670;background:transparent;color:#dff0e5;display:flex;align-items:center;justify-content:center;gap:20px;padding:22px;font:18px var(--serif);letter-spacing:2px;transition:background .5s}.amen-shore i{font:28px var(--serif);font-style:normal}.amen-shore:hover{background:linear-gradient(120deg,#e6cd78,#b39337);color:#433714}.dice-dock{position:absolute;left:50%;bottom:-23px;transform:translateX(-50%);z-index:3}.dice-button{width:104px;height:104px;display:grid;place-items:center;border:1px solid #8faeaa88;border-radius:50%;background:color-mix(in srgb,var(--bg) 94%,#244b56);color:var(--ink);padding:0;box-shadow:0 7px 30px #0003;cursor:pointer;transition:transform .25s,box-shadow .25s}.dice-button:hover{transform:translateY(-4px);box-shadow:0 10px 40px #0004}.dice-button:focus-visible{outline:2px solid #f7dfa1;outline-offset:4px}.dice-button:disabled{cursor:wait}.die{width:58px;height:58px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;padding:10px;border-radius:11px;background:linear-gradient(140deg,#fff9eb,#dac59c);box-shadow:inset 0 1px 0 #fff,3px 4px 0 #aa8a62,4px 7px 10px #0003;transform:rotate(-10deg);transition:transform .2s}.die .pip{display:block;width:8px;height:8px;border-radius:50%;background:#795237;place-self:center;box-shadow:inset 0 1px 1px #0004}.die.rolling{animation:dice-toss .6s ease-in-out}.has-pending .die{box-shadow:inset 0 1px 0 #fff,3px 4px 0 #aa8a62,0 0 22px #eecf9055}.map-baseline{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:10px;letter-spacing:1px;margin-top:19px;padding:4px 3px}.journey-started+.map-baseline{padding-top:16px}.baseline-hint{margin-left:auto;font:italic 13px var(--serif);letter-spacing:0}.saved-mark{font-size:20px;opacity:.5}.amen-pause{position:absolute;inset:0;background:#063f4c9c;backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;color:#f8e2a2;animation:pause-in .3s ease-out}.amen-pause>span{font:60px var(--serif);letter-spacing:8px}.amen-pause small{font:italic 18px var(--serif);margin-top:16px}.arrival{text-align:center}.arrival-symbol{font:65px var(--serif);color:var(--accent);display:block;margin-bottom:16px}.arrival .primary-button{display:block;margin:25px auto 8px}.preview-note{font-size:11px!important}.primary-button{border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:13px 18px;border-radius:3px;font-size:12px;min-height:44px}.primary-button:disabled{opacity:.4;cursor:default}.secondary-button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 16px;border-radius:3px;font-size:12px;min-height:42px}.text-button{background:none;border:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes sea-swell{0%{transform:translate(-50px,-40px) scale(1.07) rotate(-2deg)}100%{transform:translate(90px,50px) scale(1.25) rotate(5deg)}}
@keyframes sea-current{0%{transform:translate(-80px,-35px) rotate(-5deg);opacity:.18}25%{opacity:.9}75%{opacity:.7}100%{transform:translate(60px,110px) rotate(2deg);opacity:.18}}
@keyframes sea-current-return{0%{transform:translate(40px,120px) scale(1.25);opacity:.35}50%{opacity:.55}100%{transform:translate(-70px,-80px) scale(1.07);opacity:.35}}
@keyframes token-breathe{50%{opacity:.25;stroke-width:3}}
@keyframes dawn-light{0%,15%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@keyframes dice-toss{0%{transform:rotate(-10deg)}30%{transform:translateY(-18px) rotate(65deg)}70%{transform:translateY(-5px) rotate(210deg)}100%{transform:rotate(350deg)}}
@keyframes pause-in{from{opacity:0}to{opacity:1}}
.motion-paused .water-colors,.motion-paused .water-ripples,.motion-paused .is-invitation:after,.tab-hidden .water-colors,.tab-hidden .water-ripples,body:has(dialog[open]) .water-colors,body:has(dialog[open]) .water-ripples{animation-play-state:paused}
@media(max-width:850px){.game-wrap{padding:22px 25px 65px}.game-heading{margin-bottom:21px}.game-heading h1{font-size:49px}.start-gate{padding:20px 22px;gap:15px}.start-gate strong{font-size:25px}.start-gate.is-invitation strong{font-size:31px}.start-gate small{font-size:7px;letter-spacing:1.6px}.amen-shore{min-width:130px;padding:18px}.start-gate{width:calc(100% - 130px)}.dice-button{width:88px;height:88px}.die{width:51px;height:51px;padding:9px;gap:3px}.die .pip{width:7px;height:7px}.cell-number{font-size:39px}.cell-name{font-size:24px}}
@media(max-width:640px){.faith-game .header{height:auto}.game-wrap{padding:13px 12px 45px}.game-heading{margin-bottom:16px;gap:8px}.game-heading h1{font-size:40px;letter-spacing:-1.5px;margin-top:7px}.game-breadcrumb{font-size:8px;letter-spacing:1.4px}.map-tools{gap:5px}.icon-button{width:32px;height:32px;padding:6px}.icon-button svg{width:18px;height:18px}.cell-number{font-size:60px}.cell-icon{font-size:28px}.cell-name{font-size:29px}.map-piece:hover .cell-number,.map-piece:focus-visible .cell-number,.map-piece.is-revealed .cell-number{font-size:41px;transform:translateY(-65px)}.cell-hit{stroke-width:.8}.traveler{r:10px}.traveler-halo{r:19px}.shore{min-height:84px}.start-gate{min-height:84px;padding:14px 13px;gap:10px;width:calc(100% - 84px)}.start-gate small{font-size:6.5px;letter-spacing:1px;max-width:160px}.start-gate strong,.start-gate.is-invitation strong{font-size:22px}.rising-sun{width:27px;height:34px}.rising-sun:before{inset:14px 1px -7px}.rising-sun:after{left:13px;top:4px;height:4px;box-shadow:-11px 9px currentColor,11px 9px currentColor}.rising-sun i{inset:20px 5px 0}.gate-arrow{font-size:25px;margin-left:3px}.amen-shore{min-width:84px;flex-direction:column;gap:4px;padding:12px 8px;font-size:12px;letter-spacing:1px}.amen-shore i{font-size:22px}.journey-started .start-gate small,.journey-started .rising-sun,.journey-started .gate-arrow{display:none}.journey-started .start-gate{max-width:40%;padding-right:0}.journey-started .start-gate strong{font-size:18px;max-width:95px;display:block;line-height:1.2}.dice-dock{bottom:-15px}.dice-button{width:80px;height:80px}.die{width:47px;height:47px;padding:8px}.die .pip{width:7px;height:7px}.map-baseline{font-size:8px;margin-top:12px;letter-spacing:.6px}.journey-started+.map-baseline{padding-top:13px}.baseline-hint{font-size:11px}.amen-pause>span{font-size:43px}.amen-pause small{font-size:15px}.arrival-symbol{font-size:47px}}
@media(prefers-reduced-motion:reduce){.water-colors,.water-ripples,.traveler-halo,.is-invitation:after,.die.rolling{animation:none!important}.cell-face,.cell-name,.cell-number{transition:none}.dice-button:hover{transform:none}}

@media(max-width:640px){.cell-name{display:none}.map-piece:hover .cell-number,.map-piece:focus-visible .cell-number,.map-piece.is-revealed .cell-number{font-size:60px;transform:none}}

@media(max-width:640px){.game-heading h1{font-size:clamp(31px,10vw,40px);white-space:nowrap}.game-heading>div:first-child{min-width:0}}

/* Poems editorial header, translated to the brown-and-gold Pan palette. */
.faith-game .header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:20px;
  height:auto;
  min-height:80px;
  max-width:none;
  margin:0;
  padding:16px 40px;
  position:relative;
  z-index:10;
  background:linear-gradient(105deg,#33241e 0%,#654b30 59%,#9b783f 100%);
  color:#f2eee5;
  border-bottom:1px solid #caa15c;
  box-shadow:inset 0 1px #fff2cc14,inset 0 -1px #291b1644;
}
.faith-game .header .brand { grid-column:1;grid-row:1;justify-self:start;color:#fff0cf; }
.faith-game .header .brand > span:not(.brand-portrait) {
  font-family:var(--serif);
  background:linear-gradient(110deg,#f4e6c8,#e8c784 37%,#fff5d5 53%,#cf9d48 76%,#edd1a0);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
}
.faith-game .header .brand-world { color:#f4e4c1; font-family:'Helvetica Neue',Arial,sans-serif; }
.faith-game .header > #navigation {
  display:flex;
  position:static;
  grid-column:2;
  grid-row:1;
  flex-direction:row;
  align-items:center;
  gap:26px;
  margin:0;
  padding:0;
  width:auto;
  border:0;
  background:transparent;
  box-shadow:none;
}
.faith-game .header > #navigation a { color:#f2eee5; }
.faith-game .header > #navigation a[aria-current] { border-bottom-color:#e7c581; }
.faith-game .header .header-utilities { display:flex;grid-column:3;grid-row:1;justify-self:end;gap:10px;align-items:center; }
.faith-game .header .language-switch { border-color:#dbc39166;color:#f2eee5; }
.faith-game .header .language-switch a { color:#f2eee5; }
.faith-game .header .language-switch a[aria-current] { background:#f0ddb8;color:#33241e; }
.faith-game .header .light-toggle { color:#f3e1bb; }
.faith-game .header > .menu-toggle { display:none; }
.faith-game .game-heading h1 { white-space:normal; }
.faith-game .game-heading h1 em {
  display:inline-block;
  margin-left:.25em;
  font-size:.46em;
  line-height:1;
  letter-spacing:-.02em;
  font-weight:400;
  color:var(--muted);
  white-space:nowrap;
}
.faith-game .icon-button {
  color:#d9b76c;
  border-color:#b997584d;
  background:linear-gradient(145deg,#f8e5ae0b,#b2833510);
  box-shadow:inset 0 1px #fff1c80d;
}
.faith-game .icon-button svg { stroke:url(#faith-gold-metal);stroke-width:1.7; }
.faith-game .icon-button:hover { border-color:#e7c67d; }
.faith-game .icon-button:focus-visible { outline:2px solid #d5ae64;outline-offset:3px; }

/* Geometry carries the colour; no water textures or simulated waves. */
.faith-game .ocean-board { background:#5b493c;border:1px solid #c5af8644;box-shadow:none; }
.faith-game .cell-metal,.faith-game .cell-glow { pointer-events:none; }
.faith-game .cell-glow { animation:faith-metal-wave 5.5s cubic-bezier(.45,0,.55,1) var(--metal-delay,0ms) infinite; }
.faith-game .cell-hit { fill:transparent;stroke:#f3e8d392;stroke-width:.85;pointer-events:all; }
.faith-game .cell-content { fill:#fff4d5; }
.faith-game .cell-number { paint-order:stroke fill;stroke:#30251770;stroke-width:1.15; }
.faith-game .cell-icon { fill:url(#faith-gold-metal);stroke:#60451f70;stroke-width:.7;paint-order:stroke fill;opacity:1; }
.faith-game .cell-name { stroke:none; }
.faith-game .map-piece:hover .cell-number,
.faith-game .map-piece:focus-visible .cell-number,
.faith-game .map-piece.is-revealed .cell-number { stroke:none; }
.faith-game .map-piece.is-current .cell-hit { fill:#fff3b908;stroke:#ffe6a0;stroke-width:2; }
.faith-game .traveler-pawn { pointer-events:none; }
.faith-game .pawn-shadow { fill:#211909;opacity:.33;filter:blur(1.5px); }
.faith-game .pawn-body { stroke:#6e481d;stroke-width:1.15;filter:drop-shadow(1px 3px 1px #34221155); }
.faith-game .pawn-glint { fill:none;stroke:#fff6d4;stroke-width:2;stroke-linecap:round;opacity:.8; }
.faith-game .pawn-figure { transform-origin:0 40px;animation:faith-pawn-land .4s ease-out both; }
.faith-game .is-stepping .pawn-figure { animation:faith-pawn-step .15s ease-out both; }
.faith-game .shore { background:linear-gradient(105deg,#382d25,#56452f 62%,#75603c);border-top-color:#dfc99788; }
.faith-game .amen-shore { color:#e9d099;border-left-color:#d9c08877; }
.faith-game .amen-shore i,.faith-game .gate-arrow {
  background:linear-gradient(110deg,#956327,#dab475 18%,#fff0bd 33%,#c38d42 49%,#f9e5a8 64%,#b38039 83%,#eacb88);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
}
.faith-game .dice-button { border-color:#c2a47480;background:color-mix(in srgb,var(--bg) 95%,#9e7334); }
@keyframes faith-metal-wave { 0%,100%{opacity:0}50%{opacity:1} }
@keyframes faith-pawn-land { 0%{transform:translateY(-11px)}60%{transform:translateY(2px)}100%{transform:translateY(0)} }
@keyframes faith-pawn-step { from{transform:translateY(-11px) rotate(-4deg)}to{transform:translateY(0) rotate(0)} }
.faith-game.motion-paused .cell-glow,
.faith-game.tab-hidden .cell-glow,
.faith-game:has(dialog[open]) .cell-glow { animation-play-state:paused; }

@media(min-width:670px) and (max-width:1000px) {
  .faith-game .header { padding-inline:22px;gap:14px; }
  .faith-game .header > #navigation { gap:17px; }
  .faith-game .header .header-utilities > .light-toggle { font-size:9px; }
}
@media(max-width:669px) {
  .faith-game .header {
    grid-template-columns:minmax(0,1fr) auto 44px;
    gap:8px;
    padding:16px 20px;
    min-height:78px;
  }
  .faith-game .header .brand { font-size:30px;line-height:1;letter-spacing:-1.5px;gap:0; }
  .faith-game .header .brand-portrait { display:none; }
  .faith-game .header .brand-world { font-size:8px;letter-spacing:4px;margin-top:8px;padding-left:2px; }
  .faith-game .header .header-utilities { display:contents; }
  .faith-game .header .header-utilities > .light-toggle { display:none!important; }
  .faith-game .header .header-utilities > .language-switch {
    grid-column:2;
    grid-row:1;
    border:0;
    padding:0;
    gap:0;
    margin:0;
    background:transparent;
  }
  .faith-game .header .language-switch .locale-flag { display:none; }
  .faith-game .header .language-switch a {
    min-width:40px;
    min-height:44px;
    padding:0 9px;
    font-size:11px;
    letter-spacing:.08em;
    background:transparent;
    color:#f2eee5;
    border-radius:0;
    font-weight:400;
    opacity:.6;
  }
  .faith-game .header .language-switch a[aria-current] { background:transparent;color:#f2eee5;font-weight:500;opacity:1; }
  .faith-game .header .language-switch a[aria-current]:after { content:'';position:absolute;bottom:6px;left:10px;right:10px;height:1px;background:#ecd397; }
  .faith-game .header > .menu-toggle {
    grid-column:3;
    grid-row:1;
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    font-size:0;
    line-height:0;
    color:#f2eee5;
  }
  .faith-game .header > .menu-toggle > span { display:none; }
  .faith-game .header > .menu-toggle:before {
    content:'';
    display:block;
    width:24px;
    height:18px;
    background:linear-gradient(currentColor,currentColor) 0 0/100% 1px no-repeat,linear-gradient(currentColor,currentColor) 0 8px/100% 1px no-repeat,linear-gradient(currentColor,currentColor) 0 16px/100% 1px no-repeat;
  }
  .faith-game .header > .menu-toggle[aria-expanded=true]:before { height:24px;background:linear-gradient(currentColor,currentColor) center/100% 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 100% no-repeat;transform:rotate(45deg); }
  .faith-game .header > .menu-toggle:focus-visible { outline:2px solid #fff2cc;outline-offset:3px; }
  .faith-game .header > #navigation {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:auto;
    flex-direction:column;
    align-items:stretch;
    padding:16px 24px 22px;
    gap:0;
    margin:0;
    background:#33241e;
    border-top:1px solid #e6c38330;
    border-bottom:1px solid #e6c38360;
    box-shadow:0 16px 24px #0003;
  }
  .faith-game .header > #navigation:not(.is-open) { display:none; }
  .faith-game .header > #navigation.is-open { display:flex; }
  .faith-game .header > #navigation a { font:26px/1.3 Georgia,serif;min-height:62px;padding:14px 0;border-bottom:1px solid #e6c38320;white-space:normal; }
  .faith-game .header > #navigation .light-toggle { display:flex;align-self:flex-start;margin:18px 0 0;padding:8px 0;min-height:44px;background:none;border:0;font-size:12px;max-width:none; }
  .faith-game .game-heading { position:relative;display:block;margin-bottom:18px; }
  .faith-game .game-breadcrumb { display:inline-block;max-width:calc(100% - 115px);min-height:31px;padding-top:8px; }
  .faith-game .map-tools { position:absolute;top:0;right:0; }
  .faith-game .game-heading h1 { margin-top:11px;font-size:clamp(28px,8.8vw,42px);letter-spacing:-1.35px;white-space:nowrap; }
  .faith-game .game-heading h1 em { font-size:.5em;letter-spacing:-.02em;margin-left:.22em; }
}
@media(prefers-reduced-motion:reduce) {
  .faith-game .cell-glow { animation:none;opacity:.25; }
  .faith-game .pawn-figure,.faith-game .is-stepping .pawn-figure { animation:none; }
}
@media(max-width:669px){.faith-game .header > #navigation{grid-column:1 / -1;grid-row:auto;}}

/* One sea-colour metal surface; bright details belong to the gold icons. */
.faith-game .ocean-board { background:#14536b;border-color:#73a3a470; }
.faith-game .shore { background:linear-gradient(105deg,#103e58,#16596a 62%,#1d7075);border-top-color:#b0cdc570; }
.faith-game .amen-shore { border-left-color:#94bcb670; }
.faith-game .cell-number { font-size:43px;fill:#fff4d5;stroke:none; }
.faith-game .cell-icon { font-size:40px;stroke:#58401d;stroke-width:.55;paint-order:stroke fill; }
.faith-game .cell-hit { stroke:#d2e8dc66;stroke-width:.75; }
.faith-game .is-stepping .pawn-figure { animation-duration:.28s; }
@media(max-width:640px) {
  .faith-game .cell-number { font-size:64px; }
  .faith-game .cell-icon { font-size:78px;stroke-width:.7; }
  .faith-game .map-piece:hover .cell-number,
  .faith-game .map-piece:focus-visible .cell-number,
  .faith-game .map-piece.is-revealed .cell-number { font-size:64px; }
}

/* Envelope glyphs have a smaller font footprint than arrows and stars. */
.faith-game .cell-icon.cell-envelope { font-size:60px; }
@media(max-width:640px){.faith-game .cell-icon.cell-envelope { font-size:120px; }}
