#hangout{width:min(1040px,calc(100vw - 36px));max-height:calc(100dvh - 38px);padding:0;border:1px solid #c9d0bc;border-radius:22px;background:#faf8ef;color:#384934;box-shadow:0 25px 100px #1c2a2860}#hangout::backdrop{background:#293d3055;backdrop-filter:blur(4px)}#hangout *{box-sizing:border-box}.hang-header{display:flex;align-items:center;gap:16px;padding:24px 28px 18px;border-bottom:1px solid #dedfd1}.hang-header h1{font-size:25px;margin:0}.hang-header p{font-size:13px;color:#838672;margin:5px 0 0}.hang-header .close-button{position:static;margin-left:auto;flex-shrink:0}.hang-tabs{display:flex;gap:8px;padding:14px 28px 0}.hang-tabs button,.hang-filter button{border:0;background:transparent;color:#858570;font:inherit;cursor:pointer;padding:10px 14px;border-radius:12px}.hang-tabs button[aria-pressed=true],.hang-filter button[aria-pressed=true]{background:#e4ebd9;color:#445e38;font-weight:700}.hang-body{padding:24px 28px 30px;max-height:calc(100dvh - 205px);overflow:auto}.hang-body h2{font-size:25px;line-height:1.3;margin:0 0 10px}.hang-body h3{font-size:16px;margin:0 0 8px}.hang-body p{font-size:14px;line-height:1.6;color:#7c806b;margin:8px 0 18px}.hang-body button,.hang-body input,.hang-body select,.hang-body textarea{font:inherit}.hang-primary,.hang-secondary{border:0;border-radius:12px;cursor:pointer;padding:13px 18px;font-weight:700!important;background:#60794f;color:#fff}.hang-secondary{background:#e9eadf;color:#526349}.hang-primary:disabled,.hang-secondary:disabled{opacity:.45;cursor:default}.hang-primary:focus-visible,.hang-secondary:focus-visible,#hangout input:focus-visible,#hangout select:focus-visible{outline:3px solid #bd9acb;outline-offset:3px}.hang-body input,.hang-body select,.hang-body textarea{border:1px solid #d6d8c8;background:#fffdf6;border-radius:10px;padding:11px 13px;width:100%;color:#45523b}.hang-body label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.hang-body label small{font-weight:400;color:#8e907f}.hang-body input[type=checkbox]{width:auto;margin-right:8px}.hang-intro{display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:22px;gap:18px}.hang-intro p{margin-bottom:0}.fragment-badge{background:#e7ead9;color:#566a3e;border-radius:50%;width:87px;height:87px;text-align:center;display:grid;align-content:center;font-size:12px}.fragment-badge strong{font-size:26px}.hang-filter{display:flex;gap:3px;margin:0 0 18px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.activity-card{border:1px solid #d9ddca;background:#fffdf4;border-radius:17px;padding:22px;text-align:left;cursor:pointer;color:#43533c;min-height:190px;position:relative}.activity-card:hover{border-color:#95aa7d;background:#f3f6e9}.activity-icon{display:block;font-size:30px;color:#81956a;margin-bottom:20px}.activity-card strong{display:block;font-size:17px;margin-bottom:8px}.activity-card small{color:#8c8c77;font-size:12px;line-height:1.5;display:block}.activity-time{display:block;margin-top:18px;font-size:11px;color:#a09983}.room-join{display:flex;gap:10px;align-items:end;margin-top:24px;padding-top:22px;border-top:1px solid #dfe0d0}.room-join label{flex:1;margin:0}.room-join .hang-primary{flex-shrink:0}.local-note{font-size:11px!important;margin:12px 0 0!important;color:#969581!important}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.profile-grid .wide{grid-column:1/-1}.interest-list{display:flex;gap:8px;flex-wrap:wrap}.interest-list label{margin:0;border:1px solid #d6dbc6;border-radius:10px;padding:10px 13px;background:#fffdf4;font-size:13px}.profile-actions{display:flex;gap:10px;align-items:center;margin-top:25px}.tag-collection{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.tag-item{padding:14px;border:1px solid #dfdfce;border-radius:12px;flex:1;min-width:170px}.tag-item button{margin-top:10px;width:100%}.tag-item strong{display:block;font-size:14px}.hang-divider{height:1px;background:#dfe0d0;margin:28px 0}.room-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.room-code{font-size:20px;letter-spacing:3px;color:#758d5a;font-weight:800}.room-members{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 25px}.room-person{border:1px solid #dfe2d3;border-radius:12px;padding:8px 10px;background:#f3f5eb;color:#5f7152;cursor:pointer;display:flex;align-items:center;gap:8px}.room-person canvas{width:28px;height:38px}.round-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8d947d;margin:12px 0 18px}.round-question{text-align:center;max-width:620px;margin:20px auto 28px!important}.round-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}.round-choice{background:#fffdf4;border:2px solid #dce0d0;border-radius:18px;min-height:190px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#46543c;text-align:center}.round-choice:hover{border-color:#a0b48b}.round-choice.chosen{border-color:#849e6a;background:#edf2e4}.round-choice:disabled{cursor:default}.round-choice canvas{width:80px;height:115px;margin:0 auto 10px}.round-choice strong{font-size:18px}.round-choice small{font-size:12px;color:#8c8a78;line-height:1.5;margin-top:10px}.round-choice .vote-count{display:block;color:#7e658f;font-size:24px;font-weight:800;margin-top:15px}.round-bottom{text-align:center;margin-top:23px}.round-bottom p{margin-bottom:12px}.quiz-form{max-width:440px;margin:auto;text-align:center}.quiz-form input{font-size:18px;text-align:center;margin:10px 0}.quiz-answer{font-size:34px;color:#687f50;text-align:center;margin:20px}.room-chat{margin-top:28px;border-top:1px solid #dadfcd;padding-top:18px}.chat-messages{max-height:145px;overflow:auto;margin-bottom:10px;font-size:13px;color:#68765a}.chat-messages div{padding:5px 0}.chat-messages strong{margin-right:8px;color:#8c7697}.chat-form{display:flex;gap:8px}.chat-form input{flex:1}.hang-status{margin:0 28px 15px;min-height:18px;font-size:13px;color:#a26050}.result-panel{text-align:center;max-width:640px;margin:20px auto}.result-panel canvas{max-width:100%;height:auto;display:block;margin:18px auto;border-radius:16px}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.creation-modes{display:flex;gap:8px;margin-bottom:20px}.creation-modes button{flex:1;border:1px solid #d9dccb;background:#f7f5ea;color:#65705b;border-radius:12px;padding:10px 15px;font:inherit;cursor:pointer}.creation-modes button[aria-pressed=true]{background:#dfe7d2;border-color:#9da98b;color:#384933;font-weight:700}.creation-modes button:focus-visible{outline:2px solid #657457;outline-offset:2px}.creation-modes button:disabled{opacity:.55;cursor:not-allowed}.creation-photo{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}.creation-photo img{width:120px;height:140px;object-fit:contain;border-radius:12px;background:#e9ecdf}.creation-note{padding:15px;background:#e9ecdf;border-radius:12px;font-size:12px!important}.review-notes{text-align:left;line-height:1.6;color:#43513e}.review-notes strong{display:block;margin-bottom:6px}.review-notes ul{margin:0 0 8px;padding-left:18px}.review-notes li{margin:3px 0}.review-notes b{margin-right:6px;color:#5d6e4f}.review-notes p{margin:0}.generation-contract{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;color:#84946d;font-size:12px}.generation-contract span{border-bottom:2px solid #d2dcc1;padding:8px}.taste-note{background:#eaf0e0;border-radius:14px;padding:20px;margin:20px 0}.taste-note p{margin-bottom:0}.world-dock .social-entry{color:#536b43}.world-dock .social-entry .icon{stroke:currentColor}.wallet-hud{position:fixed;right:30px;top:155px;border:0;border-radius:20px;background:#fff9e9ed;color:#67794e;padding:10px 15px;font-family:inherit;font-size:12px;font-weight:600;z-index:3;cursor:pointer}#world,.world-header,.player-card,.expression-bar,.world-dock,.district-nav,.joystick{user-select:none;-webkit-user-select:none}
@media(max-width:700px){#hangout{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:17px}.hang-header{padding:18px}.hang-header h1{font-size:21px}.hang-tabs{padding:10px 14px 0}.hang-tabs button{font-size:12px;padding:9px 11px}.hang-body{padding:20px 17px;max-height:calc(100dvh - 172px)}.hang-body h2{font-size:22px}.activity-grid{grid-template-columns:1fr 1fr;gap:10px}.activity-card{padding:16px;min-height:176px}.activity-card strong{font-size:15px}.activity-icon{margin-bottom:14px}.fragment-badge{width:68px;height:68px}.profile-grid{grid-template-columns:1fr}.room-join{flex-wrap:wrap}.room-join label{flex-basis:65%}.round-options{gap:9px}.round-choice{padding:14px 9px}.round-choice strong{font-size:15px}.hang-status{margin-left:17px;margin-right:17px}.wallet-hud{right:17px;top:125px;font-size:11px;padding:8px 12px}.world-dock{gap:0!important}.world-dock .dock-button{padding:10px 13px!important}.world-dock .dock-button span{font-size:12px}.controls-hint{display:none!important}}
@media(max-width:420px){.world-dock .dock-button{padding:10px!important}.world-dock .dock-button svg{width:20px}.room-code{font-size:18px}.hang-intro{gap:9px}.hang-header p{font-size:11px}}
.magic-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.magic-slots button{display:grid;gap:8px;padding:20px 10px}.magic-slots button>span{font-size:32px;color:#a27db7}.magic-result{text-align:center;background:#eee8f7;border-radius:16px;padding:22px;margin:18px 0;color:#654c7d}.magic-result>strong{display:block;font-size:54px;line-height:1.25}.magic-result strong span{font-size:20px}.magic-result p{margin:6px}.magic-details article{border-bottom:1px solid #d9d1e4;padding-bottom:14px}.magic-panel .summon-actions{flex-wrap:wrap}.magic-panel .summon-actions button{white-space:normal}.hang-tabs{overflow:auto}.hang-tabs button{flex-shrink:0}
.connection-profile-entry{max-width:650px;margin:auto}.connection-profile-entry form{display:grid;gap:14px}.connection-profile-entry details .profile-grid{padding-top:12px}.connection-profile-entry .summon-actions{display:flex;flex-wrap:wrap;gap:10px}.connection-profile-entry .summon-consent{display:flex;align-items:flex-start;line-height:1.6}.connection-profile-entry .summon-consent input{flex-shrink:0;margin-top:4px}.connection-profile-notice{padding:14px;border-radius:12px;background:#eef0e5;font-size:12px!important}.guest-welcome{position:fixed;left:50%;top:110px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 14px;border:1px solid #d5dbd2;border-radius:14px;background:#fffdf3ed;color:#56654e;font-size:12px;z-index:3;box-shadow:0 5px 16px #42543212}.guest-welcome a{color:inherit;white-space:nowrap}.guest-welcome button{border:0;background:transparent;color:inherit;font:inherit;min-width:26px;min-height:26px;cursor:pointer}@media(max-width:600px){.guest-welcome{top:194px;font-size:11px;width:max-content;gap:8px}.connection-profile-entry .summon-actions>*{width:100%}.connection-profile-entry .profile-grid{grid-template-columns:1fr 1fr;gap:12px}.connection-profile-entry .profile-grid input{padding:10px 7px}}
.wish-board{max-width:850px;margin:auto}.wish-board>h2{font-size:25px;line-height:1.4}.wish-write{background:#f5f1e7;border:1px solid #ded3bd;border-radius:18px;padding:20px;margin:24px 0}.wish-write form{display:grid;gap:14px}.wish-write label{display:grid;gap:8px;font-weight:700}.wish-write select,.wish-write textarea{width:100%;box-sizing:border-box;min-width:0;background:#fffdf8;border:1px solid #bdb19e;border-radius:10px;padding:12px;font:inherit;color:#514a40}.wish-help{font-size:13px;line-height:1.6;color:#746b5e;margin:0}.wish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 28px}.wish-note{background:#fbefb9;border:1px solid #e5d399;border-radius:3px 3px 16px 3px;padding:18px;box-shadow:0 5px 10px #5c48220c}.wish-notes>section:nth-child(2) .wish-note{background:#eadff2;border-color:#d1bbdf}.wish-note p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;min-height:3.6em;margin:0 0 18px}.wish-note footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;color:#736b58}.wish-note footer span{margin-right:auto}.wish-link{background:none;border:0;text-decoration:underline;min-height:36px;color:inherit;cursor:pointer}.wish-empty{color:#827c6c;font-size:14px}.hang-tabs{overflow-x:auto}.hang-tabs button{white-space:nowrap}.place-nav{flex-wrap:wrap}
@media(max-width:600px){.wish-grid{grid-template-columns:1fr}.wish-write{padding:14px}.wish-board>h2{font-size:21px}.wish-write select{font-size:14px}.wish-notes h3{font-size:16px;line-height:1.6}}
/* Place navigation has its own row; it must never sit beneath summon or season controls. */
.district-nav{left:30px;right:auto;top:116px;max-width:calc(100vw - 220px);overflow-x:auto;border-radius:18px}.district-nav button{flex-shrink:0}.guest-welcome{top:174px}
@media(max-width:700px){.district-nav{left:12px;right:12px;top:78px;max-width:none;gap:1px;padding:4px}.district-nav button{padding:8px 10px;font-size:10px}.guest-welcome{top:216px}}
@media(min-width:701px){.interaction-prompt{left:auto;right:30px;bottom:320px;transform:none}}

@media(max-width:700px){body .creation-badge{top:116px;right:12px;max-width:172px}body .wallet-hud{top:158px}body .season-toggle{top:201px}.guest-welcome{top:248px}.player-card{top:116px}}

/* 2026-11-12 인연의 서가: the result is a book page whose lines rise one after another. */
.inyeon-book{display:grid;gap:12px;margin:18px 0}.book-page{position:relative;background:linear-gradient(90deg,#f7eed6 0,#fbf5e4 46%,#efe2c2 50%,#fbf5e4 54%,#f7eed6 100%);border:1px solid #d9c49a;border-radius:6px 6px 14px 14px;box-shadow:inset 0 0 0 6px #fbf5e4,0 6px 18px #5b432019;padding:22px 24px;color:#5a4526;text-align:center}.book-page strong{display:block;font-size:54px;line-height:1.2;color:#7b5a2c}.book-page strong span{font-size:20px}.book-page p{margin:6px 0}.book-private{text-align:left}.book-private h3{text-align:center;margin:0 0 10px;color:#7b5a2c}.book-line{opacity:0;animation:book-rise .9s ease forwards;animation-delay:calc(var(--line)*.45s)}.book-end{margin-top:12px}@keyframes book-rise{from{opacity:0;transform:translateY(6px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@media (prefers-reduced-motion:reduce){.book-line{opacity:1;animation:none}}
