/* Values and sizing mirror SongEditorView's RhymeRight controls and word grid. */
.public-page-rhymes .public-shell { max-width: 860px; }
.public-page-rhymes .public-hero { background: linear-gradient(#040506,#090c0e,#050809); border-bottom: 0; padding-bottom: 20px; }
.public-page-rhymes .public-hero h1.rhyme-modal-brand { font-size: 43px; letter-spacing: -1.6px; margin-inline: auto; }
.public-page-rhymes .public-hero h1.rhyme-modal-brand span { background-image: linear-gradient(135deg,#8c52ff,#339eff); }
.public-page-rhymes .public-hero p { margin-inline: auto; text-align: center; font-size: 15px; color: #ffffff9e; }
.public-page-rhymes .public-content { padding-top: 4px; }
.public-full-rhymeright { --rhyme-gradient: linear-gradient(135deg,#8c52ff,#339eff); margin-bottom: 40px; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color: #fffffff5; }
.public-full-rhymeright form { display:flex; align-items:center; gap:10px; padding:10px 12px; background:#0e1113f5; border:1px solid #ffffff1c; border-radius:22px; }
.public-full-rhymeright form>svg { flex:none; width:22px; height:22px; stroke:#339eff; fill:none; stroke-width:2; }
.public-full-rhymeright input { width:100%; min-width:0; padding:6px 0; background:transparent; color:#fffffff5; border:0; outline:none; font-family:inherit; font-size:17px; font-weight:600; }
.public-full-rhymeright input::placeholder { color:#ffffff75; }
.public-full-rhymeright form button { display:grid; place-items:center; flex:none; width:34px; height:34px; border:0; border-radius:50%; color:#fff; background:var(--rhyme-gradient); }
.public-full-rhymeright form button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.public-app-mode-control { display:flex; gap:6px; padding:4px; margin:16px 0; background:#ffffff11; border:1px solid #ffffff1c; border-radius:12px; }
.public-app-mode-control button { display:flex; align-items:center; justify-content:center; gap:8px; flex:1; height:44px; border:0; border-radius:9px; background:transparent; color:#ffffff9e; font-family:inherit; font-size:13px; font-weight:900; }
.public-app-mode-control button.is-selected { background:var(--rhyme-gradient); color:#000d; }
.public-app-mode-control svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2; }
.public-app-examples { display:flex; gap:8px; overflow-x:auto; padding-block:2px 4px; }
.public-app-examples button { display:inline-flex; align-items:center; gap:6px; flex:none; height:34px; padding:0 12px; border:1px solid #ffffff1c; border-radius:10px; color:#fffffff5; background:#ffffff11; font-family:inherit; font-size:12px; font-weight:600; }
.public-app-result-heading { display:flex; align-items:baseline; gap:5px; margin:18px 0 12px; }
.public-app-result-heading strong { color:#ffffff9e; text-transform:uppercase; font-size:12px; font-weight:900; }
.public-app-result-heading span { font-size:20px; font-weight:900; color:#8e9cff; overflow-wrap:anywhere; }
.public-app-lenses { display:flex; gap:6px; overflow-x:auto; padding:8px 4px 4px; margin-bottom:12px; border:1px solid #ffffff1c; border-radius:12px; background:#ffffff11; }
.public-app-lenses button { position:relative; flex:1; padding:0 12px; height:32px; border:0; border-radius:9px; background:transparent; color:#ffffff9e; white-space:nowrap; font-family:inherit; font-size:12px; font-weight:900; }
.public-app-lenses button.is-selected { background:var(--rhyme-gradient); color:#000d; }
.public-app-categories { display:flex; gap:6px; overflow-x:auto; padding-top:8px; margin:0 0 12px; }
.public-app-categories button { position:relative; flex:1; min-width:62px; height:44px; border:1px solid #ffffff1c; border-radius:10px; background:#ffffff11; color:#fffffff5; font-family:inherit; }
.public-app-categories button>span { display:block; font-size:11px; font-weight:900; }
.public-app-categories button>small { display:block; margin-top:2px; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
.public-app-categories button.is-selected { background:var(--rhyme-gradient); border-color:#339eff6b; color:#000d; }
.public-app-categories button:disabled { opacity:.42; cursor:default; }
.public-premium-crown { position:absolute; top:-6px; left:0; width:14px; height:14px; color:#a583ff; fill:none; stroke:currentColor; stroke-width:1.7; }
.public-app-word-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:8px; }
.public-app-word-grid button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; width:100%; min-height:34px; padding:8px 10px; border:1px solid #ffffff1c; border-radius:10px; background:#ffffff11; color:#fffffff5; font-family:inherit; font-size:12px; line-height:16px; font-weight:600; box-shadow:none; overflow-wrap:anywhere; }
.public-app-word-grid button:hover { border-color:#339eff6b; background:#ffffff16; }
.public-app-word-grid small { font-size:11px; color:#ffffff9e; font-weight:700; line-height:14px; }
.public-full-rhymeright [data-tool-results]>h3 { display:flex; align-items:center; gap:7px; margin:0 0 8px; color:#fffffff5; text-transform:uppercase; font-size:12px; font-weight:900; }
.public-full-rhymeright [data-tool-results]>h3>span { display:grid; place-items:center; height:18px; padding-inline:6px; border-radius:9px; background:var(--rhyme-gradient); color:#000d; font-size:11px; font-weight:700; }
.public-full-rhymeright [data-tool-status] { min-height:20px; margin:12px 0; color:#ffffff9e; font-size:12px; line-height:1.5; }
.public-app-result-actions { display:flex; justify-content:flex-end; gap:8px; }
.public-app-result-actions button { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid #339eff4d; border-radius:8px; background:#ffffff0c; color:#339eff; font-family:inherit; font-size:12px; font-weight:600; }
.public-app-result-actions button:disabled { opacity:.5; }
.public-app-account-link { display:inline-block; margin-top:14px; color:#ffffff9e; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.public-plus-card { position:relative; padding:22px; margin:16px 0; border:1px solid #8c52ff66; border-radius:18px; background:#10131c; }
.public-plus-card>svg { position:static; width:24px; height:24px; }
.public-plus-card h3 { margin:10px 0 8px; font-size:22px; }
.public-plus-card p { margin:0 0 16px; color:#c4c8d4; font-size:14px; line-height:1.5; }
.public-plus-card>button { margin-left:14px; border:0; background:transparent; color:#c4c8d4; padding:10px; font-family:inherit; font-size:13px; }
.public-full-rhymeright :focus-visible { outline:3px solid #73baff; outline-offset:3px; }
.public-full-rhymeright [hidden] { display:none; }
@media(max-width:420px){.public-app-lenses button { flex:none; }.public-plus-card>button { margin:10px 0 0; display:block; }}

.public-app-idiom-list { grid-template-columns:1fr; }
.public-app-idiom-list button { align-items:flex-start; padding:8px 0; background:transparent; border:0; border-bottom:1px solid #ffffff1c; border-radius:0; text-align:left; font-size:15px; font-weight:700; }
.public-app-idiom-list small { white-space:pre-line; font-size:12px; font-weight:400; line-height:1.5; }

.public-app-examples svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2; }

.public-ai-preferences { border:0; background:transparent; margin-left:16px; padding:0; }
.public-plus-card a:not(.public-button) { display:inline-block; margin-bottom:16px; color:#73baff; }
.public-plus-card div>button:not(.public-button) { margin-left:14px; padding:10px; border:0; background:transparent; color:#c4c8d4; }

.public-full-rhymeright [data-tool-gate]:not([hidden]) { position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:20px; background:#0009; }
.public-full-rhymeright [data-tool-gate] .public-plus-card { width:min(440px,100%); max-height:calc(100dvh - 40px); overflow-y:auto; margin:0; }

.public-full-rhymeright [data-tool-status]:empty { display:none; }
.public-full-rhymeright [data-tool-status] { min-height:0; margin:8px 0; }
