diff --git a/samples/dev/index.css b/samples/dev/index.css new file mode 100644 index 0000000..abf3c72 --- /dev/null +++ b/samples/dev/index.css @@ -0,0 +1,204 @@ +:root { + --body: #d8d8d8; + --panel: #202020; + --panel-2: #2b2b2b; + --screen: #d8e7b8; + --screen-text: #1b2a12; + --screen-dim: #5b6f45; + --key: #3a3a3a; + --key-text: #f2f2f2; + --accent: #8cff6d; + --border: #111; +} + +* { box-sizing: border-box; } + +body { + margin: 0; + font-family: Arial, sans-serif; + background: linear-gradient(180deg, #efefef, var(--body)); + color: #111; +} + +.wrap { + max-width: 980px; + margin: 0 auto; + padding: 24px; +} + +.calc { + background: linear-gradient(180deg, #2f2f2f, #1f1f1f); + border: 1px solid #111; + border-radius: 20px; + padding: 18px; + box-shadow: 0 18px 48px rgba(0, 0, 0, 0.25); +} + +.brand { + color: #fafafa; + display: flex; + justify-content: space-between; + align-items: baseline; + margin-bottom: 12px; + gap: 12px; +} + +.brand h1 { + margin: 0; + font-size: 18px; + letter-spacing: 0.06em; +} + +.brand small { + color: #c9c9c9; +} + +.screen { + background: linear-gradient(180deg, #dbe8b8, var(--screen)); + color: var(--screen-text); + border: 2px inset #8aa36b; + border-radius: 10px; + padding: 14px; + min-height: 190px; + font-family: "Courier New", monospace; + display: grid; + grid-template-rows: auto auto 1fr; + gap: 10px; +} + +.screen-top { + display: flex; + justify-content: space-between; + gap: 12px; + font-size: 12px; + color: var(--screen-dim); +} + +.stack { + border-top: 1px solid rgba(27, 42, 18, 0.35); + padding-top: 10px; + line-height: 1.5; + font-size: 18px; + white-space: pre-wrap; +} + +.stack-line { + display: grid; + grid-template-columns: 26px 1fr; + gap: 8px; + padding: 1px 4px; + border-radius: 4px; +} + +.stack-line.selected { + background: rgba(27, 42, 18, 0.14); + outline: 1px dashed rgba(27, 42, 18, 0.45); +} + +.stack-line.moving { + background: rgba(140, 255, 109, 0.18); + outline: 1px solid rgba(27, 42, 18, 0.55); +} + +.stack-line .label { + text-align: right; + color: var(--screen-dim); +} + +.stack-line.selected .label, +.stack-line.moving .label { + color: var(--screen-text); + font-weight: bold; +} + +.hidden-input { + position: absolute; + left: -9999px; + width: 1px; + height: 1px; + opacity: 0; + pointer-events: none; +} + +.input-row { + display: grid; + grid-template-columns: 1fr 150px; + gap: 12px; + margin-top: 14px; +} + +input, select, button { + border-radius: 10px; + border: 1px solid #000; + font: inherit; +} + +input, select { + padding: 12px 14px; + background: #f7f7f7; + color: #111; +} + +.panel { + margin-top: 14px; + background: rgba(255, 255, 255, 0.04); + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 14px; + padding: 14px; +} + +.title { + color: #fff; + margin: 0 0 10px; + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.08em; +} + +.buttons { + display: grid; + gap: 8px; + grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); +} + +button { + padding: 12px 10px; + background: linear-gradient(180deg, #4a4a4a, var(--key)); + color: var(--key-text); + cursor: pointer; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); +} + +button:hover { filter: brightness(1.08); } +button:active { transform: translateY(1px); } + +.status { + margin-top: 12px; + display: flex; + flex-wrap: wrap; + gap: 10px; + color: #ececec; + font-size: 13px; +} + +.pill { + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 999px; + padding: 5px 10px; + background: rgba(255, 255, 255, 0.05); +} + +.error { + margin-top: 10px; + min-height: 20px; + color: #ff8a8a; + font-family: "Courier New", monospace; + font-size: 13px; +} + +.hint { + color: #ddd; + margin-top: 10px; + font-size: 13px; + line-height: 1.5; +} diff --git a/samples/dev/index.html b/samples/dev/index.html index 813546f..9c89336 100644 --- a/samples/dev/index.html +++ b/samples/dev/index.html @@ -4,212 +4,7 @@