/* line 9, app/assets/stylesheets/layout.scss */body.kai-layout{background:var(--kai-body-bg);color:var(--kai-text)}/* line 14, app/assets/stylesheets/layout.scss */body.kai-layout.kai-pc{background:var(--kai-outer-bg)}/* line 18, app/assets/stylesheets/layout.scss */body.kai-layout .kai-frame{background:var(--kai-body-bg);min-height:100vh;padding-bottom:7rem;box-shadow:0 0 24px rgba(90,60,45,0.12)}/* line 26, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header{background:var(--kai-surface);min-height:60px;padding:0;border-bottom:0;box-shadow:0 1px 10px rgba(90,60,45,0.08);z-index:1030}/* line 34, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-header-inner{position:relative;min-height:60px;padding:0 12px;flex-wrap:nowrap}/* line 41, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .navbar-brand{display:flex;align-items:center;gap:8px;margin:0;padding:0}/* line 48, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .navbar-brand img{cursor:pointer}/* line 53, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-menu-toggle{color:var(--kai-text);cursor:pointer}/* line 58, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-title{position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);max-width:55%;margin:0;font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}/* line 72, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-back-btn{width:38px;height:38px;border-radius:50%;border:0;background:transparent;color:var(--kai-text);display:flex;align-items:center;justify-content:center;transition:background .15s}/* line 84, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-back-btn:hover,body.kai-layout .kai-header .kai-back-btn:active{background:var(--kai-hover-bg)}/* line 90, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-user-btn{display:flex;align-items:center;gap:8px;border:0;border-radius:50px;background:var(--kai-page-bg);color:var(--kai-text);font-size:.875rem;font-weight:600;padding:4px 12px 4px 4px;white-space:nowrap}/* line 103, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-user-btn .kai-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg, var(--kai-primary) 0%, var(--kai-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}/* line 116, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-user-btn:hover{background:var(--kai-hover-bg-dark)}/* line 121, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-login-btn{border-radius:50px;background:var(--kai-primary);border:0;color:#fff;font-size:.875rem;font-weight:600;padding:7px 18px}/* line 130, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header .kai-login-btn:hover{background:var(--kai-primary-dark);color:#fff}/* line 137, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header #bottom_nav_bar{width:100%;margin:0 !important;padding:8px 4px !important;border-top:1px solid var(--kai-border) !important;text-align:center}/* line 144, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header #bottom_nav_bar svg{color:var(--kai-muted)}/* line 150, app/assets/stylesheets/layout.scss */body.kai-layout .kai-header-spacer{height:72px}/* line 155, app/assets/stylesheets/layout.scss */body.kai-layout .kai-tabbar{background:var(--kai-surface);border-top:0 !important;box-shadow:0 -1px 10px rgba(90,60,45,0.08);padding:6px 8px;padding-bottom:max(8px, env(safe-area-inset-bottom));justify-content:space-around;flex-wrap:nowrap}/* line 164, app/assets/stylesheets/layout.scss */body.kai-layout .kai-tabbar .kai-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;color:var(--kai-muted);font-size:.7rem;font-weight:600;text-decoration:none;cursor:pointer;border-radius:10px}/* line 178, app/assets/stylesheets/layout.scss */body.kai-layout .kai-tabbar .kai-tab svg{width:1.45em;height:1.45em}/* line 183, app/assets/stylesheets/layout.scss */body.kai-layout .kai-tabbar .kai-tab:active{background:var(--kai-page-bg)}/* line 189, app/assets/stylesheets/layout.scss */body.kai-layout .kai-tabbar .kai-tab-icon-wrap{position:relative;display:inline-flex}/* line 194, app/assets/stylesheets/layout.scss */body.kai-layout .kai-tabbar .kai-tab-badge{position:absolute;top:-6px;right:-10px;min-width:1.5em;padding:.2em .4em;font-size:.6rem;line-height:1.1}/* line 207, app/assets/stylesheets/layout.scss */body.kai-layout .alert{border:0;border-radius:10px;box-shadow:0 1px 10px rgba(90,60,45,0.08);margin:8px 4px}/* line 216, app/assets/stylesheets/layout.scss */.turbolinks-progress-bar{height:3px;background-color:var(--kai-primary)}
