fbdeme commited on
Commit
b2500f9
ยท
verified ยท
1 Parent(s): a74c22e

Deploy e5011ab from GitHub Actions

Browse files
Files changed (1) hide show
  1. ui/components.css +135 -0
ui/components.css CHANGED
@@ -335,3 +335,138 @@ a.o-stat:hover .o-stat__value{color:var(--draft-ink)}
335
  .o-frame>.o-float{position:fixed;inset:auto 8px 8px;width:auto;height:min(80dvh,620px)}
336
  .o-side .o-kbd{display:none}
337
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
335
  .o-frame>.o-float{position:fixed;inset:auto 8px 8px;width:auto;height:min(80dvh,620px)}
336
  .o-side .o-kbd{display:none}
337
  }
338
+
339
+ /* โ”€โ”€ ์ž‘์—…๋Œ€(v0.5): ์œ„ ๋ง‰๋Œ€ + ์•„์ด์ฝ˜ ์ค„ + ์นธ ๋ฉ”๋‰ด + ๋ณธ๋ฌธ โ€” ์ €์žฅ์†Œ ยท ํ‘œ์ฒ˜๋Ÿผ ์˜ค๋ž˜ ๋“ค์—ฌ๋‹ค๋ณด๋Š” ํ™”๋ฉด. ํŒ ํ•˜๋‚˜(๋„์šฐ์ง€ ์•Š์Œ), ์นธ์€ ์„ ์œผ๋กœ๋งŒ ๋‚˜๋ˆˆ๋‹ค โ”€โ”€ */
340
+ .o-app{display:grid;grid-template:"bar bar bar" 48px "rail menu main" minmax(0,1fr)/48px 248px minmax(0,1fr);height:100dvh;background:var(--paper);overflow:hidden}
341
+ .o-app--nomenu{grid-template:"bar bar" 48px "rail main" minmax(0,1fr)/48px minmax(0,1fr)}
342
+ .o-app__bar{grid-area:bar;display:flex;align-items:center;gap:var(--s-3);min-width:0;padding:0 var(--s-3) 0 var(--s-4);border-bottom:1px solid var(--rule)}
343
+ .o-app__bar .o-search{flex:0 1 320px;margin-left:auto}
344
+ .o-app__end{display:flex;align-items:center;gap:var(--s-2)}
345
+ .o-app__bar .o-crumbs{flex-wrap:nowrap;gap:6px;min-width:0;font:400 var(--t-13) var(--sans);color:var(--pencil)} /* ๊ธฐ์กด o-crumbs(์ž‘์€ ๊ฒฝ๋กœ ๊ธ€)๋ฅผ ์œ„ ๋ง‰๋Œ€ ์•ˆ์—์„œ๋งŒ ํ‚ค์šด๋‹ค */
346
+ .o-app__bar .o-crumbs a{color:inherit;text-decoration:none;white-space:nowrap}.o-app__bar .o-crumbs a:hover{color:var(--ink)}
347
+ .o-app__bar .o-crumbs>:last-child{color:var(--ink);font-weight:600}
348
+ .o-app__bar .o-crumbs__sep{color:var(--rule-3);flex:none}
349
+ .o-rail{grid-area:rail;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-2) 0;border-right:1px solid var(--rule);background:var(--desk)}
350
+ .o-rail a{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-3);color:var(--pencil)}
351
+ .o-rail a:hover{background:var(--well-hover);color:var(--ink)}
352
+ .o-rail a[aria-current=true]{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--rule-2)}
353
+ .o-rail__sep{width:20px;height:1px;margin:6px 0;background:var(--rule-2)}
354
+ .o-rail__end{margin-top:auto}
355
+ .o-secmenu{grid-area:menu;display:flex;flex-direction:column;min-height:0;overflow:auto;padding:var(--s-3) var(--s-2) var(--s-6);border-right:1px solid var(--rule);background:var(--desk)}
356
+ .o-secmenu__head{display:flex;flex-direction:column;gap:2px;padding:2px var(--s-2) var(--s-3);margin-bottom:var(--s-1);border-bottom:1px solid var(--rule)}
357
+ .o-secmenu__title{font-size:var(--t-14);font-weight:650;color:var(--ink)}
358
+ .o-secmenu__meta{font:400 var(--t-11) var(--mono);color:var(--pencil)}
359
+ .o-secmenu__label{padding:var(--s-4) var(--s-2) var(--s-1);font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
360
+ .o-secmenu__item{display:flex;align-items:center;gap:8px;min-height:28px;padding:0 var(--s-2);border-radius:var(--r-2);color:var(--graphite);text-decoration:none;font-size:var(--t-13)}
361
+ .o-secmenu__item .o-icon{width:14px;height:14px;color:var(--faint)}
362
+ .o-secmenu__item:hover{background:var(--well-hover);color:var(--ink)}
363
+ .o-secmenu__item[aria-current=true]{background:var(--well-hover);color:var(--ink);font-weight:600}
364
+ .o-secmenu__item[aria-current=true] .o-icon{color:var(--ink)}
365
+ .o-secmenu__item>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
366
+ .o-secmenu__item--sub{min-height:26px;font-size:var(--t-12)}
367
+ .o-secmenu__find{display:flex;align-items:center;gap:6px;height:28px;margin:var(--s-1) 0;padding:0 var(--s-2);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper);color:var(--faint);font-size:var(--t-12)}
368
+ .o-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border:1px solid var(--rule-2);border-radius:var(--r-1);font:500 10.5px var(--mono);color:var(--pencil);white-space:nowrap}
369
+ .o-badge--alert{border-color:color-mix(in srgb,var(--alert) 40%,transparent);background:var(--alert-wash);color:var(--alert)}
370
+ .o-badge--draft{border-color:color-mix(in srgb,var(--draft) 40%,transparent);background:var(--draft-wash);color:var(--draft-ink)}
371
+ .o-badge--ok{border-color:color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)}
372
+ .o-badge .o-icon{width:11px;height:11px;margin-right:4px}
373
+ .o-btn--primary .o-kbd{background:transparent;border-color:rgba(255,255,255,.35);color:inherit}
374
+ .o-main{grid-area:main;display:flex;flex-direction:column;min-width:0;min-height:0}
375
+ .o-main__body{flex:1;min-height:0;overflow:auto;padding:var(--s-8) var(--s-10) var(--s-12)}
376
+ .o-main__body>h1{font-size:var(--t-24);margin-bottom:var(--s-1)}
377
+ .o-main__lead{margin-bottom:var(--s-6);color:var(--pencil);font-size:var(--t-13)}
378
+ .o-main__body h2{margin:var(--s-8) 0 var(--s-3);font-size:var(--t-16)}
379
+
380
+ /* โ”€โ”€ ๋ฐ์ดํ„ฐ ๊ฒฉ์ž: ์—ด๋ฆฐ ํ‘œ ํƒญ ยท ๋„๊ตฌ ์ค„ ยท ๊ฒฉ์ž ยท ์•„๋ž˜ ์ค„ (Supabase Table Editor ์‹, ์ฝ๊ธฐ ์ „์šฉ) โ”€โ”€ */
381
+ .o-filetabs{display:flex;flex:none;height:38px;background:var(--desk);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none}
382
+ .o-filetabs a{display:inline-flex;align-items:center;gap:6px;padding:0 var(--s-4);border-right:1px solid var(--rule);color:var(--pencil);text-decoration:none;font-size:var(--t-12);white-space:nowrap}
383
+ .o-filetabs a .o-icon{width:13px;height:13px}
384
+ .o-filetabs a:hover{color:var(--ink)}
385
+ .o-filetabs a[aria-selected=true]{background:var(--paper);color:var(--ink);font-weight:600;margin-bottom:-1px;border-bottom:1px solid var(--paper)}
386
+ .o-gridbar{display:flex;flex:none;align-items:center;gap:var(--s-2);height:44px;padding:0 var(--s-3);border-bottom:1px solid var(--rule)}
387
+ .o-gridbar__find{display:flex;flex:1;align-items:center;gap:8px;min-width:0;height:28px;padding:0 var(--s-2);color:var(--faint);font-size:var(--t-13)}
388
+ .o-gridbar__find span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
389
+ .o-gridbar .o-btn .o-icon{width:13px;height:13px}
390
+ .o-gridbar__sep{width:1px;height:20px;background:var(--rule-2)}
391
+ .o-grid-wrap{flex:1;min-height:0;overflow:auto}
392
+ .o-grid{border-collapse:separate;border-spacing:0;min-width:100%;font:400 var(--t-12)/1 var(--mono);color:var(--graphite)}
393
+ .o-grid th{position:sticky;top:0;z-index:1;height:34px;padding:0 var(--s-3);background:var(--desk);border-bottom:1px solid var(--rule-2);border-right:1px solid var(--rule);text-align:left;white-space:nowrap;font-weight:400}
394
+ .o-grid td{height:32px;max-width:280px;min-width:120px;padding:0 var(--s-3);border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
395
+ .o-grid tbody tr:hover td{background:var(--desk)}
396
+ .o-grid th.o-grid__check,.o-grid td.o-grid__check{width:36px;min-width:36px;padding:0;text-align:center}
397
+ .o-grid__check input{accent-color:var(--ink);width:13px;height:13px;vertical-align:middle}
398
+ .o-grid__name{font:600 var(--t-12) var(--sans);color:var(--ink)}
399
+ .o-grid__type{margin-left:6px;font:400 var(--t-11) var(--mono);color:var(--faint)}
400
+ .o-grid__key{width:12px;height:12px;margin-right:6px;vertical-align:-2px;color:var(--pencil)}
401
+ .o-grid__key--fk{color:var(--draft)}
402
+ .o-grid .o-cell-masked{color:var(--alert)}
403
+ .o-grid__foot{display:flex;flex:none;align-items:center;gap:var(--s-3);height:40px;padding:0 var(--s-3);border-top:1px solid var(--rule);font-size:var(--t-12);color:var(--pencil)}
404
+ .o-grid__foot .o-badge{margin-left:auto}
405
+ .o-grid__pager{display:flex;align-items:center;gap:6px}
406
+ .o-grid__pager input{width:40px;height:24px;padding:0 6px;border:1px solid var(--rule-2);border-radius:var(--r-2);font:inherit;text-align:center}
407
+
408
+ /* โ”€โ”€ ๊ณ ์น  ๊ฒƒ ์นด๋“œ(Supabase Advisor ์‹): ๊ฐˆ๋ž˜ ยท ๋ฌด๊ฒŒ ยท ํ•œ ์ค„ ยท ๊ทผ๊ฑฐ ยท ํ•  ์ผ โ”€โ”€ */
409
+ .o-advisor{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}
410
+ .o-advisor__card{display:flex;flex-direction:column;gap:var(--s-2);min-height:150px;padding:var(--s-4);border:1px solid var(--rule-2);border-radius:var(--r-4);background:var(--paper)}
411
+ .o-advisor__card--high{border-color:color-mix(in srgb,var(--alert) 30%,transparent);background:color-mix(in srgb,var(--alert-wash) 45%,var(--paper))}
412
+ .o-advisor__head{display:flex;align-items:center;gap:8px;font:500 var(--t-11) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pencil)}
413
+ .o-advisor__head .o-badge{margin-left:auto}
414
+ .o-advisor__card--high .o-advisor__head .o-icon{color:var(--alert)}
415
+ .o-advisor__title{margin-top:auto;font-size:var(--t-13);font-weight:600;color:var(--ink)}
416
+ .o-advisor__why{font-size:var(--t-12);color:var(--pencil);line-height:1.5}
417
+ .o-advisor__why code{font-size:var(--t-11);padding:1px 4px;border:1px solid var(--rule);border-radius:var(--r-1);background:var(--desk)}
418
+
419
+ @media(max-width:820px){
420
+ .o-app,.o-app--nomenu{grid-template:"bar" 48px "rail" auto "menu" auto "main" minmax(70dvh,1fr)/minmax(0,1fr);height:auto;min-height:100dvh;overflow:visible}
421
+ .o-rail{flex-direction:row;justify-content:flex-start;padding:4px 8px;border-right:0;border-bottom:1px solid var(--rule);overflow-x:auto}
422
+ .o-rail__sep{width:1px;height:20px;margin:0 6px}.o-rail__end{margin:0 0 0 auto}
423
+ .o-secmenu{max-height:40dvh;border-right:0;border-bottom:1px solid var(--rule)}
424
+ .o-app__bar .o-search{display:none}
425
+ .o-app__bar .o-crumbs{overflow:hidden}.o-app__bar .o-crumbs>:not(:last-child){display:none}
426
+ .o-gridbar{flex-wrap:wrap;height:auto;padding:6px var(--s-3)}.o-gridbar__find{flex-basis:100%}
427
+ .o-main__body{padding:var(--s-5) var(--s-4) var(--s-8)}
428
+ }
429
+
430
+ /* โ”€โ”€ ์ž‘์—…๋Œ€ ๋ณธ๋ฌธ + ์˜ค๋ฅธ์ชฝ ์นธ(์‚ฐ์ถœ๋ฌผ ยท ์†์„ฑ ยท ๋‹ค์Œ์— ํ•  ์ผ) โ”€โ”€ */
431
+ .o-main__cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1;min-height:0}
432
+ .o-main__cols>.o-main__body{min-width:0}
433
+ .o-main__aside{display:flex;flex-direction:column;gap:var(--s-6);min-height:0;overflow:auto;padding:var(--s-8) var(--s-5);border-left:1px solid var(--rule);background:var(--desk)}
434
+ .o-main__aside h2{margin:0 0 var(--s-2);font-size:var(--t-12);font-weight:600;color:var(--pencil)}
435
+ .o-secmenu__count{margin-left:auto;font:400 var(--t-11) var(--mono);color:var(--faint)}
436
+
437
+ /* โ”€โ”€ ํƒ€์ผ ๊ฒฉ์ž: Space ํ•˜๋‚˜ = ์นด๋“œ ํ•œ ์žฅ(์ด๋ฆ„ ยท ํ•œ ์ค„ ยท ์ƒํƒœ ยท ๋ณ„์นญ). ์ˆซ์ž ยท ๊ฑด๊ฐ•์€ ๋„ฃ์ง€ ์•Š๋Š”๋‹ค โ”€โ”€ */
438
+ .o-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}
439
+ .o-tile{display:flex;flex-direction:column;gap:var(--s-2);min-height:120px;padding:var(--s-4);border:1px solid var(--rule-2);border-radius:var(--r-4);background:var(--paper);color:inherit;text-decoration:none;transition:border-color var(--d-1) var(--ease),box-shadow var(--d-1) var(--ease)}
440
+ .o-tile:hover{border-color:var(--rule-3);box-shadow:0 1px 2px rgba(21,23,28,.06)}
441
+ .o-tile__name{display:flex;align-items:center;gap:6px;font-size:var(--t-14);font-weight:650;color:var(--ink)}
442
+ .o-tile__name .o-icon{color:var(--faint)}
443
+ .o-tile__line{font-size:var(--t-13);color:var(--graphite);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
444
+ .o-tile__foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
445
+
446
+ /* โ”€โ”€ ๋ฌธ์„œ ๋ณธ๋ฌธ: ์ œ๋ชฉ ยท ๋ฌธ๋‹จ ยท ๋ชฉ๋ก ยท ์ฝ”๋“œ ยท ํ‘œ (๋งˆํฌ๋‹ค์šด์„ ์˜ฎ๊ธด ๊ธ€) โ”€โ”€ */
447
+ .o-prose{max-width:760px;font-size:var(--t-14);line-height:1.75;color:var(--graphite)}
448
+ .o-prose h1{font-size:var(--t-24);margin:0 0 var(--s-4);color:var(--ink)}
449
+ .o-prose h2{font-size:var(--t-16);margin:var(--s-8) 0 var(--s-2);color:var(--ink)}
450
+ .o-prose h3{font-size:var(--t-14);margin:var(--s-6) 0 var(--s-2);color:var(--ink)}
451
+ .o-prose p{margin:0 0 var(--s-3)}
452
+ .o-prose ul,.o-prose ol{margin:0 0 var(--s-3);padding-left:1.4em}.o-prose li{margin:2px 0}
453
+ .o-prose code{padding:1px 5px;border:1px solid var(--rule);border-radius:var(--r-1);background:var(--desk)}
454
+ .o-prose a{color:var(--draft-ink)}
455
+
456
+ /* โ”€โ”€ ๊ด€๊ณ„ ๊ทธ๋ฆผ(SVG): ์ƒ์ž ยท ๋จธ๋ฆฌ ยท PK/FK ์•Œ์•ฝ ยท ์„ (ํ›„๋ณด = ์ ์„ ) ยท ๊ฐ€์šด๋ฐ ๊ฐ•์กฐ โ”€โ”€ */
457
+ .o-graph text{font-size:11px;fill:var(--graphite)}
458
+ .o-graph{display:block;width:100%;height:auto;border:1px solid var(--rule);border-radius:var(--r-3);background:var(--desk);font-family:var(--sans)}
459
+ .o-graph__node{fill:var(--paper);stroke:var(--rule-3)}
460
+ .o-graph a:hover .o-graph__node{stroke:var(--ink)}
461
+ .o-graph__node--focus{fill:var(--ink);stroke:var(--ink)}
462
+ .o-graph__node--focus~text{fill:var(--paper)}
463
+ .o-graph__node--edge{stroke:var(--ink);stroke-width:2}
464
+ .o-graph__text{font-size:11px;fill:var(--graphite)}
465
+ .o-graph__head{font-size:12px;font-weight:600;fill:var(--ink)}
466
+ .o-graph__group{font-size:10.5px;font-family:var(--mono);letter-spacing:.06em;fill:var(--faint)}
467
+ .o-graph__pill{font:700 9px var(--mono);fill:var(--pencil)}.o-graph__pill--fk{fill:var(--draft)}
468
+ .o-graph__line{fill:none;stroke:var(--rule-3);stroke-width:1.25}
469
+ .o-graph__line--draft{stroke:var(--draft);stroke-dasharray:4 3}
470
+ .o-graph__more{font-size:11px;fill:var(--faint)}
471
+
472
+ @media(max-width:820px){.o-main__cols{grid-template-columns:minmax(0,1fr)}.o-main__aside{border-left:0;border-top:1px solid var(--rule)}}