:root{color:#20273e;font-synthesis:none;--muted:#6d748a;--accent:#5a51c9;--border:#e1e4ef;background:#f5f6fb;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,system-ui,sans-serif;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent)}input,textarea{width:100%;min-width:0;color:inherit;background:#fff;border:1px solid #d5d9e6;border-radius:10px;padding:12px 14px}input::placeholder,textarea::placeholder{color:#9096a8}textarea{resize:vertical}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #a299f4}input:focus,textarea:focus{border-color:var(--accent);outline:3px solid #e3e0ff}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(24px,3vw,34px);line-height:1.45}h2{letter-spacing:-.02em;font-size:19px;line-height:1.5}h3{font-size:16px;line-height:1.5}.app-shell{width:min(1160px,100%);margin:0 auto;padding:0 32px}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:84px;margin-bottom:28px;display:flex}.brand{color:#292553;letter-spacing:-.055em;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:26px;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--accent);border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:29px;line-height:1;display:inline-flex}.brand-sub{letter-spacing:.05em;color:#85899e;margin-left:7px;font-size:11px;font-weight:500}.account-menu{align-items:center;gap:12px;display:flex}.account-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;overflow:hidden}.eyebrow,.step-label{color:#7974a6;letter-spacing:.12em;font-size:10px;font-weight:700}.home-intro{justify-content:space-between;align-items:center;gap:32px;padding:28px 0 36px;display:flex}.home-intro h1{letter-spacing:-.06em;margin:12px 0 15px;font-size:clamp(28px,4vw,40px);line-height:1.5}.home-flow{color:#4d467d;background:#eeecfb;border-radius:16px;flex-direction:column;gap:10px;min-width:220px;padding:22px 27px;font-size:13px;display:flex}.home-flow>span{align-items:center;gap:12px;display:flex}.home-flow b,.section-step>span{width:27px;height:27px;color:var(--accent);background:#fff;border-radius:9px;place-items:center;font-size:12px;font-weight:700;display:grid}.home-flow i{color:#aea6d9;margin-left:7px;font-style:normal;line-height:1;transform:rotate(90deg)}.page-grid{gap:24px;display:grid}.home-grid{grid-template-columns:1fr 1fr;margin-top:24px}.panel{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;align-items:stretch;gap:20px;padding:28px;display:flex}.host-panel{background:#f0eefb}.step-label{margin-bottom:-10px}.muted{color:var(--muted);font-size:13px}.hint{color:var(--muted);font-size:12px}.field{flex-direction:column;gap:7px;font-size:12px;font-weight:600;display:flex}.join-form{flex-direction:column;gap:14px;display:flex}.room-id-input{letter-spacing:.1em;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:16px}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:13px;font-weight:600;line-height:1.6;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex}.button.primary{background:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:#4940b7}.button.outline{color:#4a526b;background:#fff;border-color:#d6d9e6}.button.outline:hover:not(:disabled){background:#f7f7fc}.button.compact{padding:9px 12px;font-size:11px}.button.danger{color:#a54747;background:#fff7f7;border-color:#eacccc}.google-button{color:#30364a;background:#fff;border-color:#d6d9e6}.google-mark{color:#4285f4;font:700 18px system-ui,sans-serif}.signed-in-message{color:#57509e;font-size:13px}.notice{border:1px solid #0000;border-radius:10px;padding:12px 15px;font-size:12px}.notice.error{color:#9c4033;background:#fff2f0;border-color:#ecd1ca}.notice.success{color:#316b52;background:#edf7f3;border-color:#c9e6da}.notice.neutral{color:#697086;background:#f5f5fa;border-color:#e7e7f0}.empty-state{color:var(--muted);text-align:center;background:#f7f7fc;border-radius:12px;padding:28px 24px;font-size:13px}.empty-state>.button{margin-top:16px}.dashboard{flex-direction:column;gap:22px;margin:12px 0 40px;display:flex}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.section-heading .eyebrow{margin-bottom:6px}.create-form{background:#eeecf9;border-radius:14px;align-items:flex-end;gap:14px;padding:24px;display:flex}.create-form .field{flex:1}.room-list{grid-template-columns:1fr 1fr;gap:20px;display:grid}.room-card{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;gap:15px;padding:22px;display:flex}.room-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.room-card h3{word-break:break-word}.room-id{color:#9397a8;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:11px}.status-pill{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:10px;font-weight:600}.status-pill.live{color:#3d7961;background:#edf7f1}.status-pill.ended{color:#808497;background:#f1f2f7}.button-row{flex-wrap:wrap;align-items:flex-start;gap:9px;display:flex}.close-room-action{flex-direction:column;gap:8px;display:flex}.connection-details{border-top:1px solid var(--border);padding-top:15px;font-size:12px}.connection-details summary{cursor:pointer;color:#737994;font-weight:600}.connection-body{flex-direction:column;gap:12px;padding-top:17px;display:flex}.copy-field{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.copy-field label{min-width:150px;color:var(--muted);flex-direction:column;flex:1;gap:5px;font-size:11px;display:flex}.copy-field input{background:#fafbfe;padding:9px 10px;font-family:ui-monospace,monospace;font-size:11px}.copy-result{color:#458064;width:100%;min-height:0;font-size:10px}.copy-result:empty{display:none}.text-error{color:#a54747}.text-button{color:var(--accent);background:0 0;border:0;align-self:flex-start;padding:0;font-size:12px}.connection-status{color:#9a9174;align-items:center;gap:6px;font-size:10px;display:inline-flex}.connection-status>span{background:#b3aa86;border-radius:50%;width:6px;height:6px}.connection-status.connected{color:#568069}.connection-status.connected>span{background:#64a87c}.comment-list{flex-direction:column;gap:12px;display:flex}.comment-item{background:#fafbfe;border:1px solid #e8eaf3;border-radius:12px;padding:15px 16px}.comment-meta{color:#969bad;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;font-size:10px;display:flex}.comment-meta strong{color:#7b739f;font-weight:600}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.manage-page{flex-direction:column;gap:24px;margin-top:32px;display:flex}.manage-heading{margin:0 0 4px}.manage-heading .hint{margin-top:9px}.manage-grid{grid-template-columns:.85fr 1.15fr;align-items:stretch;gap:24px;display:grid}.section-step{align-items:flex-start;gap:12px;display:flex}.section-step>span{background:#eeecfd;flex-shrink:0;margin-top:1px}.section-step .hint{margin-top:7px}.invitation-panel{align-items:stretch}.invitation-qr{background:#fff;align-self:center;place-items:center;max-width:100%;min-height:240px;display:grid}.invitation-qr img{max-width:100%;height:auto}.invitation-caption{text-align:center;margin-top:-12px;font-size:13px;font-weight:600;line-height:1.7}.invitation-caption>span{color:var(--muted);font-size:11px;font-weight:400}.invitation-panel .text-button{align-self:center}.overlay-preview{background:#efedf9;border:1px solid #e7e3f5;border-radius:12px;place-items:center;min-height:166px;display:grid;position:relative;overflow:hidden}.preview-slide{background:#fff;border-radius:5px;width:70%;height:123px;padding:21px;box-shadow:0 4px 12px #2924510b}.preview-slide-title{color:#6b7191;margin-bottom:14px;font-size:12px;font-weight:700}.preview-slide-line{background:#edf0f7;border-radius:4px;width:70%;height:6px;margin-top:9px}.preview-slide-line.short{width:48%}.preview-comment{color:#fff;text-shadow:-1px -1px #49446e,1px -1px #49446e,-1px 1px #49446e,1px 1px #49446e,0 2px 3px #49446e55;font-size:21px;font-weight:800;position:absolute;top:21px;right:8%;transform:rotate(-3deg)}.preview-comment.second{color:#f9e797;inset:auto auto 16px 12%;transform:rotate(2deg)}.desktop-open{min-height:48px}.desktop-guide{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:21px;font-size:12px;display:flex}.display-note{font-size:11px}.manage-comments .comment-list{max-height:460px;overflow-y:auto}.room-end-section{justify-content:space-between;align-items:flex-start;gap:24px;padding:8px 0 20px;display:flex}.room-end-section h2{margin-bottom:6px;font-size:14px}.room-end-section .close-room-action{flex-shrink:0;max-width:450px}.auth-gate{width:min(540px,100%);margin:20px auto}.history-page{width:min(820px,100%);margin:38px auto 0}.load-more{align-self:center;min-width:220px}.close-room-confirmation{background:#fff8f6;border:1px solid #ead0ca;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.close-room-confirmation p{color:#956354;font-size:12px}.site-footer{border-top:1px solid var(--border);color:#9b9fb2;justify-content:space-between;gap:20px;margin-top:64px;padding:24px 0 32px;font-size:10px;display:flex}.site-footer>span:first-child{letter-spacing:-.05em;font-size:15px;font-weight:700}.site-footer a{color:#83889f;text-underline-offset:3px}.privacy-page{gap:28px;width:min(820px,100%);margin:36px auto 0}.privacy-page section{flex-direction:column;gap:10px;display:flex}.privacy-page h2{font-size:17px}.privacy-page p{color:var(--muted);font-size:13px}.privacy-page a{overflow-wrap:anywhere}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.participant-shell{border-left:1px solid var(--border);border-right:1px solid var(--border);background:#fff;width:min(760px,100%);height:100dvh;padding:0;overflow:hidden}.participant-shell .site-header{height:64px;min-height:64px;margin:0;padding:0 24px}.participant-shell .brand{font-size:22px}.participant-shell .brand-mark{border-radius:8px;width:27px;height:27px;font-size:25px}.participant-header-label{color:#a09bb4;font-size:11px}.participant-layout{flex-direction:column;height:calc(100dvh - 64px);min-height:0;display:flex}.participant-room-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:21px 24px 17px;display:flex}.participant-room-header h1{margin-top:5px;font-size:20px}.participant-room-header .eyebrow{font-size:9px}.participant-room-meta{color:#a0a4b4;flex-wrap:wrap;align-items:center;gap:14px;width:100%;font-size:10px;display:flex}.participant-room-meta>.text-button{margin-left:auto;font-size:10px}.participant-feed{overscroll-behavior:contain;background:#f8f9fd;flex:1;min-height:0;padding:24px;overflow-y:auto}.participant-feed .comment-list{gap:16px}.participant-feed .comment-item{background:#fff;border:0;border-radius:4px 14px 14px;padding:14px 17px;box-shadow:0 1px 3px #22204408}.participant-feed .comment-text{font-size:14px}.participant-feed .notice{margin-bottom:16px}.participant-feed .empty-state{color:#a2a6b6;background:0 0;margin-top:24px;padding:32px 22px}.participant-composer{z-index:5;width:min(760px,100%);padding:16px 24px max(11px, env(safe-area-inset-bottom));border:1px solid var(--border);background:#fff;border-bottom:0;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -5px 18px #24235006}.composer-input-row{align-items:flex-end;gap:11px;display:flex}.participant-composer textarea{resize:none;background:#f8f8fd;border-radius:12px;max-height:120px;padding:11px 13px;font-size:16px;line-height:1.5}.send-button{border-radius:12px;flex-shrink:0;min-width:46px;min-height:46px;padding:10px}.send-progress{font-size:24px;line-height:1}.composer-meta{justify-content:space-between;gap:12px;display:flex}.composer-meta .hint{color:#a4a8b8;font-size:10px}.composer-notice{color:#528269;min-height:14px;font-size:10px}.participant-composer .notice{padding:8px 10px;font-size:11px}@media (width<=800px){.app-shell{padding:0 20px}.home-grid,.room-list{grid-template-columns:1fr}.home-intro{gap:24px}.home-flow{min-width:175px;padding:20px}.panel{padding:25px}.manage-grid{grid-template-columns:1fr 1.15fr;gap:18px}.manage-grid .panel{padding:22px}.section-step{gap:8px}.section-step h2{font-size:16px}.room-end-section{flex-direction:column;gap:14px}.room-end-section .close-room-action{flex-shrink:1;max-width:none}.participant-shell{padding:0}}@media (width<=600px){.site-header{gap:12px;min-height:72px;margin-bottom:20px}.brand{font-size:24px}.brand-sub,.account-name{display:none}.account-menu>.hint{font-size:9px}.home-intro{padding:15px 0 26px;display:block}.home-intro h1{font-size:30px}.home-flow{flex-direction:row;justify-content:space-between;gap:8px;min-width:0;margin-top:24px;padding:15px;font-size:10px}.home-flow>span{gap:5px}.home-flow b{width:21px;height:21px;font-size:10px}.home-flow i{align-self:center;margin:0;transform:none}.desktop-break{display:none}.panel{border-radius:14px;padding:23px 20px}.create-form{flex-direction:column;align-items:stretch;padding:20px}.room-card{padding:20px}.copy-field>.button{width:100%}.copy-field label{flex:auto;width:100%}.manage-page{gap:22px;margin-top:24px}.manage-grid{grid-template-columns:1fr}.section-step h2{font-size:18px}.site-footer{flex-wrap:wrap;gap:10px 24px;margin-top:42px}.site-footer>span:last-child{width:100%}.participant-shell{border:0}.participant-shell .site-header{padding:0 18px}.participant-room-header{padding:19px 18px 15px}.participant-feed{padding:20px 16px}.participant-composer{padding:13px 16px max(10px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
