pi-interview 0.6.2 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/form/styles.css CHANGED
@@ -239,6 +239,22 @@ body {
239
239
  min-width: 0;
240
240
  }
241
241
 
242
+ .option-item-body {
243
+ flex: 1;
244
+ min-width: 0;
245
+ display: grid;
246
+ gap: 10px;
247
+ }
248
+
249
+ .option-item-label {
250
+ display: flex;
251
+ align-items: center;
252
+ gap: 0;
253
+ min-height: 20px;
254
+ min-width: 0;
255
+ flex-wrap: wrap;
256
+ }
257
+
242
258
  .option-item:hover {
243
259
  border-color: var(--border-focus);
244
260
  background: var(--bg-hover);
@@ -334,7 +350,7 @@ input[type="checkbox"] {
334
350
  display: inline-grid;
335
351
  place-content: center;
336
352
  margin: 0;
337
- margin-top: 3px;
353
+ margin-top: 2px;
338
354
  flex-shrink: 0;
339
355
  }
340
356
 
@@ -1556,25 +1572,11 @@ button {
1556
1572
 
1557
1573
  /* Option with code */
1558
1574
  .option-item.has-code {
1559
- position: relative;
1560
- flex-direction: column;
1561
- align-items: stretch;
1562
1575
  min-width: 0;
1563
1576
  }
1564
1577
 
1565
- .option-item.has-code > input {
1566
- position: absolute;
1567
- top: 6px;
1568
- left: 8px;
1569
- }
1570
-
1571
- .option-item.has-code > span:first-of-type {
1572
- margin-left: 1.5rem;
1573
- }
1574
-
1575
1578
  .option-item.has-code .code-block {
1576
- margin-top: 0.5rem;
1577
- margin-left: 1.5rem;
1579
+ margin: 0;
1578
1580
  }
1579
1581
 
1580
1582
  /* Question-level code block */
@@ -1900,6 +1902,453 @@ button {
1900
1902
  animation: option-slide-in 0.25s ease-out backwards;
1901
1903
  }
1902
1904
 
1905
+ .option-row {
1906
+ position: relative;
1907
+ display: grid;
1908
+ gap: 0;
1909
+ min-width: 0;
1910
+ border-radius: 8px;
1911
+ background: var(--bg-elevated);
1912
+ border: 1px solid var(--border-muted);
1913
+ transition: border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
1914
+ }
1915
+
1916
+ .option-row.generated {
1917
+ animation: option-slide-in 0.25s ease-out backwards;
1918
+ }
1919
+
1920
+ .option-row:hover {
1921
+ border-color: var(--border-focus);
1922
+ background: var(--bg-hover);
1923
+ }
1924
+
1925
+ .option-row.focused {
1926
+ border-color: var(--card-accent, var(--accent));
1927
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--card-accent, var(--accent)) 20%, transparent);
1928
+ }
1929
+
1930
+ .option-row-main {
1931
+ display: flex;
1932
+ align-items: flex-start;
1933
+ gap: 10px;
1934
+ min-width: 0;
1935
+ padding: var(--option-padding);
1936
+ }
1937
+
1938
+ .option-row-main .option-item {
1939
+ flex: 1;
1940
+ min-width: 0;
1941
+ padding: 0;
1942
+ border: none;
1943
+ background: transparent;
1944
+ box-shadow: none;
1945
+ }
1946
+
1947
+ .option-row-main .option-item:hover,
1948
+ .option-row-main .option-item.focused {
1949
+ border: none;
1950
+ background: transparent;
1951
+ box-shadow: none;
1952
+ }
1953
+
1954
+ .option-ask-btn {
1955
+ align-self: center;
1956
+ margin-left: auto;
1957
+ border: none;
1958
+ border-radius: 999px;
1959
+ padding: 6px 10px;
1960
+ background: color-mix(in srgb, var(--card-accent, var(--accent)) 12%, transparent);
1961
+ color: var(--card-accent, var(--accent));
1962
+ font-family: var(--font-body);
1963
+ font-size: 11px;
1964
+ font-weight: 600;
1965
+ opacity: 0;
1966
+ transform: translateY(-2px);
1967
+ pointer-events: none;
1968
+ transition: opacity 150ms ease, transform 150ms ease, background 150ms ease;
1969
+ }
1970
+
1971
+ .option-row:hover .option-ask-btn,
1972
+ .option-row:focus-within .option-ask-btn,
1973
+ .option-row.focused .option-ask-btn,
1974
+ .option-row.ask-open .option-ask-btn {
1975
+ opacity: 1;
1976
+ transform: translateY(0);
1977
+ pointer-events: auto;
1978
+ }
1979
+
1980
+ .option-row.ask-open {
1981
+ border-color: color-mix(in srgb, var(--card-accent, var(--accent)) 55%, var(--border-muted));
1982
+ background: color-mix(in srgb, var(--card-accent, var(--accent)) 6%, var(--bg-elevated));
1983
+ overflow: hidden;
1984
+ }
1985
+
1986
+ .option-row.ask-open .option-ask-btn {
1987
+ margin-top: 2px;
1988
+ }
1989
+
1990
+ .option-note-wrap {
1991
+ margin: 0 16px 16px 42px;
1992
+ }
1993
+
1994
+ .option-note-input {
1995
+ width: 100%;
1996
+ min-width: 0;
1997
+ border: 1px solid var(--border-muted);
1998
+ border-radius: 8px;
1999
+ background: var(--bg-body);
2000
+ color: var(--fg);
2001
+ font-family: var(--font-body);
2002
+ font-size: 13px;
2003
+ line-height: 1.4;
2004
+ padding: 8px 10px;
2005
+ }
2006
+
2007
+ .option-note-input::placeholder {
2008
+ color: var(--fg-dim);
2009
+ }
2010
+
2011
+ .option-insight-panel {
2012
+ display: grid;
2013
+ gap: 10px;
2014
+ margin: 0 16px 16px 16px;
2015
+ padding-top: 12px;
2016
+ border-top: 1px solid color-mix(in srgb, var(--card-accent, var(--accent)) 22%, var(--border-muted));
2017
+ }
2018
+
2019
+ .option-insight-meta-row {
2020
+ display: flex;
2021
+ align-items: center;
2022
+ gap: 10px;
2023
+ }
2024
+
2025
+ .option-insight-model,
2026
+ .option-insight-meta {
2027
+ font-size: 11px;
2028
+ color: var(--fg-muted);
2029
+ }
2030
+
2031
+ .option-insight-model-badge {
2032
+ font-family: var(--font-body);
2033
+ font-size: 11px;
2034
+ font-weight: 600;
2035
+ padding: 5px 12px;
2036
+ border-radius: 999px;
2037
+ border: 1px solid var(--border-muted);
2038
+ background: var(--bg-elevated);
2039
+ color: var(--fg-muted);
2040
+ cursor: pointer;
2041
+ transition: border-color 0.12s, background 0.12s, color 0.12s;
2042
+ display: inline-flex;
2043
+ align-items: center;
2044
+ gap: 6px;
2045
+ }
2046
+
2047
+ .option-insight-model-badge:hover {
2048
+ color: var(--fg);
2049
+ border-color: var(--card-accent, var(--accent));
2050
+ background: color-mix(in srgb, var(--card-accent, var(--accent)) 8%, var(--bg-elevated));
2051
+ }
2052
+
2053
+ .option-insight-model-badge .badge-caret {
2054
+ font-size: 14px;
2055
+ opacity: 0.85;
2056
+ line-height: 1;
2057
+ }
2058
+
2059
+ .option-insight-model-badge .badge-label {
2060
+ font-weight: 500;
2061
+ opacity: 0.55;
2062
+ }
2063
+
2064
+ .option-insight-chips {
2065
+ display: flex;
2066
+ flex-wrap: wrap;
2067
+ gap: 6px;
2068
+ }
2069
+
2070
+ .option-insight-chip,
2071
+ .option-insight-secondary,
2072
+ .option-insight-primary,
2073
+ .option-insight-submit,
2074
+ .option-insight-advanced-toggle,
2075
+ .option-insight-unpin {
2076
+ border: 1px solid var(--border-muted);
2077
+ border-radius: 999px;
2078
+ background: transparent;
2079
+ color: var(--fg-muted);
2080
+ font-family: var(--font-body);
2081
+ font-size: 11px;
2082
+ cursor: pointer;
2083
+ }
2084
+
2085
+ .option-insight-chip,
2086
+ .option-insight-secondary,
2087
+ .option-insight-primary,
2088
+ .option-insight-submit,
2089
+ .option-insight-unpin {
2090
+ padding: 6px 10px;
2091
+ }
2092
+
2093
+ .option-insight-chip.active,
2094
+ .option-insight-primary,
2095
+ .option-insight-submit {
2096
+ border-color: color-mix(in srgb, var(--card-accent, var(--accent)) 55%, transparent);
2097
+ color: var(--card-accent, var(--accent));
2098
+ background: color-mix(in srgb, var(--card-accent, var(--accent)) 10%, transparent);
2099
+ }
2100
+
2101
+ .option-insight-input {
2102
+ width: 100%;
2103
+ border: 1px solid var(--border-muted);
2104
+ border-radius: 12px;
2105
+ padding: 10px 12px;
2106
+ background: var(--bg-body);
2107
+ color: var(--fg);
2108
+ font-family: var(--font-body);
2109
+ font-size: 13px;
2110
+ min-height: 72px;
2111
+ resize: vertical;
2112
+ }
2113
+
2114
+ .option-insight-advanced {
2115
+ display: flex;
2116
+ flex-direction: column;
2117
+ gap: 10px;
2118
+ }
2119
+
2120
+ .option-insight-provider-row {
2121
+ display: flex;
2122
+ flex-wrap: wrap;
2123
+ gap: 6px;
2124
+ }
2125
+
2126
+ .option-insight-provider-btn {
2127
+ font-family: var(--font-body);
2128
+ font-size: 11px;
2129
+ font-weight: 600;
2130
+ padding: 4px 10px;
2131
+ border-radius: 999px;
2132
+ border: 1px solid var(--border-muted);
2133
+ background: transparent;
2134
+ color: var(--fg-muted);
2135
+ cursor: pointer;
2136
+ transition: border-color 0.12s, background 0.12s, color 0.12s;
2137
+ }
2138
+
2139
+ .option-insight-provider-btn:hover {
2140
+ color: var(--fg);
2141
+ border-color: var(--accent);
2142
+ }
2143
+
2144
+ .option-insight-provider-btn.is-selected {
2145
+ box-shadow: inset 0 -2px 0 0 var(--card-accent, var(--accent));
2146
+ border-color: var(--card-accent, var(--accent));
2147
+ color: var(--card-accent, var(--accent));
2148
+ }
2149
+
2150
+ .option-insight-model-row {
2151
+ display: flex;
2152
+ flex-wrap: wrap;
2153
+ gap: 6px;
2154
+ }
2155
+
2156
+ .option-insight-model-btn {
2157
+ font-family: var(--font-body);
2158
+ font-size: 11px;
2159
+ font-weight: 600;
2160
+ padding: 4px 10px;
2161
+ border-radius: 999px;
2162
+ border: 1px solid var(--border-muted);
2163
+ background: transparent;
2164
+ color: var(--fg-muted);
2165
+ cursor: pointer;
2166
+ transition: border-color 0.12s, background 0.12s, color 0.12s;
2167
+ }
2168
+
2169
+ .option-insight-model-btn:hover {
2170
+ color: var(--fg);
2171
+ border-color: var(--accent);
2172
+ }
2173
+
2174
+ .option-insight-model-btn.is-selected {
2175
+ border-color: color-mix(in srgb, var(--card-accent, var(--accent)) 55%, transparent);
2176
+ color: var(--card-accent, var(--accent));
2177
+ background: color-mix(in srgb, var(--card-accent, var(--accent)) 10%, transparent);
2178
+ }
2179
+
2180
+ .option-insight-depth-row {
2181
+ display: flex;
2182
+ flex-wrap: wrap;
2183
+ gap: 6px;
2184
+ padding-top: 6px;
2185
+ border-top: 1px solid var(--border-muted);
2186
+ }
2187
+
2188
+ .option-insight-depth-btn {
2189
+ font-family: var(--font-body);
2190
+ font-size: 11px;
2191
+ font-weight: 600;
2192
+ padding: 4px 10px;
2193
+ border-radius: 999px;
2194
+ border: 1px solid var(--border-muted);
2195
+ background: transparent;
2196
+ color: var(--fg-muted);
2197
+ cursor: pointer;
2198
+ transition: border-color 0.12s, background 0.12s, color 0.12s;
2199
+ }
2200
+
2201
+ .option-insight-depth-btn:hover {
2202
+ color: var(--fg);
2203
+ border-color: var(--accent);
2204
+ }
2205
+
2206
+ .option-insight-depth-btn.is-selected {
2207
+ box-shadow: inset 0 -2px 0 0 var(--card-accent, var(--accent));
2208
+ border-color: var(--card-accent, var(--accent));
2209
+ color: var(--card-accent, var(--accent));
2210
+ }
2211
+
2212
+ .option-insight-loading {
2213
+ display: flex;
2214
+ align-items: center;
2215
+ gap: 4px;
2216
+ padding: 12px 0;
2217
+ font-size: 13px;
2218
+ color: var(--fg-muted);
2219
+ }
2220
+
2221
+ .option-insight-spinner {
2222
+ font-weight: 600;
2223
+ color: var(--card-accent, var(--accent));
2224
+ }
2225
+
2226
+ .option-insight-dots {
2227
+ animation: option-insight-pulse 1.2s ease-in-out infinite;
2228
+ }
2229
+
2230
+ @keyframes option-insight-pulse {
2231
+ 0%, 100% { opacity: 0.3; }
2232
+ 50% { opacity: 1; }
2233
+ }
2234
+
2235
+ .option-insight-actions,
2236
+ .option-insight-result-actions {
2237
+ display: flex;
2238
+ flex-wrap: wrap;
2239
+ gap: 8px;
2240
+ }
2241
+
2242
+ .option-insight-error {
2243
+ font-size: 11px;
2244
+ color: var(--error);
2245
+ }
2246
+
2247
+ .option-insight-result {
2248
+ display: grid;
2249
+ gap: 8px;
2250
+ border-top: 1px solid var(--border-muted);
2251
+ padding-top: 10px;
2252
+ }
2253
+
2254
+ .option-insight-summary {
2255
+ margin: 0;
2256
+ color: var(--fg);
2257
+ }
2258
+
2259
+ .option-insight-summary.pinned {
2260
+ font-size: 12px;
2261
+ }
2262
+
2263
+ .option-insight-bullets {
2264
+ margin: 0;
2265
+ padding-left: 18px;
2266
+ display: grid;
2267
+ gap: 4px;
2268
+ color: var(--fg-muted);
2269
+ }
2270
+
2271
+ .option-insight-suggestion-label {
2272
+ font-size: 10px;
2273
+ text-transform: uppercase;
2274
+ letter-spacing: 0.06em;
2275
+ color: var(--fg-muted);
2276
+ }
2277
+
2278
+ .option-insight-suggested-text {
2279
+ display: block;
2280
+ padding: 10px 12px;
2281
+ border-radius: 10px;
2282
+ background: var(--bg-body);
2283
+ font-family: var(--font-mono);
2284
+ font-size: 12px;
2285
+ white-space: pre-wrap;
2286
+ overflow-wrap: anywhere;
2287
+ }
2288
+
2289
+ .option-insight-suggested-text.compact {
2290
+ padding: 8px 10px;
2291
+ font-size: 11px;
2292
+ }
2293
+
2294
+ .option-insight-pinned-list {
2295
+ display: grid;
2296
+ gap: 8px;
2297
+ margin: 0 16px 16px 16px;
2298
+ }
2299
+
2300
+ .option-insight-pinned {
2301
+ border: 1px solid var(--border-muted);
2302
+ border-radius: 12px;
2303
+ padding: 10px 12px;
2304
+ background: color-mix(in srgb, var(--bg-body) 88%, transparent);
2305
+ display: grid;
2306
+ gap: 6px;
2307
+ }
2308
+
2309
+ .option-insight-pinned-head {
2310
+ display: flex;
2311
+ justify-content: space-between;
2312
+ gap: 10px;
2313
+ align-items: center;
2314
+ }
2315
+
2316
+ .option-insight-pinned-prompt {
2317
+ font-size: 11px;
2318
+ color: var(--card-accent, var(--accent));
2319
+ font-family: var(--font-mono);
2320
+ }
2321
+
2322
+ .option-insight-unpin {
2323
+ padding: 4px 8px;
2324
+ }
2325
+
2326
+ @media (max-width: 640px) {
2327
+ .option-row-main {
2328
+ flex-wrap: wrap;
2329
+ }
2330
+
2331
+ .option-ask-btn {
2332
+ opacity: 1;
2333
+ transform: none;
2334
+ pointer-events: auto;
2335
+ margin-left: 1.5rem;
2336
+ }
2337
+
2338
+ .option-insight-panel,
2339
+ .option-insight-pinned-list {
2340
+ margin-left: 1rem;
2341
+ margin-right: 1rem;
2342
+ }
2343
+
2344
+ .option-insight-meta-row,
2345
+ .option-insight-actions,
2346
+ .option-insight-result-actions {
2347
+ align-items: flex-start;
2348
+ flex-direction: column;
2349
+ }
2350
+ }
2351
+
1903
2352
  /* Side-by-side layout */
1904
2353
  .question-side-layout {
1905
2354
  display: grid;
@@ -1919,4 +2368,3 @@ button {
1919
2368
  grid-template-columns: 1fr;
1920
2369
  }
1921
2370
  }
1922
-