/* The notice board (src/board.js), built from the user's mock-up (design/camp/board/mockups/board.png,
   1672 x 941, "design px": every place, size, weight and colour below was measured on it; how:
   design/camp/board/README.md). On a desk (.bd.stage) the user's text-free board is the plate, scaled to
   cover the page (by night the same drawing relit, the day faded over it with the camp's clock), and the words
   sit on it at the mock-up's places; what opens over it is on the user's
   parchment, fitted to the page. On a phone, or a window near square (.bd.stack, no mock-up), the three
   papers stack on the board's planks. Type in Korean: Jua for the sign, the headings, the badges and the
   buttons, Gowun Dodum for the rest (assets/fonts/, hosted by the site under the names SS Jua and SS
   Dodum); in English Crimson Text, the Library's serif. */
@font-face{font-family:"SS Jua";src:url(../assets/fonts/jua-ko.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"SS Dodum";src:url(../assets/fonts/gowun-dodum-ko.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.bd{--bd-display:"Crimson Text",Georgia,serif;--bd-dw:700;--bd-text:"Crimson Text",Georgia,serif;--bd-num:"Crimson Text",Georgia,serif;
  --bd-ink:#2c0f0d;--bd-ink-bold:#120402;--bd-head:#351306;--bd-rule:#d9bd98;--bd-date:#83614a;--bd-date-bold:#2c0e0a;--bd-green:#3c4418;--bd-heart:#923529;--bd-link:#3e1a0b;
  position:absolute;inset:0;overflow:hidden;background:#1e130b;color:var(--bd-ink);font-family:var(--bd-text);opacity:0;transition:opacity .6s ease}
html[lang="ko"] .bd{--bd-display:"SS Jua","Jua","Apple SD Gothic Neo","Malgun Gothic",sans-serif;--bd-dw:400;--bd-text:"SS Dodum","Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.bd.on{opacity:1}
.bd button{font-family:inherit;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bd-stage{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0;transition:filter .35s ease}
.bd-plate{position:absolute;left:0;top:0;width:1672px;height:941px;display:block;pointer-events:none;user-select:none;-webkit-user-select:none}
.bd-plate:not([src]){visibility:hidden}
/* the day painting over the night one, its opacity the camp's clock (src/board.js day) */
.bd-plate.day{transition:opacity 2s linear}
.bd.settle .bd-plate.day,.bd.settle .bd-stage::before{transition:none!important}
.bd-ui{position:absolute;inset:0}
.bd.dim .bd-stage{filter:blur(2.5px) brightness(.8)}
.bd.dim .bd-ui{pointer-events:none}
#page:has(.bd.dim) .page-bar{opacity:0;pointer-events:none}

/* ---- the words ---- */
.bd-title{margin:0;font:var(--bd-dw) 62px/1 var(--bd-display);color:#2a1206;white-space:nowrap;text-align:center;text-shadow:0 1px 0 rgba(255,214,150,.32),0 -1px 0 rgba(40,15,0,.3)}
.bd-title:focus{outline:none}
.bd-h{margin:0;font:var(--bd-dw) 40px/40px var(--bd-display);color:var(--bd-head);white-space:nowrap}
.bd-rule{height:1px;background:var(--bd-rule)}
.bd-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:36px;padding:0 14px;border-radius:9px;font:var(--bd-dw) 26px/1 var(--bd-display);white-space:nowrap}
.bd-badge.notice{background:#f6c476;color:#2b0a01}
.bd-badge.fresh{background:#b7c58c;color:#10200a}
.bd-rows,.bd-wlist,.bl-rows,.bw-list{list-style:none;margin:0;padding:0}
.bd-row{position:relative}
.bd-row button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;text-align:left;color:var(--bd-ink);font:400 24px/30px var(--bd-text)}
.bd-row button > *{position:absolute}
/* (Korean letters reach 0.3 em past a line box of 1 and an ellipsis needs the clip: room inside the clip, the box pulled out by the same) */
.bd-row .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.3em 0;margin-top:-.3em}
.bd-row .d{font:600 22px/30px var(--bd-num);color:var(--bd-date);white-space:nowrap}
.bd-row .dot{border-radius:50%;background:#88634c}
.bd-row.top button{font-weight:700;color:var(--bd-ink-bold)}
.bd-row.top .d{color:var(--bd-date-bold)}
.bd-rows.notice .bd-row.top .dot,.bl-rows.notice .bd-row.top .dot{background:#e38301}
.bd-rows.fresh .bd-row.top .dot,.bl-rows.fresh .bd-row.top .dot{background:#6f8b4f}
.bd-row::after{content:"";position:absolute;height:1px;background:var(--bd-rule)}
.bd-row button:hover .t,.bd-row button:focus-visible .t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.bd-row button:focus-visible{outline:2px solid #c08a4c;outline-offset:-2px;border-radius:4px}
.bd-link{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--bd-link);font:600 24px/1 var(--bd-text);white-space:nowrap}
.bd-link span{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.bd-link .chev{width:9px;height:16px;flex:none}
.bd-link:hover{filter:brightness(1.35)}
.bd-link:focus-visible{outline:2px solid #c08a4c;outline-offset:3px;border-radius:4px}
.bd-link.guide span{text-decoration:none}
.bd-wish{position:relative}
.bd-wish > *{position:absolute}
.bd-wish .wt{padding:.3em 0;margin-top:-.3em;border:0;background:none;text-align:left;color:var(--bd-ink);font:400 20px/24px var(--bd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-wish .wt:hover span,.bd-wish .wt:focus-visible span{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.bd-wish .wt:focus-visible{outline:2px solid #c08a4c;outline-offset:-2px;border-radius:4px}
.bd-wish .heart{padding:0;border:0;background:none;color:var(--bd-heart);transition:transform .15s ease}
.bd-wish .heart svg{display:block;width:100%;height:100%}
.bd-wish .heart.on .hf{fill:currentColor}
.bd-wish .heart:disabled{cursor:default;color:#b0786a}
.bd-wish .heart:not(:disabled):hover{transform:scale(1.15)}
.bd-wish .heart:focus-visible{outline:2px solid #c08a4c;outline-offset:3px;border-radius:4px}
.bd-wish .n{font:600 19px/1 var(--bd-num);color:#361413;white-space:nowrap}
.bd-wish .sep{width:1px;background:#d6b794}
.bd-wish .s{font:400 19px/24px var(--bd-text);color:var(--bd-green);white-space:nowrap;-webkit-text-stroke:.3px var(--bd-green)}
.bd-wish::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--bd-rule)}
.bd-wish.empty.note{font:italic 400 18px/24px var(--bd-text);color:#92704e;white-space:nowrap}
.bd-leave{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;background:none;color:#1a0501;font:var(--bd-dw) 24px/1 var(--bd-display);white-space:nowrap}
.bd-leave .pencil{width:26px;height:26px;flex:none}
.bd-leave:focus-visible{outline:2px solid #f0c27a;outline-offset:3px;border-radius:10px}
.bd-leave:disabled{cursor:default;opacity:.6}
/* the plank: cream letters as if carved into the wood (the user, 2026-10-26) */
.bd-count{display:inline-flex;align-items:center;gap:12px;color:#fbe7b6;font:600 24px/30px var(--bd-text);white-space:nowrap;text-shadow:0 1px 0 rgba(255,246,220,.3),0 -1px 1px rgba(45,20,6,.8)}
.bd-count .ic{display:none;width:24px;height:26px;background:currentColor;flex:none;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;filter:drop-shadow(0 -1px 0 rgba(45,20,6,.6))}
.bd-count .ic.person{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 26'%3E%3Ccircle cx='12' cy='7' r='5'/%3E%3Cpath d='M2 25c0-6 4.5-9.5 10-9.5S22 19 22 25Z'/%3E%3C/svg%3E")}
/* the camp fund (2026-11-07): the user's box, its name burnt into its front (the wood's grain through it); by night the
   same box relit as the board's wood is (scripts/board/build-fund.py), the day one faded over it with the camp's clock */
.bd-fund{display:block;padding:0;border:0;background:none;container-type:inline-size;filter:drop-shadow(0 10px 12px rgba(12,5,0,.45));transition:transform .18s ease,filter .18s ease}
.bd-fund-pic{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-select:none}
.bd-fund-pic.day{position:absolute;left:0;top:0;opacity:calc(1 - var(--bd-n,0));transition:opacity 2s linear}
.bd.settle .bd-fund-pic.day{transition:none!important}
.bd-fund-name{position:absolute;left:6%;right:6%;top:58%;text-align:center;white-space:nowrap;font:var(--bd-dw) 10.6cqw/1 var(--bd-display);color:#3a1505;text-shadow:0 0 2px rgba(90,38,8,.55);mix-blend-mode:multiply;opacity:.92;filter:brightness(calc(1 - .45 * var(--bd-n,0)))}
.bd-fund:hover{transform:translateY(-3px);filter:drop-shadow(0 14px 14px rgba(12,5,0,.5)) brightness(1.05)}
.bd-fund:focus-visible{outline:2px solid #f0c27a;outline-offset:4px;border-radius:12px}
.bd-count .ic.feet{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 26'%3E%3Cellipse cx='7.5' cy='11' rx='3.4' ry='5.5'/%3E%3Cellipse cx='7.5' cy='19.5' rx='2.6' ry='2.2'/%3E%3Cellipse cx='16.5' cy='6.5' rx='3.4' ry='5.5'/%3E%3Cellipse cx='16.5' cy='15' rx='2.6' ry='2.2'/%3E%3C/svg%3E")}

/* ================= a desk: the mock-up's places ================= */
.bd.stage .bd-ui > *,.bd.stage .bd-news > *,.bd.stage .bd-guide > *,.bd.stage .bd-wishes > *,.bd.stage .bd-plank > *{position:absolute;margin:0;box-sizing:border-box}
.bd.stage .bd-news,.bd.stage .bd-guide,.bd.stage .bd-wishes,.bd.stage .bd-plank{display:contents}
.bd.stage .bd-sheet{display:none}
.bd.stage .bd-title{left:540px;top:95px;width:620px;height:90px;display:flex;align-items:center;justify-content:center}
html[lang="ko"] .bd.stage .bd-title{font-size:68px}
html[lang="ko"] .bd.stage .bd-title span{display:block;transform:scaleY(1.12);transform-origin:50% 55%}
.bd.stage .bd-h.news{left:435px;top:246px;font-size:44px;line-height:44px}
.bd.stage .bd-rule.head{left:362px;top:301px;width:530px}
.bd.stage .bd-badge.notice{left:368px;top:311px;min-width:118px}
.bd.stage .bd-badge.fresh{left:369px;top:530px;min-width:102px}
.bd.stage .bd-rows.notice{left:362px;top:354px;width:530px}
.bd.stage .bd-rows.fresh{left:362px;top:576px;width:530px}
.bd.stage .bd-row{height:39px}
.bd.stage .bd-rows.fresh .bd-row{height:40px}
.bd.stage .bd-row .t{left:61px;top:0;right:60px}
.bd.stage .bd-row .d{right:3px;top:0}
.bd.stage .bd-row .dot{left:21px;top:10.5px;width:9px;height:9px}
.bd.stage .bd-row.top .dot{left:18px;top:7.5px;width:15px;height:15px}
.bd.stage .bd-row::after{left:13px;right:2px;top:35px}
.bd.stage .bd-rows.fresh .bd-row::after{top:34px}
.bd.stage .bd-rows.notice .bd-row:last-child::after{top:46px}
.bd.stage .bd-rows.fresh .bd-row:last-child::after{top:38px}
.bd.stage .bd-link.more{left:362px;top:760px;width:530px;height:32px;justify-content:center;font-size:26px}
.bd.stage .bd-h.guide{left:1046px;top:229px;font-size:35px;line-height:38px}
.bd.stage .bd-link.guide{right:352px;top:356px;height:24px;font-size:19px;font-weight:400}
.bd.stage .bd-link.guide .chev{width:7px;height:13px}
.bd.stage .bd-h.wish{left:1047px;top:420px;font-size:35px;line-height:38px}
.bd.stage .bd-wlist{left:975px;top:465px;width:365px}
.bd.stage .bd-wlist .bd-wish{height:62.5px}
.bd.stage .bd-wlist .wt{left:20px;top:0;width:345px}
.bd.stage .bd-wlist .heart{left:20px;top:26px;width:24px;height:21px}
.bd.stage .bd-wlist .n{left:56px;top:29px}
.bd.stage .bd-wlist .sep{left:107px;top:29px;height:16px}
.bd.stage .bd-wlist .s{left:137px;top:26px}
.bd.stage .bd-wlist .bd-wish::after{top:55px}
.bd.stage .bd-wlist .bd-wish.empty.note{left:20px;top:0}
/* four wishes (the user, 2026-10-29), then "More feedback" between the list's last rule and the painted button */
/* (lower since 2026-11-01, the user: midway between the fourth line's rule and the paper's foot, the button gone) */
.bd.stage .bd-link.more.wishes{left:975px;top:748px;width:365px;height:28px;justify-content:center;font-size:22px}
.bd.stage .bd-count.here{left:533px;top:849px}
.bd.stage .bd-count.sofar{left:911px;top:849px}
/* (the bottom left corner of the part of the painting the page shows: src/board.js fit) */
.bd.stage .bd-fund{left:calc(var(--bd-vl,0px) + 24px);bottom:calc(941px - var(--bd-vb,941px) + 16px);width:161px}   /* (30% smaller, the user, 2026-11-12: 230 to 161; the name, in cqw, with it) */

/* ---- what opens over the board: on the user's parchment ---- */
.bd-over{position:absolute;inset:0;z-index:6;background:rgba(10,5,2,.3)}
.bd-over[hidden]{display:none}
.bd-ostage{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0}
.bd-paper{position:absolute;color:var(--bd-ink);animation:bdin .3s cubic-bezier(.2,.8,.2,1)}
@keyframes bdin{from{opacity:0;transform:translateY(10px)}}
.bd.stage .bd-paper{left:336px;top:27px;width:1000px;height:887px;background:url(../assets/camp/board/paper-news.webp) 0 0/100% 100% no-repeat;filter:drop-shadow(0 16px 26px rgba(0,0,0,.5))}
.bd.stage .bd-pin{position:absolute;left:112px;top:120px;right:104px;bottom:96px;padding-right:10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b08a5a transparent}
.bd-x{position:absolute;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:#6b3b14}
.bd-x svg{display:block;width:60%;height:60%;margin:auto}
.bd-x:hover{color:#2a1206}
.bd-x:focus-visible{outline:2px solid #c08a4c;outline-offset:2px}
.bd.stage .bd-x{right:76px;top:66px}
.bd-x.up svg{width:66%;height:66%}
.bp-h{margin:0;font:var(--bd-dw) 36px/1.25 var(--bd-display);color:var(--bd-head);word-break:keep-all}
.bp-d{margin:10px 0 0;font:400 18px/1.3 var(--bd-num);color:var(--bd-date)}
.bp-b{margin:22px 0 0;font:400 22px/1.65 var(--bd-text);color:var(--bd-ink);word-break:keep-all}
.bp-b p{margin:0 0 .8em}
.bp .bd-badge{margin-bottom:14px}
.bl .bd-badge{margin:22px 0 6px}
.bl .bp-h + .bd-badge{margin-top:18px}
.bl-rows .bd-row{height:44px}
.bl-rows .bd-row .t{left:34px;right:70px;top:7px;font-size:23px}
.bl-rows .bd-row .d{right:6px;top:7px}
.bl-rows .bd-row .dot{left:9px;top:18px;width:8px;height:8px}
.bl-rows .bd-row.top .dot{left:7px;top:16px;width:12px;height:12px}
.bl-rows .bd-row::after{left:0;right:0;bottom:0}
.bl-none{margin:4px 0 0 10px;font:italic 400 20px/1.4 var(--bd-text);color:#92704e}
.bg-list{margin:26px 0 0}
.bg-list dt{font:var(--bd-dw) 24px/1.3 var(--bd-display);color:var(--bd-head);word-break:keep-all}
.bg-list dd{margin:6px 0 22px;font:400 21px/1.6 var(--bd-text);word-break:keep-all}
.bg-tip{margin:0 0 22px;font:400 21px/1.6 var(--bd-text);word-break:keep-all}
.bw-list{margin:18px 0 0}
/* the wishes' list (2026-10-29): the news' rows, with each wish's hearts before its day; your own a shade darker */
.bl-rows.wishes .bd-row.top .dot{background:var(--bd-heart)}
/* (the title and its author's name small after it, 2026-11-01: a long title gives way first) */
.bl-rows.wishes .bd-row .tw{display:flex;align-items:baseline;gap:10px;min-width:0}
.bd.stage .bl-rows.wishes .bd-row .tw{left:61px;right:150px;top:0}
.bl-rows.wishes .bd-row .tw .t{flex:0 1 auto;min-width:0}
.bl-rows.wishes .bd-row .by{flex:none;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 17px/1.2 var(--bd-text);color:var(--bd-date)}
.bl-rows .bd-row .h{right:80px;top:10px;display:inline-flex;align-items:center;gap:5px;color:var(--bd-heart);font:600 19px/1 var(--bd-num);white-space:nowrap}
.bl-rows .bd-row .h svg{display:block;width:19px;height:17px}
.bl-rows .bd-row .h.on .hf{fill:currentColor}
.bl-rows .bd-row.mine .t{color:#5a2a10}
/* one wish: the camp's answer as the badge, the words, the heart and its count; on your own, Edit and Delete */
.bd-badge.status{background:#dfe4c4;color:#2d3512}
.bv .bd-badge{margin-bottom:14px}
.bv .bp-b p{margin:0 0 .8em}
.bv-acts{display:flex;align-items:center;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--bd-rule)}
.bv-acts .heart{width:28px;height:25px;padding:0;border:0;background:none;color:var(--bd-heart);transition:transform .15s ease}
.bv-acts .heart svg{display:block;width:100%;height:100%}
.bv-acts .heart.on .hf{fill:currentColor}
.bv-acts .heart:hover{transform:scale(1.15)}
.bv-acts .heart:focus-visible{outline:2px solid #c08a4c;outline-offset:3px;border-radius:4px}
.bv-acts .n{font:600 22px/1 var(--bd-num);color:#361413}
.bv-mine{margin-left:auto;display:inline-flex;align-items:center;gap:22px}
.bv-mine .bd-link{font-size:20px}
.bv-mine .bd-link.sure{color:#a3331d}
.bv-mine .bd-link:disabled{opacity:.5;cursor:default}
.bw-leave,.bf-go,.bfund-go{position:relative;margin:24px auto 0;display:flex;width:360px;height:52px;border-radius:12px;background:linear-gradient(180deg,#f3b45a,#e59a3a 55%,#d98a2d);box-shadow:inset 0 2px 0 rgba(255,236,190,.55),inset 0 -2px 0 rgba(120,60,10,.35),0 3px 6px rgba(70,35,8,.35);font-size:25px}
.bw-leave:hover,.bf-go:not(:disabled):hover,.bfund-go:not(:disabled):hover{filter:brightness(1.06)}
.bf{display:block}
/* (.bd before them: main.css styles every text input and textarea in a building page with its own type) */
.bd .bf-ti{display:block;width:100%;box-sizing:border-box;height:56px;margin-top:22px;padding:0 10px;border:0;border-radius:4px;background:rgba(255,250,240,.35);box-shadow:none;color:var(--bd-ink-bold);font:600 26px/56px var(--bd-text);outline:none;word-break:keep-all}
.bd .bf-ti:focus{box-shadow:0 0 0 2px rgba(192,138,76,.5)}
.bd .bf-ti::placeholder,.bd .bf-ta::placeholder{color:#a88a66;font-weight:400;opacity:1}
.bf-field{display:block;position:relative;margin-top:14px}
.bd .bf-ta{display:block;width:100%;box-sizing:border-box;min-height:244px;padding:4px 10px 0;border:0;border-radius:4px;background:repeating-linear-gradient(180deg,transparent 0 39px,var(--bd-rule) 39px 40px) 0 0/100% 40px,rgba(255,250,240,.35);color:var(--bd-ink);font:400 24px/40px var(--bd-text);resize:none;outline:none;word-break:keep-all}
.bd .bf-ta:focus{box-shadow:0 0 0 2px rgba(192,138,76,.5)}
.bf-n{position:absolute;right:8px;bottom:-26px;font:400 16px/1 var(--bd-num);color:var(--bd-date)}
.bf-who{margin:40px 0 0;font:400 18px/1 var(--bd-text);color:#6b4a2c}
.bf-who b{font-weight:600;color:var(--bd-ink)}
.bf-err{margin:12px 0 0;font:400 18px/1.4 var(--bd-text);color:#a3331d}
.bf-err[hidden]{display:none}
/* the camp fund's paper: the parchment cut to 0.64 (the same paper, its corners' pins and sprig with it), the amount
   large over a slider, the least and the most at its ends, the board's orange button */
.bd.stage .bd-paper.bfund-wrap{left:516px;top:187px;width:640px;height:568px}
.bd.stage .bfund-wrap .bd-pin{left:74px;top:80px;right:70px;bottom:62px}
.bd.stage .bfund-wrap .bd-x{right:46px;top:40px}
.bfund{display:flex;flex-direction:column;align-items:center}
.bfund .bp-h{align-self:stretch}
.bfund-amt{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-top:56px;color:var(--bd-ink-bold);font:var(--bd-dw) 64px/1.15 var(--bd-display);cursor:text}
.bfund-grow{position:relative;display:block;border-bottom:2px solid var(--bd-rule);transition:border-color .15s ease}
.bfund-amt:focus-within .bfund-grow{border-bottom-color:#c08a4c}
.bd .bfund-in{display:block;width:3ch;min-width:.6em;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;text-align:center;outline:none;caret-color:#c0712a}
.bd .bfund-in:focus{box-shadow:none}
.bfund-mirror{position:absolute;left:0;top:0;visibility:hidden;white-space:pre;pointer-events:none}
.bfund-cur{font-size:.6em}
.bd .bfund-range{-webkit-appearance:none;appearance:none;display:block;align-self:stretch;width:auto;height:34px;margin:44px 0 0;padding:0;background:none;accent-color:#e59a3a;--p:0%}
.bd .bfund-range:focus{outline:none}
.bfund-range::-webkit-slider-runnable-track{height:12px;border-radius:6px;background:linear-gradient(90deg,#e59a3a 0,#f0b25c var(--p),rgba(131,97,74,.24) var(--p),rgba(131,97,74,.24) 100%);box-shadow:inset 0 1px 2px rgba(70,35,8,.35)}
.bfund-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:32px;height:32px;margin-top:-10px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f7dfa1,#c99a45 52%,#8a6223);box-shadow:0 2px 4px rgba(50,25,5,.5),inset 0 -2px 3px rgba(70,40,5,.4)}
.bfund-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(192,138,76,.55),0 2px 4px rgba(50,25,5,.5)}
.bfund-range::-moz-range-track{height:12px;border-radius:6px;background:rgba(131,97,74,.24);box-shadow:inset 0 1px 2px rgba(70,35,8,.35)}
.bfund-range::-moz-range-progress{height:12px;border-radius:6px;background:linear-gradient(90deg,#e59a3a,#f0b25c)}
.bfund-range::-moz-range-thumb{width:32px;height:32px;border:0;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f7dfa1,#c99a45 52%,#8a6223);box-shadow:0 2px 4px rgba(50,25,5,.5)}
.bfund-ends{display:flex;justify-content:space-between;align-self:stretch;margin-top:8px;font:400 18px/1 var(--bd-text);color:var(--bd-date)}
.bfund-go{margin-top:54px}

/* ================= a phone, or a window near square: the papers stacked on the planks ================= */
.bd.stack .bd-stage{position:absolute;inset:0;width:auto;height:auto;transform:none!important}
.bd.stack .bd-plate{display:none}
/* (the planks darker by night: --bd-n is the camp's clock, src/board.js day) */
.bd.stack .bd-stage::before{content:"";position:absolute;inset:0;background:url(../assets/camp/board/wood.webp) center/cover;filter:brightness(calc(.88 - .4 * var(--bd-n, 0)));transition:filter 2s linear}
.bd.stack .bd-ui{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;box-sizing:border-box;padding:calc(var(--safe-t) + 72px) 14px calc(var(--safe-b) + 28px);display:flex;flex-direction:column;gap:18px}
.bd.stack .bd-ui > *{position:relative;flex:none}
.bd.stack .bd-title{font-size:38px;color:#f6dfb0;text-shadow:0 1px 0 rgba(255,240,200,.3),0 -1px 1px rgba(40,18,6,.8)}
html[lang="ko"] .bd.stack .bd-title{font-size:42px}
.bd.stack .bd-news,.bd.stack .bd-wishes{position:relative;box-sizing:border-box;border-style:solid;border-color:transparent}
.bd.stack .bd-news{border-width:64px 40px 60px 40px;border-image:url(../assets/camp/board/paper-news.webp) 220 140 210 140 fill / 64px 40px 60px 40px stretch;padding:0 2px 4px 6px;margin:0 -8px}
.bd.stack .bd-wishes{border-width:52px 36px 70px 36px;border-image:url(../assets/camp/board/paper-wishes.webp) 180 125 240 125 fill / 52px 36px 70px 36px stretch;padding:0 4px 12px;margin:0 -6px}
.bd.stack .bd-h{font-size:28px;line-height:1.2;white-space:normal}
.bd.stack .bd-h.news{margin:-12px 0 0 40px}
.bd.stack .bd-rule.head{margin:10px 0 0}
.bd.stack .bd-badge{height:32px;font-size:20px;margin:16px 0 6px}
.bd.stack .bd-row{height:42px}
.bd.stack .bd-row .t{left:30px;right:58px;top:6px;font-size:19px}
.bd.stack .bd-row .d{right:2px;top:6px;font-size:16px}
.bd.stack .bd-row .dot{left:9px;top:17px;width:8px;height:8px}
.bd.stack .bd-row.top .dot{left:7px;top:15px;width:12px;height:12px}
.bd.stack .bd-row::after{left:0;right:0;bottom:0}
.bd.stack .bd-row.empty{display:none}
.bd.stack .bd-link.more{display:flex;margin:18px auto 0;font-size:20px}
.bd.stack .bd-link.more.wishes{margin-top:32px}
.bd.stack .bd-guide{position:relative;aspect-ratio:1200/521;margin:0 -2px}
.bd.stack .bd-sheet{display:block;width:100%;height:100%}
.bd.stack .bd-h.guide{position:absolute;left:19%;top:11%;margin:0;font-size:24px}
.bd.stack .bd-link.guide{position:absolute;right:9%;bottom:14%;font-size:17px;font-weight:400}
.bd.stack .bd-h.wish{margin:-8px 0 6px 44px}
.bd.stack .bd-wlist .bd-wish{height:66px}
.bd.stack .bd-wlist .wt{left:0;top:6px;right:0;width:auto;font-size:19px}
.bd.stack .bd-wlist .heart{left:0;top:38px;width:22px;height:19px}
.bd.stack .bd-wlist .n{left:32px;top:41px;font-size:16px}
.bd.stack .bd-wlist .sep{left:78px;top:40px;height:15px}
.bd.stack .bd-wlist .s{left:104px;top:38px;font-size:18px}
.bd.stack .bd-wlist .bd-wish::after{left:0;right:0;top:64px}
.bd.stack .bd-wlist .bd-wish.empty{display:none}
.bd.stack .bd-wlist .bd-wish.empty.note{display:block;position:relative;left:0;top:0;height:44px}
.bd.stack .bd-plank{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 10px;border-radius:10px;background:rgba(60,30,12,.38);box-shadow:inset 0 0 0 1px rgba(255,210,150,.14)}
.bd.stack .bd-count{font-size:19px}
.bd.stack .bd-count .ic{display:block}
/* (the fund's box under the papers, at their left) */
.bd.stack .bd-fund{align-self:flex-start;width:126px;margin:0 0 0 4px}   /* (180 to 126, the same 30%) */
/* what opens over the board, on a phone: the parchment as a 9-slice, the page scrolling */
.bd.stack .bd-ostage{position:absolute;inset:0;width:auto;height:auto;transform:none!important;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.bd.stack .bd-paper{position:relative;box-sizing:border-box;margin:calc(var(--safe-t) + 70px) 10px calc(var(--safe-b) + 24px);min-height:calc(100% - var(--safe-t) - var(--safe-b) - 94px);border-style:solid;border-color:transparent;border-width:64px 40px 60px 40px;border-image:url(../assets/camp/board/paper-news.webp) 220 140 210 140 fill / 64px 40px 60px 40px stretch;filter:drop-shadow(0 10px 20px rgba(0,0,0,.45))}
.bd.stack .bd-pin{position:relative;padding:0 4px 8px 6px}
/* (in the paper's top slice, beside its pin: the border lies outside the padding box the X is placed from) */
.bd.stack .bd-x{right:4px;top:-16px;width:38px;height:38px}
.bd.stack .bp-h{font-size:27px;margin-right:30px}
.bd.stack .bp-b{font-size:19px}
.bd.stack .bg-list dt{font-size:20px}
.bd.stack .bg-list dd{font-size:18px}
.bd.stack .bg-tip{font-size:18px}
.bd.stack .bl-rows .bd-row .t{font-size:19px}
/* (on a phone the name goes under its title: beside it, the title kept only a few letters) */
.bd.stack .bl-rows.wishes .bd-row{height:56px}
.bd.stack .bl-rows.wishes .bd-row .tw{left:30px;right:112px;top:6px;flex-direction:column;align-items:stretch;gap:0}
.bd.stack .bl-rows.wishes .bd-row .by{max-width:none;margin-top:-6px;font-size:14px}
.bd.stack .bl-rows .bd-row .h{right:56px;top:13px;font-size:16px}
.bd.stack .bl-rows .bd-row .h svg{width:16px;height:14px}
.bd.stack .bv-acts{gap:10px;flex-wrap:wrap}
.bd.stack .bv-acts .n{font-size:18px}
.bd.stack .bv-mine{gap:16px}
.bd.stack .bv-mine .bd-link{font-size:18px}
.bd.stack .bw-leave,.bd.stack .bf-go,.bd.stack .bfund-go{width:100%;height:48px;font-size:21px}
.bd.stack .bfund-amt{margin-top:30px;font-size:52px}
.bd.stack .bf-ti{height:46px;font-size:21px;line-height:46px}
.bd.stack .bf-ta{min-height:208px;font-size:19px;line-height:34px;background:repeating-linear-gradient(180deg,transparent 0 33px,var(--bd-rule) 33px 34px) 0 0/100% 34px,rgba(255,250,240,.35)}
@media (prefers-reduced-motion:reduce){.bd-paper{animation:none}.bd-plate.day,.bd.stack .bd-stage::before{transition:none}}
