.wall-page{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.wall-screen{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.wall-screen.kiosk{padding:12px}.mosaic-screen.kiosk .mosaic-progress{max-width:900px;margin-top:8px;margin-bottom:3.5vh}.mosaic-screen.kiosk .mosaic-progress .nums{margin-bottom:4px;font-size:11px}.mosaic-screen.kiosk .mosaic-progress .nums b{font-size:16px}.wall-screen h2{font-family:var(--font-mincho), serif;text-align:center;margin-bottom:14px;font-size:clamp(18px,2.1vw,30px);font-weight:700}.mosaic-screen{background:var(--kinari);padding:clamp(16px,3vw,46px)}.mosaic-canvas-wrap{flex:1;min-height:0}.mosaic-canvas-wrap canvas{object-fit:contain;width:100%;height:100%;display:block}.mosaic-progress{width:100%;max-width:1100px;margin:14px auto 0}.mosaic-progress .nums{color:#6f665b;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:13px;display:flex}.mosaic-progress .nums b{font-family:var(--font-mincho), serif;color:var(--sumi);font-size:24px;font-weight:800}.mosaic-progress .track{background:#211d1a14;border-radius:99px;height:7px;overflow:hidden}.mosaic-progress .fill{background:linear-gradient(90deg, var(--shu), var(--kin));border-radius:99px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.board-screen{background:radial-gradient(120% 90% at 50% -10%,#241a12,#17120e 55%,#0e0b08);padding:clamp(12px,2vw,32px)}.board-screen h2{color:var(--kinari)}.board{background-image:url(/brand/yamato-triangle-watermark.png),radial-gradient(#e6c87873 1px,#0000 1px),radial-gradient(#e6c87847 1px,#0000 1px);background-position:50% 44%,0 0,11px 11px;background-repeat:no-repeat,repeat,repeat;background-size:min(48vw,620px),34px 34px,22px 22px;border-radius:8px;flex:1;min-height:0;position:relative;overflow:hidden}.board:before,.board:after{content:"";pointer-events:none;z-index:99999;border:2px solid #c9a24b8c;width:26px;height:26px;position:absolute}.board:before{border-bottom:0;border-right:0;top:8px;left:8px}.board:after{border-top:0;border-left:0;bottom:8px;right:8px}.strip{width:clamp(200px,18vw,300px);transform:translate(-50%, -50%) rotate(var(--r));z-index:var(--z,1);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;position:absolute}.strip:active{cursor:grabbing}.board-hint{text-align:center;color:#f1e9d8a6;margin:-6px 0 8px;font-size:12px}.strip .paper{background:var(--bg);color:var(--fg);border-radius:11px;padding:17px 19px 20px;animation:.55s cubic-bezier(.2,1.1,.4,1) both strip-drop,7s ease-in-out 1s infinite strip-sway;position:relative;box-shadow:0 16px 34px -14px #000000b3}.strip .tape{width:58px;height:19px;transform:translateX(-50%) rotate(var(--tr,-5deg));background:linear-gradient(#e2cea280,#96805c6b);border-radius:2px;position:absolute;top:-9px;left:50%;box-shadow:0 2px 5px #0000004d}.strip .msg{font-family:var(--font-mincho), serif;letter-spacing:.02em;min-height:44px;font-size:clamp(13px,1.1vw,17px);font-weight:600;line-height:1.7}.strip .foot{justify-content:flex-end;align-items:flex-end;gap:9px;margin-top:13px;display:flex}.strip .sig{font-family:var(--font-mincho), serif;color:var(--sub);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:12px;overflow:hidden}.strip .seal{border:1.6px solid var(--shu);width:30px;height:30px;color:var(--shu);font-family:var(--font-mincho), serif;background:#f7efdbeb;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:0 -6px -10px 0;font-size:14px;font-weight:800;display:flex;transform:rotate(7deg)}@keyframes strip-drop{0%{opacity:0;transform:translateY(-48px)scale(.84)}to{opacity:1;transform:none}}@keyframes strip-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.strip .paper{animation:none}}.conn-warning{z-index:999999;color:#f1e9d8;background:#211d1ae0;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:12px;font-weight:700;display:flex;position:fixed;bottom:12px;right:14px;box-shadow:0 6px 18px #00000059}.conn-warning:before{content:"";background:#e05a3e;border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite conn-blink}@keyframes conn-blink{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.conn-warning:before{animation:none}}
