| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- /* Main container styles */
- .container {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- color: white;
- font-family: ui-sans-serif, system-ui, sans-serif;
- margin-top: 2rem;
- margin-bottom: 2rem;
- }
- .innerContainer {
- width: 100%;
- max-width: 56rem;
- margin: 0 auto;
- }
- /* Header styles */
- .header {
- text-align: center;
- margin-bottom: 2.5rem;
- }
- .title {
- font-size: 2.25rem;
- font-weight: 700;
- color: rgb(34 211 238);
- }
- .subtitle {
- font-size: 1.125rem;
- color: rgb(156 163 175);
- margin-top: 0.5rem;
- }
- /* Grid layout styles */
- .grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 1rem;
- align-items: center;
- text-align: center;
- }
- /* Block styles */
- .block {
- background-color: rgb(31 41 55);
- padding: 1.5rem;
- border-radius: 0.5rem;
- box-shadow:
- 0 10px 15px -3px rgb(0 0 0 / 0.1),
- 0 4px 6px -4px rgb(0 0 0 / 0.1);
- height: 100%;
- display: flex;
- flex-direction: column;
- justify-content: center;
- }
- .blockTitle {
- font-size: 1.125rem;
- font-weight: 600;
- color: rgb(34 211 238);
- margin-bottom: 0.5rem;
- }
- .challengeText {
- font-size: 0.875rem;
- color: rgb(209 213 219);
- word-break: break-all;
- font-family: ui-monospace, SFMono-Regular, monospace;
- }
- .combinedDataText {
- font-size: 0.875rem;
- color: rgb(156 163 175);
- word-break: break-all;
- font-family: ui-monospace, SFMono-Regular, monospace;
- }
- /* Nonce control styles */
- .nonceControls {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 1rem;
- }
- .nonceButton {
- background-color: rgb(55 65 81);
- border-radius: 9999px;
- padding: 0.5rem;
- transition: background-color 200ms;
- }
- .nonceButton:hover:not(:disabled) {
- background-color: rgb(34 211 238);
- }
- .nonceButton:disabled {
- opacity: 0.5;
- cursor: not-allowed;
- }
- .nonceValue {
- font-size: 1.5rem;
- font-family: ui-monospace, SFMono-Regular, monospace;
- width: 6rem;
- text-align: center;
- }
- /* Icon styles */
- .icon {
- height: 2rem;
- width: 2rem;
- }
- .iconGreen {
- height: 2rem;
- width: 2rem;
- color: rgb(74 222 128);
- }
- .iconRed {
- height: 2rem;
- width: 2rem;
- color: rgb(248 113 113);
- }
- .iconSmall {
- height: 1.5rem;
- width: 1.5rem;
- }
- .iconGray {
- height: 2.5rem;
- width: 2.5rem;
- color: rgb(75 85 99);
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
- }
- /* Arrow animation */
- @keyframes pulse {
- 0%,
- 100% {
- opacity: 1;
- }
- 50% {
- opacity: 0.5;
- }
- }
- .arrowContainer {
- display: flex;
- justify-content: center;
- margin: 1.5rem 0;
- }
- /* Hash output styles */
- .hashContainer {
- padding: 1.5rem;
- border-radius: 0.5rem;
- box-shadow:
- 0 10px 15px -3px rgb(0 0 0 / 0.1),
- 0 4px 6px -4px rgb(0 0 0 / 0.1);
- transition: all 300ms;
- border: 2px solid;
- }
- .hashContainerSuccess {
- background-color: rgb(20 83 45 / 0.5);
- border-color: rgb(74 222 128);
- }
- .hashContainerError {
- background-color: rgb(127 29 29 / 0.5);
- border-color: rgb(248 113 113);
- }
- .hashContent {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
- }
- .hashText {
- text-align: center;
- }
- .hashTextLg {
- text-align: left;
- }
- .hashValue {
- font-size: 0.875rem;
- word-break: break-all;
- }
- .hashValueLg {
- font-size: 1rem;
- word-break: break-all;
- }
- .hashIcon {
- margin-top: 1rem;
- }
- .hashIconLg {
- margin-top: 0;
- }
- /* Hash highlighting */
- .hashPrefix {
- font-family: ui-monospace, SFMono-Regular, monospace;
- }
- .hashPrefixGreen {
- color: rgb(74 222 128);
- }
- .hashPrefixRed {
- color: rgb(248 113 113);
- }
- .hashSuffix {
- font-family: ui-monospace, SFMono-Regular, monospace;
- color: rgb(156 163 175);
- }
- /* Button styles */
- .buttonContainer {
- margin-top: 2rem;
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 1rem;
- }
- .button {
- font-weight: 700;
- padding: 0.75rem 1.5rem;
- border-radius: 0.5rem;
- transition: transform 150ms;
- }
- .button:hover {
- transform: scale(1.05);
- }
- .buttonCyan {
- background-color: rgb(8 145 178);
- color: white;
- }
- .buttonCyan:hover {
- background-color: rgb(6 182 212);
- }
- .buttonYellow {
- background-color: rgb(202 138 4);
- color: white;
- }
- .buttonYellow:hover {
- background-color: rgb(245 158 11);
- }
- .buttonIndigo {
- background-color: rgb(79 70 229);
- color: white;
- }
- .buttonIndigo:hover {
- background-color: rgb(99 102 241);
- }
- .buttonGray {
- background-color: rgb(55 65 81);
- color: white;
- }
- .buttonGray:hover {
- background-color: rgb(75 85 99);
- }
- /* Responsive styles */
- @media (min-width: 768px) {
- .title {
- font-size: 3rem;
- }
- .grid {
- grid-template-columns: repeat(3, 1fr);
- gap: 1rem;
- }
- .hashContent {
- flex-direction: row;
- }
- .hashText {
- text-align: left;
- }
- .hashValue {
- font-size: 1rem;
- }
- .hashIcon {
- margin-top: 0;
- }
- }
- @media (max-width: 767px) {
- .grid {
- display: flex;
- flex-direction: column;
- gap: 1rem;
- }
- }
- @media (prefers-color-scheme: light) {
- .block {
- background-color: oklch(93% 0.034 272.788);
- }
- .challengeText {
- color: oklch(12.9% 0.042 264.695);
- }
- .combinedDataText {
- color: oklch(12.9% 0.042 264.695);
- }
- .nonceButton {
- background-color: oklch(88.2% 0.059 254.128);
- }
- .nonceValue {
- color: oklch(12.9% 0.042 264.695);
- }
- .blockTitle {
- color: oklch(45% 0.085 224.283);
- }
- .hashContainerSuccess {
- background-color: oklch(95% 0.052 163.051);
- border-color: rgb(74 222 128);
- }
- .hashContainerError {
- background-color: oklch(94.1% 0.03 12.58);
- border-color: rgb(248 113 113);
- }
- .hashPrefixGreen {
- color: oklch(53.2% 0.157 131.589);
- font-weight: 600;
- }
- .hashPrefixRed {
- color: oklch(45.5% 0.188 13.697);
- }
- .hashSuffix {
- color: oklch(27.9% 0.041 260.031);
- }
- }
|