Spaces:
Running
Running
Download ui/components.css from fbdeme/ontic-tabicl-api: direct link, hf CLI and curl.
- Browser
- Download file 46.9 kB
-
https://huggingface.co/spaces/fbdeme/ontic-tabicl-api/resolve/main/ui/components.css
- Command line
-
hf download hf://spaces/fbdeme/ontic-tabicl-api/ui/components.css
-
curl -L -o components.css https://huggingface.co/spaces/fbdeme/ontic-tabicl-api/resolve/main/ui/components.css
46.9 kB
| /* ontic-ui ๋ถํ v0.3 โ ์ด๋ฆ o-*, ํ ํฐ๋ง ์ด๋ค(์ซ์ ์ ๊ธ์ง). ๋ถํ ๋ชฉ๋ก ยท ์ฐ๋ ๋ฒ = registry.json, ์์น = DESIGN.md | |
| ๋ฐ๋(์ค์ธก ๊ทผ๊ฑฐ DESIGN.md): ๋ณธ๋ฌธ 13px ยท ์ปจํธ๋กค 28px ยท ํ ์ค 32px ยท ๋ชจ์๋ฆฌ 4. ๊น์ด: ๋ฉด์ ์ ๋ง, ๋ ์๋ ์ธต๋ง --lift. | |
| ์๋ช : ์ฒญ์ฐํ(ํ๋ณด, --draft ์ ์ ) โ ๋จน(ํ์ , --ink ์ค์ ) โ ์ธ์ฃผ(๊ฒฐ์ฌ, --seal ๋์ฅ). ๋ถ์์์ ๋์ฅ ๋ชจ์์๋ง. */ | |
| /* โโ ๋์ฅ ยท ๊ฒฐ์ฌ๋ โ ์๋ช ์์ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| /* ๋์ฅ: ์ฌ๋์ด ๊ฒฐ์ฌํ๋ค๋ ํ์. ์ด๋ฆ ์ ๋ ๊ธ์๋ฅผ ์ธ์ฃผ ํ ๋๋ฆฌ ์์ ์๊ธด๋ค. ํฌ๊ธฐ --sm 16 ยท ๊ธฐ๋ณธ 22 ยท --lg 36 */ | |
| .o-seal{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border:1.5px solid var(--seal);border-radius:var(--r-1);color:var(--seal);background:var(--paper);font:700 9px/1 var(--sans);letter-spacing:-.04em;writing-mode:horizontal-tb;transform:rotate(-4deg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--seal) 18%,transparent)} | |
| .o-seal--sm{width:16px;height:16px;font-size:0;border-width:1.5px} | |
| .o-seal--sm::after{content:"";width:6px;height:6px;background:var(--seal);border-radius:1px} | |
| .o-seal--lg{width:36px;height:36px;font-size:13px;border-width:2px} | |
| .o-seal--void{border-style:dashed;border-color:var(--void);color:var(--void);transform:none;box-shadow:none} | |
| /* ๊ฒฐ์ฌ๋: ์ ์ โ ๊ฒํ โ ๊ฒฐ์ฌ ์นธ. ์นธ๋ง๋ค ์ญํ ยท ๋์ฅ ๋๋ ๋๊ธฐ ยท ์๊ฐ */ | |
| .o-approval{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(64px,auto);border:1px solid var(--rule-2);border-radius:var(--r-2);background:var(--paper);overflow:hidden;font-size:var(--t-11)} | |
| .o-approval__cell{display:grid;grid-template-rows:20px 36px 16px;justify-items:center;align-items:center;border-left:1px solid var(--rule-2);padding:0 var(--s-2) 2px} | |
| .o-approval__cell:first-child{border-left:0} | |
| .o-approval__role{width:calc(100% + var(--s-4));height:20px;display:grid;place-items:center;background:var(--well);border-bottom:1px solid var(--rule-2);color:var(--pencil);font-weight:500} | |
| .o-approval__who{font:500 var(--t-11) var(--sans);color:var(--graphite)} | |
| .o-approval__when{font:400 10px var(--mono);color:var(--faint)} | |
| .o-approval__wait{width:22px;height:22px;border:1.5px dashed var(--draft);border-radius:var(--r-1)} | |
| .o-approval__agent{font:600 10px var(--mono);letter-spacing:.06em;color:var(--draft)} | |
| /* โโ ๋จธ๋ฆฌ๋ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-topbar{position:sticky;top:0;z-index:20;height:var(--bar);display:flex;align-items:center;gap:var(--s-5);padding:0 var(--s-4);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--rule)} | |
| .o-wordmark{display:inline-flex;align-items:center;gap:8px;font:700 var(--t-13)/1 var(--mono);letter-spacing:.16em;color:var(--ink);text-decoration:none;flex:none} | |
| .o-wordmark::before{content:"";width:12px;height:12px;border:2px solid var(--seal);border-radius:2px;transform:rotate(-4deg);background:linear-gradient(var(--seal),var(--seal)) center/4px 4px no-repeat} | |
| .o-topbar__nav{display:flex;gap:var(--s-5);font-size:var(--t-13)} | |
| .o-topbar__nav a{color:var(--graphite);text-decoration:none}.o-topbar__nav a:hover{color:var(--ink)} | |
| .o-topbar__end{margin-left:auto;display:flex;align-items:center;gap:var(--s-3);opacity:0;transition:opacity var(--d-2) var(--ease)} | |
| .o-topbar__end.is-ready{opacity:1} | |
| .o-who{font:400 var(--t-12) var(--mono);color:var(--pencil);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} | |
| /* โโ ๋ฒํผ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-md);padding:0 10px;border-radius:var(--r-2);border:1px solid transparent;font:500 var(--t-13)/1 var(--sans);letter-spacing:-.005em;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--d-1) var(--ease),border-color var(--d-1) var(--ease),color var(--d-1) var(--ease),transform var(--d-1) var(--ease)} | |
| .o-btn:active{transform:translateY(1px)} | |
| .o-btn:disabled,.o-btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;transform:none} | |
| .o-btn--primary{background:var(--ink);color:var(--paper)}.o-btn--primary:hover:not(:disabled){background:var(--graphite)} | |
| .o-btn--secondary{background:var(--paper);color:var(--ink);border-color:var(--rule-2);box-shadow:0 1px 0 var(--rule)}.o-btn--secondary:hover:not(:disabled){border-color:var(--rule-3)} | |
| .o-btn--ghost{background:transparent;color:var(--graphite)}.o-btn--ghost:hover:not(:disabled){background:var(--well);color:var(--ink)} | |
| /* ๊ฒฐ์ฌ ๋ฒํผ: ๋๋ฅด๋ฉด ๊ธฐ๋ก์ด ๋จ๋๋ค โ ๋จน ๋ฐํ + ์ธ์ฃผ ๋์ฅ ํ์ */ | |
| .o-btn--seal{background:var(--ink);color:var(--paper)} | |
| .o-btn--seal::before{content:"";width:10px;height:10px;border:1.5px solid var(--seal);border-radius:2px;background:linear-gradient(var(--seal),var(--seal)) center/4px 4px no-repeat;transform:rotate(-4deg)} | |
| .o-btn--seal:hover:not(:disabled){background:var(--graphite)} | |
| /* ํ๋ณด๋ฅผ ์ ํ๋ฌ ๊ฐ๋ ๋ฒํผ: ์ฒญ์ฐํ */ | |
| .o-btn--draft{background:var(--draft-wash);color:var(--draft-ink);border-color:color-mix(in srgb,var(--draft) 30%,transparent)}.o-btn--draft:hover:not(:disabled){border-color:var(--draft)} | |
| .o-btn--danger{background:var(--paper);color:var(--alert);border-color:color-mix(in srgb,var(--alert) 30%,transparent)}.o-btn--danger:hover:not(:disabled){background:var(--alert-wash)} | |
| .o-btn--sm{height:var(--h-sm);padding:0 8px;font-size:var(--t-12)} | |
| .o-btn--lg{height:var(--h-xl);padding:0 var(--s-4);font-size:var(--t-14)} | |
| .o-btn--link{height:auto;padding:2px 4px;background:none;color:var(--draft-ink);font-size:var(--t-12)}.o-btn--link:hover{text-decoration:underline} | |
| /* โโ ์ ๋ ฅ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-input,.o-textarea,.o-select{width:100%;min-height:var(--h-md);padding:0 9px;border-radius:var(--r-2);border:1px solid var(--rule-2);background:var(--paper);color:var(--ink);font-size:var(--t-13);box-shadow:inset 0 1px 0 var(--rule);transition:border-color var(--d-1) var(--ease),box-shadow var(--d-1) var(--ease)} | |
| .o-textarea{padding:6px 9px;line-height:1.5;resize:vertical} | |
| .o-select{padding-right:26px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--pencil) 50%),linear-gradient(135deg,var(--pencil) 50%,transparent 50%);background-position:calc(100% - 13px) 52%,calc(100% - 9px) 52%;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer} | |
| .o-input::placeholder,.o-textarea::placeholder{color:var(--faint)} | |
| .o-input:hover,.o-textarea:hover,.o-select:hover{border-color:var(--rule-3)} | |
| .o-input:focus,.o-textarea:focus,.o-select:focus{outline:0;border-color:var(--draft);box-shadow:0 0 0 3px var(--draft-wash)} | |
| .o-search{position:relative;display:block}.o-search .o-input{padding-left:28px;padding-right:32px;background:var(--well);border-color:transparent;box-shadow:none} | |
| .o-search::before{content:"";position:absolute;left:9px;top:50%;width:9px;height:9px;margin-top:-6px;border:1.5px solid var(--pencil);border-radius:50%;pointer-events:none} | |
| .o-search::after{content:"";position:absolute;left:17px;top:50%;width:2px;height:2px;margin-top:2px;background:var(--pencil);box-shadow:1px 1px 0 var(--pencil),2px 2px 0 var(--pencil);pointer-events:none} | |
| .o-search .o-input:focus{background:var(--paper);border-color:var(--draft)} | |
| .o-kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--r-1);border:1px solid var(--rule-2);border-bottom-width:2px;background:var(--paper);font:500 var(--t-11) var(--mono);color:var(--pencil)} | |
| .o-search .o-kbd{position:absolute;right:6px;top:50%;transform:translateY(-50%)} | |
| /* โโ ์นฉ โ ์ฒญ์ฐํ(ํ๋ณด) โ ๋จน(ํ์ ) โ ์ธ์ฃผ(๊ฒฐ์ฌ) โโโโโโโโโโโโโโโ */ | |
| .o-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center} | |
| .o-chip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 6px;border-radius:var(--r-1);border:1px solid var(--rule-2);background:var(--paper);color:var(--graphite);font:500 var(--t-11)/1 var(--sans);white-space:nowrap} | |
| .o-chip--dom{background:var(--well);border-color:transparent;color:var(--graphite)} | |
| .o-chip--key{border-color:var(--ink);color:var(--ink);font:600 10px/1 var(--mono);letter-spacing:.04em;height:18px;padding:0 4px} | |
| .o-chip--fk{color:var(--graphite);font:500 var(--t-11)/1 var(--mono)} | |
| .o-chip--draft{border:1px dashed var(--draft);background:var(--draft-wash);color:var(--draft-ink)} | |
| .o-chip--seal{border-color:var(--rule-2);color:var(--ink)} | |
| .o-chip--seal::before{content:"";width:8px;height:8px;border:1.5px solid var(--seal);border-radius:1px;background:linear-gradient(var(--seal),var(--seal)) center/3px 3px no-repeat;transform:rotate(-4deg)} | |
| .o-chip--void{border:1px dotted var(--void);color:var(--pencil);text-decoration:line-through;text-decoration-color:var(--void)} | |
| .o-chip--tag{background:var(--well);border-color:transparent;color:var(--graphite)}.o-chip--tag::before{content:"#";color:var(--faint)} | |
| .o-chip--owner{border-radius:999px;font:500 var(--t-11)/1 var(--mono)} | |
| .o-chip--masked{height:16px;padding:0 4px;border-color:transparent;background:var(--alert-wash);color:var(--alert);font-size:10px} | |
| /* โโ ๊ธ ยท ๊ฒฝ๋ก ยท ์ํ ๋ฌธ๊ตฌ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-label{display:block;font:500 var(--t-11)/1.4 var(--sans);color:var(--pencil);letter-spacing:.01em} | |
| .o-muted{color:var(--pencil);font-size:var(--t-12)} | |
| .o-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font:400 var(--t-11) var(--mono);color:var(--pencil)} | |
| .o-crumbs__sep{color:var(--faint)} | |
| .o-desc{color:var(--graphite);font-size:var(--t-12);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} | |
| .o-empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--pencil);font-size:var(--t-12)} | |
| .o-empty strong{display:block;color:var(--ink);font-weight:600;font-size:var(--t-13);margin-bottom:2px} | |
| .o-alert{display:flex;flex-direction:column;gap:2px;padding:10px var(--s-3);border-radius:var(--r-2);border:1px solid var(--rule-2);border-left:3px solid var(--graphite);background:var(--paper);font-size:var(--t-12)} | |
| .o-alert strong{font-weight:600;font-size:var(--t-13)} | |
| .o-alert--error{border-color:color-mix(in srgb,var(--alert) 25%,transparent);border-left-color:var(--alert);background:var(--alert-wash);color:var(--alert)} | |
| .o-alert--error strong{color:var(--alert)} | |
| /* โโ ๋ฉด ยท ๋จธ๋ฆฌ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-panel{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-3);padding:var(--s-3) var(--s-4) var(--s-4)} | |
| .o-panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);min-height:28px;margin:0 0 var(--s-2);border-bottom:1px solid var(--rule)} | |
| .o-panel__title{font-size:var(--t-12);font-weight:650;color:var(--graphite);letter-spacing:.01em} | |
| .o-pagehead{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--s-5)} | |
| .o-pagehead__title{font-size:var(--t-20);letter-spacing:-.02em;line-height:1.25;font-weight:700} | |
| .o-pagehead__lead{color:var(--pencil);font-size:var(--t-12);max-width:720px} | |
| .o-entity{padding:0 0 var(--s-4);border-bottom:1px solid var(--rule)} | |
| .o-entity__title{margin:4px 0 var(--s-2);font:600 var(--t-24)/1.15 var(--mono);letter-spacing:-.02em;overflow-wrap:anywhere} | |
| .o-entity__facts{display:flex;flex-wrap:wrap;gap:0;margin-top:var(--s-3);border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper)} | |
| .o-entity__facts>*{padding:6px var(--s-3);border-left:1px solid var(--rule);font-size:var(--t-11);color:var(--pencil)} | |
| .o-entity__facts>*:first-child{border-left:0} | |
| .o-entity__facts strong{display:block;font:600 var(--t-14) var(--mono);color:var(--ink);font-variant-numeric:tabular-nums} | |
| /* โโ ์ซ์ โ ์นด๋ ๋์ ์ฅ๋ถ์ ํ ์นธ โโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-stat{display:flex;flex-direction:column;gap:0;padding:var(--s-2) var(--s-4) var(--s-2) 0;color:var(--ink);text-decoration:none;border-right:1px solid var(--rule)} | |
| .o-stat:last-child{border-right:0} | |
| a.o-stat:hover .o-stat__value{color:var(--draft-ink)} | |
| .o-stat__label{font:500 var(--t-11) var(--sans);color:var(--pencil)} | |
| .o-stat__value{font:600 var(--t-24)/1.15 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:2px;transition:color var(--d-1)} | |
| .o-stat__meta{font-size:var(--t-11);color:var(--pencil)} | |
| /* ์งํ ๋ง๋: ๊ฒฐ์ฌ๋ ๋ชซ(๋จน) ยท ๋จ์ ํ๋ณด(์ฒญ์ฐํ ๋น๊ธ) */ | |
| .o-progress{display:flex;height:6px;border-radius:1px;overflow:hidden;background:repeating-linear-gradient(-45deg,var(--draft-wash) 0 3px,color-mix(in srgb,var(--draft) 28%,var(--draft-wash)) 3px 4px)} | |
| .o-progress__done{background:var(--ink)} | |
| /* โโ ์ ํ ๊ฒ ๋๊ธฐ์ด โ ํ์ ์ด์ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-queue{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:var(--r-3);background:var(--paper);overflow:hidden} | |
| .o-queue__head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--s-2) var(--s-4);padding:var(--s-4) var(--s-4) var(--s-3)} | |
| .o-queue__count{font:600 var(--t-48)/.9 var(--mono);letter-spacing:-.06em;color:var(--draft-ink);font-variant-numeric:tabular-nums} | |
| .o-queue__count small{margin-left:6px;font:500 var(--t-13) var(--sans);letter-spacing:0;color:var(--pencil)} | |
| .o-queue__lead{grid-column:1/-1;font-size:var(--t-12);color:var(--pencil);max-width:560px} | |
| .o-queue__head .o-progress{grid-column:1/-1} | |
| .o-queue__row{display:grid;grid-template-columns:minmax(0,1fr) 72px 120px auto;align-items:center;gap:var(--s-3);min-height:40px;padding:0 var(--s-4);border-top:1px solid var(--rule);font-size:var(--t-12);color:var(--pencil)} | |
| .o-queue__row:hover{background:color-mix(in srgb,var(--draft-wash) 45%,transparent)} | |
| .o-queue__name{font:500 var(--t-13) var(--mono);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}a.o-queue__name:hover{text-decoration:underline} | |
| .o-queue__n{font:600 var(--t-13) var(--mono);color:var(--draft-ink);text-align:right;font-variant-numeric:tabular-nums} | |
| /* โโ ๊ฒฐ๊ณผ ์ค ยท ์ฌ์ค ๋ชฉ๋ก ยท ์์ ๋ชฉ๋ก โโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| /* ๊ฒฐ๊ณผ ํ ์ค: ์นด๋๊ฐ ์๋๋ผ ์ฅ๋ถ์ ์ค. ๊ณ ๋ฅธ ์ค์ ์ผ์ชฝ ๋จน ๋ */ | |
| .o-result{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px var(--s-3);width:100%;text-align:left;padding:7px var(--s-3) 7px var(--s-4);background:var(--paper);border:0;border-bottom:1px solid var(--rule);border-radius:0;color:var(--ink);cursor:pointer;transition:background-color var(--d-1) var(--ease)} | |
| .o-result:hover{background:var(--desk)} | |
| .o-result.is-active{background:var(--draft-wash)} | |
| .o-result.is-active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ink)} | |
| .o-result>.o-crumbs{grid-column:1/-1;order:2} | |
| .o-result__name{font:500 var(--t-13) var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} | |
| .o-result__meta{font-size:var(--t-11);color:var(--pencil);text-align:right;white-space:nowrap;align-self:center} | |
| .o-result__match{grid-column:1/-1;order:3;font:400 var(--t-11) var(--mono);color:var(--draft-ink)} | |
| .o-result>.o-desc,.o-result>.o-chips{grid-column:1/-1;order:4} | |
| .o-facts{display:grid;grid-template-columns:max-content 1fr;gap:0 var(--s-4);margin:0;font-size:var(--t-12)} | |
| .o-facts dt,.o-facts dd{padding:5px 0;border-bottom:1px solid var(--rule)} | |
| .o-facts dt{color:var(--pencil)}.o-facts dd{margin:0;overflow-wrap:anywhere} | |
| .o-rank{list-style:none;margin:0;padding:0} | |
| .o-rank li{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);min-height:30px;border-top:1px solid var(--rule);font-size:var(--t-12)} | |
| .o-rank li:first-child{border-top:0} | |
| .o-rank a{font-family:var(--mono);text-decoration:none}.o-rank a:hover{text-decoration:underline} | |
| /* โโ ํญ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-tabs{display:flex;gap:var(--s-4);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none} | |
| .o-tabs a{position:relative;display:inline-flex;align-items:center;gap:5px;height:36px;color:var(--pencil);text-decoration:none;font-size:var(--t-13);font-weight:500;white-space:nowrap} | |
| .o-tabs a:hover{color:var(--ink)} | |
| .o-tabs a[aria-selected=true]{color:var(--ink);font-weight:600} | |
| .o-tabs a[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)} | |
| .o-tabs__count{font:500 var(--t-11) var(--mono);color:var(--faint)} | |
| /* โโ ํ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-table-wrap{overflow-x:auto} | |
| .o-table{width:100%;border-collapse:collapse;font-size:var(--t-12)} | |
| .o-table th{height:var(--row-head);padding:0 var(--s-3);text-align:left;font:600 var(--t-11) var(--sans);color:var(--pencil);background:var(--desk);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-2);white-space:nowrap} | |
| .o-table th:first-child{padding-left:var(--s-2)} | |
| .o-table td{height:var(--row);padding:4px var(--s-3);border-bottom:1px solid var(--rule);vertical-align:middle;overflow-wrap:anywhere} | |
| .o-table td:first-child{padding-left:var(--s-2)} | |
| .o-table tbody tr:hover td{background:var(--desk)} | |
| .o-table .is-ok{color:var(--ok);font-weight:500}.o-table .is-no{color:var(--alert)} | |
| .o-table--sample td{white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;font:400 var(--t-11) var(--mono)} | |
| .o-table--sample td,.o-table--sample th{border-right:1px solid var(--rule)} | |
| .o-cell-null{color:var(--faint);font-style:italic} | |
| .o-cell-masked{color:var(--alert);letter-spacing:.15em} | |
| /* โโ ์ฐ๊ฒฐ ์ค(ํ ์ฌ์ด ์ฐ๊ฒฐ ํ๋) โโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-edge{display:grid;grid-template-columns:1fr auto;gap:2px var(--s-3);align-items:center;padding:10px 0;border-bottom:1px solid var(--rule)} | |
| .o-edge:last-child{border-bottom:0} | |
| .o-edge__path{font:500 var(--t-12) var(--mono);overflow-wrap:anywhere} | |
| .o-edge__why{grid-column:1/-1;font-size:var(--t-11);color:var(--pencil)} | |
| .o-edge__said{grid-column:1/-1;font-size:var(--t-12);color:var(--graphite)} | |
| .o-edge__said::before{content:"โ";color:var(--faint)}.o-edge__said::after{content:"โ";color:var(--faint)} | |
| .o-edge__actions{grid-column:1/-1;display:flex;gap:var(--s-2);margin-top:4px} | |
| /* โโ ๊ฒฐ์ ์ฅ๋ถ โ ๋๊ฐ ยท ์ธ์ ยท ๋ฌด์จ ๋ง๋ก ยท ๋์ฅ โโโโโโโโโโโโโ */ | |
| .o-ledger{list-style:none;margin:0;padding:0} | |
| .o-ledger__item{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) 28px;gap:1px var(--s-3);padding:10px 0;border-top:1px solid var(--rule)} | |
| .o-ledger__item:first-child{border-top:0} | |
| .o-ledger__time{grid-row:1/span 3;font:400 var(--t-11)/1.7 var(--mono);color:var(--pencil)} | |
| .o-ledger__what{display:flex;align-items:center;gap:var(--s-2);font:500 var(--t-12) var(--mono);overflow-wrap:anywhere} | |
| .o-ledger__said{font-size:var(--t-12);color:var(--graphite)} | |
| .o-ledger__said::before{content:"โ";color:var(--faint)}.o-ledger__said::after{content:"โ";color:var(--faint)} | |
| .o-ledger__by{font:400 var(--t-11) var(--mono);color:var(--pencil)} | |
| .o-ledger__what,.o-ledger__said,.o-ledger__by{grid-column:2} | |
| .o-ledger__item>.o-seal{grid-column:3;grid-row:1/span 2;align-self:start} | |
| .o-ledger__item--approved .o-ledger__what::before{content:"";flex:none;width:16px;border-top:2px solid var(--ink)} | |
| .o-ledger__item--rejected .o-ledger__what{color:var(--pencil);text-decoration:line-through;text-decoration-color:var(--void)} | |
| .o-ledger__item--rejected .o-ledger__what::before{content:"";flex:none;width:16px;border-top:2px dotted var(--void)} | |
| .o-ledger__item--edit .o-ledger__what::before{content:"";flex:none;width:8px;height:8px;border-radius:1px;background:var(--well);border:1px solid var(--rule-3)} | |
| /* โโ ๋ฒ๋ก โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-legend{display:flex;flex-wrap:wrap;gap:var(--s-4);font-size:var(--t-11);color:var(--graphite)} | |
| .o-legend__item{display:inline-flex;align-items:center;gap:6px} | |
| .o-legend__item::before{content:"";width:20px;border-top:1.5px solid var(--graphite)} | |
| .o-legend__item[data-kind=candidate]::before{border-top:2px dashed var(--draft)} | |
| .o-legend__item[data-kind=approved]::before{width:20px;height:8px;border-top:0;background:linear-gradient(var(--ink),var(--ink)) 0 50%/100% 2px no-repeat,linear-gradient(var(--seal),var(--seal)) 50% 50%/6px 6px no-repeat} | |
| .o-legend__item[data-kind=rejected]::before{border-top:2px dotted var(--void)} | |
| .o-legend__item[data-kind=use]::before{border-top:1px solid var(--rule-3)} | |
| /* โโ ์ค๋ช ยท ์์ ์ ยท ํ๊ทธ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-meta{display:flex;flex-direction:column} | |
| .o-meta__row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:var(--s-3);align-items:start;padding:5px 0;border-bottom:1px solid var(--rule)} | |
| .o-meta__row:last-child{border-bottom:0} | |
| .o-meta__label{font:500 var(--t-11)/20px var(--sans);color:var(--pencil)} | |
| .o-meta__value{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:20px;font-size:var(--t-13)} | |
| .o-meta__value p{white-space:pre-wrap;max-width:720px;color:var(--ink)} | |
| .o-meta__empty{color:var(--faint);font-size:var(--t-12)} | |
| .o-edit{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:flex-start;padding:5px 0} | |
| .o-edit .o-input,.o-edit .o-textarea{flex:1 1 320px;width:auto} | |
| .o-edit__err{flex-basis:100%;color:var(--alert);font-size:var(--t-11)}.o-edit__err:empty{display:none} | |
| /* โโ ์ผ์ชฝ ๋ฉ๋ด ยท ํ์ ํธ๋ฆฌ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-nav{display:flex;flex-direction:column;gap:1px} | |
| .o-nav a{position:relative;display:flex;align-items:center;gap:8px;height:var(--h-md);padding:0 10px;border-radius:var(--r-2);color:var(--graphite);text-decoration:none;font-size:var(--t-13);font-weight:500} | |
| .o-nav a:hover{background:var(--well);color:var(--ink)} | |
| .o-nav a[aria-current=true]{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--rule-2),0 1px 0 var(--rule-2)} | |
| .o-tree{display:flex;flex-direction:column;gap:0;font-size:var(--t-12)} | |
| .o-tree__group{margin:var(--s-4) 8px var(--s-1);font:600 var(--t-11) var(--sans);color:var(--faint);letter-spacing:.02em} | |
| .o-tree__group:first-child{margin-top:0} | |
| .o-tree__item{display:flex;justify-content:space-between;gap:var(--s-2);height:26px;align-items:center;padding:0 8px;border-radius:var(--r-2);color:var(--graphite);text-decoration:none} | |
| .o-tree__item span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} | |
| .o-tree__item:hover{background:var(--well);color:var(--ink)} | |
| .o-tree__item.is-active{background:var(--well-hover);color:var(--ink);font-weight:600}.o-tree__item.is-active .o-tree__count{color:var(--graphite)} | |
| .o-tree__count{font:400 var(--t-11) var(--mono);color:var(--faint);font-variant-numeric:tabular-nums} | |
| /* โโ ๋๊ตฌ ์ค ยท ๊ท์น ํ ์ค โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */ | |
| .o-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-2);font-size:var(--t-12);color:var(--graphite)} | |
| .o-toolbar label{display:inline-flex;align-items:center;gap:6px;cursor:pointer} | |
| .o-toolbar input[type=checkbox]{accent-color:var(--ink);width:13px;height:13px} | |
| .o-toolbar .o-legend{margin-left:auto} | |
| .o-code-row{display:block;margin-top:6px;padding:5px 9px;border-radius:var(--r-2);background:var(--well);font:400 var(--t-11) var(--mono);color:var(--graphite);overflow-wrap:anywhere} | |
| /* โโ ๊ณ๋ณด ์บ๋ฒ์ค(lineage.js) โ ๋ชจ๋ ์ ๋๋ฉด. ์ ์ ์ฒญ์ฐํ โ ๋จน, ๊ฒฐ์ฌ๋ ์ ๊ฐ์ด๋ฐ ์ธ์ฃผ โโ */ | |
| .o-canvas{position:relative;height:min(62dvh,560px);border:1px solid var(--rule);border-radius:var(--r-3);overflow:hidden;background:var(--paper)} | |
| .o-canvas--tall{height:min(74dvh,760px)} | |
| .lg{background-image:linear-gradient(color-mix(in srgb,var(--draft) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--draft) 7%,transparent) 1px,transparent 1px);background-size:24px 24px;touch-action:none} | |
| .lg-svg{display:block;width:100%;height:100%;cursor:grab;user-select:none}.lg-svg.grabbing{cursor:grabbing} | |
| .lg-colhead{font:600 10.5px var(--mono);fill:var(--faint);letter-spacing:.08em} | |
| .lg-card{fill:var(--paper);stroke:var(--rule-3);stroke-width:1} | |
| .lg-bar{fill:var(--rule-3)} | |
| .lg-kind{font:500 10px var(--sans);fill:var(--pencil)} | |
| .lg-title{font:500 12.5px var(--mono);fill:var(--ink)} | |
| .lg-sub{font:400 10.5px var(--sans);fill:var(--pencil)} | |
| .lg-node{cursor:pointer;outline:0} | |
| .lg-node:hover .lg-card{stroke:var(--ink)} | |
| .lg-node:focus-visible .lg-card{stroke:var(--draft);stroke-width:2} | |
| .lg-node.domain .lg-card{fill:var(--ink);stroke:var(--ink)}.lg-node.domain .lg-bar{fill:var(--seal)}.lg-node.domain .lg-title{fill:var(--paper);font-family:var(--sans);font-weight:650}.lg-node.domain .lg-kind,.lg-node.domain .lg-sub{fill:var(--faint)} | |
| .lg-node.project .lg-bar{fill:var(--graphite)}.lg-node.project .lg-title{font-family:var(--sans);font-weight:650} | |
| .lg-node.service .lg-bar{fill:var(--rule-3)} | |
| .lg-node.store .lg-bar,.lg-node.table .lg-bar{fill:var(--graphite)} | |
| .lg-node.todo .lg-card{stroke:var(--draft);stroke-dasharray:5 3}.lg-node.todo .lg-bar{fill:var(--draft)} | |
| .lg-node.focus .lg-card{stroke:var(--ink);stroke-width:2}.lg-node.focus .lg-bar{fill:var(--ink)} | |
| .lg-node.more .lg-card{fill:var(--desk);stroke-dasharray:3 3}.lg-node.more .lg-title{font-family:var(--sans);font-weight:650} | |
| .lg-line{fill:none;stroke-width:1.25;transition:opacity var(--d-1)} | |
| .lg-hit{fill:none;stroke:transparent;stroke-width:12}.lg-edge.click .lg-hit{cursor:pointer} | |
| .lg-edge.use .lg-line{stroke:var(--rule-3)}.lg-head.use{fill:var(--rule-3)} | |
| .lg-edge.fk .lg-line{stroke:var(--graphite)}.lg-head.fk{fill:var(--graphite)} | |
| .lg-edge.candidate .lg-line{stroke:var(--draft);stroke-dasharray:5 4;stroke-width:1.5}.lg-head.candidate{fill:var(--draft)} | |
| .lg-edge.approved .lg-line{stroke:var(--ink);stroke-width:2}.lg-head.approved{fill:var(--ink)} | |
| .lg-stamp{fill:var(--paper);stroke:var(--seal);stroke-width:1.5}.lg-stamp-dot{fill:var(--seal)} | |
| .lg-edge.rejected .lg-line{stroke:var(--void);stroke-dasharray:2 4}.lg-head.rejected{fill:var(--void)} | |
| .lg-edge.dim .lg-line{opacity:.14}.lg-edge.hot .lg-line{stroke-width:2.5} | |
| .lg-tools{position:absolute;right:var(--s-3);bottom:var(--s-3);display:flex;gap:2px;padding:3px;background:var(--paper);border-radius:var(--r-3);box-shadow:var(--lift)} | |
| .lg-tools button{min-width:28px;height:24px;padding:0 7px;border:0;border-radius:var(--r-2);background:none;font:500 var(--t-11) var(--sans);color:var(--graphite);cursor:pointer} | |
| .lg-tools button:hover{background:var(--well);color:var(--ink)} | |
| .lg-hint{position:absolute;left:var(--s-4);bottom:var(--s-3);margin:0;font-size:var(--t-11);color:var(--faint)} | |
| @media(max-width:720px){ | |
| .o-topbar{gap:var(--s-3);padding:0 var(--s-3)}.o-topbar__nav,.o-who{display:none} | |
| .o-meta__row{grid-template-columns:1fr auto}.o-meta__label{grid-column:1/-1;line-height:1.4} | |
| .o-ledger__item{grid-template-columns:1fr 28px}.o-ledger__time{grid-row:auto;grid-column:1}.o-ledger__what,.o-ledger__said,.o-ledger__by{grid-column:1}.o-ledger__item>.o-seal{grid-column:2;grid-row:1} | |
| .o-queue__row{grid-template-columns:minmax(0,1fr) auto auto;padding:6px var(--s-3)}.o-queue__row .o-progress{display:none} | |
| .o-stat{padding-right:var(--s-3)}.o-stat:nth-child(2n){border-right:0} | |
| .o-canvas,.o-canvas--tall{height:68dvh} | |
| } | |
| /* โโ ์ฑ ํ(v0.4): ์ผ์ชฝ ์ฌ์ด๋๋ฐ + ๋ฐํ ์์ ๋ฌ ๋ณธ๋ฌธ ํจ๋ + ๋ ์๋ ์ฐฝ โโโโโโโโโโโโโโโโโโโโโโโโโ | |
| ์ฌ์ด๋๋ฐ๋ ๋ฐํ(desk) ์์ ๊ทธ๋๋ก ๋๊ณ , ์ผํ๋ ๋ฉด๋ง ์ข ์ด(paper) ํ ์ฅ์ผ๋ก ๋์ด๋ค. ๋จธ๋ฆฌ๋ ํจ๋ ์ ์์ ์ค ํ๋. */ | |
| .o-icon{width:16px;height:16px;flex:none;color:currentColor} | |
| .o-shell{display:grid;grid-template-columns:232px minmax(0,1fr);height:100dvh;background:var(--desk);overflow:hidden} | |
| .o-side{display:flex;flex-direction:column;gap:2px;min-height:0;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);overflow:auto} | |
| .o-side__brand{display:flex;align-items:center;gap:8px;height:var(--h-xl);padding:0 6px;border-radius:var(--r-2)} | |
| .o-side__brand .o-wordmark{flex:none} | |
| .o-side__scope{position:relative;flex:1;min-width:0;display:flex;align-items:center} | |
| .o-side__scope select{appearance:none;width:100%;height:var(--h-md);padding:0 22px 0 8px;border:0;border-radius:var(--r-2);background:transparent;font:500 var(--t-12) var(--sans);color:var(--pencil);text-overflow:ellipsis;cursor:pointer} | |
| .o-side__scope select:hover{background:var(--well-hover);color:var(--ink)} | |
| .o-side__scope .o-icon{position:absolute;right:6px;width:12px;height:12px;color:var(--faint);pointer-events:none} | |
| .o-side__search{display:flex;align-items:center;gap:8px;height:var(--h-md);margin:2px 0 var(--s-2);padding:0 8px;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper);color:var(--faint);font-size:var(--t-13);cursor:text} | |
| .o-side__search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--ink)} | |
| .o-side__search:focus-within{border-color:var(--draft);box-shadow:var(--focus)} | |
| .o-side__search input:focus-visible{box-shadow:none}.o-side__search input::-webkit-search-cancel-button{display:none} /* ๊ณ ๋ฆฌ๋ ๋ฐ๊นฅ ์นธ ํ๋๋ง */ | |
| .o-side__section{margin:var(--s-4) 0 2px;padding:0 8px;font-size:var(--t-11);font-weight:600;color:var(--faint);letter-spacing:.02em} | |
| .o-side__item{display:flex;align-items:center;gap:10px;height:30px;padding:0 8px;border:0;border-radius:var(--r-2);background:none;color:var(--graphite);text-decoration:none;font:500 var(--t-13) var(--sans);text-align:left;cursor:pointer} | |
| .o-side__item .o-icon{color:var(--pencil)} | |
| .o-side__item:hover{background:var(--well-hover);color:var(--ink)} | |
| .o-side__item[aria-current=true]{background:var(--well-hover);color:var(--ink);font-weight:600} | |
| .o-side__item[aria-current=true] .o-icon{color:var(--ink)} | |
| .o-side__item .o-kbd{margin-left:auto} | |
| .o-side__item .o-side__count{margin-left:auto;font:500 var(--t-11) var(--mono);color:var(--draft)} | |
| .o-side__foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:var(--s-2);border-top:1px solid var(--rule)} | |
| .o-side__me{display:flex;align-items:center;gap:8px;height:36px;padding:0 4px 0 8px;font:400 var(--t-12) var(--mono);color:var(--pencil)} | |
| .o-side__me>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} | |
| .o-iconbtn{display:inline-grid;place-items:center;width:var(--h-md);height:var(--h-md);flex:none;border:0;border-radius:var(--r-2);background:none;color:var(--pencil);cursor:pointer;text-decoration:none} | |
| .o-iconbtn:hover{background:var(--well-hover);color:var(--ink)} | |
| .o-frame{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;margin:var(--s-2) var(--s-2) var(--s-2) 0;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-4);box-shadow:0 1px 2px rgba(21,23,28,.04);overflow:hidden} | |
| .o-framehead{display:flex;align-items:center;gap:var(--s-3);flex:none;height:44px;padding:0 var(--s-4) 0 var(--s-5);border-bottom:1px solid var(--rule)} | |
| .o-framehead__path{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--t-13);color:var(--pencil)} | |
| .o-framehead__path>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis} | |
| .o-framehead__path a{color:var(--pencil);text-decoration:none}.o-framehead__path a:hover{color:var(--ink)} | |
| .o-framehead__path>:last-child{color:var(--ink);font-weight:600} | |
| .o-framehead__sep{color:var(--faint);flex:none} | |
| .o-framehead__end{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)} | |
| .o-frame__body{flex:1;min-height:0;overflow:auto;padding:var(--s-8) var(--s-10) var(--s-12)} | |
| .o-frame__body--flush{padding:0} | |
| .o-float{position:absolute;right:var(--s-4);bottom:var(--s-4);z-index:30;display:flex;flex-direction:column;width:min(480px,calc(100% - 32px));height:min(620px,calc(100% - 72px));background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-4);box-shadow:var(--lift);overflow:hidden} | |
| .o-float[hidden]{display:none} | |
| .o-float__head{display:flex;align-items:center;gap:var(--s-2);height:44px;flex:none;padding:0 var(--s-2) 0 var(--s-4);border-bottom:1px solid var(--rule)} | |
| .o-float__title{font-size:var(--t-13);font-weight:600} | |
| .o-float__head .o-chat-model{margin-right:auto} | |
| .o-float__body{flex:1;min-height:0;overflow:auto;padding:var(--s-4)} | |
| .o-float .o-composer{border-top:1px solid var(--rule)} | |
| .o-float .o-table th,.o-float .o-table td{white-space:nowrap} /* ์ข์ ์ฐฝ์์ ๊ธ์๋ฅผ ์ชผ๊ฐ์ง ๋ง๊ณ ํ๋ฅผ ์์ผ๋ก ๋๊ธด๋ค(o-table-wrap ์ด ์คํฌ๋กค) */ | |
| @media(max-width:820px){ | |
| .o-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:auto;min-height:100dvh;overflow:visible} | |
| .o-side{min-width:0} | |
| .o-side{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:var(--s-2) var(--s-3);overflow:visible} | |
| .o-side__brand{width:100%}.o-side__search{flex:1 1 100%;margin:0} | |
| .o-side__section,.o-side__me>span{display:none} | |
| .o-side__foot{margin:0;flex-direction:row;border:0;padding:0} | |
| .o-frame{margin:0 var(--s-2) var(--s-2);min-height:70dvh} | |
| .o-frame__body{padding:var(--s-5) var(--s-4) var(--s-8)} | |
| .o-frame>.o-float{position:fixed;inset:auto 8px 8px;width:auto;height:min(80dvh,620px)} | |
| .o-side .o-kbd{display:none} | |
| } | |
| /* โโ ์์ ๋(v0.5): ์ ๋ง๋ + ์์ด์ฝ ์ค + ์นธ ๋ฉ๋ด + ๋ณธ๋ฌธ โ ์ ์ฅ์ ยท ํ์ฒ๋ผ ์ค๋ ๋ค์ฌ๋ค๋ณด๋ ํ๋ฉด. ํ ํ๋(๋์ฐ์ง ์์), ์นธ์ ์ ์ผ๋ก๋ง ๋๋๋ค โโ */ | |
| .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} | |
| .o-app--nomenu{grid-template:"bar bar" 48px "rail main" minmax(0,1fr)/48px minmax(0,1fr)} | |
| .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)} | |
| .o-app__bar .o-search{flex:0 1 320px;margin-left:auto} | |
| .o-app__end{display:flex;align-items:center;gap:var(--s-2)} | |
| .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(์์ ๊ฒฝ๋ก ๊ธ)๋ฅผ ์ ๋ง๋ ์์์๋ง ํค์ด๋ค */ | |
| .o-app__bar .o-crumbs a{color:inherit;text-decoration:none;white-space:nowrap}.o-app__bar .o-crumbs a:hover{color:var(--ink)} | |
| .o-app__bar .o-crumbs>:last-child{color:var(--ink);font-weight:600} | |
| .o-app__bar .o-crumbs__sep{color:var(--rule-3);flex:none} | |
| .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)} | |
| .o-rail a{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-3);color:var(--pencil)} | |
| .o-rail a:hover{background:var(--well-hover);color:var(--ink)} | |
| .o-rail a[aria-current=true]{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--rule-2)} | |
| .o-rail__sep{width:20px;height:1px;margin:6px 0;background:var(--rule-2)} | |
| .o-rail__end{margin-top:auto} | |
| .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)} | |
| .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)} | |
| .o-secmenu__title{font-size:var(--t-14);font-weight:650;color:var(--ink)} | |
| .o-secmenu__meta{font:400 var(--t-11) var(--mono);color:var(--pencil)} | |
| .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)} | |
| .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)} | |
| .o-secmenu__item .o-icon{width:14px;height:14px;color:var(--faint)} | |
| .o-secmenu__item:hover{background:var(--well-hover);color:var(--ink)} | |
| .o-secmenu__item[aria-current=true]{background:var(--well-hover);color:var(--ink);font-weight:600} | |
| .o-secmenu__item[aria-current=true] .o-icon{color:var(--ink)} | |
| .o-secmenu__item>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} | |
| .o-secmenu__item--sub{min-height:26px;font-size:var(--t-12)} | |
| .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)} | |
| .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} | |
| .o-badge--alert{border-color:color-mix(in srgb,var(--alert) 40%,transparent);background:var(--alert-wash);color:var(--alert)} | |
| .o-badge--draft{border-color:color-mix(in srgb,var(--draft) 40%,transparent);background:var(--draft-wash);color:var(--draft-ink)} | |
| .o-badge--ok{border-color:color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)} | |
| .o-badge .o-icon{width:11px;height:11px;margin-right:4px} | |
| .o-btn--primary .o-kbd{background:transparent;border-color:rgba(255,255,255,.35);color:inherit} | |
| .o-main{grid-area:main;display:flex;flex-direction:column;min-width:0;min-height:0} | |
| .o-main__body{flex:1;min-height:0;overflow:auto;padding:var(--s-8) var(--s-10) var(--s-12)} | |
| .o-main__body>h1{font-size:var(--t-24);margin-bottom:var(--s-1)} | |
| .o-main__lead{margin-bottom:var(--s-6);color:var(--pencil);font-size:var(--t-13)} | |
| .o-main__body h2{margin:var(--s-8) 0 var(--s-3);font-size:var(--t-16)} | |
| /* โโ ๋ฐ์ดํฐ ๊ฒฉ์: ์ด๋ฆฐ ํ ํญ ยท ๋๊ตฌ ์ค ยท ๊ฒฉ์ ยท ์๋ ์ค (Supabase Table Editor ์, ์ฝ๊ธฐ ์ ์ฉ) โโ */ | |
| .o-filetabs{display:flex;flex:none;height:38px;background:var(--desk);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none} | |
| .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} | |
| .o-filetabs a .o-icon{width:13px;height:13px} | |
| .o-filetabs a:hover{color:var(--ink)} | |
| .o-filetabs a[aria-selected=true]{background:var(--paper);color:var(--ink);font-weight:600;margin-bottom:-1px;border-bottom:1px solid var(--paper)} | |
| .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)} | |
| .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)} | |
| .o-gridbar__find span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} | |
| .o-gridbar .o-btn .o-icon{width:13px;height:13px} | |
| .o-gridbar__sep{width:1px;height:20px;background:var(--rule-2)} | |
| .o-grid-wrap{flex:1;min-height:0;overflow:auto} | |
| .o-grid{border-collapse:separate;border-spacing:0;min-width:100%;font:400 var(--t-12)/1 var(--mono);color:var(--graphite)} | |
| .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} | |
| .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} | |
| .o-grid tbody tr:hover td{background:var(--desk)} | |
| .o-grid th.o-grid__check,.o-grid td.o-grid__check{width:36px;min-width:36px;padding:0;text-align:center} | |
| .o-grid__check input{accent-color:var(--ink);width:13px;height:13px;vertical-align:middle} | |
| .o-grid__name{font:600 var(--t-12) var(--sans);color:var(--ink)} | |
| .o-grid__type{margin-left:6px;font:400 var(--t-11) var(--mono);color:var(--faint)} | |
| .o-grid__key{width:12px;height:12px;margin-right:6px;vertical-align:-2px;color:var(--pencil)} | |
| .o-grid__key--fk{color:var(--draft)} | |
| .o-grid .o-cell-masked{color:var(--alert)} | |
| .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)} | |
| .o-grid__foot .o-badge{margin-left:auto} | |
| .o-grid__pager{display:flex;align-items:center;gap:6px} | |
| .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} | |
| /* โโ ๊ณ ์น ๊ฒ ์นด๋(Supabase Advisor ์): ๊ฐ๋ ยท ๋ฌด๊ฒ ยท ํ ์ค ยท ๊ทผ๊ฑฐ ยท ํ ์ผ โโ */ | |
| .o-advisor{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)} | |
| .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)} | |
| .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))} | |
| .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)} | |
| .o-advisor__head .o-badge{margin-left:auto} | |
| .o-advisor__card--high .o-advisor__head .o-icon{color:var(--alert)} | |
| .o-advisor__title{margin-top:auto;font-size:var(--t-13);font-weight:600;color:var(--ink)} | |
| .o-advisor__why{font-size:var(--t-12);color:var(--pencil);line-height:1.5} | |
| .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)} | |
| @media(max-width:820px){ | |
| .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} | |
| .o-rail{flex-direction:row;justify-content:flex-start;padding:4px 8px;border-right:0;border-bottom:1px solid var(--rule);overflow-x:auto} | |
| .o-rail__sep{width:1px;height:20px;margin:0 6px}.o-rail__end{margin:0 0 0 auto} | |
| .o-secmenu{max-height:40dvh;border-right:0;border-bottom:1px solid var(--rule)} | |
| .o-app__bar .o-search{display:none} | |
| .o-app__bar .o-crumbs{overflow:hidden}.o-app__bar .o-crumbs>:not(:last-child){display:none} | |
| .o-gridbar{flex-wrap:wrap;height:auto;padding:6px var(--s-3)}.o-gridbar__find{flex-basis:100%} | |
| .o-main__body{padding:var(--s-5) var(--s-4) var(--s-8)} | |
| } | |
| /* โโ ์์ ๋ ๋ณธ๋ฌธ + ์ค๋ฅธ์ชฝ ์นธ(์ฐ์ถ๋ฌผ ยท ์์ฑ ยท ๋ค์์ ํ ์ผ) โโ */ | |
| .o-main__cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1;min-height:0} | |
| .o-main__cols>.o-main__body{min-width:0} | |
| .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)} | |
| .o-main__aside h2{margin:0 0 var(--s-2);font-size:var(--t-12);font-weight:600;color:var(--pencil)} | |
| .o-secmenu__count{margin-left:auto;font:400 var(--t-11) var(--mono);color:var(--faint)} | |
| /* โโ ํ์ผ ๊ฒฉ์: Space ํ๋ = ์นด๋ ํ ์ฅ(์ด๋ฆ ยท ํ ์ค ยท ์ํ ยท ๋ณ์นญ). ์ซ์ ยท ๊ฑด๊ฐ์ ๋ฃ์ง ์๋๋ค โโ */ | |
| .o-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)} | |
| .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)} | |
| .o-tile:hover{border-color:var(--rule-3);box-shadow:0 1px 2px rgba(21,23,28,.06)} | |
| .o-tile__name{display:flex;align-items:center;gap:6px;font-size:var(--t-14);font-weight:650;color:var(--ink)} | |
| .o-tile__name .o-icon{color:var(--faint)} | |
| .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} | |
| .o-tile__foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto} | |
| /* โโ ๋ฌธ์ ๋ณธ๋ฌธ: ์ ๋ชฉ ยท ๋ฌธ๋จ ยท ๋ชฉ๋ก ยท ์ฝ๋ ยท ํ (๋งํฌ๋ค์ด์ ์ฎ๊ธด ๊ธ) โโ */ | |
| .o-prose{max-width:760px;font-size:var(--t-14);line-height:1.75;color:var(--graphite)} | |
| .o-prose h1{font-size:var(--t-24);margin:0 0 var(--s-4);color:var(--ink)} | |
| .o-prose h2{font-size:var(--t-16);margin:var(--s-8) 0 var(--s-2);color:var(--ink)} | |
| .o-prose h3{font-size:var(--t-14);margin:var(--s-6) 0 var(--s-2);color:var(--ink)} | |
| .o-prose p{margin:0 0 var(--s-3)} | |
| .o-prose ul,.o-prose ol{margin:0 0 var(--s-3);padding-left:1.4em}.o-prose li{margin:2px 0} | |
| .o-prose code{padding:1px 5px;border:1px solid var(--rule);border-radius:var(--r-1);background:var(--desk)} | |
| .o-prose a{color:var(--draft-ink)} | |
| /* โโ ๊ด๊ณ ๊ทธ๋ฆผ(SVG): ์์ ยท ๋จธ๋ฆฌ ยท PK/FK ์์ฝ ยท ์ (ํ๋ณด = ์ ์ ) ยท ๊ฐ์ด๋ฐ ๊ฐ์กฐ โโ */ | |
| .o-graph text{font-size:11px;fill:var(--graphite)} | |
| .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)} | |
| .o-graph__node{fill:var(--paper);stroke:var(--rule-3)} | |
| .o-graph a:hover .o-graph__node{stroke:var(--ink)} | |
| .o-graph__node--focus{fill:var(--ink);stroke:var(--ink)} | |
| .o-graph__node--focus~text{fill:var(--paper)} | |
| .o-graph__node--edge{stroke:var(--ink);stroke-width:2} | |
| .o-graph__text{font-size:11px;fill:var(--graphite)} | |
| .o-graph__head{font-size:12px;font-weight:600;fill:var(--ink)} | |
| .o-graph__group{font-size:10.5px;font-family:var(--mono);letter-spacing:.06em;fill:var(--faint)} | |
| .o-graph__pill{font:700 9px var(--mono);fill:var(--pencil)}.o-graph__pill--fk{fill:var(--draft)} | |
| .o-graph__line{fill:none;stroke:var(--rule-3);stroke-width:1.25} | |
| .o-graph__line--draft{stroke:var(--draft);stroke-dasharray:4 3} | |
| .o-graph__more{font-size:11px;fill:var(--faint)} | |
| @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)}} | |