html,body{margin:0;min-height:100%;background:#2f1b31}
#game-shell{visibility:hidden}
#kp-stage{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#2f1b31;overflow:auto}
#kp-stage[hidden]{display:none}
.kp-screen{position:relative;width:min(100vw,calc(100vh * .45));aspect-ratio:1080/2400;overflow:hidden;background:#64caff;font-family:"Source Sans 3",Arial,sans-serif}
.kp-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:10;pointer-events:none}
.kp-photo-mask{position:absolute;z-index:5;overflow:hidden;pointer-events:none}.kp-photo-mask.ellipse{border-radius:50%}.kp-photo-mask canvas{position:absolute;inset:0;width:100%;height:100%}
.kp-layer{position:absolute;z-index:20;box-sizing:border-box;display:flex;align-items:center;white-space:pre-wrap;overflow:hidden;font-family:"Source Sans 3",Arial,sans-serif;font-weight:700}
.kp-layer.center{justify-content:center;text-align:center}.kp-layer.left{justify-content:flex-start;text-align:left}
.kp-layer:has(textarea){overflow:visible}.kp-control{border:0;background:transparent;outline:none;font:inherit;color:inherit;width:100%;height:100%;padding:0;box-sizing:border-box}
textarea.kp-control{resize:none;overflow:hidden;padding-right:18%;padding-bottom:1.15em}
.kp-message-counter{position:absolute;right:3%;bottom:10%;z-index:2;font-size:.58em;line-height:1;color:#71371f;white-space:nowrap;pointer-events:none}.kp-message-counter.max{color:#c9273f}
select.kp-control{appearance:none;cursor:pointer}
button.kp-layer,button.kp-layer:hover,button.kp-layer:active{min-width:0;margin:0;border:0;border-radius:0;padding-top:0;padding-bottom:0;background:transparent;background-image:none;box-shadow:none;text-shadow:none;cursor:pointer;appearance:none}
.kp-slider-host{position:absolute;z-index:250;height:2.9166667%;display:flex;align-items:center;padding:0 1.2962963%;box-sizing:border-box}.kp-slider{width:100%;accent-color:#ed4b86;cursor:pointer;margin:0;padding:0;box-shadow:none}.kp-slider::-webkit-slider-thumb{width:var(--thumb-size);height:var(--thumb-size)}.kp-slider::-moz-range-thumb{width:var(--thumb-size);height:var(--thumb-size)}
.kp-file{display:none}
.kp-notice-shade{position:absolute;inset:0;z-index:500;display:grid;place-items:center;padding:8%;box-sizing:border-box;background:#2f1b318c}.kp-notice{width:82%;box-sizing:border-box;padding:7% 6%;border:3px solid #fff5de;border-radius:5%;background:#fff4dd;color:#71371f;text-align:center}.kp-notice p{margin:0 0 6%;font-size:clamp(14px,3.2vw,26px);line-height:1.25;font-weight:700}.kp-notice button{min-width:35%;padding:3% 6%;border:0;border-radius:999px;background:#ef5682;color:white;font-weight:700}
#kp-skip{position:absolute;z-index:45;left:7%;bottom:2.6%;border:0;background:transparent;color:#fff;font:900 clamp(9px,2vw,14px)/1 Arial,sans-serif;text-shadow:0 2px 3px #000;cursor:pointer;padding:1%;display:block;white-space:nowrap}.kp-recipient #kp-skip{display:none}
@media(max-aspect-ratio:9/20){.kp-screen{width:100vw;height:auto}}

/* v40: fixed portrait layout, scroll-proof focus, native message editing. */
html,body{position:fixed;inset:0;width:100%;height:100%;overflow:clip!important}
#kp-stage{overflow:clip!important}
.kp-screen{width:var(--kp-width,min(100vw,calc(100svh * .45)));height:var(--kp-height,auto);overflow:clip!important}
#game-shell,.game,.page-shell{overflow:clip!important}
#game-shell{position:fixed;inset:0}
textarea.kp-control{padding:0;border-radius:0;overflow:hidden}
input.kp-control,textarea.kp-control{user-select:text;-webkit-user-select:text;touch-action:manipulation}
.kp-control::placeholder{color:inherit;opacity:1}
.kp-layer.right{justify-content:flex-end;text-align:right}
button,img,canvas{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
button{touch-action:manipulation}

#kp-skip{bottom:1.1%;left:3%;padding:2%}

.kp-loading{position:absolute;inset:0;z-index:500;display:grid;place-items:center;background:#092d45b3;color:white;font:bold 16px Arial;text-align:center}


:root{touch-action:auto}
#kp-stage{touch-action:auto}
#game-shell{position:fixed;inset:auto;overflow:clip!important;touch-action:none;width:min(100vw,calc(100svh * .45));height:min(100svh,calc(100vw / .45))}
#game-shell #intro,#game-shell #complete-screen{display:none!important}
.kp-screen{background:transparent}
.kp-tap{position:absolute;inset:0;z-index:100;display:grid;place-items:center;border:0;padding:0;background:#26362466;cursor:pointer;touch-action:manipulation}
.kp-tap img{display:block;width:82%;max-height:22%;object-fit:contain;pointer-events:none}
.misi-back-button{position:absolute;z-index:45;left:4.4%;top:9.4%;width:13.5%;aspect-ratio:1;border:0;background:transparent;box-shadow:none;cursor:pointer;padding:0;touch-action:manipulation}
.misi-back-button img{width:100%;height:100%;object-fit:contain}
.kp-recipient .misi-back-button{display:none!important}
.kp-loading{position:absolute;inset:0;z-index:500;display:grid;place-items:center;background:#263624b3;color:white;font:bold 16px Arial;text-align:center}/* Obsolete hidden UI must not compete with the first screen's artwork download. */
#game{background:#a7bd55}
.flow-screen,.setup-card{background-image:none!important}
