/* Viewport-fitted artboard: the approved composition stays entirely on screen. */
#kaladont [hidden],.game-screen-content[hidden]{display:none!important}
.game-screen.is-kaladont{padding:0;overflow:hidden;background:#ff7594;color:#101010;isolation:isolate;width:100%;height:100dvh}
.is-kaladont:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
#kaladont{position:absolute;left:50%;top:50%;width:1280px;height:720px;transform:translate(-50%,-50%) scale(var(--k-scale,1));transform-origin:center;container-type:inline-size}
.is-kaladont .game-back{top:20px;left:24px;z-index:3;font-size:14px;min-height:40px}
.k-header h1{position:absolute;top:24px;left:50%;transform:translateX(-50%) scaleX(.7);margin:0;font-family:Impact,'Arial Narrow',sans-serif;font-size:32px;font-weight:900;letter-spacing:-1px}
.k-header>button{position:absolute;right:27px;top:22px;width:44px;height:44px;font-size:25px}
.k-play{position:absolute;inset:0}
.k-left{position:absolute;left:244px;top:127px;width:300px;text-align:center}
.k-left h2{font-size:25px;line-height:30px;letter-spacing:-.5px;margin:0 0 15px;white-space:nowrap}
.k-bubble{position:relative;background:#fff2dc;border-radius:43px;padding:20px 25px 16px;width:300px;height:155px;text-align:left}
.k-bubble:after{content:'';position:absolute;left:24%;bottom:-25px;border-top:30px solid #fff2dc;border-left:28px solid transparent}
.k-bubble span{font-size:14px;letter-spacing:3px;display:block;margin:0 0 2px 10px}
.k-bubble strong{font-size:100px;font-weight:800;line-height:1.05;letter-spacing:-7px;display:block;white-space:nowrap}
.k-character{position:relative;width:250px;height:205px;margin:12px auto 0}
.k-mascot{display:block;width:100%}
.k-character .k-mascot{position:relative;z-index:1;width:190px;height:185px;margin:auto;animation:k-sway 4s ease-in-out infinite;transform-origin:50% 95%}
.k-plinth{position:absolute;bottom:0;width:100%;height:34px;border-radius:50% 50% 15% 15% / 25% 25% 35% 35%;background:linear-gradient(175deg,#fff9e9 10%,#f1dfc4 55%,#c5a98c);box-shadow:10px 12px 15px #8e30473b;border-top:6px solid #fff4e0}
.k-character .k-mascot-asset{width:100%;height:100%;object-fit:contain;animation:k-sway 4s ease-in-out infinite;transform-origin:50% 95%}
.k-left>p{font-size:16px;line-height:24px;margin:18px 0 0}
.k-links{display:flex;justify-content:space-between;padding:0 28px;margin-top:28px;font-size:14px}
.k-links button,.k-text{padding:8px;text-decoration:underline;text-underline-offset:5px}
.k-word-entry{font-size:10px;margin:9px auto 0;width:260px;position:relative}
.k-word-entry summary{cursor:pointer;opacity:.65;list-style:none;text-decoration:underline;text-underline-offset:3px}
.k-word-panel{position:absolute;bottom:24px;left:-20px;width:300px;background:#fff1dc;border-radius:15px;padding:30px 18px 18px;box-shadow:0 10px 35px #51202c40;z-index:5;text-align:left}
.k-word-panel label{display:block}.k-word-panel small{display:block;margin-top:8px}
.k-word-panel>button,.k-settings-panel>button{position:absolute;right:8px;top:2px;font-size:25px;width:32px;height:32px}
.k-word-panel input,.k-settings input,.k-settings select{display:block;width:100%;margin-top:7px;border:1px solid #1116;border-radius:7px;background:#fff9ed;padding:10px;font:inherit;color:#111}
.k-left #k-error{position:absolute;left:-30px;bottom:-40px;width:360px;margin:0;font-size:11px;line-height:15px}
.k-right{position:absolute;left:790px;top:167px;width:290px;text-align:center}
.k-right #k-clock{display:block;width:100%}
.k-right #k-clock strong{display:block;font-size:250px;font-weight:800;line-height:.9;letter-spacing:-17px;font-variant-numeric:tabular-nums}
.k-right #k-clock span{display:block;font-size:14px;letter-spacing:5px;margin:20px 0 45px}
.k-actions{display:grid;gap:13px}
.k-button{display:block;min-height:54px;width:100%;border-radius:50px;padding:15px 20px;font-size:17px;font-weight:800;letter-spacing:.5px;transition:transform .15s}
.k-button:hover{transform:translateY(-2px)}.k-button:active{transform:translateY(1px)}
.k-dark{background:#111;color:#fff1dc}.k-light{background:#fff1dc;color:#111}
.k-right>p{font-size:14px;margin:21px 0 0}.is-urgent strong{color:#971638}
.k-rules{position:absolute;left:290px;top:120px;width:700px;height:550px;text-align:center}
.k-rules h2,.k-result h2{font-size:76px;letter-spacing:-4px;line-height:1; margin:0 0 28px;font-weight:800}
.k-example{font-size:49px;line-height:65px;font-weight:800;letter-spacing:-2px;margin:20px 0}.k-example span{background:#fff2dc;padding:0 4px}.k-example i{font-style:normal;margin:0 23px}
.k-rules p{font-size:16px;margin:15px 0}.k-trap{line-height:1.8}.k-trap small{font-size:12px}
.k-rules>.k-button{width:285px;margin:25px auto}.k-settings{width:360px;margin:20px auto 0;font-size:13px;text-align:left}
.k-settings summary{text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:4px;list-style:none}
.k-settings-panel{position:absolute;top:50px;left:140px;width:420px;background:#fff1dc;border-radius:20px;box-shadow:0 10px 50px #55213250;padding:30px;z-index:5}
.k-settings label{display:block;margin:14px 0}.k-settings p{font-size:12px;line-height:1.5}
.k-rules-mascot{position:absolute;bottom:58px;left:500px;width:130px;transform:rotate(9deg);pointer-events:none}
.k-rules-mascot img{width:100%}#k-setup-error{font-size:12px;margin:0}
.k-result{position:absolute;left:290px;top:135px;width:700px;text-align:center}.k-eyebrow{display:block;font-size:12px;letter-spacing:2px;margin-bottom:20px}.k-result p{line-height:1.6;font-size:16px;max-width:520px;margin:20px auto}.k-result .k-mascot{width:150px;margin:15px auto}.k-result .k-button{width:300px;margin:15px auto}.k-text{font-size:12px}
@keyframes k-sway{50%{transform:rotate(-2deg) translateY(-3px)}}
/* Portrait uses its own fitted composition, never a scrolling stack. */
.k-portrait .k-header h1{top:25px;font-size:27px}.k-portrait .k-header>button{right:14px;top:21px}
.k-portrait .k-left{left:65px;top:102px}.k-portrait .k-left h2{font-size:21px;line-height:26px;margin-bottom:14px}
.k-portrait .k-bubble{height:122px;padding:15px 25px;border-radius:32px}.k-portrait .k-bubble strong{font-size:76px;line-height:1.05}.k-portrait .k-bubble span{font-size:12px}
.k-portrait .k-character{height:145px;width:190px;margin-top:12px}.k-portrait .k-character .k-mascot{width:140px;height:135px}.k-portrait .k-plinth{height:23px}
.k-portrait .k-left>p{font-size:14px;margin-top:10px}.k-portrait .k-links{margin-top:10px;font-size:12px}.k-portrait .k-left #k-error{bottom:-24px}
.k-portrait .k-right{left:70px;top:530px;width:290px}.k-portrait .k-right #k-clock strong{font-size:105px;letter-spacing:-7px}.k-portrait .k-right #k-clock span{font-size:10px;margin:7px 0 16px}.k-portrait .k-button{min-height:46px;padding:12px;font-size:14px}.k-portrait .k-actions{gap:10px}.k-portrait .k-right>p{font-size:12px;margin-top:14px}
.k-portrait .k-rules{left:25px;top:145px;width:380px;height:600px}.k-portrait .k-rules h2{font-size:58px;letter-spacing:-3px}.k-portrait .k-example{font-size:35px}.k-portrait .k-example i{margin:0 16px}.k-portrait .k-settings{width:320px}.k-portrait .k-settings-panel{left:15px;top:70px;width:350px}.k-portrait .k-rules-mascot{left:265px;bottom:66px;width:100px}.k-portrait .k-rules>.k-button{width:255px}.k-portrait .k-result{left:30px;top:155px;width:370px}.k-portrait .k-result h2{font-size:52px;letter-spacing:-2px}
@media(max-width:650px){.is-kaladont .game-back{left:10px;top:18px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.k-character .k-mascot,.k-character .k-mascot-asset{animation:none}.k-button{transition:none}}
.k-header{position:absolute;inset:0;z-index:4;pointer-events:none}.k-header button{pointer-events:auto}
.k-portrait .k-character .k-mascot-asset{width:100%;height:100%}
/* Preserve the asset ratio on rules, gameplay and results. */
.k-mascot-asset{height:auto;aspect-ratio:1;object-fit:contain}
.k-rules-mascot .k-mascot-asset{height:auto;width:100%}
.k-result .k-mascot-asset{height:auto}
.k-bubble strong{letter-spacing:-3px;white-space:nowrap;font-size:96px;line-height:1.1;margin-top:6px}
.k-bubble strong .k-ending{display:inline;font:inherit;letter-spacing:inherit;margin:0;color:transparent;-webkit-text-stroke:2px #101010}
.k-bubble #k-prompt-label{font-size:11px;letter-spacing:2px;margin-left:0}
.k-word-entry{margin-top:22px}
.k-portrait .k-bubble strong{letter-spacing:-2px}
.k-portrait .k-word-entry{margin-top:14px}

#k-test{display:block;margin:-12px auto 0;font-size:12px;font-weight:700}.room-connected #k-test{display:none}
.k-rules{left:140px;top:103px;width:1000px;height:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:25px 44px;padding:32px 38px 20px;background:#fff1dc;border:1px solid #17171724;border-radius:8px;box-shadow:7px 7px 0 #17171718;text-align:left}.k-guide-intro{position:relative;border-right:1px dashed #17171733;padding-right:34px}.k-guide-label{font-size:9px;letter-spacing:1.5px;font-weight:700}.k-rules h2{font-size:42px;letter-spacing:-1.8px;margin:16px 0}.k-guide-meta{font-size:9px;letter-spacing:.8px;font-weight:700}.k-guide-speech{position:relative;border:1.5px solid;border-radius:20px;padding:15px 18px;margin-top:25px}.k-guide-speech b{font-size:13px}.k-guide-speech p{font-size:15px;line-height:1.5;margin:8px 0 0}.k-guide-speech:after{content:'';position:absolute;bottom:-10px;left:28px;width:16px;height:16px;border-right:1.5px solid;border-bottom:1.5px solid;background:#fff1dc;transform:rotate(45deg)}.k-rules-mascot{position:static;width:120px;margin:10px 0 -5px 10px;transform:none}.k-guide-copy ol{padding:0;list-style:none;margin:16px 0}.k-guide-copy li{display:flex;align-items:start;gap:14px;margin-bottom:17px}.k-guide-copy li>b{font-size:12px;border:1px solid #17171740;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;flex:none}.k-guide-copy li p{font-size:14px;line-height:1.5;margin:2px 0}.k-guide-example{border-top:1px solid #17171733;padding-top:13px}.k-guide-example>b{font-size:9px;letter-spacing:1px}.k-guide-example .k-example{font-size:28px;line-height:1.2;margin:10px 0}.k-guide-example p{font-size:12px;line-height:1.5;margin:8px 0}.k-guide-copy .k-guide-note{font-size:10px;line-height:1.5;opacity:.7;margin:12px 0 0}.k-guide-footer{grid-column:1/-1;border-top:1px solid #17171725;padding-top:14px;display:flex;gap:12px;align-items:center;position:relative}.k-guide-footer .k-settings{margin:0 auto 0 0;width:auto;font-size:11px}.k-guide-footer .k-button{width:230px;min-height:42px;padding:13px 18px;font-size:11px}.k-guide-footer #k-test{margin:0;font-size:11px;border:1px solid #17171740;border-radius:30px;padding:13px 18px;text-decoration:none}.k-guide-footer .k-settings-panel{top:auto;bottom:55px;left:0;width:350px}.k-guide-footer #k-setup-error{position:absolute;bottom:-19px;left:0}.k-portrait .k-rules{left:20px;top:95px;width:390px;height:auto;padding:22px;display:block}.k-portrait .k-guide-intro{border:0;padding:0}.k-portrait .k-rules h2{font-size:30px;letter-spacing:-1px;margin:10px 0}.k-portrait .k-guide-speech{margin:14px 75px 20px 0;padding:10px 12px;border-radius:14px}.k-portrait .k-guide-speech p{font-size:12px;line-height:1.4;margin-top:4px}.k-portrait .k-guide-speech b{font-size:11px}.k-portrait .k-rules-mascot{position:absolute;width:78px;left:auto;right:-9px;bottom:0;margin:0}.k-portrait .k-guide-copy li{gap:10px;margin-bottom:12px}.k-portrait .k-guide-copy li p{font-size:12px;line-height:1.45}.k-portrait .k-guide-copy li>b{width:24px;height:24px;font-size:10px}.k-portrait .k-guide-copy ol{margin:12px 0}.k-portrait .k-guide-example .k-example{font-size:24px;margin:7px 0}.k-portrait .k-guide-example p{font-size:11px}.k-portrait .k-guide-footer{display:block;margin-top:14px;padding-top:12px}.k-portrait .k-guide-footer .k-settings{width:auto;margin:0 0 10px;font-size:10px}.k-portrait .k-guide-footer .k-button,.k-portrait .k-guide-footer #k-test{width:100%;margin:7px 0;padding:12px;font-size:11px;min-height:0}.k-portrait .k-guide-footer .k-settings-panel{left:0;top:auto;bottom:110px;width:100%}
