.auth-wrap{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));background:radial-gradient(1100px 520px at 50% -10%,var(--ivory),var(--white) 62%)}.auth-card{width:100%;max-width:420px;background:var(--white);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);padding:28px 22px;display:flex;flex-direction:column;gap:16px}.auth-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.auth-head h1{font-size:1.5rem;font-weight:800;color:var(--navy)}.auth-head p{font-size:.95rem;color:var(--muted)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-sep{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.auth-sep:before,.auth-sep:after{content:"";flex:1;height:1px;background:var(--border)}.auth-foot{text-align:center;font-size:14px;color:var(--muted)}.app-shell{min-height:100svh;display:flex;flex-direction:column;background:var(--white)}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.app-main{flex:1;padding:20px 16px calc(88px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto;width:100%}.app-title{font-size:1.5rem;font-weight:800;color:var(--navy)}.app-sub{color:var(--muted);margin-top:4px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-auto-flow:column;align-items:center;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;justify-content:center;text-decoration:none;font-size:11px;font-weight:600;color:var(--muted);border-radius:12px}.bottom-nav a.active{color:var(--navy)}.bottom-nav a.active .ico{color:var(--orange)}.stack{display:flex;flex-direction:column;gap:14px}.logo-drop{display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--ivory)}.logo-drop img{height:44px;width:auto;border-radius:8px;background:#fff}.center-min{min-height:100svh;display:flex;align-items:center;justify-content:center;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--white);color:var(--navy);font-size:14px;font-weight:600;cursor:pointer;transition:all .16s ease}.chip-on{background:var(--navy);color:#fff;border-color:var(--navy)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:14px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--white);color:var(--navy);cursor:pointer;transition:all .16s ease}.mode-card svg{color:var(--muted)}.mode-on{border-color:var(--orange);background:#fff9ec}.mode-on svg{color:var(--orange)}.mode-title{font-weight:800}.mode-desc{font-size:12px;color:var(--muted);font-weight:500}.room-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.room-tab{flex:0 0 auto;min-height:40px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--white);color:var(--navy);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.room-tab-on{background:var(--ivory);border-color:var(--navy)}.room-tab-add{border-style:dashed;color:var(--muted)}.capture-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.capture-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--white);color:var(--navy);font-weight:700;cursor:pointer}.capture-btn.rec-on{background:#fef2f2;border-color:#fecaca;color:var(--danger)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.media-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--ivory)}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-thumb .del{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:999px;border:none;background:#0f1c36b3;color:#fff;display:grid;place-items:center;cursor:pointer}.audio-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:10px}.audio-row audio{flex:1;height:34px}.pending-badge{position:absolute;bottom:4px;left:4px;background:#0f1c36b8;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px}.field select{min-height:48px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:16px;color:var(--ink);background:var(--white);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235B6675' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.field select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #fdae0559}:root{--navy: #0F1C36;--orange: #FDAE05;--ivory: #F3ECE4;--white: #FFFFFF;--ink: #0F1C36;--muted: #5B6675;--border: rgba(15, 28, 54, .12);--danger: #DC2626;--danger-bg: #FEF2F2;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 28, 54, .06);--shadow-md: 0 8px 24px -12px rgba(15, 28, 54, .18);--shadow-lg: 0 24px 50px -24px rgba(15, 28, 54, .28)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--white);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}h1,h2,h3{letter-spacing:-.02em;line-height:1.15}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:48px;padding:0 var(--space-lg);border-radius:var(--radius-md);border:1px solid transparent;font-size:16px;font-weight:600;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease;width:100%}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--orange);color:var(--navy);box-shadow:0 10px 24px -12px #fdae05b3}.btn-primary:hover:not(:disabled){filter:brightness(1.03)}.btn-navy{background:var(--navy);color:var(--white)}.btn-navy:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{background:transparent;color:var(--navy);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:#0f1c360a}.btn-link{background:none;border:none;color:var(--navy);width:auto;min-height:0;padding:4px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.btn .spin{width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:imo-spin .7s linear infinite}@keyframes imo-spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px;text-align:left}.field label{font-size:13px;font-weight:600;color:var(--navy)}.field input{min-height:48px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:16px;color:var(--ink);background:var(--white);transition:border-color .16s ease,box-shadow .16s ease}.field input::placeholder{color:#9aa3b0}.field input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #fdae0559}.field .hint{font-size:12px;color:var(--muted)}.field .err{font-size:13px;color:var(--danger)}.alert{border-radius:var(--radius-md);padding:12px 14px;font-size:14px;text-align:left}.alert-error{background:var(--danger-bg);color:#991b1b;border:1px solid #fecaca}.alert-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important}.btn:active{transform:none}}
