:root{--ink:#17251f;--panel:rgba(20,35,29,.78);--line:rgba(221,198,150,.24);--gold:#d8bb83;--paper:#f2e8d6;--muted:#c5baa6;--soft:#9c9b89;--serif:'Noto Serif SC',Georgia,serif;--sans:'DM Sans','PingFang SC',sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#1b3029;color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{overscroll-behavior:none}button,input,textarea,select{font:inherit}button{cursor:pointer}#world{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%;touch-action:none}.atmosphere{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,20,16,.32),transparent 23%,transparent 66%,rgba(10,19,15,.42));z-index:1}
.loading-screen{position:fixed;inset:0;z-index:20;background:#192921;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s,visibility .8s}.loading-screen.hidden{opacity:0;visibility:hidden}.loading-mark{font-size:43px;color:var(--gold);margin-bottom:14px}.loading-title{font:500 24px var(--serif);letter-spacing:.3em}.loading-sub{font-size:9px;letter-spacing:.3em;color:#b9aa8e;margin-top:9px}.loading-line{width:150px;height:1px;background:#ffffff22;margin:30px 0 14px;overflow:hidden}.loading-line i{display:block;width:35%;height:100%;background:var(--gold);animation:load 1.5s infinite ease-in-out}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(400%)}}.loading-note{font-size:10px;color:#c8bda8;letter-spacing:.1em}
.topbar{position:fixed;z-index:3;top:0;left:0;right:0;height:70px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(12,24,19,.68),transparent);pointer-events:none}.brand,.top-center,.top-actions{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:33px;height:33px;border:1px solid #d7bb8266;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:17px}.brand-name{font:500 15px var(--serif);letter-spacing:.18em;color:#f1e3c9}.brand-sub{font-size:8px;letter-spacing:.24em;color:#c6b698;margin-top:4px}.top-center{display:flex;align-items:center;gap:9px;font-size:10px;color:#eee2cc;letter-spacing:.08em}.live-dot{width:6px;height:6px;border-radius:50%;background:#9fc69d;box-shadow:0 0 10px #a8d0a5}.top-divider{height:12px;width:1px;background:#d6c59c55;margin:0 3px}.top-actions{display:flex;gap:9px;align-items:center}.language-select,.top-button{height:34px;border:1px solid var(--line);border-radius:2px;background:rgba(19,34,28,.58);color:#efe4cf;padding:0 11px;font-size:10px;backdrop-filter:blur(12px)}.language-select{min-width:76px}.top-button{display:flex;align-items:center;gap:8px;letter-spacing:.06em}.top-button:hover{border-color:#d7bb82aa;background:rgba(38,53,43,.88)}.button-icon{color:var(--gold);font-size:13px}.icon-only{width:34px;padding:0;justify-content:center;font-size:17px}
.glass{background:var(--panel);border:1px solid var(--line);box-shadow:0 16px 44px rgba(4,12,8,.24);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:3px}
.location-card{position:fixed;z-index:2;left:27px;top:94px;width:228px;padding:17px 17px 14px}.section-eyebrow,.modal-eyebrow{font-size:8px;letter-spacing:.2em;color:var(--gold)}.location-title{font:500 22px var(--serif);letter-spacing:.16em;margin:10px 0 8px;color:#f1e5d1}.location-description{margin:0;font-size:11px;line-height:1.8;color:#c9c0b0;min-height:55px}.location-coordinates{display:flex;align-items:center;gap:8px;border-top:1px solid #ffffff17;margin-top:14px;padding-top:11px;color:#b7a98e;font-size:9px;letter-spacing:.08em}.compass{color:var(--gold);font-size:13px}
.presence-card{position:fixed;z-index:2;right:27px;top:94px;width:223px;padding:15px 16px 13px}.panel-heading{display:flex;justify-content:space-between;align-items:center;font:500 14px var(--serif);letter-spacing:.1em}.presence-count{color:var(--gold);font:500 12px var(--sans)}.presence-sub{font-size:9px;color:#afa895;margin:7px 0 13px}.presence-list{max-height:112px;overflow:auto;display:flex;flex-direction:column;gap:7px}.presence-placeholder{font-size:10px;color:#8f9688;padding:5px 0}.presence-person{display:flex;align-items:center;gap:8px;font-size:10px;color:#e9ddc6}.presence-avatar{width:21px;height:21px;border-radius:50%;border:1px solid #d6b77d66;display:grid;place-items:center;font-size:10px;color:#e7d4ac;background:linear-gradient(135deg,#4f604f,#25392f)}.presence-person small{margin-left:auto;color:#a8a18f;font-size:8px}.stat-divider{height:1px;background:#ffffff17;margin:13px 0 11px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.stats-grid div{display:flex;flex-direction:column;gap:4px}.stats-grid strong{font:500 17px var(--serif);color:#eddbb8}.stats-grid span{font-size:8px;color:#b3ab9a;white-space:nowrap}
.character-chip{position:fixed;z-index:2;left:27px;bottom:108px;display:flex;align-items:center;gap:10px;padding:8px 10px;width:190px}.avatar-seal{width:31px;height:31px;border:1px solid #d0b17966;border-radius:50%;display:grid;place-items:center;color:var(--gold);font:13px var(--serif)}.character-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.character-meta b{font:500 11px var(--serif);letter-spacing:.1em}.character-meta span{font-size:8px;color:#bcb29f}.character-chip button{margin-left:auto;background:none;border:0;color:#b8a783;font-size:13px}
.action-dock{position:fixed;z-index:3;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:7px}.action-button{width:72px;height:61px;border:0;border-radius:2px;background:transparent;color:#e8ddc9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:background .15s,color .15s}.action-button:hover,.action-button:focus-visible{background:#a1855544;color:#f4d69e;outline:0}.action-button:active{background:#92764a}.action-symbol{font:18px var(--serif);color:#d2b57d;line-height:1}.action-button span:last-child{font-size:9px;letter-spacing:.1em}
.desktop-hint{position:fixed;z-index:2;left:27px;bottom:24px;color:#d6c9b3;font-size:9px;letter-spacing:.05em;display:flex;align-items:center;gap:5px}.desktop-hint kbd{border:1px solid #d6c49a44;background:#19292199;border-radius:2px;min-width:16px;text-align:center;padding:3px 4px;color:#e7d7b6;font-size:8px}.desktop-hint span{color:#a08d6c;margin:0 3px}
.chat-panel{position:fixed;z-index:2;right:27px;bottom:24px;width:286px;max-height:286px;padding:11px 12px 9px;display:flex;flex-direction:column;transition:height .2s,opacity .2s}.chat-panel.collapsed{height:42px;max-height:42px}.chat-panel.collapsed .chat-messages,.chat-panel.collapsed .chat-form,.chat-panel.collapsed .chat-foot{display:none}.chat-heading{display:flex;align-items:center;justify-content:space-between;min-height:26px}.chat-heading>div{display:flex;align-items:center;gap:7px}.chat-symbol{color:var(--gold);font-size:15px}.chat-heading b{font:500 11px var(--serif);letter-spacing:.12em}.chat-caption{font-size:8px;color:#a9a18f;margin-left:2px}.panel-close{border:0;background:none;color:#bcae90;font-size:18px;width:25px}.chat-messages{height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:9px 2px}.chat-welcome{font-size:9px;line-height:1.7;color:#b7ad99;border:1px dashed #d6c08a33;padding:8px}.chat-line{font-size:10px;line-height:1.55;color:#e9dfce;overflow-wrap:anywhere}.chat-line strong{font-weight:500;color:#d9bc83;margin-right:6px}.chat-line small{font-size:8px;color:#918c7c;margin-left:6px}.chat-form{display:flex;gap:6px;border-top:1px solid #ffffff18;padding-top:8px}.chat-form input{min-width:0;flex:1;background:#0e1d17aa;border:1px solid #ffffff14;border-radius:2px;color:#f4e8d3;padding:8px 9px;font-size:10px;outline:none}.chat-form input:focus{border-color:#d0b07888}.chat-form button{width:32px;border:0;background:#96794d;color:#fff2d9;border-radius:2px}.chat-foot{font-size:8px;color:#999584;padding-top:6px}
.mobile-controls{position:fixed;z-index:4;left:16px;pointer-events:auto;bottom:24px;display:none;align-items:center;gap:8px}.joystick{width:108px;height:108px;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid #ddc38b66;border-radius:50%;background:rgba(21,37,30,.32);display:grid;place-items:center;touch-action:none}.joystick-knob{width:39px;height:39px;border-radius:50%;background:rgba(207,174,113,.65);border:1px solid #efdbb1aa;box-shadow:0 2px 12px #08140e66;transform:translate(0,0)}.mobile-control-caption{font-size:9px;color:#e6d8bf;text-shadow:0 2px 7px #000;max-width:54px;line-height:1.5}
.toast{position:fixed;z-index:10;top:84px;left:50%;transform:translate(-50%,-8px);padding:10px 18px;background:rgba(20,35,29,.94);border:1px solid #d6b77d55;color:#f1e4cc;font-size:11px;letter-spacing:.06em;opacity:0;pointer-events:none;transition:.25s;max-width:80vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-backdrop{position:fixed;z-index:12;inset:0;background:rgba(5,13,9,.76);backdrop-filter:blur(9px);display:grid;place-items:center;padding:18px}.modal-backdrop.hidden{display:none}.modal-card{position:relative;width:min(460px,100%);max-height:min(90vh,800px);overflow:auto;padding:27px 29px;background:linear-gradient(145deg,#23382e,#18291f);border:1px solid #d0b27a66;box-shadow:0 25px 90px #0009}.modal-x{position:absolute;top:11px;right:14px;background:none;border:0;color:#c0b294;font-size:22px}.modal-card h2{font:500 23px var(--serif);letter-spacing:.16em;color:#f3e5ca;margin:9px 0 8px}.modal-card>p{font-size:11px;line-height:1.8;color:#c2b7a4;margin:0}.character-preview{height:120px;position:relative;display:flex;justify-content:center;align-items:center;margin:13px 0 10px;overflow:hidden}.preview-aura{position:absolute;width:105px;height:105px;border-radius:50%;background:radial-gradient(circle,#d2b57a22,transparent 70%)}.preview-person{position:relative;width:60px;height:90px}.preview-head{position:absolute;width:29px;height:29px;border-radius:50%;background:#d7ad87;left:16px;top:0;z-index:2}.preview-body{position:absolute;left:3px;top:21px;width:53px;height:65px;border-radius:21px 21px 12px 12px;background:#b49a72;clip-path:polygon(24% 0,76% 0,100% 100%,0 100%)}.character-preview>span{position:absolute;bottom:0;font:11px var(--serif);color:#e9d8b7;letter-spacing:.1em}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:18px 0}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#c6b48f;letter-spacing:.06em}.form-grid input,.form-grid select{width:100%;height:36px;background:#101f18;border:1px solid #d5bf8e33;border-radius:2px;color:#f0e5d2;padding:0 10px;font-size:11px;outline:none}.primary-button{display:block;width:100%;height:42px;background:linear-gradient(110deg,#9d8050,#b39766);color:#fff5df;border:1px solid #d9bb80;font-size:11px;letter-spacing:.18em}.primary-button:hover{filter:brightness(1.08)}.modal-foot{margin-top:12px;text-align:center;color:#999584;font-size:8px;letter-spacing:.08em}
.prayer-modal{width:min(520px,100%)}.prayer-form{margin:15px 0 16px}.prayer-form textarea{width:100%;resize:vertical;min-height:74px;background:#101f18;border:1px solid #d5bf8e33;border-radius:2px;color:#f3e8d6;padding:10px;font-size:11px;outline:none;line-height:1.6}.prayer-form textarea:focus{border-color:#d5bf8e77}.prayer-form .primary-button{margin-top:8px}.prayer-list-heading{display:flex;justify-content:space-between;align-items:center;font:12px var(--serif);color:#e8d8b8;border-bottom:1px solid #ffffff17;padding-bottom:8px}.prayer-list-heading span:last-child{font:10px var(--sans);color:#bca67c}.prayer-list{max-height:245px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:12px 2px}.prayer-item{padding:10px 11px;background:#ffffff08;border:1px solid #ffffff0d}.prayer-item p{font:12px/1.7 var(--serif);color:#e9dcc7;margin:0 0 6px;overflow-wrap:anywhere}.prayer-item small{font-size:8px;color:#a69d89}.prayer-empty{font-size:10px;color:#9b9787;padding:20px 0;text-align:center}
@media(max-width:980px){.presence-card{right:15px;top:82px;width:190px}.location-card{left:15px;top:82px;width:200px}.chat-panel{right:15px;bottom:98px;width:260px}.character-chip{left:15px;bottom:104px}.desktop-hint{display:none}.action-dock{bottom:14px}.action-button{width:62px}}
@media(max-width:660px){#sound-toggle{position:fixed;right:51px;top:66px;height:28px;padding:0 8px;font-size:8px}.topbar{height:60px;padding:0 12px}.brand{gap:7px}.brand-mark{width:28px;height:28px;font-size:14px}.brand-name{font-size:12px}.brand-sub{font-size:7px}.top-center{position:absolute;top:62px;left:13px;font-size:9px}.top-actions{gap:5px}.language-select,.top-button{height:31px;padding:0 8px;font-size:9px}.top-button:not(.icon-only){gap:4px}.top-button .button-icon{display:none}.icon-only{width:31px}.location-card{top:96px;left:10px;width:calc(50vw - 16px);max-width:180px;padding:11px}.section-eyebrow{font-size:7px}.location-title{font-size:17px;margin:7px 0 5px}.location-description{font-size:9px;line-height:1.6;min-height:46px}.location-coordinates{margin-top:8px;padding-top:7px;font-size:8px}.presence-card{top:96px;right:10px;width:calc(50vw - 16px);max-width:180px;padding:10px}.panel-heading{font-size:11px}.presence-sub{font-size:8px;margin:5px 0 8px}.presence-list{max-height:60px}.presence-person{font-size:8px}.presence-avatar{width:17px;height:17px}.stat-divider{margin:8px 0}.stats-grid strong{font-size:13px}.stats-grid span{font-size:7px}.character-chip{left:10px;bottom:115px;width:150px;padding:6px 8px}.avatar-seal{width:25px;height:25px;font-size:10px}.character-meta b{font-size:9px}.character-meta span{font-size:7px}.chat-panel{right:10px;bottom:112px;width:min(235px,57vw);max-height:190px;padding:7px 8px}.chat-panel.collapsed{height:34px;max-height:34px}.chat-heading{min-height:21px}.chat-heading b{font-size:9px}.chat-caption{display:none}.chat-messages{height:92px;padding:6px 1px;gap:6px}.chat-line{font-size:8px}.chat-welcome{font-size:8px;padding:5px}.chat-form{padding-top:5px}.chat-form input{font-size:9px;padding:6px}.chat-form button{width:27px}.chat-foot{font-size:7px;padding-top:4px}.action-dock{bottom:8px;left:auto;z-index:4;right:8px;transform:none;display:grid;grid-template-columns:repeat(4,47px);gap:2px;padding:4px}.action-button{width:47px;height:45px;gap:3px}.action-symbol{font-size:15px}.action-button span:last-child{font-size:7px}.mobile-controls{display:flex;bottom:10px;left:10px;z-index:5}.joystick{width:91px;height:91px}.joystick-knob{width:34px;height:34px}.mobile-control-caption{display:none}.toast{top:79px;font-size:9px;padding:8px 12px}.modal-card{padding:23px 18px}.modal-card h2{font-size:20px}.modal-card>p{font-size:10px}.character-preview{height:100px}.form-grid{gap:8px;margin:14px 0}.form-grid label{font-size:8px}.form-grid input,.form-grid select{height:34px;font-size:10px}.prayer-list{max-height:190px}}
@media(max-height:600px) and (min-width:661px){.location-card,.presence-card{top:75px}.chat-panel{max-height:210px;bottom:10px}.chat-messages{height:95px}.action-dock{bottom:8px}.character-chip{bottom:90px}}

#sound-toggle{white-space:nowrap}#sound-toggle.active{background:rgba(151,121,77,.82);border-color:#e1c58f;color:#fff1d3}.run-toggle{height:43px;min-width:48px;padding:0 9px;border:1px solid #d7bb8277;background:rgba(22,38,30,.72);color:#e5d2a9;border-radius:3px;font-size:9px;letter-spacing:.08em;touch-action:manipulation}.run-toggle.active{background:#a18454;color:#fff;border-color:#f1d8a8}@media(max-width:660px){.run-toggle{height:37px;min-width:43px;font-size:8px;padding:0 7px}}

.danger-button{display:block;margin:10px auto 0;padding:8px 14px;border:1px solid #c98a7a55;background:transparent;color:#d2a092;font-size:9px;letter-spacing:.06em}.danger-button:hover{background:#763d3544;border-color:#d2a092}

@supports (padding: max(0px)) {
  .topbar {
    top: env(safe-area-inset-top);
    padding-left: max(28px, env(safe-area-inset-left));
    padding-right: max(28px, env(safe-area-inset-right));
  }
  @media (max-width: 660px) {
    .top-center { top: calc(62px + env(safe-area-inset-top)); }
    .location-card, .presence-card { top: calc(96px + env(safe-area-inset-top)); }
    .mobile-controls {
      bottom: calc(10px + env(safe-area-inset-bottom));
      left: calc(10px + env(safe-area-inset-left));
    }
    .action-dock {
      bottom: calc(8px + env(safe-area-inset-bottom));
      right: calc(8px + env(safe-area-inset-right));
    }
    .chat-panel {
      bottom: calc(112px + env(safe-area-inset-bottom));
      right: calc(10px + env(safe-area-inset-right));
    }
    .character-chip {
      bottom: calc(115px + env(safe-area-inset-bottom));
      left: calc(10px + env(safe-area-inset-left));
    }
    .toast { top: calc(79px + env(safe-area-inset-top)); }
  }
}

.profile-sound-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:38px;margin:13px 0 0;background:rgba(16,31,24,.72);border:1px solid #d7bb8266;border-radius:2px;color:#d8c59e;font-size:10px;letter-spacing:.08em;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.profile-sound-button:hover,.profile-sound-button.active{background:rgba(69,88,66,.55);border-color:#d7bb82;color:#f3e5ca}.profile-sound-button:disabled{opacity:.7;cursor:wait}
.beads-modal{width:min(520px,100%);text-align:center}
.beads-count{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:12px 0;color:#e8d8b8}
.beads-count strong{font:42px/1 var(--serif);font-variant-numeric:tabular-nums;color:#e8c98f}
.beads-count span{font-size:11px;color:#a99b80}
.beads-ring{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;padding:16px;margin:8px 0 16px;border:1px solid #d7bb8233;background:radial-gradient(circle,#d4b77a0c,transparent 72%)}
.prayer-bead{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 28%,#a98b61,#57432f 68%,#2c251d);box-shadow:inset 0 1px 2px #f1dfbd55,0 1px 2px #0008}
.prayer-bead.passed{background:radial-gradient(circle at 32% 28%,#f1dca9,#bd9657 68%,#80603a);box-shadow:0 0 7px #e9c47c66}
.beads-modal .primary-button{margin-top:4px}
@media(max-width:660px){.beads-ring{gap:4px;padding:11px}.prayer-bead{min-width:0}.beads-count strong{font-size:36px}}

.sound-modal{width:min(460px,100%)}
.sound-slider{display:grid;grid-template-columns:100px 1fr 42px;align-items:center;gap:12px;margin:18px 0;color:#d9c7a5;font-size:11px}
.sound-slider input{width:100%;accent-color:#c6a36b}
.sound-slider output{text-align:right;color:#e6d3ac;font-variant-numeric:tabular-nums}
.sound-modal .primary-button{margin-top:20px}
@media(max-width:660px){.sound-slider{grid-template-columns:80px 1fr 38px;gap:8px;font-size:10px}}

.sound-status{margin:14px 0 0;padding:9px 10px;border:1px solid #d7bb8233;background:#101f18;color:#b9b09c;font-size:9px;line-height:1.7;overflow-wrap:anywhere}

.room-label{font-size:9px;letter-spacing:.08em;color:#c7b48d;opacity:.78;white-space:nowrap}
@media(max-width:760px){.room-label{display:none}}


.mobile-panel-toggle{display:none}
@media(max-width:660px){
 .mobile-panel-toggle{display:grid;place-items:center;position:absolute;top:6px;right:7px;width:25px;height:25px;padding:0;border:1px solid #d7bb8244;border-radius:50%;background:#14271fdd;color:#e7d3aa;font-size:16px;line-height:1;z-index:2;touch-action:manipulation}
 .location-card,.presence-card{transition:width .18s ease,padding .18s ease,background .18s ease;min-height:0}
 .location-card{padding:9px 34px 9px 10px}
 .presence-card{padding:9px 34px 9px 10px}
 .location-card .section-eyebrow{font-size:7px;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .location-card .location-title{font-size:13px;line-height:1.25;margin:3px 0 0;letter-spacing:.08em}
 .location-card.collapsed .location-description,.location-card.collapsed .location-coordinates{display:none}
 .presence-card .panel-heading{font-size:10px;min-height:18px}
 .presence-card.collapsed .presence-sub,.presence-card.collapsed .presence-list,.presence-card.collapsed .stat-divider,.presence-card.collapsed .stats-grid{display:none}
 .location-card:not(.collapsed),.presence-card:not(.collapsed){width:min(220px,calc(100vw - 24px));max-width:220px;z-index:6;background:rgba(17,31,24,.94)}
 #sound-toggle{z-index:8;right:10px;top:67px;height:32px;padding:0 11px;font-size:9px;border-color:#d7bb8299;background:rgba(20,35,29,.94);box-shadow:0 4px 14px #0005}
 .location-card:not(.collapsed) .mobile-panel-toggle,.presence-card:not(.collapsed) .mobile-panel-toggle{transform:rotate(180deg)}
}

/* AI abbot conversation */
.abbot-modal{width:min(560px,100%)}
.abbot-messages{height:min(40vh,330px);min-height:180px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:15px 2px;margin:12px 0;border-top:1px solid #ffffff16;border-bottom:1px solid #ffffff16}
.abbot-message{max-width:88%;padding:10px 12px;border:1px solid #ffffff18;background:#ffffff08;border-radius:3px;color:#e9dfce;font:12px/1.85 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere}
.abbot-message.user{align-self:flex-end;background:#b3966230;border-color:#c4a56c44}
.abbot-message.assistant{align-self:flex-start}
.abbot-form{display:flex;align-items:flex-end;gap:8px}
.abbot-form textarea{flex:1;min-width:0;resize:vertical;min-height:54px;max-height:140px;background:#101f18;border:1px solid #d5bf8e33;border-radius:2px;color:#f3e8d6;padding:10px;font-size:11px;line-height:1.7;outline:none}
.abbot-form textarea:focus{border-color:#d5bf8e77}
.abbot-form .primary-button{width:88px;flex:none}
.abbot-status{font-size:9px;line-height:1.7;color:#9f9a88;margin-top:10px}
@media(max-width:660px){.abbot-modal{padding:22px 17px}.abbot-messages{height:42vh;min-height:160px}.abbot-form .primary-button{width:70px;font-size:9px}}


/* Mobile jump control */
.jump-toggle{height:48px;width:48px;border:1px solid #e4cb9877;border-radius:50%;background:rgba(35,49,39,.82);color:#f0dfbd;font-family:var(--serif);font-size:17px;box-shadow:0 3px 12px #0005;touch-action:none;user-select:none;-webkit-user-select:none}
.jump-toggle:active{background:#a18454;transform:scale(.96)}
@media(max-width:660px){.jump-toggle{height:45px;width:45px;font-size:16px}.mobile-controls{gap:7px}}

@media(max-width:660px){.mobile-controls{gap:5px}.joystick{width:82px;height:82px}.joystick-knob{width:30px;height:30px}.run-toggle{min-width:38px;height:36px;padding:0 5px}.jump-toggle{width:38px;height:38px}}

.prayer-system-note{display:block;margin-top:10px;padding-top:9px;border-top:1px solid #d6c08a22;color:#c5b38f;font-size:10px;line-height:1.8;letter-spacing:.04em}

/* Mobile clarity: keep the AI abbot entry visible and lift live letters above the action dock. */
@media(max-width:660px){
 #open-abbot{width:auto;min-width:58px;padding:0 7px;gap:4px;font-size:10px;white-space:nowrap}
 #open-abbot .abbot-label{display:inline;font-size:9px;letter-spacing:0}
 .chat-panel{left:10px;right:10px;bottom:218px;width:auto;max-height:165px;z-index:6;background:rgba(17,31,24,.94)}
 .chat-panel.collapsed{left:10px;right:auto;width:145px;bottom:218px;height:34px;max-height:34px}
 .chat-panel:not(.collapsed){max-height:165px}
 .chat-messages{height:82px}
}
@media(max-width:380px){
 #open-abbot{min-width:52px;padding:0 5px}
 #open-abbot .abbot-label{font-size:8px}
 .chat-panel{bottom:210px}
 .chat-panel.collapsed{bottom:210px}
}

/* Desktop abbot action: reserve enough room for the localized label. */
@media(min-width:661px){#open-abbot{width:auto;min-width:88px;padding:0 11px;justify-content:center;gap:7px;white-space:nowrap}#open-abbot .abbot-label{display:inline;white-space:nowrap;font-size:10px;letter-spacing:.02em}}

/* Keep the profile control available to the quick-profile shortcut, but remove it from the top bar. */
#open-profile{display:none!important}
