@font-face{font-family:Literary;src:url('/literary.ttf')}*{box-sizing:border-box}html{background:#fff8e5;color:#342a28;font-family:Georgia,'Times New Roman',serif}body{margin:0}main{max-width:1160px;margin:0 auto;padding:24px 24px 16px}header{display:flex;justify-content:space-between;align-items:center}.brand{font-family:Literary,Georgia,serif;color:#dc4d32;font-size:clamp(40px,7vw,67px);text-decoration:none;font-weight:700;letter-spacing:-2px}.inkdrop{font-size:31px;transform:scaleX(.6);color:#342a28}.eyebrow{font-size:12px;letter-spacing:1.3px;margin:22px 0 14px}h1{font-family:Literary,Georgia,serif;font-size:clamp(38px,6.5vw,69px);line-height:1.05;letter-spacing:-1.8px;margin:0 0 15px;font-weight:700}.subtitle{font-size:14px;line-height:1.55;max-width:500px;margin:0;color:#65554a}.wall{height:390px;position:relative;margin:15px 0 8px;isolation:isolate}.empty{position:absolute;left:0;top:32%;width:100%;text-align:center;font-size:23px;color:#897a6d;line-height:1.7}.empty span{font-size:14px}.word{position:absolute;border:0;background:none;color:#342a28;padding:6px 8px;max-width:46%;overflow-wrap:anywhere;font:inherit;line-height:1.2;cursor:pointer;transition:opacity 1s;animation:arrive .8s cubic-bezier(.15,.7,.35,1) both}.word>span{display:block;animation:float 9s ease-in-out infinite alternate;animation-delay:var(--delay);transform:rotate(var(--rotate))}.word.serif{font-family:Literary,Georgia,serif;font-weight:700}.word.hand{font-family:'Comic Sans MS','KaiTi',cursive;font-style:italic}.word.red{color:#dc4d32}.word.blue{color:#586bd0}.word.paper>span{background:#efc7cb;padding:9px 11px;clip-path:polygon(2% 5%,25% 1%,40% 5%,65% 0,98% 5%,100% 40%,97% 95%,70% 100%,40% 95%,2% 100%,0 60%)}.word.gold>span{background:#f6d27e}.word:focus-visible{outline:2px solid #586bd0;border-radius:5px}.drift-note{text-align:center;font-size:12px;letter-spacing:.5px;margin:5px 0 20px;color:#65554a}form{display:flex;gap:10px}input{flex:1;min-width:0;border:1.5px solid #5b4637;border-radius:36px;background:transparent;font:inherit;font-size:16px;letter-spacing:.5px;padding:15px 18px;outline-offset:3px}input:focus{outline:2px solid #586bd0}form button{width:56px;min-width:56px;height:56px;border:0;border-radius:50%;background:#e65b42;color:#fff8e5;font:32px sans-serif;cursor:pointer}form button:disabled{opacity:.5}.input-note{display:flex;justify-content:space-between;gap:6px;font:10px/1.6 sans-serif;color:#81716a;margin:10px 4px 0}#status{min-height:18px;margin:6px 0;font:12px/1.5 sans-serif;color:#65554a}footer{border-top:1px solid #928277;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:9px;font:10px/1.5 sans-serif;flex-wrap:wrap}footer button{background:none;border:0;color:#65554a;font:inherit;text-decoration:underline;min-height:32px;padding:0}.connection::before{content:'●';font-size:8px;color:#b6a18a;margin-right:6px}.connection.live::before{color:#798857}.preview{display:block;width:100%;color:#81716a}button{cursor:pointer}dialog{max-width:440px;width:calc(100% - 32px);border:1px solid #5b4637;border-radius:10px;background:#fff8e5;padding:26px;color:#342a28}dialog::backdrop{background:#342a2855}dialog p{font-size:14px;line-height:1.65}dialog .close{float:right;border:0;background:none;font:26px serif;width:32px;height:32px}dialog h2{font-size:25px;line-height:1.2}#word-menu>button:not(.close){display:block;width:100%;padding:12px;margin:10px 0;border:1px solid #5b4637;background:none;border-radius:6px;font:14px serif}#selected{font-size:27px;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@keyframes arrive{from{translate:0 90px;opacity:0}to{translate:0 0;opacity:1}}@keyframes float{from{translate:0 -3px;rotate:-1deg}to{translate:0 4px;rotate:1deg}}@media(min-width:850px){main{padding:28px 48px}header{margin-bottom:10px}.intro{max-width:650px}.wall{height:420px;margin-top:20px}.composer{max-width:640px;margin:auto}footer{margin-top:12px}.eyebrow{margin-top:24px}}@media(max-width:360px){main{padding:19px 18px}.brand{font-size:39px}h1{font-size:36px}.subtitle{font-size:13px}.wall{height:360px}.input-note{font-size:9px}}@media(prefers-reduced-motion:reduce){.word,.word>span{animation:none;transition:none}}

@media(max-width:849px){main{padding-top:18px}.eyebrow{margin-top:15px}.subtitle{font-size:13px}.word{min-height:36px}}

#challenge:not(:empty){margin:12px 0}#controls>button{min-height:44px;padding:10px 14px;background:#fff8e5;border:1px solid #5b4637;border-radius:6px;margin:5px}.review-row{padding:16px 0;border-bottom:1px solid #928277}.review-row p{font-size:24px;overflow-wrap:anywhere}.review-row button{display:block;min-height:44px;margin:10px 0;background:#f3d47e;border:1px solid #5b4637;padding:10px}
.review-row.flagged>p{color:#b84432}.review-row.flagged{border-left:2px solid #dca499;padding-left:12px}.review-row small{display:block;font:11px/1.6 sans-serif;color:#81716a}.review-actions{display:flex;gap:8px;flex-wrap:wrap}.review-row .review-actions button{display:inline-block;background:transparent;border-radius:6px;font:12px serif;min-height:44px}.review-row.is-hidden>p{opacity:.55}#login{align-items:center}#login label{font:12px sans-serif;white-space:nowrap}body:has(#reports) header>span{font:11px sans-serif;color:#81716a}
.moderation-policy{font:11px/1.65 sans-serif;max-width:680px;color:#81716a;margin:18px 0 22px}

.instinct-credit{text-align:center;font-size:11px;letter-spacing:.06em;color:#9b9385;margin:32px 0 8px;opacity:.65}
@font-face{font-family:LoraSoft;src:url('/lora-full.woff2');font-weight:400;font-display:swap}@font-face{font-family:LoraSoft;src:url('/lora-italic-full.woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:CormorantSoft;src:url('/corm-full.woff2');font-weight:400;font-display:swap}@font-face{font-family:CormorantSoft;src:url('/corm-italic-full.woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:NotoSoft;src:url('/noto-full.woff2');font-weight:100 900;font-display:swap}
.brand,h1{font-family:LoraSoft,Georgia,serif;font-weight:400}.word.journal{line-height:1.4;letter-spacing:0;padding:7px 8px}.word.journal>span{position:relative;padding:10px 12px;animation:none;transform:rotate(var(--rotate));clip-path:none}.word.journal>span::before{content:'';position:absolute;left:28%;top:-8px;width:40px;height:15px;background:repeating-linear-gradient(45deg,#b28e6033 0 2px,#e3cb9840 2px 5px);border-left:1px dashed #ab916c66;border-right:1px dashed #ab916c66;transform:rotate(5deg);pointer-events:none}.word.journal>span::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:5px;background:inherit;clip-path:polygon(0 0,100% 0,100% 40%,90% 85%,80% 30%,70% 100%,60% 45%,50% 85%,40% 30%,30% 100%,20% 45%,10% 80%,0 30%)}
.word.sage{color:#415549}.word.sage>span{background:#c2cbb5}.word.receipt{color:#684939}.word.receipt>span{background:#f5eedc repeating-linear-gradient(0deg,transparent 0 23px,#9b8a6733 23px 24px);border-top:2px dashed #baa580;border-bottom:2px dashed #baa580;padding:16px 12px}.word.receipt>span::after{display:none}.word.rose{color:#4c3534}.word.rose>span{background:#d3babb}.word.grid{color:#6b473c}.word.grid>span{background-color:#e8dab4;background-image:linear-gradient(#7d94771a 1px,transparent 1px),linear-gradient(90deg,#7d94771a 1px,transparent 1px);background-size:13px 13px}.word.slate{color:#fbf0d9}.word.slate>span{background:#9baeb6}.word.sand{color:#384936}.word.sand>span{background:#d9c39b}.word.plain-blue{color:#6c82a0}.word.plain-rust{color:#945941}.word.plain-ink{color:#776655}.word[class*='plain-']>span{padding:0}.word[class*='plain-']>span::before,.word[class*='plain-']>span::after{display:none}
.journal-date{position:absolute;top:0;right:5px;font:9px Georgia,serif;letter-spacing:1.6px;color:#987b62;border-bottom:1px solid #d8c49d;padding-bottom:6px;pointer-events:none}.journal-stamp{position:absolute;bottom:4px;right:12px;padding:5px 8px;border:1px solid #dbb092;font:9px Georgia,serif;letter-spacing:1px;color:#b4856a;transform:rotate(-7deg);opacity:.75;pointer-events:none}.journal-sticker{position:absolute;width:28px;height:28px;right:-4px;bottom:-24px;pointer-events:none}
/* Single-screen shell: wall packing uses the measured remaining height. */
html,body{height:100%;}main{height:100svh;min-height:540px;display:flex;flex-direction:column;overflow:hidden;padding:14px 20px 10px;max-width:1160px}.brand{font-size:33px;line-height:1.1;letter-spacing:-1.3px}.inkdrop{font-size:23px}.eyebrow{font-size:9px;margin:8px 0 9px;letter-spacing:1px}h1{font-size:30px;line-height:1.03;margin:0 0 7px;letter-spacing:-1.3px}.subtitle{font-size:10px;line-height:1.4}.wall{flex:1;min-height:140px;margin:12px 0 0!important}.composer{width:100%;flex-shrink:0}.drift-note{font-size:9px;margin:0 0 8px}.composer input{font-size:13px;padding:10px 14px}.composer form button{width:40px;min-width:40px;height:40px;font-size:25px}.input-note{font-size:8px;margin:4px 2px 0}#status{font-size:9px;min-height:12px;margin:3px 0}#challenge:not(:empty){margin:4px 0}.instinct-credit{font-size:8px;margin:7px 0 0}footer{padding-top:3px;font-size:8px;flex-shrink:0}footer button{min-height:22px}.journal-date{font-size:7px;letter-spacing:1px}.journal-stamp{font-size:7px;padding:3px 5px}.empty{font-size:18px}.empty span{font-size:12px}@media(min-width:850px){main{padding:20px 48px 12px}header{margin:0}.brand{font-size:42px}h1{font-size:40px}.eyebrow{margin-top:10px}.subtitle{font-size:12px}.composer{max-width:640px;margin:0 auto}.wall{margin-top:12px}.instinct-credit{margin-top:8px}}@media(max-height:650px){main{padding-top:10px}.eyebrow{margin:5px 0 6px}h1{font-size:25px}.brand{font-size:29px}.subtitle{font-size:9px}.drift-note{display:none}}
/* Capacity is unchanged until owner decides: never crop existing words. */
html,body{height:auto}main{height:auto;min-height:100svh;overflow:visible}.wall{flex:none}

/* Bound the text to its paper even for CJK or a long token. */
.word.journal>span{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}

.composer.over-limit input{border:2px solid #b73527;background:#fff0e7}.composer.over-limit #count{color:#a52e23;font-weight:700;font-size:12px}.composer.over-limit #status{color:#a52e23;font-size:12px;font-weight:600;min-height:20px}.composer form button:disabled{opacity:1;background:#b7b0a6;color:#f7f1e5;cursor:not-allowed}

